Kölcsönhatás diagramok

Hasonló dokumentumok
Rendszer szekvencia diagram

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

Dr. Mileff Péter

Integrált keretrendszer

Szekvencia diagram. Szekvencia diagram Dr. Mileff Péter

Programozási technológia

OOP. Alapelvek Elek Tibor

Dinamikus modell: állapotdiagram, szekvencia diagram

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

Modell alapú tesztelés mobil környezetben

Programozás 1. 2.gyakorlat

Java programozási nyelv

Interfészek. PPT 2007/2008 tavasz.

Szakterület modell. Bővítés attribútumokkal. BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi

UML (Unified Modelling Language)

Programfejlesztési Modellek

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

Már megismert fogalmak áttekintése

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Objektum orientált programozás Bevezetés

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Időjárási csúcsok. Bemenet. Kimenet. Példa. Korlátok. Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny, 2-3. korcsoport

S01-8 Komponens alapú szoftverfejlesztés 2

Titkosítás NetWare környezetben

Hardver leíró nyelvek (HDL)

UML Feladatok. UML Feladatok

Objektumorientált paradigma és a programfejlesztés

Kiterjesztések sek szemantikája

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

HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM)

Komputeralgebra Rendszerek

Programozási nyelvek Java

A SZOFTVERTECHNOLÓGIA ALAPJAI

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

Bánsághi Anna 1 of 67

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

BASH script programozás II. Vezérlési szerkezetek

A projekt idő-, erőforrás és költségterve 1. rész

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

Objektumorientált paradigma és programfejlesztés Bevezető

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

Algoritmusok. Hogyan csináljam?

ELŐADÁS ÁTTEKINTÉSE. Tevékenységek tervezése Gantt diagramm

Webprogramozás szakkör

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

Occam 1. Készítette: Szabó Éva

Előzmények

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

III. OOP (objektumok, osztályok)

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

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

Az informatika kulcsfogalmai

Web-programozó Web-programozó

Modellalkotás UML-ben

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

Adatstruktúrák, algoritmusok, objektumok

Autószerelő Autószerelő Targonca- és munkagépszerelő Targonca- és munkagépszerelő

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

Szakterület Modell Kapcsolatokkal bővítés

Python tanfolyam Python bevezető I. rész

Logikai architektúra és az UML komponens diagramok

Osztályok. 4. gyakorlat

Programozási nyelvek (ADA)

1. Valósítsa meg az alábbi alapkapcsolásokat: Az 1. ábrán az A) kapcsolásban amíg a

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Parametrikus tervezés

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

1. Eredményes befolyásolás Kapcsolatépítés és eredmények elérése (20 óra)

Információtartalom vázlata

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Új prezentáció létrehozása az alapértelmezés szerinti sablon alapján.

Prezentáció, Diagramok, rajzolt objektumok. Szervezeti diagram

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Algoritmusok tervezése

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

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

Témakörök. Structured Analysis (SA) Előnyök (SA) (SA/SD) Jackson Structured Programming (JSP) Szoftvertechnológia

Prezentáció használata

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

Logisztikai hálózatok funkcionális elemekre bontása intralogisztikai

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Objektum-orientált programozás

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

SSADM OO nézőpontból. Molnár Bálint Egyetemi docens, Corvinus egyetem

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

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

A lean menedzsment eszközei

ContractTray program Leírás

A szerzõrõl... xi Bevezetés... xiii

OOP #14 (referencia-elv)

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Programozás alapjai (ANSI C)

Objektumorientált tesztelés

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

Átírás:

Kölcsönhatás diagramok

Célkitűzés Olvasni tudják az alap UML kölcsönhatás diagramok (kommunikáció és szekvencia) diagramok jelöléseit. 2

Bevezetés Miért léteznek az objektumok? Azért, hogy a rendszer valamilyen céljának megfelelően végrehajtsanak valamilyen tevékenységet. A kölcsönhatás diagramok a rendszer dinamikájának modellezésére szolgálnak. Hogyan változtatják meg az objektumok az állapotukat. Hogyan lépnek egymással kölcsönhatásba (üzenet küldés/ továbbítás)? 3

Kommunikáció és szekvencia diagramok A kölcsönhatás diagram két UML diagram típus általánosítása. A kommunikáció diagram: Az objektumok köré szervezett kölcsönhatások valamint az egymás közötti kapcsolatok illusztrálására szolgál, Szekvencia diagram: Az objektumok közötti kölcsönhatásokat időben elrendezve mutatja. 4

Kommunikáció és szekvencia diagramok Mindkét diagram típus szemantikusan ekvivalens, azonban nem teljesen ugyanazt az információt mutatja. Kommunikáció diagram hangsúlyozza az objektumok strukturális szervezését, míg a szekvencia diagram az üzenetek időbeli elrendezését. Kommunikáció diagram explicit módon mutatja az objektumok közötti kapcsolatokat, míg a szekvencia diagramban a kapcsolatok csak implicit módon jelennek meg. 5

A kölcsönhatás diagramok értékesek A kölcsönhatás diagramok a programozók számára egy inspiráló, gondolatgazdag, kohézív, közös kiindulópontot jelent. Mintázatok, elvek, és idiómák alkalmazhatók a kölcsönhatás diagramok minőségének javítására. 6

A kölcsönhatás diagram jelölések Értékesítés :Értékesítés s1:értékesítés Osztály Példány Megnevezett példány 7

Kommunikáció diagram Az objektumokat számozott (szekvenciálisan) nyilakkal kötik össze a kapcsolatok mentén az információ áramlás érzékeltetésére. A nyilak a kölcsönhatás kezdeményezőjétől indulnak. Az objektum, amelyre a nyíl mutat a cél objektum. A nyilakat a továbbított üzenettel címkézik meg. 8

Példa kommunikáció diagramra message1() :ClassAInstance 2: message2() 1: message1() :ClassBInstance 9

Példa kommunikáció diagramra : kezeldfizetést Üzenet iránya Első belső üzenet kezeldfizetést(készpénzátadva:<unspecified>) 1: kezeldfizetést(készpénzátadva:<unspecified>) :Nyilvántartás :Értékesítés Első üzenet paraméter példány kapcsolat Létrehozás, amit létrehozó üzenettel jeleznek 1.1: create: (kezeldfizetést:<unspecified>) :Fizetés 10

A kommunikáció diagram jelölései Kapcsolat két objektumot összekötő útvonal (egy kapcsolat példánya) Üzenet üzenet kifejezés jelenít meg, amelyet az objektumok közötti nyíllal ellátott vonal ábrázol Sorszám - az információáramlások felhasználásának sorrendjét jeleníti meg. 11

A kommunikáció diagram jelölései (2) Feltételes üzenet Sorszám [ variable = value ] : message() [ változó = érték] : üzenet() Üzenetet csak akkor továbbítanak, ha a kiértékelés eredménye igaz Iteráció (ciklus) (Iteration (Looping)) Sor szám * [ i := 1..N ]: üzenet() Seq. Number * [ i := 1..N ]: message() * kötelező; [... ] klóz opcionális 12

Szekvencia diagram A használati eset egy forgatókönyvének felel meg. A rendszeren belül egy műveletet modellez. Mindegyik forgatókönyvre azonosítja az objektumokat Azonosítja a továbbított üzeneteket, amelyek a forgatókönyv során történnek. Azonosítja az egyes tevékenységekre az elvárt válaszokat, reakciót. 13

Szekvencia diagram példa :ClassAInstance :ClassBInstance message1() message1() message2() 14

Példa szekvencia diagramra: kezeldfizetést :Nyilvántartás :Értékesítés kezeldfizetést(készpénzátadva<unspecified>) kezeldfizetést(készpénzátadva<unspecified>) create: (kezeldfizetést:<unspecified>) :Fizetés X A vezérlést érzékeltető aktivációs elem 15

A szekvencia diagram alapjelölései Kapcsolatok Szekvencia diagram nem mutatja a kapcsolatokat Üzenet egy üzent kifejezés érzékelteti egy nyíllal ellátott objektumok közötti vonalon 16

A szekvencia diagram alapjelölései (2) Az objektum életvonala a vertikális szaggatott vonal az objektumok alatt Az objektumoknak addig nincs életvonal, ameddig nem hozzák létre Az objektum életének végét egy X -el jelöljük Az idő fentről lefelé halad az ábrán 17

A szekvencia diagram alapjelölései (3) Aktiválás az az időperiódus, ami alatt egy objektum lekezeli az üzenetet (a téglalap, a szaggatott vonal mentén). Az aktivációs téglalapok átfedhetik egymást azért, hogy le lehessen írni az olyan helyzeteket, amikor az objektum saját maga egy másik metódusát hívja meg. 18

A szekvencia diagram alapjelölései (4) Feltételes üzenet [ variable = value ] : message() [ változó = érték] : üzenet() Üzenetet csak akkor továbbítanak, ha a kiértékelés eredménye igaz Iteráció (ciklus) (Iteration (Looping)) * [ i := 1..N ]: üzenet() * [ i := 1..N ]: message() * kötelező; [... ] klóz opcionális 19

A kölcsönhatás diagram erőssége Kommunikáció diagram Az ábra területet gazdaságosan használja fel könnyen lehet új objektumokkal bővíteni a két dimenziós felületen. A bonyolult elágazásokat, iterációkat, és párhuzamos tevékenységeket jobban illusztrálja. Szekvencia diagram A sorrendet (szekvenciát) és az üzenetek időbeli elrendezését világosan mutatja. Egyszerű jelöléstechnika. 20

A kölcsönhatás diagram gyengeségei Kommunikáció diagram Nehéz látni az üzenetek sorrendjét Bonyolult jelölés rendszer Szekvencia diagram Az új objektumokat csak az ábra jobb szélén lehet elhelyezni, a horizontálisan zabálja a területet. 21

Következtetések Az UML-ben a kezdők gyakran túlhangsúlyozzák az osztály/objektum diagram jelentőségét. A kölcsönhatás diagramok azonban több figyelmet érdemelnek. Nincs semmilyen szabály arra vonatkozólag, hogy mikor melyik diagramot kell használni. Vannak olyan eszközök, amelyek a két diagram típus között automatikusan konverziót tudnak végrehajtani. 22