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

Slides:



Advertisements
Samankaltaiset esitykset
Tietokantakehitys kiinteäksi osaksi modernia ohjelmistokehitystä Vesa Tikkanen |
Advertisements

Ohjelmiston tekninen suunnittelu
Tietojärjestelmät 2.
Ohjelmistotuotanto - Mallinnus
UML-notaatio staattinen ja dynaaminen mallintaminen
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
Mikko Tyrväinen InSitu –Luentopalautejärjestelmän tekninen evaluointi.
Tekninen suunnit-telu
ohje kuunteluanalyysiin
Ohjelmistotekniikka: Ohjelmiston mallintaminen, osa I
Päivi Ovaska Tutkijaopettaja LTY/Tite
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
Oliomallittaminen ja UML
UML-luokkakaaviot.
UML-luokkakaaviot ja Java
Ohjelmistotekniikka ja projektinhallinta, 4 op
S09-10 Onki-palvelut verkkoportaalissa Spring 2009 Erik Fallenius.
Johdanto Teppo Räisänen, Principal Lecturer Oulu University of Applied Sciences, School of Business and Information Management
Tässä esityksessä on piilotettu osa dioista
Sijan distribuutio The Distribution of Case (Chapter 15) Edith A. Moravcsik Wilhelmina Dyster Sijojen teoriaa -kurssi
Component diagram– Komponenttikaavio J. Pätsi & H. Malmihuhta
Irmeli Sinkkonen TkL, tutkija
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
ENG Masters, part 2, Citing
Pakkauskaavio– Package Diagram Jani Pelkonen, Niko Viinikanoja, Teemu Tervahauta.
SoberIT Ohjelmistoliiketoiminnan ja –tuotannon instituutti TEKNILLINEN KORKEAKOULU T Käyttöliittymien ja käytettävyyden seminaari Kontekstiherkkyydestä.
AS Automaatio- ja systeemitekniikan projektityöt A11-17 Ikäihmisten kotona asumista tukevien järjestelmien kehittäminen Ovivalpas väliraportti Mathias.
1 Tästä monis1teesta Tämä moniste kattaa syksyn 2004 tentittävän ITK-211 kurssin materiaalin. Moniste on myös hyödyllinen kurssin harjoitustyötä (ITK-212)
Olio-ohjelmoinnin perusteet luento 7
Ohjelmistotekniikka - Määrittely (Analysis) Kevät 2003 Hanna-Kaisa Lammi LTY/Tite.
Ohjelmistotuotanto - Spesifikaatiot ja dokumentointi
Päivi Ovaska Tutkijaopettaja LTY/Tite
Tietojärjestelmät ja Systeemisuunnittelu
Ohjelmistotekniikka: Ohjelmiston mallintaminen, osa II
Tietojärjestelmät ja Systeemisuunnittelu
Esityksen nimi Esityksen pitäjä / organisaatio tilaisuus, päivämäärä TFEIP 12 May 2015 Use of Point Source Data in the Emission Inventory Example Finland.
© 2010 Ammattiosaamisen kehittämisyhdistys AMKE ry. IVETA International conference 2014 Helsinki 19 – 21 August 2014 St. Petersburg 22 – 23 August 2014.
Vakiintuneet kustantajat ja uudet yrittäjät OA-monografiamaailmassa
CAF eTool Rekisteröitymisen kautta maksutta käyttöön Kansallinen laatuhanke /TjV 1.
IEA DSM Task XVI ESCO Project Register Pertti Koski.
VISI-yhtiöt 2 2 Why UHF (860 MHz )? UHF operation power magnetic field UHF vs. inductive Longer read range Small antenna (50 MHz, 20
Uudelleenkäytön arkkitehtuuriratkaisut, Silja Räisänen1 Pohjolan Systeemipalvelu Oy - Vakuuttavaa IT-osaamista OUGF - Kevätseminaari Uudelleenkäytön.
Perustietoja Luokka-asteet 1 – 9 = yhtenäiskoulu NYT: 650 oppilasta, koulu kasvaa voimakkaasti Oppilasmääräarvio: syksy 2013/750, syksy 2014/> opettajaa.
Ajankohtien merkitseminen Fennica / Viola EDTF, MARC 21
Specification by Example – Vaatimukset ja testaus ketterissä projekteissa Marko Taipale.
Markkinoiden juridinen toimintaympäristö Luento 7
Reports in Apply / eAge system
Tietokantamoottorit Suosittuja tietokantamoottoreita: MySQL SQLite
– Ohjelmistojen mallintaminen, mallintaminen ja UML
Opening: Matti Hyvärinen
YLIOPISTOTENTTI / UNIVERSITY EXAM
Äänestäjän kuluttajansuoja
Sisältö PostgreSQL MySQL Historia yms. ORDBMS Ominaisuuksia Asennus
UNIVERSITY EXAM L3 at 4.00 – 8.00 p.m.
Introduction to decision analysis
Risk analysis, risk attitudes
UNIVERSITY EXAM L4 at 4.00 – 7.00 p.m.
UNIVERSITY EXAM L3 at 4.00 – 8.00 p.m.
National Library of Finland and Digitized Collections for Researchers
Kansainväliset sopimukset Luento 6
DIC and BMA in BUGS Biotieteellinen tiedekunta / Henkilön nimi / Esityksen nimi
Samba Tuukka Toropainen.
Introduction to decision analysis
Smart Simulators / Kari T. Koskinen & Pekka Ranta
Mallintamisen metamalli ja notaatiot
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
X-ROAD ENVIRONMENTAL MONITORING
LTE LTE=EUTRAN=Super3G=3.9G.
Information for teachers
Kari Systä Tampere University of Technology / Software Systems
Esityksen transkriptio:

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

2 Ohjelmistojen tuottaminen = speksien tuottamista?

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

4 Mikä on UML Unified Modeling Language Yhdistelmä vuosikymmenien varrella kehitetyistä mallinnusmenetelmistä (ER, SDL, tapahtumasekvenssit…) Päävaikuttajat: Grady Booch, Jim Rumbaugh ja Ivar Jacobson ( 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 Historiaa

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 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 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 Reserve vehicle Return vehicle Service Client Clerk > VehicleRentalSystem Käyttötapauskaaviot

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

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

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

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

14 GUI Vehicle Manager Data Storage Komponenttikaaviot

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

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 Vehicles Support +Manager +Vehicle +Car > Ryhmittely

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 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 OMT++: Tausta Kehitetty Nokian (NTC) verkonhallintasovelluksia varten Suuria (~3MLOC) c++ -sovelluksia. HP-UX, Oracle, XWindows. Prosessi tuottaa speksit vaatimuksista ja tuoterakenteen eri osista. Tuoterakenne:

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 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 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.