Računarski praktikum 1
Predavanja
Goran Igaly
Sveučilište u Zagrebu
PMF, Matematički odsjek
11. predavanje
(praktični primjer korištenja UML-a, ArgoUML)
2
Primjer korištenja UML
Rad studentske službe
 Djelatnik u studentskoj službi upisuje kolegije koji se
drže tijekom semestra
 Na jednom smjeru nudi se više izbornih kolegija
 Student upisuje 4 obavezna i 2 izborna kolegija
 Nakon upisa semestra, student ostvaruje studentska
prava (sustav prehrane, prijevoz, studentski dom itd.)
 Studenti mogu koristiti sustav za promjenu izbornih
kolegija neko vrijeme nakon upisa
 Profesori koriste sustav za izradu popisa slušača svog
kolegija
 Za pristup sustavu svi korisnici sustava imaju korisničko
ime i lozinku
Object Management Group (OMG)
UML - formalna specifikacija (794
stranice)
http://www.omg.org/spec/UML/
s početka dokumenta - područje primjene)
 The objective of UML is to provide system
architects, software engineers, and software
developers with tools for analysis, design, and
implementation of software-based systems as well
as for modeling business and similar processes.
3
 The initial versions of UML (UML 1) originated
with three leading object-oriented methods
(Booch, OMT, and OOSE), and incorporated a
number of best practices from modeling language
design, object-oriented programming, and
architectural description languages.
4
 Relative to UML 1, this revision of UML has been
enhanced with significantly more precise definitions of
its abstract syntax rules and semantics, a more
modular language structure, and a greatly improved
capability for modeling large-scale systems.
 One of the primary goals of UML is to advance the
state of the industry by enabling object visual
modeling tool interoperability. However, to enable
meaningful exchange of model information between
tools, agreement on semantics and syntax is
required.
5
ArgoUML
(http://argouml.tigris.org/)
(s Wikipedije)
ArgoUML was originally developed at UC Irvine by Jason E.
Robbins, leading to his Ph.D. It is now an open source project
hosted by Tigris.org. The ArgoUML project now includes more
than 19,000 registered users and over 150 developers.[1]
In 2003, ArgoUML won the Software Development Magazine's
annual Readers' Choice Award in the “Design and Analysis
Tools” category.[2]
ArgoUML development has suffered from lack of manpower.
For example, Undo has been a perpetually requested feature
since 2003 but has not been implemented yet.[3]
6
7
Sudionici
 Sudionik je svaka osoba odnosno sustav koji na
neki način koristi sustav odnosno s njim
komunicira
Student
Djelatnik u
studentskoj službi
Profesor
Studentska
prehrana
8
Slučajevi korištenja
(use cases)
 Slučaj korištenja (use case) je uzorak ponašanja
sustava, podsustava ili klase što se ogleda u
razmjeni poruka između sustava i jednog ili više
vanjskih sudionika.
 Sudionici moraju specificirati svoje zahtjeve
 Djelatnik u studentskoj službi: Održavanje popisa
kolegija
 Profesor: Zahtijeva popis studenata
 Student: Odabire grupe s obzirom na satnicu
 Studentska prehrana: dobiva popis studenata koji
imaju pravo na prehranu
9
Dokumentiranje
slučajeva korištenja
 Za svaki slučaj korištenja definira se slijed
događaja – gledano sa strane sudionika
 Opisuje se što sustav mora pružiti sudioniku u
određenom slučaju
 Tipični dijelovi:
 Početak i kraj slučaja korištenja
 Uobičajeni slijed događaja
 Slijed događaja koji se rjeđe javlja
 Slijed događaja koji se javlja izuzetno rijetko
10
Održavanje popisa kolegija
Slijed događaja
 Administrator (djelatnik studentske službe) se prijavljuje u sustav putem
lozinke. Sustav provjerava ispravnost lozinke (E-1) i postavlja pitanje za
odabir semestra (E-2). Administrator odabire semestar. Nakon toga
sustav postavlja pitanje o željenoj akciji: DODAJ, IZBRIŠI, IZMIJENI i
IZLAZ.
 Ako se odabere aktivnost DODAJ, izvodi se procedura opisana u S-1:
Dodavanje kolegija.
 Ako se odabere aktivnost IZBRIŠI, izvodi se procedura opisana u S-2:
Brisanje kolegija.
 Ako se odabere aktivnost IZMIJENI, izvodi se procedura opisana u S-3:
Izmjena kolegija.
 Ako se odabere IZLAZ, slučaj korištenja završava
11
Dijagram slučajeva korištenja
 Za vizualizaciju odnosa između sudionika i
slučajeva korištenja crtaju se dijagrami slučajeva
korištenja
Student
Administrator
ProfesorUpisuje kolegije
održava popis kolegija
zahtijeva popis studenata
Studentska prehrana
12
Relacija korištenja
 Nakon popisivanja slučajeva korištenja, mogu se
otkriti novi odnosi među pojedinim slučajevima
korištenja
 Veza putem korištenja pokazuje ponašanje koje je
zajedničko u više slučajeva korištenja
Prijava za kolegij
<<koristi>>
Provjera prava pristupa
<<koristi>>
Održavanje popisa kolegija
13
Realizacije slučajeva korištenja
 Dijagram slučajeva korištenja predstavlja vanjski pogled
na sustav
 Interakcijski dijagrami opisuju kako se slučajevi korištenja
realiziraju putem interakcije među objektima
 Dvije vrste interakcijskih dijagrama:
 Slijedni dijagram (sequence diagram)
 Dijagram međudjelovanja (collaboration diagram)
 ako imamo jedan dijagram onda iz njega možemo
konstruirati drugi dijagram jer pokazuju iste informacije na
različit način
14
Slijedni dijagram
 opisuje dinamičku suradnju između objekata
 prikazuje vremenski slijed poruka koje objekti
razmjenjuju (najčešće se pokazuje primjer u
kojem se vide sve poruke koje objekti razmjenjuju)
 pokazuje vrijeme života objekta (kreiranje i
uništavanje)
 objekti se prikazuju u formatu:
naziv_objekta:naziv_klase
15
Primjer slijednog dijagrama
Student
Ivica
obrazac
za
prijavu obrada
prijave
RP1
1: popunjava
2: šalje
3: DODAJ kolegij (Ivica, RP1)
4: Ima li mjesta?
5: Ima li mjesta?
6: DODAJ (Ivica)
7: DODAJ (Ivica)
RP1
grupa
UTO
16
Automatsko generiranje koda
 Vizualno oblikovanje koda, neovisno o jeziku
 Generiranje koda za određeni jezik
 Java
 C++
 php
 C#
17
Što dalje?
 Samostalno učenje
 www.math.hr
18
 Academic license is available for the tertiary education
which aims at providing free site licenses for teaching
software engineering. Educational institution which joins
the Academic Partners Program will be entitled to free
licenses for the Standard Edition of Visual Paradigm's
software which is solely used for educational purpose.
The academic license is not limited to be used inside the
campus but allowing students and teachers to bring
home for educational purposes. For more information
about the academic license, please visit
http://www.visual-paradigm.com/partner/academic/.
NEMA VIŠE
( kraj )

Predavanja 11

  • 1.
    Računarski praktikum 1 Predavanja GoranIgaly Sveučilište u Zagrebu PMF, Matematički odsjek 11. predavanje (praktični primjer korištenja UML-a, ArgoUML)
  • 2.
    2 Primjer korištenja UML Radstudentske službe  Djelatnik u studentskoj službi upisuje kolegije koji se drže tijekom semestra  Na jednom smjeru nudi se više izbornih kolegija  Student upisuje 4 obavezna i 2 izborna kolegija  Nakon upisa semestra, student ostvaruje studentska prava (sustav prehrane, prijevoz, studentski dom itd.)  Studenti mogu koristiti sustav za promjenu izbornih kolegija neko vrijeme nakon upisa  Profesori koriste sustav za izradu popisa slušača svog kolegija  Za pristup sustavu svi korisnici sustava imaju korisničko ime i lozinku
  • 3.
    Object Management Group(OMG) UML - formalna specifikacija (794 stranice) http://www.omg.org/spec/UML/ s početka dokumenta - područje primjene)  The objective of UML is to provide system architects, software engineers, and software developers with tools for analysis, design, and implementation of software-based systems as well as for modeling business and similar processes. 3
  • 4.
     The initialversions of UML (UML 1) originated with three leading object-oriented methods (Booch, OMT, and OOSE), and incorporated a number of best practices from modeling language design, object-oriented programming, and architectural description languages. 4
  • 5.
     Relative toUML 1, this revision of UML has been enhanced with significantly more precise definitions of its abstract syntax rules and semantics, a more modular language structure, and a greatly improved capability for modeling large-scale systems.  One of the primary goals of UML is to advance the state of the industry by enabling object visual modeling tool interoperability. However, to enable meaningful exchange of model information between tools, agreement on semantics and syntax is required. 5
  • 6.
    ArgoUML (http://argouml.tigris.org/) (s Wikipedije) ArgoUML wasoriginally developed at UC Irvine by Jason E. Robbins, leading to his Ph.D. It is now an open source project hosted by Tigris.org. The ArgoUML project now includes more than 19,000 registered users and over 150 developers.[1] In 2003, ArgoUML won the Software Development Magazine's annual Readers' Choice Award in the “Design and Analysis Tools” category.[2] ArgoUML development has suffered from lack of manpower. For example, Undo has been a perpetually requested feature since 2003 but has not been implemented yet.[3] 6
  • 7.
    7 Sudionici  Sudionik jesvaka osoba odnosno sustav koji na neki način koristi sustav odnosno s njim komunicira Student Djelatnik u studentskoj službi Profesor Studentska prehrana
  • 8.
    8 Slučajevi korištenja (use cases) Slučaj korištenja (use case) je uzorak ponašanja sustava, podsustava ili klase što se ogleda u razmjeni poruka između sustava i jednog ili više vanjskih sudionika.  Sudionici moraju specificirati svoje zahtjeve  Djelatnik u studentskoj službi: Održavanje popisa kolegija  Profesor: Zahtijeva popis studenata  Student: Odabire grupe s obzirom na satnicu  Studentska prehrana: dobiva popis studenata koji imaju pravo na prehranu
  • 9.
    9 Dokumentiranje slučajeva korištenja  Zasvaki slučaj korištenja definira se slijed događaja – gledano sa strane sudionika  Opisuje se što sustav mora pružiti sudioniku u određenom slučaju  Tipični dijelovi:  Početak i kraj slučaja korištenja  Uobičajeni slijed događaja  Slijed događaja koji se rjeđe javlja  Slijed događaja koji se javlja izuzetno rijetko
  • 10.
    10 Održavanje popisa kolegija Slijeddogađaja  Administrator (djelatnik studentske službe) se prijavljuje u sustav putem lozinke. Sustav provjerava ispravnost lozinke (E-1) i postavlja pitanje za odabir semestra (E-2). Administrator odabire semestar. Nakon toga sustav postavlja pitanje o željenoj akciji: DODAJ, IZBRIŠI, IZMIJENI i IZLAZ.  Ako se odabere aktivnost DODAJ, izvodi se procedura opisana u S-1: Dodavanje kolegija.  Ako se odabere aktivnost IZBRIŠI, izvodi se procedura opisana u S-2: Brisanje kolegija.  Ako se odabere aktivnost IZMIJENI, izvodi se procedura opisana u S-3: Izmjena kolegija.  Ako se odabere IZLAZ, slučaj korištenja završava
  • 11.
    11 Dijagram slučajeva korištenja Za vizualizaciju odnosa između sudionika i slučajeva korištenja crtaju se dijagrami slučajeva korištenja Student Administrator ProfesorUpisuje kolegije održava popis kolegija zahtijeva popis studenata Studentska prehrana
  • 12.
    12 Relacija korištenja  Nakonpopisivanja slučajeva korištenja, mogu se otkriti novi odnosi među pojedinim slučajevima korištenja  Veza putem korištenja pokazuje ponašanje koje je zajedničko u više slučajeva korištenja Prijava za kolegij <<koristi>> Provjera prava pristupa <<koristi>> Održavanje popisa kolegija
  • 13.
    13 Realizacije slučajeva korištenja Dijagram slučajeva korištenja predstavlja vanjski pogled na sustav  Interakcijski dijagrami opisuju kako se slučajevi korištenja realiziraju putem interakcije među objektima  Dvije vrste interakcijskih dijagrama:  Slijedni dijagram (sequence diagram)  Dijagram međudjelovanja (collaboration diagram)  ako imamo jedan dijagram onda iz njega možemo konstruirati drugi dijagram jer pokazuju iste informacije na različit način
  • 14.
    14 Slijedni dijagram  opisujedinamičku suradnju između objekata  prikazuje vremenski slijed poruka koje objekti razmjenjuju (najčešće se pokazuje primjer u kojem se vide sve poruke koje objekti razmjenjuju)  pokazuje vrijeme života objekta (kreiranje i uništavanje)  objekti se prikazuju u formatu: naziv_objekta:naziv_klase
  • 15.
    15 Primjer slijednog dijagrama Student Ivica obrazac za prijavuobrada prijave RP1 1: popunjava 2: šalje 3: DODAJ kolegij (Ivica, RP1) 4: Ima li mjesta? 5: Ima li mjesta? 6: DODAJ (Ivica) 7: DODAJ (Ivica) RP1 grupa UTO
  • 16.
    16 Automatsko generiranje koda Vizualno oblikovanje koda, neovisno o jeziku  Generiranje koda za određeni jezik  Java  C++  php  C#
  • 17.
    17 Što dalje?  Samostalnoučenje  www.math.hr
  • 18.
    18  Academic licenseis available for the tertiary education which aims at providing free site licenses for teaching software engineering. Educational institution which joins the Academic Partners Program will be entitled to free licenses for the Standard Edition of Visual Paradigm's software which is solely used for educational purpose. The academic license is not limited to be used inside the campus but allowing students and teachers to bring home for educational purposes. For more information about the academic license, please visit http://www.visual-paradigm.com/partner/academic/.
  • 19.