Professional Documents
Culture Documents
Napomena
Materijali u ovoj prezentaciji predstavljaju pomoni radni materijal za svladavanje gradiva na predmetu Modeliranje i izgradnja IS-a. Sadre dijelove koji se moraju revidirati i nadopuniti uz dozvole citiranih autora i izvora.
Zato unificirani
UML unifikacija obuhvaa slijedee:
Razvitak ivotnog ciklusa; UML se moe koristiti za analizu i ininjerstvo korisnikih zahtjeva do implementacije cjelokupnog sustava Primjenskih domena:Application domains: UML se koristi u fuzioniranju aplikacija razliitog tipa Implemementaciju jezika i platformi : UML je jezino i platformski neovisan Razvojnih procesa: UML podrava unifikacije procesa Vlastitog internog koncepta: UML se bazira na skupu koncepata koji se primjenjuju konzistentno kroz razvoj notifikaciji
UML- strukture
Tri glavna dijela u UML strukturi: Gradivni blokovi Zajedniki mehanizmi Arhitektura
[Arlow & Neustadt 2002]
Klasa
Suelje
Suradnja
Sluaj koritenja
Komponenta
vor
Interakcija
Automat stanja
Paket
Cedulja (note)
Ovisnost
Asocijacija
Generalizacija
Realizacija
Strukturni Dijagrami ukljuuju Class Diagram, Object Diagram, Component Diagram, Composite Structure Diagram, Package Diagram, and Deployment Diagram. Diagrami ponaanja susustava ukljuuju Use Case Diagram (used by some methodologies during requirements gathering); Activity Diagram, and State Machine Diagram. Interakcijski dijagrami izvedeni su iz prethodne dvije grupe ili ukazuju na specifina stanja sustava: Sequence Diagram, Communication Diagram, Timing Diagram, and Interaction Overview Diagram (Izvor:ttp://www.omg.org/gettingstarted/what_is_uml.htm#12DiagramTypes)
J. Mesari, Modeliranje i izgradnja IS-a. EFOS 2007/08 Objektno modeliranje i UML
Raun Inicijalizacija
Ne udovoljava
Odbiti raun
Udovoljava
Odobriti raun
Raun odbijen
Raun odobren
Raun otvoren
Potpisuje ugovor
3: Inicijalizira zaslon 4: Otvara raun 5: Trai PIN 6: Unosi PIN 7: Provjerava PIN 8: Trai transakciju 9: Izabire transakciju (odbijanje) 10: Trai iznos 11. Unosi iznos 12: Odbija iznos 13: Provjerava iznos na raunu 14: Oduzima iznos 15 Izdaje gotovinu 16. Izdaje potvrdu
Odbijanje (Bilanca <0) Otvori Depozit (Bilanca < 0) Prekoraenje DO: Poalji obavjest klijentu
Dijagram komponenti
ATM-exe
ita kartica
Izdava novca
ATM-ekran
ATM-ekran
Izdava novca
Printer
ATM 1
ATM 2
Pravila UML-a
Graevni blokovi UML-a ne mogu se samo nabacati kako bi tvorili model. Kao i svaki jezik, i UML ima brojna pravila koja specificiraju kako dobro formiran model treba izgledati. Dobro formiran model je semantiki konzistentan i u skladu je sa svim drugim modelima sa kojima je povezan. UML ima semantika pravila za:
Imena - Kako se mogu nazivati stvari, relacije i dijagrami Doseg - Kontekst koji daje specifino znaenje imenu Vidljivost - Kako ta imena mogu vidjeti i koristiti drugi korisnici Integritet - Kako stvari na pravi nain i konzistentno povezati sa drugima Izvoenje - to znai pokrenuti ili simulirati dinamiki model
Modeli koji se grade za vrijeme razvoja sustava koji se oslanja na programsku podrku tee ka poveanju i mogu ih vidjeti razni korisnici u razliito vrijeme i na razliit nain. Stoga razvojni timovi ne grade samo dobro formirane modele ve i modele koji su:
Neotkriveni Neki elementi su sakriveni kako bi se pojednostavnio pogled Nekompletni Neki elementi mogu nedostajati Nekonzistentni Integritet modela nije garantiran Ovi, ne dobro formirani modeli, su neizbjeni u toku razvoja dok se mnogi detalji sustava tek otkrivaju. Pravila UML-a potiu, ali ne prisiljavaju na bavljenje najvanijim pitanjima analize, dizajna i implementacije koji usmjeravaju model da, kroz vrijeme, postane dobro formiran.
Postoji separacija suelja od implementacije. Suelje deklarira ugovor, a implementacija predstavlja konkretnu realizaciju tog ugovora i odgovorna je za tono izvravanje kompletne semantike suelja. U UML-u mogu se modelirati i suelja i implementacije, kao na Slici 18. Slika 18: Suelja i implementacije Na ovoj slici je jedna komponenta, nazvana spellingwizard.dll koja implementira dva suelja, IUnknown i ISpelling.
Na ovoj slici je jedna klasa, nazvana Customer, zajedno sa tri objekta: John (koji je eksplicitno naveden kao Customer objekt), :Customer (anonimni Customer objekt) i Jack (za kojeg je u specifikaciji navedeno da je Customer objekt, iako to nije eksplicitno navedeno).
J. Mesari, Modeliranje i izgradnja IS-a. EFOS 2007/08 Objektno modeliranje i UML
Architecture.
The system architecture is the organizational structure of the system, including its decomposition into parts, their connectivity, interaction, mechanisms and the guiding principles that inform the design of a system. [Rumbaugh 1998] There is a typical 4+1 views architecture of a system defined by UML:
Logical view, captures the vocabulary of the problem domain using classes and objects Process view, depicts the threads and processes of the system as active classes Implementation view, shows the physical code base of the system in terms of components Deployment view, models the physical deployment of components onto computational nodes Use case view, captures the requirements of the system using a set of use cases. This is the view +1 to which all other views connect.
J. Mesari, Modeliranje i izgradnja IS-a. EFOS 2007/08 Objektno modeliranje i UML
.Architecture
The 4 +1 views architecture, Fig. 1.11 [Arlow & Neustadt 2002]
What is UP?
A software development process (SDP) or software engineering process (SEP) defines the who, what, when, and how of developing software The Unified Software Development Process (USDP) or, in short, the Unified Process (UP) is an industry standard process created by the authors of UML
UP History
UP evolution, Fig. 2.3 [Arlow & Neustadt, 2002]
UP Axioms
Use case and risk driven Architecture centric Iterative and incremental
Each iteration contains all the elements of a regular software development project: planning, analysis, design, construction, integration, testing, internal or external release
UP Core Workflows.
Requirements: Determining what the system should do Analysis: Refining and structuring the requirements Design: Defining system architecture to satisfy requirements Implementation: Building the software Testing: Verifying that the implementation is correct
A baseline is the result of an iteration, a partially complete version of the final system. An iteration is the difference between two consecutive baselines.
UP Structure.
Fig.2.6, Arlow 2002
.UP Structure
Fig.2.7, Arlow 2002
Details of the above for Inception are given next. The remaining three phases are described in Subsection 2.9 of the textbook
Literatura
http://dn.codegear.com/article/31863#usecase-diagram (ima dobar tutorial za uenje UML-a http://www.uml.org/#Links-General http://www306.ibm.com/software/rational/uml/products.h tml http://www.sparxsystems.com.au/UML_Tutori al.htm
J. Mesari, Modeliranje i izgradnja IS-a. EFOS 2007/08 Objektno modeliranje i UML