Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus

Hasonló dokumentumok
UML (Unified Modelling Language)

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Előzmények

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Metamodellezés. Simon Balázs BME IIT, 2011.

DEBRECENI EGYETEM INFORMATIKAI KAR. Az UML gyakorlati alkalmazásának bemutatása az AutoWorld rendszer tervezésén keresztül

01. gyakorlat - Projektalapítás

Objektum orientált software fejlesztés (Bevezetés)

Ismeretanyag Záróvizsgára való felkészüléshez

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Az UML2 és a modell-vezérelt alkalmazásfejlesztés

10-es Kurzus. OMT modellek és diagramok OMT metodológia. OMT (Object Modelling Technique)

Tartalom. Szoftverfejlesztési. Szoftver = Termék. módszertan. la Rational XDE CASE eszköz. Az előállításához technológiára van szükség

Bevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés

Programozás 1. 2.gyakorlat

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Objektumorientáció, objektumorientált szemlélet

OOP és UML Áttekintés

Név: Neptun kód: Pontszám:

OOP. Alapelvek Elek Tibor

Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.

Szoftvertechnológia ellenőrző kérdések 2005

S01-7 Komponens alapú szoftverfejlesztés 1

Objektumorientált paradigma és programfejlesztés Bevezető

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.

problémák elvárások megoldások EAI MDA MOF CWM köztes Sw eszközök hatékonyság konklúzió 09:09 problémák elvárások megoldások EAI MDA MOF CWM

S01-8 Komponens alapú szoftverfejlesztés 2

Programfejlesztési Modellek

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

A SZOFTVERTECHNOLÓGIA ALAPJAI

Magas szintű adatmodellek Egyed/kapcsolat modell I.

A dokumentáció felépítése

Modell alapú tesztelés mobil környezetben

Modellalkotás UML-ben

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Rendszertervezés 4. A rendszerfejlesztés eszközei (technikák, CASE, UML) Dr. Szepesné Stiftinger, Mária

Interfészek. PPT 2007/2008 tavasz.

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Fogalmi modellezés. Ontológiák Alkalmazott modellező módszertan (UML)

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

A Java EE 5 plattform

Programozási technológia

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Objektumorientált paradigma és a programfejlesztés

Programozási technológia

Programozás II. ATM példa Dr. Iványi Péter

5. Előadás tartalma Magas szintű adatbázismodellek Adatmodellezés

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Szoftver-technológia II. Modulok és OOP. Irodalom

The Unified Software Development Process. Történet. Feltételek. Rational Unified Process. Krizsán Zoltán Ficsor Lajos

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások

Információtartalom vázlata

Programozási nyelvek Java

Szakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

Objektum orientált programozás Bevezetés

Komplex záróvizsga témakörök Gazdaságinformatikus szak Pénzintézeti informatikus szakirány 2018

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: Ficsor Lajos. Unified Modeling Language UML / 1

Áttekintés. rténete 1. Az UML törtt. Miskolci Egyetem Általános Informatikai Tanszák. Ficsor Lajos UML / 1

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

Modellező eszközök, kódgenerálás

Objektumelvű programozás

Szoftvertechnológia 2008/2009. tanév 2. félév 2. óra. Szoftvertechnológia

Komponens alapú programozás Bevezetés

S0-02 Típusmodellek (Programozás elmélet)

A TANTÁRGY ADATLAPJA

Mérés és modellezés Méréstechnika VM, GM, MM 1

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

ANALYSIS PATTERNS MARTIN FOWLER ANALYSIS PATTERNS. Általános ismertető és Accountability Patterns

CORBA bevezetés. Paller Gábor Internet és mobil rendszerek menedzselése

Programozás I. 2. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Komponens alapú fejlesztés

30 MB INFORMATIKAI PROJEKTELLENŐR

ELTE, Informatikai Kar december 12.

Tartalom Kontextus modellek Viselkedési modellek Adat-modellek Objektum-modellek CASE munkapadok (workbench)

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Mérés és modellezés 1

NC program ellenorzo szimulátor fejlesztése objektumorientált módszerrel

Méréselmélet MI BSc 1

A szoftverfejlesztés eszközei

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Osztott Objektumarchitektúrák

Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Generikus Típusok, Kollekciók

JAVA PROGRAMOZÁS 3.ELŐADÁS

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Már megismert fogalmak áttekintése

Utolsó módosítás:

CIM Core Model. Paller Gábor Internet és mobil rendszerek menedzselése

Átírás:

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus 5-ös Kurzus (UML) Visszatekintés: történelmi szempontok Az UML létrejötte UML-1 (Unified Modeling Language) és UML-2 Magyarul : EMN-1 (Egységesített Modellező Nyelv) 1

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT UML (Unified Modeling Language) EMN (Egységesített Modellező Nyelv) UML áttekintés Történelem Princípiumok Alapfogalmak Architektúra A diagramok kölcsönhatása 2

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Visszatekintés történelmi szempontok ADA, SIMULA, SMALLTALK- programozási nyelvek OOD (Object Oriented Design) Grady Booch 1991-1993 OOSA ( Object Oriented System Analysis) Shaer& Mellor1999 OMT (Object Modeling Technique) James Rumbaugh 1991 OOA ( Object Oriented Analysis) Coad & Ed Yourdon 1991 HOOD ( Hierarchical Object Oriented Design) ESA (European space Agency) OOSE (Object Oriented Software Engineering) Ivar Jacobson 1992 3

RUMBAUGH, JACOBSON és BOOCH célkitűzései (Raffai Mária UML2 pp. 19): 1) Komplex, küldetéskritikus, szoftverintenzív rendszerek fejlesztéséhez hatékony megoldások fejlesztése 2) Egyértelmű lépéseket határoznak meg az objektumorientált elvű rendszermodellezési folyamat végrehajtásához a koncepciókialakítástól a végrehajtható szoftvertermék felügyeletéig 3) Olyan modellező nyelv kifejlesztése, amely az emberi kommunikációhoz és a gépi megvalósításhoz egyaránt alkalmas 4

Modellvezérelt fejlesztés (Model Driven Architecture) A legkiválóbb fejlesztők és programozók tapasztalatait és megoldásait integrálja egységes egésszé. Az alkalmazás-fejlesztés során ismerni kell a támogatandó rendszert, a folyamatokat, a leképzési eljárásokat és a támogató technológiákat. Az alapvető cél ennek a tudásnak a formalizálása. (Allan Kennedy) Az MDA-szabvány kimondja, hogy az üzleti feladatok modellezését el kell választani a megvalósítás részleteitől, vagyis a fejlesztést a szakterület modellnézeteinek kialakításával kell kezdeni, figyelmen kívül hagyva ebben a folyamatrészben az implementáció és működtetés technológiai környezetét, erre, meg a megvalósítási platformra alapozva kell megtervezni és megvalósítani az alkalmazást 5

MDA (Model Driven Architecture) modellnézetek 1) A szakterületi rendszert kifejező, az informatikai környezetet figyelmen kívül hagyó, a valós rendszer elemeit és funkcionalitását leíró doménmodell (CIM) 2) A megvalósítás eszközeitől és módjától független, a támogatandó szakterületi rendszernek a fejlesztési célja szerinti lényeges elemeit tűkröző platformfüggetlen modell (PIM) 3) A megoldási technológiát figyelembevevő, a technikai részleteket leíró, az implementációt megvalósító platformspecifikus modell (PSM) 6

Definíciók A szoftver mérnökség területén, az egységesített modellező nyelv (UML) egy standardizált specifikációs nyelv az objektum modellezésre. Az UML egy általános célú nyelv, amely egy grafikus jelölésrendszert használ, hogy egy rendszernek az absztrakt modellét fel lehessen építeni, amelyre úgy hivatkozunk, hogy UML model. Az UML-t az Objekt Management Group (OMG) hivatalosan meghatározza az UML metamodellen keresztül, amelyik egy Meta-Object Facility (MOF) metamodel. 7

8

Mire használható még Üzleti folyamatok modellezésére Rendszer-mérnöki modellezésre Szervezeti struktúra ábrázolására A System Modeling Language (SyML)- rendszer egy domén specifikus modellezési nyelv a rendszermérnökiségre, amely UML 2.0 profilként van meghatározva Az UML katalizátor a modellek által vezérelt technológiákra Az UML modell transzformálható más reprezentációkra (Java) Az UML kiterjeszthető 9

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus UML áttekintés Az UML egy nyelv a szoftver termékek vizualizálására, specifikálására, építésére és dokumentálására Az UML egyaránt hasznos szoftver fejlesztőknek és felhasználóknak, alkalmazható szoftver karbantartásra is 10

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Hol alkalmazható az UML? Üzemi IR, bank és pénzügyi szolgáltatásokban, távközlésben, szállításban, orvosi és tudományos területen, osztott webes alkalmazásokra támaszkodó szolgáltatásokban. A modellezés fontos összetevőkre hat: A szoftver minőségére, a valóság egyszerűsítésére, a problémák jobb megértésére. 11

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Az egységesített megoldások szükségessége: a fejlesztő-felhasználó kommunikációjának problémája, a dokumentáció készítésének, a régebbi dokumentációk megértésének kérdése az egy nyelven beszélés, a különböző projektekben otthonosan mozgás igénye a Rational Software Incorporation és az OMG szerepe az egységesítési folyamatban (ROP, RUP, UML verziók és szabványosítás) 12

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Periódus Események Történelem 1975-1989 Objektumorientált programozási nyelvek 1989-1994 Több mint 50 objektumorientált analízis- és tervezési módszer 1994-1995 Booch és Raumbaugh egyesítés 1996 Jacobson, egyesítés 1996 UML 0.9 1997 UML 1.1 1998 UML 1.2 1998 UML 1.3 2005 UML 2.0 13

14

Modellezés Lényeges megkülönböztetést tenni az UML model és a rendszer egy diagram-halmaza között Egy diagram a rendszer modelljének parciális ábrázolása Az UML diagramok három különböző nézetét adják meg a rendszernek: Funkcionális követelmény-nézet Statikus követelmény-nézet Dinamikus viselkedés nézet 15

Az UML 2.0 diagramjai 16

Strukturális diagramok 1. Osztálydiagram 2. Komponensdiagram 3. Összetett struktúra diagram 4. Telepítési diagram 5. Objektumdiagram 6. Csomagdiagram 17

Viselkedési-és kölcsönhatás diagramok Viselkedési diagramok: 1. Aktivitási diagram 2. Állapotgép diagram 3. Use Case (használati eset) diagram Kölcsönhatási diagramok: 1. Kommunikációs diagram 2. Szekvencia-diagram 3. Interaction overview diagram (UML 2) 4. UML Timing diagram (UML 2) 18

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Princípiumok 1) A modellválasztás befolyásolja a pobléma megoldását 2) Minden modell kifelyezhető különböző pontossági fokon 3) A modellek a valósághoz kötődnek 4) Nem elégséges egy modellt készíteni 19

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Architektúra Tervezési szempont Folyamat szempont Use Case szempontja Implementációs szempont Telepítési szempont 20

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus UML Diagramok egymásrahatása Use Case Diagram Együttműködési Diagram Aktivitási- Diagram Állapotdiagram Szekvencia- Diagram Osztály- Diagram Komponens Diagram Környezeti Diagram 21

Használatos fogalmak Strukturáknál: aktor, attribútum, osztály, komponens, interfész, objektum, csomag Viselkedésnél: aktivitás, esemény, üzenet, metódus, operáció, állapot, use case Kapcsolatoknál: aggregáció, asszociáció, kompozíció, függőség, általánosítás (öröklődés) Más: sztereotípia sokszerűség kardinalitás az adatbázisoknál szerep 22

Struktúra fogalmai grafikusan 23

Viselkedési fogalmak 24

Kapcsolatok ábrázolása 25

26

A csomagdiagram 27

A számla egyszerűsített modellje- osztálydiagram 28

Osztályspecifikáció és láthatóság +public Minden objektum által hozzáférhető elem #protected Csak az öröklődés határain belül láthatóak -private Csak az objektum saját, belső rendszerében használhatók ~csomag Csak az adott csomagon belül láthatóak 29

Attribútumok String Karakteres (rövid) Char, Byte egy karakterből álló Text szöveges (hosszú) karakterlánc Enum felsorolás- (lista-) jellegű Real valós szám Double dupla pontosságú valós érték Integer egész érték Long hosszú integer Date dátum jellegű Boolean logikai érték Currency árfolyam típusú 30

Attribútumok jellege {changeable} az attribútum értéke korlátozás nélkül létrehozható, törölhető, változtatható {addonly} jelleget az 1-nél nagyobb multiplicitású attribútumokhoz lehet hozzárendelni. Több értékkel rendelkezhetnek, de ha egy értéket létrehoztak, akkor azt nem lehet törölni vagy módosítani {frozen} jellegű attribútum az objektum létrehozása után nem törölhető és nem változtatható 31

Műveletek (metódusok) Módosító és lekérdező műveletek (set, get) Jellemzők: Művelet neve A művelet paraméterei és azok jellege: in: bemeneti paraméter out: kimenet a hívó objektum számára inout: beérkezett paraméter, amelyet megváltoztatva az objektum visszaküld, vagy továbbít más objektumnak A paraméter típusa = alapértelmezett érték 32

Műveletspecifikáció finomítása invariant olyan szabály, vagy feltétel meghatározása, amelyeknek mindíg teljesülnie kell precondition olyan feltétel, amelynek a művelet végrehajtása előtt teljesülnie kell postcondition a művelet végrahajtása utáni feltételeket szabályozza és meghatározza a visszatérési értékre (return value) vonatkozó szabályokat 33

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Ellenőrző kérdések 1) Hol alkalmazható az UML? 2) Milyen fontos összetevőkre hat a modellezés? 3) Melyek az UML princípiumok? 4) Miért szükséges az UML? 5) Alapfogalmak a UML-ben? 6) Grafikai elemek az UML Diagramokban? 7) Melyek a Strukturálási Diagramok? 8) Melyek a Környezeti Diagramok? 9) UML Diagramok egymásrahatása? 34