Analýza Realizace případů užití



Podobné dokumenty
Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux.

Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová

Diagramy stavů. Michale Blaha, James Rumbaugh: Object-Oriented Modeling and Design with UML, Second Edition, Pearson Prentice Hall, 2005

7.4 Diagramy interakce (základy)

Požadavky Modelování případů užití

7.4 Diagramy interakce (základy)

Diagram sekvencí (sequence diagram)

Algoritmizace a programování

6. Příkazy a řídící struktury v Javě

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

6 Příkazy řízení toku

UML. Unified Modeling Language. Součásti UML

Principy UML. Clear View Training 2005 v2.2 1

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Úvod do programování - Java. Cvičení č.4

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Úvod do programovacích jazyků (Java)

2. lekce Algoritmus, cyklus Miroslav Jílek

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Algoritmizace prostorových úloh

7.3 Diagramy tříd - základy

3 druhy UML diagramů

PSK3-9. Základy skriptování. Hlavička

7.3 Diagramy tříd - základy

7.6 Další diagramy UML

Kurz LSL skriptování. Shiny Iceberg 2009

7.6 Další diagramy UML

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Stručný obsah. Část I Úvod do jazyka UML a metodiky Unified Process 25. Část II Požadavky 71. Část III Analýza 135.

Diagramy tříd - základy

6. blok část B Vnořené dotazy

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

UML: Unified Modeling Language

Algoritmizace prostorových úloh

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53

Paradigmata programování II Korutiny a nedeterminismus

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Lekce 04 Řídící struktury

Software602 Form Designer

Programovací jazyk Pascal

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

PŘETĚŽOVÁNÍ OPERÁTORŮ

Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Dalším příkladem může být například výstup dat na různá zařízení, souborů, grafických rozhraní, sítě atd.

Tvorba informačních systémů

Unifikovaný modelovací jazyk UML

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken

Programování v jazyce JavaScript

Jazyk UML VST (Velmi stručný tutorial) verze 1.0

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

12. blok Pokročilé konstrukce SQL dotazů - část II

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

Micro:bit lekce 4. Cyklus s určeným počtem opakování cyklus Repeat. Cyklus s počtem opakování daným řídicí proměnnou cyklus For from to

Základy analýzy. autor. Jan Novotný února 2007

Požadavky Pokročilé modelování případů užití

TÉMATICKÝ OKRUH Softwarové inženýrství

Modelování procesů (1) Procesní řízení 1

Jiří Mašek BIVŠ V Pra r ha

Business Process Modeling Notation

EXTRAKT z mezinárodní normy

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Sekvenční a podmíněné provádění

OOT Objektově orientované technologie

TÉMATICKÝ OKRUH Softwarové inženýrství

Programování v C++, 2. cvičení

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

MySQLi (objektově) Příklad vytvoření instance třídy včetně parametrů pro připojení: $mysqli = new mysqli('localhost', 'login', 'heslo', 'databaze');

Algoritmizace prostorových úloh

Vstupní požadavky, doporučení a metodické pokyny

Problém identity instancí asociačních tříd

Datové typy strana 29

Objektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová

PV167 Projekt z obj. návrhu IS. 26. března 2008

Roční periodická zpráva projektu

Řídicí struktury. alg3 1

Algoritmizace. 1. Úvod. Algoritmus

UML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

ANOTACE vytvořených/inovovaných materiálů

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Access. Tabulky. Vytvoření tabulky

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Modelování webových služeb v UML

Kapitola 6: Omezení integrity. Omezení domény

2. Začlenění HCI do životního cyklu software

Jazyk VHDL konstanty, signály a proměnné. Jazyk VHDL paralelní a sekvenční doména. Kurz A0B38FPGA Aplikace hradlových polí

typová konverze typová inference

Transkript:

Analýza Realizace případů užití Analýza část 9 Clear View Training 2005 v2.2 1

12.2 Analýza případu užití Obchodní model [nebo doménový model] Inženýr případů užití Analytická třída Model požadavků Analyse a use case Model případů užití Realizace případu užití Popis architektury Clear View Training 2005 v2.2 2

12.3 Co jsou realizace případu užití? případ užití Zadat objednávku 1 «trace» 1 «use case realization» Zadat objednávku závislost-dependency realizace případu užití Každý případ užití má realizaci případu užití je to část modelu, která ukazuje jak analytické třídy mezi sebou spolupracují při realizaci chování specifikované v případu užití je to model, jak je případ užití realizován nalezenými analytickými třídami Nejsou obvykle přímo modelovány nejsou zachyceny žádné další informace, lze použít přímo případ užítí můžeme zachytit stereotypem spolupráce Clear View Training 2005 v2.2 3

12.4 Realizace případu užití - prvky Realizace případu užití se skládá z těchto prvků: Diagramy analytických tříd Ukazují interakci analytických tříd při realizaci případů užití Diagramy interakce Ukazují spolupráci a interakci specifických instancí uskutečňujících případ užití jsou to snímky spouštěného systému Speciální požadavky Realizace případu užití může odhalit nové požadavky, které se vztahují k případu užití, které je třeba zachytit Upřesnění případů užití Během realizace mohou být odhaleny nové informace, které mohou upřesnit původní případ užití Clear View Training 2005 v2.2 4

12.5 Interakce Interakce jsou jednotkami chování kontextového klasifikátoru V realizaci případů užití se použije kontextový klasifikátor Interakce ukazují jaké je chování instancí analytických tříd, které je specifikováno případem užití. Během práce na diagramech interakce se odhalují další operace a atributy Diagramy interakce zachycují: Čáry života (Lifelines) účastníci interakce Zprávy (Messages) komunikace mezi čárami života Clear View Training 2005 v2.2 5

12.6 Čáry života jimůvúčet [ id = "1234" ] : Účet Čára života reprezentuje jednoho účastníka v interakce Ukazuje jak klasifikovaná instance účastní interakce Čára života může mít: název selektor typ název- používá se jako identifikátor čáry života v rámci interakce selektor logická podmínka pro výběr určité instance typ klasifikátor, jehož instanci čára života znázorňuje Musí být jednoznačně identifikována v interakci názvem, typem nebo oběma Čára života má stejnou ikonu jako klasifikátor, který representuje Čára života jimůvúčet reprezentuje instanci třídy Účet Selektor [ id = "1234" ] určuje specifickou instanci třídy Účet id "1234" Clear View Training 2005 v2.2 6

12.7 Zprávy Zpráva vyjadřuje komunikaci mezi dvěmi čarami života odesilatel příjemce/ cíl Typ zprávy Význam synchronní zpráva Volání operace synchronně, kdy odesílatel čeká na dokončení operace. asynchronní zpráva Volání operace asynchronně, kdy odesilatel nečeká na dokončení operace návrat zprávy Návrat ze synchronní operace, kdy příjemce vrací aktivitu odesílateli. :A vytvoření objektu Odesilatel vytváří instanci klasifikátoru uvolnění objektu Odesilatel ukončuje život příjemce nalezená zpráva Odesilatel je mimo interakci ztracená zpráva Zpráva nebude nikomu doručena Clear View Training 2005 v2.2 7

12.8 Diagramy interakce Sekvenční diagramy Zdůrazňují časově řazené sekvence zasílaných zpráv Ukazují interakce v časové sekvenci Jsou velmi přehledné a dá se jim dobře porozumět Lze je velmi rychle přeplnit Komunikační diagramy Zdůrazňují strukturální vztahy mezi objekty Jsou velmi užitečné při analýze zachycují vazby mezi objekty Diagramy zjednodušené interakce Ukazují složité chování pomocí jednoduchých interakcí Diagramy časování Zdůrazňují aspekty s časováním interakcí Clear View Training 2005 v2.2 8

12.9 Syntaxe sekvenčního diagramu sd PřidatPřednášku :Kvestor synchronní zpráva :SprávcePřednášek čára života Kvestor vybere příkaz Přidat přednášku. přidatpřednášku( "UML" ) zpráva vytvoření objektu Systém vytvoří novou Přednášku «create» uml:přednáška Poznámky mohou tvořit skript, který popisuje postup návrat zprávy aktivace v tomto místě je vytvořen objekt Všechny sekvenční diagramy jsou označeny předponou sd, která indikuje typ Aktivace indikuje kdy je čára života aktivní Clear View Training 2005 v2.2 9

12.9 Rušení a sebepověření sd ZrušitPřednášku :SprávcePřednášek :Kvestor zrušitpřednášku( "UML" ) sebepověření uml:přednáška najítpřednášku( "UML" ) vnořená aktivace «destroy» v tomto místě je objekt vymazán Sebepověření nastává když čára života zasílá zprávu sama sobě Zrušení objektu se znázorňuje ukončením životní čáry velkým X Clear View Training 2005 v2.2 10

12.9.3 Invarianty a omezení stavu sd ZpracovatObjednávku :Zákazník zadatobjednávku() :SprávceObjednávek :SprávceDoručování «create» :Order jmenovka A omezení {B A <= 28 days} přijmoutplatbu() invariant stavu přijmoutplatbu() doručit() nezaplaceno zaplaceno doručeno doručit() B Clear View Training 2005 v2.2 11

12.10 Kombinované fragmenty operátor :A :B :C a( ) kombinovaný fragment název operátor [ podmínka 1] b( ) operandy [podmínka 2] c( ) kontrolní podmínky musí být umístěny před první zprávou Sekvenční diagramy mohou být rozděleny do polí, které nazýváme kombinované fragmenty Kombinované fragmenty mohou mít jeden nebo více operandů Operátory určují které operandy budou vykonány Kontrolní podmínky určují zda operandy budou vykonány. K vykonání dojde když je podmínka je vyhodnocena jako pravdivá Clear View Training 2005 v2.2 12

12.10 Seznam operátorů operátor dlouhé jméno význam opt option Pouze jeden operand, který se vykoná pouze tehdy, je-li podmínka splněna. alt alternatives Provedou se operace s operandy, jejichž kontrolní podmínky jsou splněny. Místo logického výrazu lze použít klíčové slovo else. loop loop Vyznačuje se zvláštní syntaxí: loop min, max [podmínka] Projít min-krát ale jen do max-krát dokud pokud je podmínka splněna break break Po splnění podmínky je provedena pouze operace s operandem ref reference Kombinovaný fragment odkazuje na další interakci ref najítstudenta(jméno):student ref má pouze jeden operand, který odkazuje na další interakci. Clear View Training 2005 v2.2 13

12.10 Seznam zbytku operátorů These operators are less common operator long name semantics par parallel Both operands execute in parallel seq strict weak sequencing strict sequencing The operands execute in parallel subject to the constraint that event occurrences on the same lifeline from different operands must happen in the same sequence as the operands The operands execute in strict sequence neg negative The combined fragment represents interactions that are invalid critical critical region The interaction must execute atomically without interruption ignore ignore Specifies that some message types are intentionally ignored in the interaction consider consider Lists the message types that are considered in the interaction assert assertion The operands of the combined fragments are the only valid continuations of the interaction Clear View Training 2005 v2.2 14

12.10.1 Větvení pomocí operátorů opt a alt význam opt: jednoduchý operand, který se vykoná když je podmínka splněná význam alt: dva nebo více operátorů, kdy každý má svoji podmínku každý operand se vykoná když je splněná podmínka operand s podmínkou else bude vykonán když nebude splněná žádná z ostatních podmínek sd příklad na opt a alt :A :B :C :D opt [podmínka] op1() alt [podmínka1] op2() [podmínka2] op3() [else] op4() Clear View Training 2005 v2.2 15

12.10.2 Iterace s operátory loop a break význam loop: Opakuj min krát, dokud (max min) krát je splněná podmínka syntaxe loop: Cyklus bez min, max nebo podmínky je nekonečný cyklus Když je pouze min je max = min podmínka je Boolean výraz Break specifikuje místo kde po splnění podmínky se přeruší vykonávání cyklu sd PříkladCyklu loop cyklus se opakuje dokud je splněna podmínka break musí být vůči cyklu globální loop min, max [condition] loop [condition] :A :B do something do something on breaking out do this do something else Clear View Training 2005 v2.2 16

12.10.2 Různé cykly typ cyklu význam výraz cyklu while (true) {tělo} nekonečný cyklus loop * for i = 1 to n {body} opakovat ( n ) krát loop n while( booleanexpression ) {body} opakovat, dokud je podmínka splněna loop [ booleanexpression ] repeat {body} while( booleanexpression ) foreach object in set {body} opakovat jednou a pak tak dlouho, dokud je podmínka splněna provést příkazy cyklu jednou pro každý objekt v kolekci objektů loop 1, * [booleanexpression] loop [for each object in objecttype] Clear View Training 2005 v2.2 17

12.11 Syntaxe komunikačního diagramu Komunikační diagramy zdůrazňují strukturní aspekty každé iterace jak jsou spojeny čáry života V porovnání se sekvenčními diagramy jsou sémanticky slabé Objektové diagramy je speciální případ komunikačních diagramů sd PřidatPřednášky pořadové číslo zpráva uml:přednáška lifeline čára života 1: přidatpřednášku( "UML" ) 1.1: «create» 2: přidatpřednášku( "MDA" ) :SprávceRegistrací :Registrar spojení 2.1: «create» mda:přednáška zpráva pro vytvoření objektu Clear View Training 2005 v2.2 18

12.11.1 Iterace Iterace je znázorněna specifikátorem iterace (*) a volitelně i iterační klauzulí UML nepředepisuje syntaxi iterační klauzule Lze užít kód nebo pseudokód specifikátor iterace sd TiskPřednášek iterační klauzule 1.1 * [for i = 1 to n] : tiskpřednášky( i ) 1: tiskpřednášek( ) :SprávceRegistrací :Kvestor 1.1.1: tisk() [i]:přednáška Clear View Training 2005 v2.2 19

12.11.2 Větvění návratová hodnota zprávy sd ZapsatStudentaNaPřednášku 1.1: student = najítstudenta( "Jim" ) 1.2: přednáška = najítpřednášku("uml") 1: zapsat ( "Jim", "UML" ) :SprávcePřednášek 1.4 [!nalezeno] : chyba() :Registrar 1.3 [nalezeno] : zapsat( student ) kontrolní podmínka nalezeno = (student!= null) & (přednáška!= null) přednáška:přednáška Je těžké zobrazit přehledně větvení!! Větvení se modeluje předčíslím a kontrolní podmínkou Syntaxe kontrolní podmínky není předepsána UML! Zde je například použitá pomocná proměnná nalezeno. Clear View Training 2005 v2.2 20

12.12 Souhrn V této přednášce jsme si ukázali realizaci případů užití použitím iteračních diagramů Ze čtyř typů diagramů jsem si ukázali dva: Sekvenční diagramy důraz na časové řazení sekvencí odesílaných zpráv Komunikační diagramy důraz na strukturální vazbu mezi čárami života (objekty) Ostatní iterační diagramy si ukážeme příště. Clear View Training 2005 v2.2 21