Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

1 UML - yleiskatsaus UML - yleiskatsaus (ei kirjassa koottuna) Miksi mallinnus Mikä UML on? UML:n peruselementit Kaaviotyypit Esimerkkiprosessi.

Samankaltaiset esitykset


Esitys aiheesta: "1 UML - yleiskatsaus UML - yleiskatsaus (ei kirjassa koottuna) Miksi mallinnus Mikä UML on? UML:n peruselementit Kaaviotyypit Esimerkkiprosessi."— Esityksen transkriptio:

1 1 UML - yleiskatsaus UML - yleiskatsaus (ei kirjassa koottuna) Miksi mallinnus Mikä UML on? UML:n peruselementit Kaaviotyypit Esimerkkiprosessi

2 2 Ohjelmistojen tuottaminen = speksien tuottamista?

3 3 Järjestelmä Malli 3 Malli 1 Malli 2 Mallit antavat järjestelmään erilaisia näkökulmia(rakenne, toiminta) Miksi mallinnus?

4 4 Mikä on UML Unified Modeling Language Yhdistelmä vuosikymmenien varrella kehitetyistä mallinnusmenetelmistä (ER, SDL, tapahtumasekvenssit…) Päävaikuttajat: Grady Booch, Jim Rumbaugh ja Ivar Jacobson (www.rational.com). OMG:n syksyllä 1997 hyväksymä standardi (versio 1.1) Sopii käytettäväksi minkä tahansa menetelmän yhteydessä. Tavattoman rikas notaatio -- kaikkea ei tarvitse osata. Lähellä Rumbaughin OMT-notaatiota. Aivan erityisen hyvin sopii yhteen mm. Nokian OMT++ -menetelmän kanssa.

5 5 Historiaa

6 6 Kohteet Suhteet Rakenne ClassName Käyttäytyminen StateName Ryhmittely PackageName Kommentti Comment etc. Riippuvuus (Dependency) Assosiaatio Kooste (Aggregation) Yleistys (Generalization) Toteutus (Realization) 0..1 * role Muodoste (Composition) UML:n peruselementit

7 7 Luokkakaaviot Komponenttikaaviot Sijoittelukaaviot Tapahtumasekvenssik.:t Yhteistyökaaviot Tilakaaviot Aktiviteettikaaviot Ilmentymäkaaviot Käyttötapauskaaviot Rakenne Vuorovaikutus Olion käyttäytyminen Järjestelmän käyttäytyminen Kaaviotyypit

8 8 Vehicle ParkingHall Car VehicleStorage Vehicle rental system regnumber service(int km) Store service information Manager manages * reserve release engage return setReturned setReserved setActive Luokkakaaviot

9 9 Reserve vehicle Return vehicle Service Client Clerk > VehicleRentalSystem Käyttötapauskaaviot

10 10 : Manager aCar: Car setReturned UI Return(aCar) : Garage store(aCar) Tapahtumasekvenssit

11 11 aCar : Car : Garage UI : Manager 1: return(aCar) 1.2: store(aCar) 1.1: setReturned Yhteistyökaaviot

12 12 Available InService Reserved Active setReturned/ stopTiming setReserved setActive/startTiming service setReturned For a Car object: do/notify Tilakaaviot

13 13 Request car Make reservation Make bill Pay Prepare car Deliver car Client Clerk Take car Aktiviteettikaaviot

14 14 GUI Vehicle Manager Data Storage Komponenttikaaviot

15 15 SiteWorkStation: Client VehicleServer: Server : Data Storage : Database : GUI : Vehicle Manager Sijoittelukaaviot

16 16 Vehicle ParkingHall Car VehicleStorage regnumber service(int km) Store service information Manager manages * reserve release engage return setReturned setReserved setActive Vehicles Support Ryhmittely: pakkaukset (package)

17 17 Vehicles Support +Manager +Vehicle +Car > Ryhmittely

18 18 Stereotyypit Any UML element (class, association etc.) can be specialized by using standard, tool-defined or user-defined stereotypes. A stereotype has its own specialized semantics, tags etc. A stereotype is denoted >. Example: > Overflow "Tagit" A tag is a name-value pair that can be associated with any UML element. Example: MyClass {version = 1.2} Laajennusmekanismit

19 19 Rajoitteet A constraint restricts the set of possible instantiations of a model. It gives a condition that must be satisfied by every legal system following the model. A constraint can be a standard constraint (e.g. {ordered}), a free-form constraint (given as free text), or a formal constraint, given in a well-defined formal language (standard language: OCL, Object Constraint Language). Example: * {ordered} Laajennusmekanismit

20 20 OMT++: Tausta Kehitetty Nokian (NTC) verkonhallintasovelluksia varten 1993... Suuria (~3MLOC) c++ -sovelluksia. HP-UX, Oracle, XWindows. Prosessi tuottaa speksit vaatimuksista ja tuoterakenteen eri osista. Tuoterakenne:

21 21 Requirements Use cases Analysis model UI model Design model Code User System User UI System Operation specifications Task specifications Event traces User ViewContr Class C { … } void C::m() { … } Static path Collaboration path Ari Jaaksi: Object-Oriented Development of Interactive Systems. Ph.D thesis, TUT 1997. Jaaksi, A., Aalto, J-M., Aalto, A., and Vättö, K., Tried&True Object Development -- Industry Proven Approaches with UML. Cambridge University Press, SIGS Books (1999) 315pp.. Esimerkkiprosessi (yksinkertaistettu): OMT++

22 22 Millä piirrät? Jos et osaa paperilla ja kynällä ei välineestä ole apua. CASE-välineet (JUDE, Rational Rose, Prosa, …) –Hinta verraten korkea (10-50kmk). –Perustuvat tietokantaan, johon talletetaan kaikki malliin liittyvät tiedot, kaaviot ovat vain “näkymiä” tietokantaan. –“Ymmärtävät” kaavioiden semantiikkaa ainakin jossain määrin. –Reverse Engineering+Forward Engineering = Round Trip Engineering. –Tukevat dokumentointia (esim. Soda+Rose). –Demot ja pienet ohjelmaesimerkit antavat usein liian ruusuisen kuvan. –Raskaan sarjan käyttökokemuksia ei ole julkaistu (?). –Oppimiskynnys korkeahko. Piirto-ohjelmat (Visio, ABCFlowcharter) –Hinta muutama KMK. –Ainakin Visiossa melko hyvä UML-tuki, lähestyy CASE-välineen ominaisuuksia. –Hyvä valinta, jos ei tarvitse CASE-välineen tietokannan tuomia lisäetuja. Julkisohjelmiakin löytyy verkosta.


Lataa ppt "1 UML - yleiskatsaus UML - yleiskatsaus (ei kirjassa koottuna) Miksi mallinnus Mikä UML on? UML:n peruselementit Kaaviotyypit Esimerkkiprosessi."

Samankaltaiset esitykset


Iklan oleh Google