Академический Документы
Профессиональный Документы
Культура Документы
Dijagram konteksta
SISTEM ZA
GALERIJU (prikazuje granice sistema)
Primer:Sistem za galeriju
Dijagram dekompozicije kompleksnog
sistema
SISTEM ZA
GALERIJU
2. Modeli ponašanja
Modeli ponašanja se koriste da opišu
celokupno ponašanje sistema.
Postoje dva tipa modela ponašanja:
• Model toka podataka koji pokazuje kako se
podatak obrađuje dok se kreće kroz sistem;
• Model stanja koji pokazuje kako sistem reaguje
na događaje;
Ovi modeli mogu biti korišćeni zajedno ili
posebno, u zavisnosti od vrste i namene
sistema koji se razvija.
2. Modeli ponašanja (1)
Većina poslovnih sistema je zasnovana na
podacima (data-driven) i njima se upravlja na
osnovu unetih podataka.
Najčešće je za poslovne sisteme dovoljno samo
napraviti dijagram toka podataka, da bi se
prikazalo ponašanje sistema.
Nasuprot tome, sistemi za rad u realnom vremenu
su često vođeni događajima (event-driven) i za
njih je najpogodniji model stanja koji prikazuje
ponašanje sistema za različite događaje.
2. Modeli ponašanja (2)
Modeli toka podataka
Dijagrami toka podataka (Data flow diagrams) se
koriste za prikaz koraka obrade podataka kroz
sistem.
Jednostavna i univerzalna notacija koju korisnici
mogu razumjeti.
Podaci se transformišu u svakom koraku obrade i u
drugačijem obliku se prenose u sledeći korak.
Primer: Sistem za biblioteku
Dijagram toka podataka za proces
učlanjenja/promene podataka
3. Modeli stanja
Ovi modeli opisuju kako sistem reaguje na spoljne i
unutrašnje događaje.
Oni prikazuju odzive sistema na događaj, pa se
često koriste za modelovanje real-time sistema.
Ne prikazuju tok podataka u sistemu
Problem sa modelima stanja
Broj mogućih stanja rapidno raste i postaje
nemoguće predstaviti na jednom dijagramu sva
stanja sistema.
Potreban je veliki broj dijagrama stanja što otežava
sistem inžinjerima i programerima da razumiju kako
sistem funkcioniše.
3. Modeli stanja (1)
Dijagrami stanja
Zaobljeni pravougaonik u dijagramu označava stanje
sistema. Kada se događaj desi, sistem prelazi iz
jednog stanja u drugo.
U njega je upisan opis akcije koju to stanje obavlja
Strelice predstavljaju pobudu koja uzrokuje prelaz iz
jednog stanja u drugo.
Može biti dopunjen tabelama koje opisuju stanje i
pobudu.
4. Modeli podataka
Koriste se za opisivanje logičke strukture podataka
obrađenih od strane sistema.
Funkcionalno orjentisane metode
Najčešće korišćen model je Entitet-veza-atribut model
(Entity Realationship model – ER model), postavlja početne
entitete sistema, veze između tih entiteta, i njihove atribute.
Objektno orjentisane metode
UML ne posjeduje specifične notacije za modeliranje
podataka, jer podrazumeva objektno-orijentisani proces
razvoja i modelira podatke korišćenjem objekata i veza.
Međutim UML se može koristiti za modeliranje podataka,
tako što se svaki entitet može posmatrati kao klasa objekta,
atributi entititeta kao atributi klase, a relacije između entiteta
kao veze među klasama.
OO metode- Primjer ER dijagrama
ER dijagram
ilustruje logičku
strukturu baze
podataka.
Rečnik podataka
Rečnik podataka je lista svih imena
korišćenih u modelima sistema. Takođe
uključuje i opis entiteta, veza i atributa.
Primena
• Podrška upravljanju imenima i izbegavanju
duplikata
• Skladište organizacionih znanja povezuje
analize, dizajn i implementaciju;
Mnogi CASE alati podržavaju rečnike
podataka.
Rječnik upisanih podataka
Objektni modeli
Objektno-orijentisani pristup celom procesu razvoja
softvera je danas uobičajen.
Strategija dizajniranja - polazi od objekta, ne od
operacije ili funkcije
Sistem čine objekti koji su međusobno u interakciji
Oblikuju se klase objekata i odnosi između klasa
(statički i dinamički prikaz)
Objektni modeli (1)
Objektno orijentisano modelovanje – deo
objektno orijentisanog razvoja sistema gdje
se objektno-orijentirana strategija proteže
kroz razvojni proces:
• Objektno-orijentisana analiza
• Objektno-orijentisani dizajn
• Objektno-orijentisano programiranje
Objektno orjentisana anliza i dizajn
sistema
Metoda je prikladna za dizajn sistema koji rade u realnom
vremenu.
Metoda podržava klase, objekte, nasljeđivanje, slanje
poruka.
Faze metode su:
• Implementacija
Objektni modeli i UML
UML predstavlja standardno prikazivanje uvedeno
od strane razvojnog tima koji kreira objektno
orjentisane metode za analizu i dizajn.
On je postao standard za objektno-orijentisano
modelovanje.
UML je jezik za:
specifikaciju,
vizualizaciju,
konstruisanje,
dokumentovaje
Razvila ga je kompanija Rational Software
Corporation (http://www.rational.com) (od 20.2.2003
u sastavu IBM-a)
UML (http://www.uml.org)
UML je grafički jezik za:
• vizualizaciju
• UML je vizuelni, grafički jezik;
• specifikaciju
• pomoću UML jezika formiraju se precizni,
nedvosmisleni i potpuni modeli;
• konstrukciju
• pomoću jezika UML konstruiše se softverski sistem koji se posle
može implementirati;
• dokumentovanje
• pomoću jezika UML mogu se dokumentovati zahtijevi, arhitektura,
projekat, izvorni kod itd.
UML je standardni vizuelni jezik za modelovanje dominantno,
ali ne isključivo, složenih softverskih sistema.koji je postavljen
kao standard od OMG (Object Management Group –
http://www.omg.org).
Šta je cilj UML jezika ?
UML je razvijen sa ciljem da pojednostavi veliki broj
OO razvojnih metoda.
UML se koristi za modelovanje softverskih sistema
naročito onih koji se zasnivaju na OO metodologiji.
Generalni ciljevi kojima UML jezik teži:
• stvaranje jezika za modelovanje kojim je moguće razvijati
i razmjenjivati modele sa određenim značenjem.
• nezavisnost od programskih jezika i razvojnih procesa
• pružanje formalne osnove za razumijevanje jezika za
modelovanje
Šta je cilj UML jezika ? (2)
• podsticanje razvoja OO programskih jezika
Korisnici UML-a su:
• Sistem-analitičari i krajnji korisnici – specificiraju
zahtijevanu strukturu i ponašanje sistema
• Rukovodioci projekta – vođenje i usmjeravanje kadrova i
upravljanje resursima
• Projektanti –projektuju sistem na osnovu zahtijeva
• Razvojni inžinjeri - transformišu projekat u izvršni kod
• Kontrolori kvaliteta – provjeravaju strukturu i ponašanje
sistema
Klasifikacija UML dijagrama
UML – 9 osnovnih dijagrama
State
State
Dijagrami
Diagrams
Use Case Diagrams
Use Case paketa State
Use Case Diagrams
Dijagram State
Dijagram
Use Case Diagrams Dijagram
Diagrams
Diagrams razmještaja Diagrams
komponenti
Diagrams objekata
Scenario State
Scenario State
Diagrams
Dijagram Dijagram
Diagrams
Diagrams Diagrams
interakcije Dijagram klasa
Scenario Component
Scenario
Dijagram Dijagram
Component
Diagrams Diagrams
promjene
Diagrams Diagrams
slučajeva
stanja Dijagram korišćenja
aktivnosti
POGLED POGLED
ANALIZE IMPLEMENTACIJE
POGLED SLUČAJEVA
KORIŠĆENJA
POGLED POGLED
PROJEKTOVANJA RAZMIJEŠTANJA
Defines how
managed
elements in an IT
environment are
represented as a
common set of
objects and
relationships
between them.
PRIMER
MODELOVANJE SISTEMA
RENT-A-CAR AGENCIJE
Primer: Rent-a-Car – Use Case
Pogled
Opis funkcionalnosti sistema
Sakupljanje zahteva
• funkcionalni i nefunkcionalni zahtevi
Kreiranje specifikacije zahteva za sistem
• UML Use Case dijagram
• Opis Use Case dijagrama
Identifikacija akteri i njihovih relacija sa
slučajevima korišćenja
AutoPark System
Sales Person
(from Actors)
Print list of
testdriv e
appointments
Administrativ e Person
(from Actors)
Process
ev aluation form
Process TestDriv e
Manage Customers
Request «extend»
Request TestDriv e
Customer
(from Actors)
AutoPark - Use Case Pogled
Opis Use Case scenarija
Scenario = Tok aktovnosti u slučaju
korišćenja
• Osnovni
• Alternativni
UML Dijagram aktivnosti
• Opisuje kako se aktivnosti dešavaju u sistemu
Primer: Rent-a-Car
ad Activ ity Diagram - Process TestDriv e Request
Validate User
«UserActivity»
Select Request to process
and rev iew
[Action = PROCESS]
Business Request?
Process Request
[Business Request = NO] [BusinessRequest = YES]
[Action = REJECT]
Create TestDriv e Create TestDriv e Request
Appointment XML File
Delete Request
Identifikacija entiteta
• Identifikacija atributa
• Identifikacija operacija
• Identifikacija relacija
• Identifikacija mnogostrukosti
Kreiranje Dijagrama klasa
Primer: Rent-a-Car – Logički aspekt
cd Logical Data Model - Process TestDriv e Requests
- FirstName: CHARACTER
- LastName: CHARACTER
- Email: CHARACTER
- PhoneNumber: CHARACTER
0..*
1 1
Identifikacija objekata
Identifikacija interakcije (poruke)
Opis ponašanja sistema - “kako” sistem
funkcioniše
Primer: Rent-a-Car – Dinamički aspekt
Sequence Diagram - Process TestDriv e Request (Client)
Client Server
«interface»
Process TestDrive
Administrative Person Viewer Control Entity Request BE Request::IProcessTDRequest
listRequests
showSelectScreen
getRequests
getRequests
selectRequest
showRequestDetails
getRequestDetails
getRequestDetails
processRequest(request)
deleteRequest(request)
[false]
rejectRequest(request)
deleteRequest(request)
Primer: rent-a-Park – Aspekt implementacije
id Manage Customers
«realize»
Manage Customers::CustomerMaintenanceView
CustomerMaintenanceView .w
«realize»
CustomerMaintenanceControl.p «realize»
+ onValueChangedBrwsCustomer() : void
«includes»
+ onChooseBtnAdd() : void
+ onChooseBtnModify() : void «includes»
CustomerMaintenanceModel.p
+ onChooseBtnDelete() : void
+ onChooseButtonOK() : void + addCustomer() : void
+ onChooseBtnCancel() : void + deleteCustomer() : void
+ onChooseBtnHelp() : void + modifyCustomer() : void
+ onChooseBtnDone() : void + commitCustomer() : void
+ getCustomer() : void
«Include»
«includes»
dsPerson.i «includes»
- DEFINE DATASET Person:
«Include»
includes proSIproxyStart.i
- NEW GLOBAL SHARED VARIABLE ghProxySIproc:
«realize PERSISTENT»
«Include»
etPerson.i