tema 10 uml specifikacija, tehnike i dijagrami
DESCRIPTION
umlTRANSCRIPT
-
Tema 10: UML specifikacija, tehnike
i dijagramii dijagrami
dr Vladislav Mikovic
Fakultet za raunarstvo i informatiku
PROJEKTOVANJE INFORMACIONIH SISTEMA
2014/2015
1
-
Sadraj predavanja
1. Uvod
2. Pregled osnovnih UML dijagrama
3. Upotreba UML dijagrama u projektu softvera
4. Primer objektno-orijentisanog razvoja4. Primer objektno-orijentisanog razvoja
2
-
1. Uvod
Nastanak standarda UML
Jezik za modeliranje UML
UML 2.x dijagrami
-
Nastanak standarda
1994/1995. autori Booch,
Rumbaugh i Jacobson osnovali
Rational Software Inc
www.rational.com
1995. objavljena UML verzija 0.8
Jezik UML definisalo udruenje Jezik UML definisalo udruenje
Object Management Group,
svetski konzorcijum prodavaca
objektno orijentisanih proizvoda
www.omg.org
1997. UML standardizovan
Sadanja UML verzija 2.41
usvojena verzija 2.5
http://www.omg.org/spec/UML/
4
-
Jezik za modeliranje UML
(Unified Modeling Language)
UML je jezik za specifikaciju, vizualizaciju,
konstruisanje i dokumentovanje razvoja softvera
Jezik za modeliranje ine:
1. elementi modela: koncepti i semantika1. elementi modela: koncepti i semantika
2. notacija: vizuelni izgled elemenata modela
3. preporuke: za upotrebu elemenata i notacije
-
UML 2.x dijagrami
Specifikacija UML 2.0 sadri
13 tipova dijagrama u tri
kategorije
statika struktura (6)
opte ponaanje objekata (3) opte ponaanje objekata (3)
interakcije objekata (4)
Specifikacija UML 2.5 sadri
dodatne dijagrame
(oznaene plavom bojom)
koji nisu deo zvaninog
standarda
-
Osnovni UML dijagrami
(koje podrava veina CASE alata)
1. Dijagrami sluajeva korienja (Use-Case Diagrams)
2. Dijagrami klasa i objekata (Class & Object Diagrams)
3. Dijagrami ponaanja (Behavior)
dijagrami stanja (State Machine Diagrams)
dijagrami aktivnosti (Activity Diagrams) dijagrami aktivnosti (Activity Diagrams)
4. Dijagrami interakcije (Interaction)
dijagram sekvenci (Sequence Diagram)
dijagram saradnje/komunikacije (Communication Diagram)
5. Dijagrami implementacije (Implementation)
dijagram komponenti (Component Diagram)
dijagram realizacije/isporuke (Deployment Diagram)
-
Tipina upotreba osnovnih UML dijagrama
Dijagram TipKorisniki
zahtevi
Opis sluaja
korienja
Struktura
sistema
Razrada
strukture
sistema
Use Case Statiki + +
Class Statiki + + +
Activity Dinamiki + +
Interaction Dinamiki + +
State Dinamiki +
Implementation Statiki +
Package Statiki + + +
8
-
2. Pregled osnovnih UML dijagrama
1. Dijagrami sluajeva korienja
2. Dijagram klasa
3. Dijagrami ponaanja
4. Dijagrami interakcije4. Dijagrami interakcije
5. Dijagrami implementacije
-
2.1 Dijagrami sluajeva korienja
Dijagram sluajeva
korienja (Use Case)
opis interakcija izmeu sistema
i korisnika / eksternih sistema
Specifikacija korisnikih Specifikacija korisnikih
zahteva obuhvata jo
Specifikacije (Use-Case
narrative/Specifications)
tekstualni opis zadataka i naina na
koji e korisnik saobraati sa
sistemom radi izvrenja zadataka
Renik (Glossary)
Dodatne specifikacije
10
-
Realizacija sluaja korienja
Opis sluaja korienja
u projektnom modelu
(design model)
skup UML dijagrama koji
modeliraju:
klase/objekte koji implementiraju
sluajeve korienja i njihove relacije
(dijagram klasa)
interakcije saradnje klasa/objekata
kada izvravaju sluaj korienja
(dijagrami komunikacije i sekvenci)
omoguava praenje realizacije
korisnikih zahteva kroz ceo
proces analize i projektovanja
-
2.2 Dijagram klasa (Class Diagram)
Model objekata i relacija
izmeu objekata
klase
(iz Use Case i dr.)
atributi (vidljivost, tip)
metodi (vidljivost, parametri)
relacije
-
Analitike klase
Ponaanje sluaja korienja
se rasporeuje na klase
Vrste
granina klasa
klasa entiteta
klasa upravljanja
-
Prelazak sa analitikog na projektni model
Analitike klase se kreiraju u toku
analize sluajeva korienja
U analizi klasa vri se preciziranje
analitikih klasa
analitike klase prikazuju funkcionalne
zahteve u terminima problema
projektni model predstavlja projektni model predstavlja
nefunkcionalne zahteve, odnosno
reenja
Proces identifikacije projektnih klasa
odreuje koje su analitike klase
projektne klase (treba ih projektovati)
podsistemi (tek e se dekomponovati)
postojei elementi (ve postoje, ne
treba ih projektovati)
preslikavanje "vie-prema-vie" analitikih
klasa u projektne elemente (klase,
podsisteme, postojee elemente)
-
Elementi dijagrama klasa
Dijagram klasa
klase
atributi (vidljivost, tip)
metodi (vidljivost, parametri)
relacije (OO)
komentari komentari
-
Proces identifikacije projektnih elemenata
Identifikacija projektnih elemenata se vri u svakoj iteraciji
Analiziraju se interakcije analitikih klasa radi pronalaenja elemenata pronalaenja elemenata projektnog modela
analitike klase se menjaju u projektnom modelu (proiruju, saimaju, kombinuju ili briu)
Rezultat: projektni model
klase
paketi
podsistemi
-
Razliiti nivoi detaljnosti dijagrama klasa
Konceptualni model
nazivi klasa i atributa
relacije
Projektni model
nazivi klasa i atributa nazivi klasa i atributa
detaljna specifikacija atributa
relacije
-
2.3 Dijagrami ponaanja
Dijagrami stanja (State Machine Diagrams)
Dijagrami aktivnosti (Activity Diagrams)
-
2.4 Dijagrami interakcije
Dijagram sekvenci (Sequence Diagram)
Dijagram saradnje/komunikacije (Communication
Diagram)
-
Dijagram sekvenci (Sequence Diagram)
Elementi
vertikalna vremenska
skala
objekti
poruke poruke
-
2.5 Dijagrami implementacije
Dijagram komponenti (Component Diagram)
Dijagram realizacije (Deployment Diagram)
-
Primer: Dijagram realizacije/isporuke
Konkretni softverski elementi, hardverski ureaji i
komunikacije
-
3. Upotreba UML dijagrama u
projektu softvera
Meusobna zavisnost proizvoda procesa OO razvoja
Raspored
-
Meusobna zavisnost proizvoda
procesa OO razvoja
Prikaz zavisnosti nekih
produkata objektno-
orijentisanog procesa
razvoja softvera (UP)
-
4. Primer objektno-orijentisanog
razvoja
1. Problem i zahtevi korisnika
2. Specifikacija korisnikih zahteva (Requirements)
3. Dijagrami sekvenci (Sequence)
4. Dijagrami klasa (Class Diagram)4. Dijagrami klasa (Class Diagram)
-
4.1 Problem i zahtevi korisnika [6]
Proizvodna kompanija trai informatiko reenje za distribuciju informacija
o novim proizvodima, kao i raspoloivim koliinama proizvoda u skladitu,
koje mogu da koriste prodavci iz njihovih prodajnih kompanija u razliitim
zemljama sveta i kupci
Zadatak razvoja softvera je kreiranje informacionog sistema/aplikacije koja
zadovoljava sledee zahteve:zadovoljava sledee zahteve:
svakoj prodajnoj kompaniji omoguava brz pristup informacijama o
karakteristikama i raspoloivim koliinama proizvoda
svakoj prodajnoj kompaniji omoguava slanje (upload) interesantnih digitalnih
fotografija za potrebe marketinga u centralnu bazu podataka
svakom kupcu omoguava pristup informacijama o karakteristikama proizvoda
omoguava centralizovanu kontrolu pristupa sistemu: sve prodajne kompanije
vide sve informacije o proizvodima, ali auriraju samo bazu podataka digitalnih
fotografija; ostali korisnici (kupci) vide samo karakteristike proizvoda.
-
Napomena o UML
U praksi se za opis sistema koristi samo deo mogunosti jezika
UML (oko 20%)
ali, nije uvek istih 20%
-
4.2 Specifikacija
korisnikih zahteva (Requirements) [6]
Korisniki zahtevi se
analiziraju kroz model
sluajeva korienja
(Use Case)
uesnici uesnici
sluajevi korienja
relacije
Dijagrami i njihove relacije
su samo pomona sredstva
sluajevi korienja su
tekstualni dokumenti - njihova
izrada je pisanje teksta
-
4.3 Dijagrami sekvenci (Sequence) [6]
Sluaj korienja Upload Picture
Diagram sekvenci sluaja Upload Picture
(prva verzija)
Diagram sekvenci sluaja Upload Picture Diagram sekvenci sluaja Upload Picture
(detaljniji)
-
Sluaj korienja Upload Picture
Akter: Prodavac
Osnovni scenario
1.1 Korisnik otvara formu Upload Picture
1.2 Korisnik bira fajl za slanje1.2 Korisnik bira fajl za slanje
1.3 Korisnik bira tip slike (Product picture/Add picture/Store
picture)
1.4 Korisnik oznaava proizvod kome slika pripada
1.5 Slanje slike
1.6 Skaliranje slike na odreenu irinu
2.1 Pamenje slike
30
-
Diagram sekvenci sluaja Upload Picture
(prva iteracija)
Sistemski zahtevi se dalje analiziraju
sluaj korienja Upload Picture iz perspektive korisnika
1.1 Korisnik (sales company)
otvara formu Upload Picture
1.2 Korisnik bira fajl za slanje
1.3 Korisnik bira tip slike (Product
picture/Add picture/Store
picture)
1.4 Korisnik oznaava proizvod
kome slika pripada
1.5 Slanje slike
1.6 Skaliranje slike na odreenu
irinu
2.1 Pamenje slike
-
Diagram sekvenci sluaja Upload Picture
(detaljniji)
Detaljniji projektni dijagram, blii realizaciji (baza podataka)
1.1 Korisnik (sales company) otvara formu 1.1 Korisnik (sales company) otvara formu
Upload Picture
1.2 Korisnik bira fajl za slanje
1.3 Korisnik bira tip slike (Product
picture/Add picture/Store picture)
1.4 Korisnik oznaava proizvod kome slika
pripada
1.5 Slanje slike
1.6 Skaliranje slike na odreenu irinu
2.1 Pamenje slike
-
4.4 Dijagrami klasa (Class Diagram) [6]
Dijagram klasa (prva iteracija)
Dijagram klasa (druga iteracija)
Dijagram klasa (trea iteracija)
-
Dijagram klasa (prva iteracija)
Klase
Upload (Slanje)
UploadForm
(FormaSlanje)
User (Kupac) User (Kupac)
SalesCompanyUser
(Prodavac)
-
Dijagram perzistentnih klasa
(baza podataka, Picture Database i User)
Klase baze podataka
PictureTypes (VrsteSlika)
Pictures (Slike)
Detalji klasa Detalji klasa
User (Kupac)
SalesCompanyUser
(Prodavac)
-
Dijagram klasa (druga iteracija)
Relacija generalizacije
User (Korisnik) i
SalesCompanyUser
(Prodavac)
Nova klasa Nova klasa
LegalRight
(AutorskoPravo)
-
Dijagram klasa (trea iteracija)
Dodaju se detalji operacija
-
Dijagram klasa (konana verzija)
-
Literatura
1. Mikovic V., Projektovanje informacionih sistema (predavanja), Univerzitet
Sinergija, 2014
2. Kurbel K. E., The Making of Information Systems: Software Engineering
and Management in a Globalized World, Springer, 2008
3. Sommerville I., Software Engineering, 9thEd, Addison Wesley, 2011
4. IBM Rational Product Training: DEV475 Mastering Object-Oriented 4. IBM Rational Product Training: DEV475 Mastering Object-Oriented
Analysis and Design with UML
5. Kroll P., P. Kruchten, Rational Unified Process Made Easy A Practitioners
Guide to RUP, John Waley, 2003
6. Hansen E., Thomsen C., Enterprise Development with Visual Studio .NET,
UML, and MSF, Apress, 2004
7. Prirunici za programske alate i Web reference
39
-
dr Vladislav MikovicProjektovanje informacionih sistema
Tema 10: UML specifikacija, tehnike i dijagrami
Pitanja?
40