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

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

SW_03. Implementace a testování

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

Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová

UML. Unified Modeling Language. Součásti UML

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

7 Jazyk UML (Unified Modeling Language)

7 Jazyk UML (Unified Modeling Language)

Profilová část maturitní zkoušky 2013/2014

1. Dědičnost a polymorfismus

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Analýza a Návrh. Analýza

Návrh softwaru. RNDr. Michal Žemlička, Ph.D. Zimní semestr 2013/2014

Profilová část maturitní zkoušky 2017/2018

8 Třídy, objekty, metody, předávání argumentů metod

7.5 Diagram tříd pokročilé techniky

EXTRAKT z mezinárodní normy

Obsah. Zpracoval:

1. Programování proti rozhraní

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

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

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

7.5 Diagram tříd pokročilé techniky

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

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Vývoj informačních systémů. Přehled témat a úkolů

Softwarové inženýrství 01. doc. Ing. František Huňka, CSc.

Architektura softwarových systémů

Vývoj informačních systémů. Přehled témat a úkolů

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda

10 Balíčky, grafické znázornění tříd, základy zapozdření

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

3 druhy UML diagramů

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

Vývoj informačních systémů. Obecně o IS

11 Návrh programového vybavení

Softwarové komponenty a Internet

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

EXTRAKT z technické normy ISO

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

Program a životní cyklus programu

Úvod. Programovací paradigmata

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

Principy UML. Clear View Training 2005 v2.2 1

Vytváření uživatelských datových typů a funkcí v Javě

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Objektové programování

8 Přehled OO metodik (metod, metodologií)

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

8 Přehled OO metodik (metod, metodologií)

Common Object Request Broker Architecture

Unifikovaný modelovací jazyk UML

Návrh IS - UML. Jaroslav Žáček

IS pro podporu BOZP na FIT ČVUT

Návrh IS - UML. Jaroslav Žáček

Elektronická podpora výuky předmětu Komprese dat

Instalace a konfigurace web serveru. WA1 Martin Klíma

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

PŘÍLOHA C Požadavky na Dokumentaci

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

Aplikační Dokumentace Standardy ICT MPSV

Základy objektové orientace I. Únor 2010

11. Přehled prog. jazyků

Tvorba informačních systémů

Komponentový návrh SW

Programátorská příručka

Ruční návrh Připravíme si odpovědi na základní otázky Co chceme řešit (projektovat) a proč Komu to bude sloužit Jaký užitek z toho bude mít uživatel I

Diagram tříd (class diagram)

7.3 Diagramy tříd - základy

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Architektura softwarových systémů

1 Nejkratší cesta grafem

Popis B2B rozhraní pro elektronickou neschopenku

Vyřešené teoretické otázky do OOP ( )

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

UML: Unified Modeling Language

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

CASE nástroje. Jaroslav Žáček

VYUŽITÍ MDA PRO INTEGROVANÝ VÝVOJOVÝ NÁSTROJ QI BUILDER

CASE. Jaroslav Žáček

7.3 Diagramy tříd - základy

Student s Life. Návrhová dokumentace (Design) Lukáš Barák, Jakub Ječmínek, Jaroslav Brchel, Jiří Zmeškal

Úvod do softwarového inženýrství a týmového vývoje

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Diagramy tříd - základy

PB161 Programování v jazyce C++ Přednáška 7

Algoritmizace a programování

Modelování IS Strukturovaný a objektově orientovaný přístup (UML)

PB161 Programování v jazyce C++ Přednáška 7

Specifikace předmětu plnění Datová tržiště

1. Integrační koncept

Diagram sekvencí (sequence diagram)

Abstraktní datové typy: zásobník

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Transkript:

TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího jazyka. Obsah : 1.Úvod 2.Mapování elementů logického modelu na komponenty 3.Zdrojové, binární a spustitelné komponenty 4.Diagramy nasazení

1. Úvod Cílem implementace je doplnit navrženou architekturu (kostru) aplikace o programový kód a vytvořit tak kompletní systém. Implementační model specifikuje jak jsou jednotlivé elementy (objekty a třídy) vytvořené v etapě návrhu implementovány ve smyslu softwarových komponent, kterými jsou zdrojové kódy, spustitelné kódy, data a podobně. Softwarová komponenta je definována jako fyzicky existující a zaměnitelná část systému vyhovující požadované množině rozhraní a poskytující jejich realizaci. Podle typu softwarových komponent hovoříme o zdrojovém kódu, částech systému zapsaném v programovacím jazyce binárním (přeloženém do strojové kódu procesoru) a spustitelném kódu ostatních částech reprezentovaných databázovými tabulkami, dokumenty apod. Jestliže jsme ve fázi analýzy a návrhu pracovali pouze s abstrakcemi dokumentovanými v podobě jednotlivých diagramů, pak v průběhu implementace dochází k jejich fyzické realizaci. Implementační model se tedy také zaměřuje na specifikaci toho, jak budou tyto komponenty fyzicky organizovány podle implementačního prostředí a programovacího jazyka poskytujícího konkrétní mechanizmus strukturování a modularizace. Ke splnění těchto cílů, stejně jako v předchozích případech, nabízí jazyk UML prostředky, kterými jsou v tomto případě tyto dva následující diagramy: diagram komponent ilustrující organizaci a závislosti mezi softwarovými komponentami. diagram nasazení upřesněný nejen ve smyslu konfigurace technických prostředků, ale především z hlediska rozmístění implementovaných softwarových komponent na těchto prostředcích. Hlavním cílem tohoto toku činností je sestavit modely specifikující jak jsou fyzicky organizovány softwarové komponenty a hlavně, jak se tyto komponenty vytváří na základě diagramů sestavených v etapě návrhu. 2. Mapování elementů logického modelu na komponenty Důsledná a přesná specifikace objektů a jejich tříd v etapě návrhu umožňuje automatické generování zdrojových kódů dle následující tabulky. Tabulka má dva sloupce, první z nich odpovídá elementům jazyka UML, zatímco druhá z nich popisuje jejich zobrazení v programovacím jazyce, v našem případě se jedná o jazyk Java. Analýza a návrh (UML) Zdrojový kód (Java) Třída Role, Typ a Rozhraní Operace Atribut třídy Atribut Asociace Závislost Interakce mezi objekty Případ užití Struktura typu class Struktura typu interface Metoda Statická proměnná označená static Instanční proměnná Instanční proměnná Lokální proměnná, argument nebo návratová hodnota zprávy Volání metod Sekvence volání metod Balíček, Subsystém Kód nacházející se v daném adresáři specifikovaným ve zdrojovém souboru pomocí package Z uvedené tabulky vyplývá, že jediné co nelze přímo odvodit z diagramů UML jsou těla metod, kód který je proveden v odezvě na přijatou zprávu a také jaká je fyzická struktura

vytvářených souborů reprezentujících softwarové komponenty. Vše ostatní lze automaticky vygenerovat doslova bez účasti týmu programátorů. 3. Zdrojové, binární a spustitelné komponenty Ukázku vytvoření komponent zahájíme částí týkající se zdrojových komponent, tedy souborů vytvořených pomocí použitého programovacího jazyka. První krok tedy bude rozhodnout o fyzické organizaci těchto zdrojových souborů definovaných pomocí diagramu komponent. Z výsledného diagramu tříd specifikující jádro aplikace prodeje automobilu vytvořme diagram komponent. Relace závislosti nazvané jako <<import>> označují použití komponent z jiných subsystémů (balíčků), zatímco relace nazvané jako <<friend>> označují, že dané komponenty spadají do společného balíčku. V jazyce Java to znamená, že se nacházejí jejich soubory ve společném adresáři. Máme-li takto dánu fyzickou strukturu, pak tým programátorů může započít s vytvářením zdrojových kódů. Pokud máme k dispozici vývojové nástroje typu CASE (Computer Aided Software Engineering), pak lze nechat tyto zdrojové kódy takovým nástrojem vygenerovat. Postup vytváření zdrojových kódů vychází z tabulky mapování elementů jazyka UML na

zdrojový kód jazyka Java. Jediné co je nutné doplnit, co nelze automaticky či jednoduše vytvořit, jsou těla metod reprezentované algoritmy operací. Tyto lze alespoň hrubým způsobem specifikovat jednak ze sekvenčních diagramů definujících operace, ale především pak ze stavových diagramů popisujících detailně chování objekt. Binární komponenty, tedy komponenty přeložené do strojového kódu daného procesoru, mají také svůj diagram komponent obvykle vyjadřující z jakých zdrojových souborů jsou požadované binární vytvořeny. Diagram spustitelných komponent specifikuje všechny komponenty vytvořené námi i ty, které nám dává k dispozici implementační prostředí. Ke spuštění třídy Databáze aut potřebujeme jednak virtuální stroj jazyka ava (java.exe) a jeho knihovny (rt.jar). Konfigurační parametry fontů jsou uloženy v textovém souboru (font.properties). Samotná aplikace využívá služeb databázového serveru (sql.exe) pracujícího s databází aut strukturovanou v relačních tabulkách (Automobily). 4. Diagramy nasazení Posledním úkolem, který činí etapu implementace kompletní je zpřesnění diagramů nasazení. Vlastní zpřesnění spočívá v umístění spustitelných a datových komponent na jednotlivé technické prostředky reprezentované počítači.