Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 25

Sveučilište/Univerzitet „Vitez”

Fakultet informacionih tehnologija


Akademska godina 2017/2018.

PROJEKTOVANJE INFORMACIONIH SISTEMA

VJEŽBE 1 - Uvod u UML i UP

Profesor: prof. dr Latinović Branko


Asistent: Konjalić Nermina
Travnik, 18.11.2017. 1
Sadržaj Vježbi 1
 Performanse UML
 Performanse UP
 Veza između UML i UP
 Historija UML i UP
 Građa UML modela
 Vrste UML dijagrama
 Primjeri UML dijagrama
 Struktura UP
 Temeljne aktivnosti u UP
 Faze u UP
 Podaktivnosti unutar temeljnih aktivnosti
2
Performanse UML
 Akronim UML znači Unified Modeling Language. Riječ je o
vizualnom jeziku za modeliranje sistema.
 To je jezik za specifikaciju, vizuelizaciju, konstrukciju i
dokumentovanje elemenata softverskog sistema, kao i
poslovno modelovanje.
 UML se oslanja na dijagrame sa strogo definiranom sintaksom
i semantikom.
 Sintaksom programskih jezika se određuje pravilno
formirani program ili dijelovi programa u programskom
jeziku.
 Semantika programskog jezika označava smisao (značenje)
koji ima u programu neka pravilna konstrukcija
programskog jezika. 3
Performanse UML
 Obično se koristi za modeliranje objektno orijentiranih
softverskih sistema, mada je primjenjiv i na druge sisteme.
 Ne implicira nikakvu metodologiju za modeliranje, već samo
omogućuje da se rezultati modeliranja dokumentiraju na
razumljiv način.

4
Modelovanje
 Razvoj informacionih sistema je suviše kompleksan da bi ga
mogli planirati iz glave
 Kao proizvod faze analize i dizajna dobijaju se modeli
 U razvoju informacionih sistema, modeli su:
 Abstraktni /ne-fizički

• Softver nije opipljiv


 Vidljivi

• Težimo da vizuelizujemo neopipljive elemente.

Model je uprošćena predstava kompleksne realnosti.

5
Modelovanje
 Ciljevi modelovanja:
1. pomaže u vizuelizaciji sistema onakvog kakav jeste ili onakvog
kakav želimo da bude,
2. omogućava specifikaciju strukture i ponašanja sistema,

3. definiše šablon koji pomaže prilikom konstruisanja sistema,

4. dokumentuje odluke koje su donešene,

5. obezbjeđuje zajednički jezik za sve stejkholdere,

6. omogućava jasnoću i razumijevanje.

6
Performanse UP
 Akronim znači Unified Process. Riječ je o metodologiji koja
određuje kako se treba odvijati proces razvoja softvera.
 UP zahtijeva da se softverski proces sastoji od određenih faza, s
time da se svaka faza realizira kroz simultano izvršavanje
određenih temeljnih aktivnosti.
 UP propisuje rezultate koje pojedine faze odnosno aktivnosti
trebaju proizvesti, no ne određuje način kako se ti rezultati trebaju
dokumentirati.
 Obično se koristi za razvoj objektno orijentiranih sistema, makar je
primjenjiv i na druge sisteme.
 Predstavlja labaviju “public domain” verziju komercijalne
metodologije RUP (Rational Unified Process).
7
Veza između UML i UP
 Iako su formalno nezavisni jedan od drugog, UML i UP
su u bliskoj vezi i skladno se nadopunjuju.
 UP određuje kako će se odvijati proces razvoja softvera, a UML
omogućuje da se rezultati tog razvoja dokumentiraju.
 UML i UP su zapravo nastali zajedno, u okviru istog projekta, s
namjerom da budu komplement jedan drugom.
 Ono što danas zovemo UML zapravo je dio tog projekta koji se
odnosi na vizualni jezik, a ono što zovemo UP je dio projekta koji
se odnosi na proces.
 Ipak, postoji jedna razlika: UML je prihvaćen kao svjetski
standard, a UP nije.
 Većina softverskih inženjera doživljava UML i UP kao cjelinu i
primjenjuju ih na razvoj OO sistema.
8
Historijat UML i UP (1)
 Prije 1994. godine postojalo je više vizualnih jezika za
Modeliranje, te više metoda za razvoj OO sistema.
 Ti jezici i metode su se natjecali za primat, te su imali svoje
prednosti i mane, pobornike i protivnike.
 Najvažnije jezike razvili su Grady Booch odnosno James Rumbaugh, a
najozbiljniju metodu razvio je Ivar Jacobson.
 1994. godine Booch, Rumbaugh i Jacobson zajedno rade u
kompaniji Rational Corporation na objedinjavanju svojih jezika i
metoda. Tako nastaju prve verzije UML i UP.
 1996. godine udruga Object Management Group (OMG) izdaje
“request for proposal” za OO vizualni jezik za modeliranje.
Rational prijavljuje OMGu svoj UML.
 1997. godine OMG prihvaća UML kao prvi otvoreni
industrijski standard za vizualno modeliranje. 9
Historijat UML i UP (2)
 1999. godine Jacobson objavljuje knjigu u kojoj opisuje UP.
 U isto vrijeme tvrtka Rational razvija svoju dorađenu verziju UP pod
nazivom RUP i implementira je u obliku softverskog paketa Rational
ROSE.
 2000. godine donosi se standard UML 1.4 koji uvodi tzv. semantiku
za akcije. To je omogućilo da UML-modeli postanu izvršivi, dakle da
ih se može softverski simulirati.
 2003. godine IBM preuzima Rational Corporation, tako da RUP
danas predstavlja IBM-ov proizvod.
 2005. godine dovršava se standard UML 2.0 koji donosi nekoliko
novih tipova dijagrama, jezik OCL (object constraint language) za
specificiranje ograničenja, te precizni UML metamodel.
 Aktualni standard za UML je UML 2.5 iz 2015. godine. 10
Osobe vezane uz UML i UP
 Grady Booch

 James Rumbaugh
“tri amigosa”

 Ivar Jacobson

11
Građa UML modela
 Kao rezultat modeliranja nastaje UML model sistema koji je
sastavljen od sljedećih dijelova:
 Stvari (things). To su elementi modela, na primjer klase,
interfejs, komponente, računarski čvorovi, …
 Veze (relationships). One povezuju stvari i određuju kao se stvari
semantički odnose jedne prema drugima.
 Dijagrami. To su pogledi na model. Na njima su nacrtane neke
stvari (kućice) i neke veze (spojnice). Služe za vizualizaciju strukture ili
ponašanja sistema.
 Dijagram ili skup dijagrama nije isto što i model, makar to ljudi
često tako doživljavaju, te makar se model obično implicitno
stvara baš crtanjem dijagrama.

12
Vrste UML dijagrama
 U UML 2.0 postoji 13 vrsta dijagrama (slika ispod).
 Vrste koje nisu postojale u UML 1 su osjenčane.
 Dijagrami se općenito dijele na one koji prikazuju statičku strukturu
sistema, te one koji opisuju dinamičko ponašanje sistema.

13
Primjeri UML dijagrama (1)
 Use case dijagram (ponašanje, također kontekst)

14
Primjeri UML dijagrama (2)
 Class dijagram (struktura)

15
Primjeri UML dijagrama (3)
 Sequence dijagram (ponašanje)

16
Struktura UP (1)
 Proces razvoja softvera u skladu s UP prikazan je
sljedećom slikom.
 **Iteracija - Uzastopno ponavljanje nečega

17
Struktura UP (2)

 Dakle proces se sastoji od 4 faze (phases) koje se


realiziraju u vremenskom slijedu jedna iza druge.
 Pojedina faza završava onda kad se dosegne njezin
međaš (milestone - skup uvjeta koje treba zadovoljiti),
dakle kad se postignu njezini ciljevi.
 Svaka od faza realizira se kroz istovremeno i neprestano
odvijanje 5 temeljnih aktivnosti (core workflows).
 Ipak, u svakoj fazi postoji jedna ili dvije aktivnosti na koje je
stavljen posebni naglasak i koje se obavljaju s povećanim
intenzitetom.
 Kod manjih projekata faze možemo poistovjetiti s
odgovarajućim dominantnim aktivnostima – dobivamo 18

model sličan vodopadu.


Temeljne aktivnosti u UP
 Zahtjevi (requirements). Utvrđuje se što sistem treba raditi.
 Analiza (analysis). Zahtjevi se analiziraju, profinjuju i
strukturiraju.
 Oblikovanje (design). Predlaže se građa sistema koja će
omogućiti da se zahtjevi realiziraju.
 Implementacija (implementation). Stvara se softver koji
realizira predloženu građu.
 Testiranje (test). Provjerava se da li stvoreni softver zaista radi
onako kako bi trebao.

19
Faze u UP (1)
 Inception - početak
 Ciljevi: dokazati izvedivost i isplativost projekta, utvrditi ključne zahtjeve da
bi se vidio kontekst (doseg) sistema, prepoznati rizike.
 Naglasak: zahtjevi i analiza.
 Kamen temeljac: Life Cycle Objectives.
 Elaboration - izrada
 Ciljevi: stvoriti izvršivu jezgru arhitekture sistema. Profiniti procjenu rizika,
definirati atribute kvalitete, evidentirati use caseove koji pokrivaju 80%
funkcionalnih zahtjeva, stvoriti detaljni plan za fazu
konstrukcije.
 Naglasak: zahtjevi , analiza, oblikovanje.
 Kamen temeljac: Life Cycle Architecture.

20
Faze u UP (2)
 Construction – izgradnja
 Ciljevi: dovršiti zahtjeve, analizu i oblikovanje, te dograditi jezgru arhitekture
do konačnog sistema. Pritom treba očuvati integritet arhitekture i oduprijeti
se pritiscima da se sistem dovrši na brzinu. Obaviti beta test i pokrenuti
sistem.
 Naglasak: oblikovanje, implementacija.
 Kamen temeljac: Initial Operational Capability.
 Transition - prelaz
 Ciljevi: popraviti uočene greške, prirediti sistem za rad u korisničkoj
okolini, distribuirati ga na korisnička radna mjesta,
stvoriti korisničku dokumentaciju, organizirati podršku korisnicima,
napraviti “post-project review”.
 Naglasak: implementacija, test.
 Kamen temeljac: Product Release.
21
Podaktivnosti unutar utvrđivanja
zahtjeva
 Pronađi i zapiši funkcionalne i nefunkcionalne zahtjeve
(proučavanje postojećih dokumenata, radnih procesa,
softvera, zakona i propisa; razgovori s korisnicima).
 Organiziraj zahtjeve u taksonomiju, odredi njihov prioritet
(obavezni, važni, neobavezni, … ).
 Funkcionalne zahtjeve pretvori u use caseove (nacrtaj
use case dijagram, napiši detaljnu specifikaciju svakog
use casea u obliku tablice).

22
Podaktivnosti unutar analize
 Prepoznaj i grubo opiši klase (gledaju se zahtjevi,
pogotovo use caseovi).
 Ugrubo odredi veze među klasama (opet gledanjem
zahtjeva i use caseova).
 Nacrtaj class dijagrame.
 Grupiraj klase u pakete, nacrtaj package dijagrame.
 Analiziraj kako se svaki pojedini use case može realizirati
interakcijom objekata iz uočenih klasa. Nacrtaj sequence
ili communication dijagrame.
 Analiziraj složenije procese i nacrtaj activity
dijagrame.

23
Podaktivnosti unutar oblikovanja
 Detaljno oblikuj klase (tipovi atributa, signature metoda).
 Precizno odredi vrstu (nasljeđivanje, agregacija, kompozicija…) i
multiplicitet (jedan-jedan, jedan-mnogo, mnogo-jedan, mnogo-
mnogo) za svaku vezu među klasama.
 Ažuriraj i profini class dijagrame.
 Oblikuj performansa i komponente, nacrtaj odgovarajuće
dijagrame.
 Ažuriraj i profini sequence i communication dijagrame koji
prikazuju realizaciju pojedinih use caseova.
 Modeliraj ponašanje složenijih objekata te nacrtaj
odgovarajuće state machine dijagrame.

24
Podaktivnosti unutar implementacije
 Napiši programski kod u odabranom programskom jeziku
na temelju modela dobivenog oblikovanjem (klase,
performanse, realizacija use case-ova, …).
 Gdje je moguće uključi gotove komponente, uz
odgovarajuće prilagodbe koda kojeg sami pišemo.
 Napravi plan rasporeda dijelova sistema po računalima
(čvorovima u mreži), nacrtaj odgovarajući deployment
dijagram.
 Fizički stvori sve dijelove, rasporedi ih u skladu s
planom rasporeda, pokreni i testiraj sistem.

25

You might also like