Informační systém pro řízení projektu vývoje software

Rozměr: px
Začít zobrazení ze stránky:

Download "Informační systém pro řízení projektu vývoje software"

Transkript

1 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ KATEDRA KYBERNETIKY DIPLOMOVÁ PRÁCE Informační systém pro řízení projektu vývoje software Praha, 2002 Jan Breznay

2 Prohlášení Prohlašuji, že jsem zadanou diplomovou práci zpracoval samostatně s přispěním vedoucího diplomové práce a používal jsem pouze literaturu v práci uvedenou. Prohlašuji, že nemám námitek proti využití výsledků této práce fakultou ani proti zveřejňování nebo půjčování se souhlasem vedoucího diplomové práce. V Praze, dne

3 Poděkování Na tomto místě bych chtěl poděkovat Ing. Petru Mikšovskému a Ing. Zdeňku Koubovi za vedení mé diplomové práce. Dále pak děkuji mým rodičům a přátelům, kteří za mnou po celou dobu studia stáli a podporovali mě.

4 Abstrakt Cílem této práce bylo navrhnout a implementovat informační systém pro řízení projektu vývoje software. Byla vytvořena aplikace, která přes rozhraní sítě internet nabízí komplexní přístup k řešení vývoje zejména rozsáhlých softwarových produktů, vznikajících jako výsledek týmové práce skupiny vývojářů. Základním prvkem v aplikaci je projekt, ke kterému mohou být přiřazeny různé komponenty zefektivňující práci na softwarovém projektu (diskusní fórum, seznam úkolů, seznam chyb, zdrojové kódy a zveřejňování vznikajících produktů). Správa uživatelů je podpořena možností sdružovat uživatele do skupin. Informační systém byl vytvořen pro vývoj aplikací v Gernstnerově laboratoři Katedry kybernetiky. Abstract This diploma thesis deals with design and implementation of the Information system for software development project control. Designed application provides through the Internet an integrated access to the large-scale software products development. Application is centered on teamwork. Each registered project can own a few of components to assure teamwork to be effective (mail forum, task list, bug list, file releases, source codes). Application provides user management include availability of user groups. The information system is developed for Gernstner laboratory of the Department of Cybernetics.

5 Obsah Obsah Úvod Softwarové inženýrství Základní pojmy Specifikace požadavků Nástroje pro analýzu systému a návrh SW produktu Modely softwarového procesu Vodopádový model Prototypování Spirálový model Další modely Nástroje analýzy systému Metody návrhu systému UML Případy užití Diagramy tříd Diagramy objektů Sekvenční diagramy Diagramy spolupráce Stavové diagramy Diagramy aktivit Diagramy komponent Diagramy rozmístění SSADM Hlavní složky SSADM Struktura SSADM Techniky a postupy Specifikace požadavků Popis života entit Identifikace uživatelských rolí Identifikace a návrh dialogů

6 2.4 Řízení projektu vývoje software Metriky softwarového projektu Odhadování a plánování rozsahu projektu Řízení rizik a zabezpečení kvality softwarového produktu Řízení změn softwarového produktu Testování softwaru Projektový management IS pro řízení projektu vývoje software Návrh a implementace ISSDPC Specifikace požadavků na ISSDPC Vývojový nástroj systému Server ISSDPC Databáze ISSDPC Struktura aplikace Implementace Inicializace systému Popis ISSDPC z pohledu uživatele Uživatelské role Skupiny uživatelů Registrace uživatele Přihlášení uživatele do systému a odhlášení Osobní stránka uživatele Administrace systému Projekt (Project) Seznam úkolů (Task list) Seznam chyb (Bug list) Diskusní fórum (Mail forum) Zveřejněné soubory (Releases) Zdrojové kódy (Source codes) Přístupová práva k objektům Závěr Literatura Obsah přiloženého CD Přílohy

7 1 Úvod Se vstupem počítačů do rozmanitých odvětví činnosti člověka nabývá na významu otázka vývoje software jako dílčího nástroje pro realizaci určitých cílů lidského snažení. Počítače jsou využívány pro řešení stále důležitějších a komplexnějších úloh, kdy se hlavními ukazateli stávají zejména spolehlivost a cena. V současné době dosahuje hardware počítačů již takové úrovně, že v aplikacích s počítačovými systémy jsou tyto ukazatele převážně určeny právě softwarovým vybavením. Rozsah úloh řešených za pomoci software byl impulsem ke vzniku vědní disciplíny zvané softwarové inženýrství. Jelikož vývoj téměř každého softwarového produktu je náročnou a rozsáhlou prací, neobejde se bez týmové práce řady spolupracovníků, kteří musí vzájemně sdílet zdrojový kód projektu, na kterém společně pracují. Musí komunikovat, zveřejňovat požadavky, připomínky a návrhy, zveřejňovat své dílčí výsledky apod. Právě k tomuto účelu slouží informační systém pro řízení projektu vývoje software. Kapitola 2 pojednává o softwarovém inženýrství. Nejprve jsou zmíněny základní pojmy problematiky vývoje software se zaměřením na vývoj rozsáhlých softwarových produktů. Kapitola pokračuje tématem specifikace požadavků. Následuje část věnovaná nástrojům pro analýzu systému a návrh softwarového produktu. Jsou zmíněny základní pojmy a metody analýzy a návrhu a poté jsou popsány dvě konkrétní, v praxi používané, metody s odlišným přístupem k problematice analýzy a návrhu softwarového produktu. V závěru kapitoly je zmíněn přístup k problematice řízení projektu vývoje software zejména z pohledu manažera projektu. Kapitola 3 popisuje navrženou aplikaci Informačního systému pro řízení projektu vývoje software. Nejprve je popsána analýza, návrh a implementace tohoto systému. Následují informace nutné k uvedení sytému do provozu a kapitola popisující aplikaci z pohledu uživatele. Jsou zmíněny uživatelské role a každý objekt aplikace je popsán z pohledu všech uživatelských rolí. Zvláštní kapitola je věnována nastavování přístupových práv k vytvořeným objektům. V textu je pro názornost umístěno několik obrázků zachycujících aplikaci v různých stavech. 3

8 2 Softwarové inženýrství Softwarové inženýrství je podle [1] systematický, disciplinovaný a kvalifikovaný přístup k vývoji, provádění a údržbě softwaru. 2.1 Základní pojmy Systém Systém je množina vzájemně souvisejících objektů či komponent, na kterou nahlížíme jako na celek a která byla vytvořena pro určitý účel. Systém je ohraničený a to, co je vně této hranice, se nazývá okolí, s nímž systém interaguje prostřednictvím svých rozhraní. Analýzou systému rozumíme nacházení faktů, zákonitostí a omezení v systému [2]. Projekt Projekt je dobře definovaná posloupnost činností, která má určen začátek a konec. Je zaměřena na dosažení jistého cíle a je uskutečňována pomocí zdrojů lidí a prostředků. Projekt je specifická nerutinní akce, která vyžaduje plánování, neboť je problematické stanovit jeho časovou a finanční náročnost. Plánování projektu má za cíl důkladně promyslet to, čeho chceme dosáhnout. Slouží také k sestavení časového harmonogramu a rozpočtu projektu [3]. Softwarový proces Softwarový proces je sada postupů, pravidel a norem pro řízení softwarového projektu. Definuje fáze projektu, produkty, role pracovníků a jejich zodpovědnost, kvalitativní kriteria, použití nástrojů včetně šablon. Softwarový produkt Softwarový produkt je správním či řídícím systémem nad systémem základním, definovaným výše, jakožto výsledek softwarového procesu definovaného v předchozím odstavci. IEEE definuje software jako souhrn programů, metod, pravidel a přidružené dokumentace a dat [4]. Softwarový produkt tedy není jenom programem používaným pouze autorem programu s minimem dokumentace. Takový produkt by byl pro 4

9 uživatele nedostačující. Software podle [5] znamená průmyslově-kvalitní software, kdy uvažujeme, že je předmětem zájmu jak týmu vývojářů, tak uživatelů. Jako takový tedy zahrnuje kromě programů (ve smyslu uvedeném výše) s vhodným uživatelským rozhraním také adekvátní množství dokumentace a před uvedením do provozu byl řádně systematicky testován. Programování ve velkém Při programování rozsáhlých softwarových produktů se jedná o řešení rozsáhlých programových celků, které řídí, ovlivňují či spoluvytvářejí složitý systém. Nelze tedy aplikovat pouze metodiky určené pro programování v malém, kterými jsou zejména programovací techniky pro návrh dat a algoritmů. Při programování ve velkém je nutná dekompozice projektu na menší celky do takové míry, kdy lze využít technik programování v malém. Při řešení rozsáhlého softwarového projektu se tedy uplatní jak programování ve velkém, tak i programování v malém. Vývoj takového projektu je obvykle řešen v etapách, jež jsou součástí životního cyklu softwarového produktu. Životní cyklus softwarového produktu Životní cyklus softwarového produktu začíná prvotní představou o programu a končí ve chvíli stažení produktu z používání. Životní cyklus každého rozsáhlého softwarového produktu by měl vždy obsahovat následující etapy: Specifikace problému je prvním krokem ke vzniku softwarového produktu. Tato etapa spočívá v zadání problému, jeho specifikaci, prvotních návrzích komunikace s programem a v závěru spočívá v testování vytvořené specifikace. Kvalita specifikace ovlivňuje další fáze vývoje produktu, je proto velmi důležitá. Její úspěch je založen zejména na hojné komunikaci řešitelů se zadavatelem. Analýza sytému si klade za cíl vytvoření logického modelu stávajícího a požadovaného sytému. V této fázi vývoje je velice důležitá komunikace mezi pracovníky provádějícími analýzu a zadavateli projektu, neboť nepochopení požadavků zadavatele může vést k rozsáhlým nežádoucím časovým i finančním následkům. Při analýze je výhodné použít grafických technik, díky jejich srozumitelnosti i pro osoby neznalé metod softwarového inženýrství, neboť takovými osobami většinou zadavatelé projektu jsou. V etapě návrhu systému se uplatňují metody programování ve velkém. Je nutná dekompozice problémů na problémy dílčí, návrh metod řešení jednotlivých problémů 5

10 a návrh podpůrných prostředků. Velmi důležitá je volba metody návrhu systému, neboť právě na ní závisí časová náročnost návrhu a tím i výsledná cena softwarového produktu. Třetí etapou je implementace, při které se uplatní metody programování v malém. Nejprve je nutné provést návrhy reprezentace lokálních dat, návrhy algoritmů realizujících dílčí problémy. Poté následuje zápis kódu programu a jeho modulů ve zvoleném programovacím jazyce a ladění programu. Po odladění jednotlivých komponent následuje jejich syntéza do požadovaných výsledných celků. Nedílnou součástí kvalitního softwarového produktu musí být dokumentace produktu. Obsahuje nejen příručku k používání produktu, ale také dokumentaci k programu samotnému, dokumentaci pro údržbu a modifikace systému a případně další dokumenty k bezproblémovému nasazení, užívání produktu či jeho stažení z užívání. V další etapě následuje testování produktu. Spočívá ve validaci či verifikaci produktu proti specifikaci vzniklé v první etapě vývoje produktu a proti dokumentaci vzniklé v předchozí etapě. Teprve nyní následuje zadavateli nejvíce očekávaná etapa, kterou je nasazení, provoz a údržba produktu. Začíná v předání softwarového produktu včetně potřebné dokumentace zadavateli, případně v instalaci produktu u zadavatele, bylo-li tak ujednáno. V případě potřeby výroba médií a dokumentace, školení k produktu a podpora. Po uvedení rozsáhlého softwarového produktu do fungování následují opravy chyb objevených při provozu systému a opravy v dokumentaci k produktu. Dále pak vývoj a údržba verzí produktu. Po určité době používání softwarového produktu nastane situace, kdy produkt již nevyhovuje požadavkům uživatelů sytému a jediným řešením je návrh systému nového. V takovém případě se softwarový produkt dostává do poslední etapy, kterou je stažení produktu z používání. Je zřejmé a ze zkušeností vyplývá, že vývoj rozsáhlých softwarových produktů se neobejde bez zpětných kroků, kdy je nutné některé etapy opakovat. Z hlediska efektivity vývoje produktu je však žádoucí vyloučit zpětné kroky přes více etap. V některých případech je ovšem nutné zopakovat i celý cyklus. Existuje proto několik modelů životního cyklu, viz. kapitola

11 Objektově orientované programování Základním pojmem objektově orientovaného programování je objekt. Objekt je v obecném slova smyslu cokoliv, co jsme citem schopni označit jako objekt. Objekt má svou identitu, vlastnosti, chování a zodpovědnost. Abstrakcí objektu vznikne tzv. třída, která je jakousi šablonou pro podobné objekty. Vlastnosti objektů určují data třídy a chování objektu definuje metody třídy. Objekt je tedy instancí třídy a definujeme tzv. zapouzdření, které znamená umístění dat a metod pracujících nad těmito daty do jediného objektu. Objektově orientovanému programování předchází objektově orientovaná analýza systému, která se zabývá zkoumáním systémů z pohledu objektů. Výhodou objektového přístupu je fakt, že identifikované objekty v pojetí uživatelů i programátorů znamenají totéž. Na základě nalezených objektů se definují jejich třídy. Hledají se jejich společné rysy a generalizací lze dospět ke vzniku tříd nových a vytvořit určitou hierarchii, ve které budou mezi třídami existovat vztahy dědičnosti. Potomek třídy tak zdědí vlastnosti a chování rodičovské třídy a rozšíří je o své vlastní. Hierarchie tříd založených na dědičnosti vede ke vzniku spolehlivějšího a přehlednějšího kódu programu oproti kódu, ve kterém nebylo generalizace využito. Rozsáhlost kódu je snížena při zachování funkčnosti. 2.2 Specifikace požadavků Na počátku softwarového procesu vždy stojí specifikace požadavků. Obvykle probíhá v několika krocích, kdy výstupem každého kroku je určitý dokument, sloužící jako podklad pro řešení dalších kroků. V prvém kroku je vytvořen návrh požadavků, který je obvykle nazýván neformální specifikace nebo též odborný článek. Odborný článek by měl být prvním psaným dokumentem, ovšem jako základ smlouvy mezi zadavatelem projektu a řešitelem sám o sobě není dostačující, neboť použití pouze přirozeného jazyka neposkytuje dostatečně přesnou formu vyjádření specifikace požadavků na softwarový produkt. Dalším krokem při specifikaci požadavků je vytvoření funkční specifikace softwarového produktu. Tento dokument musí být mnohem přesnější než odborný článek, a proto je žádoucí použít při jeho vytváření mnohem formálnější notaci. 7

12 Požadavky se dělí na funkční a nefunkční. Funkční požadavky určují, jak bude program fungovat, ostatní požadavky jsou zahrnuty v požadavcích nefunkčních. Více informací o tomto dělení požadavků lze nalézt v kapitole Specifikaci požadavků lze rozdělit na neformální a formální. Neformální specifikace je vyjádřena přirozeným jazykem. Je proto poměrně dobře srozumitelná i pro uživatele nezabývající se vývojem software (zadavatele projektu), ovšem může obsahovat jisté nedostatky, které nejsou na první pohled zřejmé a projeví se až v dalších etapách vývoje produktu. Velkou část těchto problémů lze eliminovat zápisem požadavků ve formálním jazyce, jehož sémantika je jednoznačně definována. Poměrně universálním nástrojem je jazyk predikátové logiky, který však není v běžné praxi příliš použitelný. Lze však využít jiné prostředky, např. známé z teorie automatu, nebo Bacus- Naurovu formu. Pokud máme k dispozici podpůrné nástroje pro zpracování formálních specifikací, je možné je využít k validaci a verifikaci specifikace. 2.3 Nástroje pro analýzu systému a návrh SW produktu Modely softwarového procesu Model softwarového procesu si klade za cíl naznačit možné způsoby průchodu životním cyklem rozsáhlého softwarového produktu. Modelů existuje hned několik, protože různorodost problematiky vývoje software zabraňuje sjednocení postupů do jediné optimální metody Vodopádový model Vodopádový model (viz. Obrázek 2.1), též lineární sekvenční model, je základním modelem životního cyklu softwarového produktu. Je složen z činností, které na sebe navazují a vzájemně se neprolínají. Předpokládá, že výchozí požadavky na softwarový produkt se nebudou během vývoje zásadně měnit. Tento model vývoje softwarového produktu popisuje klasický životní cyklus. Má však některé nedostatky, kterými jsou zejména: reálné projekty zřídkakdy sledují jednotlivé kroky v předepsaném pořadí pro zadavatele je ve většině případů obtížné přesně specifikovat požadavky provozuschopná verze je k dispozici až po dlouhé době a většinou s časovou prodlevou. 8

13 Přes všechny zmíněné nedostatky je vodopádový model vhodnou a používanou šablonou pro přístup k vývoji rozsáhlých softwarových produktů a v každém případě je vhodnější, než náhodný, metodicky neřízený přístup k řešení problému. definice požadavků návrh systému a SW produktu implementace a testování dílčích částí integrace dílčích částí testování celku provoz a údržba Obrázek 2.1: Vodopádový model životního cyklu softwarového produktu Prototypování Prototypování, na rozdíl od vodopádového modelu, již předpokládá, že nemáme podrobně analyzovaný systém a požadavky na systém nejde dostatečně dobře specifikovat předem. Je založeno na vytváření (programování) prototypů, které slouží k modelování některých vlastností systému. Prototyp je částečnou implementací produktu nebo jeho části v logické či fyzické formě, který prezentuje všechna vnější rozhraní. Prototypování umožní jak zadavateli, tak vývojovému týmu ujasnit si a specifikovat požadavky, včetně jejich interpretace. Prototypování je často využíváno i v jiných modelech a sestává z následujících kroků: 1. sběr a analýza dat 2. rychlý návrh 3. tvorba prototypu 4. vyhodnocení prototypu zadavatelem 5. vylepšení návrhu prototypu 6. jestliže zadavatel není spokojen s prototypem, je nutné opakovat od bodu 2 7. je-li zadavatel projektu spokojen, poté následuje úplný návrh. 9

14 Prototypování lze většinou aplikovat při vývoji menších systémů anebo na úrovni subsystému systému rozsáhlého, neboť prototypování rozsáhlého systému je obtížné a neekonomické Spirálový model Spirálový model je založen na kombinaci prototypování a analýzy rizik. Práce na projektu jsou realizovány tak, aby problémy spojené s klasickým vodopádovým modelem byly cílevědomě minimalizovány. Jednotlivé kroky vývoje produktu známé z vodopádového modelu se ve spirále opakují, ale pokud možno na vyšším stupni zvládnutí problematiky. Spirálový model života softwarového produktu začíná v počátku souřadnic. Směrem od středu ubíhá čas. V každé fázi opakování vodopádového modelu (řez spirálou) se provádí identifikace a řešení rizik. Spirálový model je založen na prioritě tvorby verze s vyšší rizikovostí, tedy části produktu s vyšší mírou rizika jsou realizovány dříve. Nevýhodou spirálového modelu je, že nelze přesně stanovit přesné časové termíny a tím pádem ani finanční rozpočet, což jsou ovšem při vývoji software na zakázku velmi důležité ukazatele. Spirálový model je vhodný při vývoji rozsáhlých systémů Další modely Další typy modelů softwarového procesu budou zmíněny jen krátce, neboť jsou vesměs založeny na výše zmíněných modelech. RAD model (Rapid Application Development) je založen na aplikaci vodopádového modelu a spočívá v krátkém vývojovém cyklu (doba trvání do 3 měsíců). Je vhodný pro dobře srozumitelné a dobře vymezené problémy s nízkou úrovní rizik. Problém je rozdělen na samostatné moduly, jejichž vývoj je přidělen jednotlivým týmům pracovníků. Rychlý vývojový cyklus je umožněn zejména častým využíváním již hotových softwarových komponent. Přírůstkový (evoluční) model kombinuje vodopádový model s iterativní filosofií. Produkt je vytvářen po částech, tzv. přírůstcích, které jsou funkční, na rozdíl např. od prototypu. První přírůstek je označován jako jádro. Tento model je vhodný pro malý tým a rozsáhlý úkol, jehož vývoj lze zvládnout po částech v předem domluvených termínech. 10

15 Model skládání komponent je založen na spirálovém modelu a je určen pro technologie s objektovým přístupem k softwarovému procesu. Při vývoji se využívá hotových knihoven tříd objektů. Model souběžného vývoje modeluje vývoj softwarového procesu jako paralelní procesy, kdy jsou jednotlivé komponenty vyvíjeny souběžně. Tento model je vhodný např. pro aplikace typu klient/server. Formální metody vývoje spočívají na formálních specifikacích a podporují formální verifikaci produktů. Praktickému nasazení takových metod zatím brání jejich časové a finanční nároky, nároky na vysokou kvalifikaci řešitelů a jejich obtížnost při komunikaci se zadavatelem projektu. Tzv. techniky čtvrté generace jsou založeny na programování s vysokou úrovní abstrakce. Jejich výhodou je zvýšení produktivity a tím rychlosti vývoje. Nevýhodou některých prostředků určených pro tento způsob vývoje je srovnatelná složitost s programovacími jazyky, užívanými při aplikaci předchozích metod. Další nevýhodou je fakt, že výsledný kód generovaný těmito prostředky nemusí být dostatečně efektivní. Perspektivní metody vývoje software by mohli spočívat ve využití CASE nástrojů ve spojení s modelem skládání komponent Nástroje analýzy systému Stěžejní část analýzy systému je založena na tvorbě modelů systému. Důvodem modelování je fakt, že nejsme schopni plně pochopit komplexní systém jako celek. Cílem modelování je porozumět problému, komunikovat prostřednictvím modelů se zadavateli a uživateli. Modely umožní odhalit řadu chyb a opomenutí, simulují složité situace, umožní plánovat návrh a generovat kód. Modely odstraňují možnou jazykovou bariéru a umožňují vidění problému všemi zainteresovanými stranami ze stejného pohledu. V první fázi se modeluje stávající systém, poté následuje tvorba modelu systému požadovaného. Vždy lze na systém pohlížet několika způsoby. Vnikají tak různé pohledy na systém a tedy i různé modely systému. Model by měl hovořit slovníkem uživatele modelu, oddělovat podstatné od podružného a oddělovat koncept a implementaci. 11

16 Diagramy datových toků Nazývány též procesní modely, diagramy toků práce, funkční modely, bublinové diagramy, ale nejčastěji diagramy datových toků, DFD (Data Flow Diagrams). Představují síťovou reprezentaci systému. Reálné systémy jsou většinou natolik rozsáhlé, že je nelze popsat jediným diagramem. Proto se používá stromová struktura, v jejímž kořeni je tzv. kontextový diagram. Existuje několik druhů notací, přičemž jedna z nepoužívanějších je součástí metody SSADM (viz. kapitola ). Modely vnějšího chování Tyto modely mohou být reprezentovány např. výše zmíněným kontextovým diagramem, dále potom seznamem událostí, které působí na systém z jeho okolí. Datové modely Datové modely, tzv. E-R diagramy jsou jádrem analýzy při návrhu databázových systémů. Datové modelování se uplatňuje zejména u informačních systémů, neboť tyto systémy pracují z rozsáhlým množstvím dat. Modelují objekty v systému a vztahy mezi nimi pomocí tabulek. Obrázek 2.2 znázorňuje logický model vztahu mezi uživatelem a skupinou uživatelů v příkladu informačního systému. Jeden uživatel může být v několika skupinách uživatelů a současně jedna skupina uživatelů může sdružovat několik uživatelů. kardinalita uživatel N (1,N) je ve skupině M (1,M) skupina uživatelů id uživatele jméno uživatele parcialita id skupiny jméno skupiny primární klíč primární klíč Obrázek 2.2: Příklad logického modelu části databáze. 12

17 2.3.3 Metody návrhu systému Obecně rozeznáváme dva možné přístupy k návrhu systému Přístup zdola nahoru je založen na generalizaci. Začíná identifikací a analýzou několika jednoduchých struktur. Snaží se najít jejich společné charakteristiky a chování a zobecnit je tak, aby původní byly jejich speciálními případy. Typickým příkladem, kde je tento přístup aplikován, je objektově orientovaná analýza. Vychází z objektově orientovaného programování. Pohlíží na svět jako na soustavu spolupracujících objektů. Tento přístup je poměrně blízký lidskému chápání a přináší kvalitativní změnu myšlení při návrhu systémů. Výhodou je možnost rychlého paralelního vývoje prototypového softwaru. Nevýhodou je nedostatek ověřených metodických postupů a hlubší zkušenosti s rozsáhlými systémy. Konkrétní metodou využívající přístup k návrhu systému zdola nahoru je UML (Unified Modeling Language), který je popsán v kapitole Přístup shora dolů je založen naopak na specializaci. Začíná na úrovni komplexního systému, který postupně dekomponuje na subsystémy. Ty jsou dále dekomponovány až na úroveň, kdy je možná implementace. Analytický proces je zobrazitelný stromovou strukturou s originálním systémem v kořeni. Typickým příkladem tohoto postupu je strukturovaná analýza. Je metodicky velmi dobře zvládnuta. Její nevýhodou je absence možnosti ukončit předčasně analýzu a implementovat konkrétní část systému. Konkrétní metodou využívající k návrhu systému metodu přístup shora dolů je SSADM (Structured Systems Analysis and Design Method), která je popsána v kapitole UML UML (Unified Modeling Language) je standardizovaným jazykem pro specifikaci, vizualizaci, konstrukci a dokumentování systémů, nejen softwarových. Jeho použití zefektivňuje softwarový proces na základě standardní notace zejména použitím přehledných a snadno pochopitelných diagramů a schémat, čímž snadno překonává sémantickou mezeru mezi vnímáním skutečností uživateli a řešiteli systému. Dále pak slouží ke zlepšení a zpřesnění komunikace mezi členy vývojového týmu (analytici, vývojáři, testeři, vedoucí pracovníci apod.). Jeho výhodou je podpora celého vývojového cyklu software. UML poskytuje pravidla pro pojmenování, rozsah platnosti, rozsah viditelnosti, integritní omezení a provedení modelu. 13

18 Základní principy UML lze nastínit následujícími body: na každý složitý problém je vhodné nahlížet z více úhlů pohledu každý model může být vyjádřen s různou přesností nejlepší modely jsou spojeny s realitou. Prvky modelů Rozlišujeme prvky struktury, prvky chování a prvky skládání. Prvky struktury tvoří třídy, rozhraní, spolupráce, případy užití, aktivní třída, komponenta, uzel. Prvky chování jsou interakce a stavový diagram. Prvky skládání jsou package a subsystém. Dalším možným prvkem je poznámka. Vztahy mezi prvky jsou popsány závislostmi, asociacemi, dědičností nebo realizací. Způsoby rozšiřování modelů Jedním ze způsobů rozšiřování modelů jsou stereotypy. Stereotyp je šablona určitého typu prvku či vlastnosti. Význam stereotypu definuje autor modelu. Stereotyp se zapisuje mezi závorky << a >>. Stereotypovaný prvek může mít vlastní grafickou reprezentaci. Dalšími způsoby rozšíření modelu jsou přidané atributy, což jsou textové informace přidané k jednotlivým prvkům modelu. Někdy je nutné rozšířit vazby v modelu o určitá omezení. Omezení je přídavná informace upřesňující danou vazbu. Zapisuje se do složených závorek. Lze ji psát přirozeným jazykem, ale existuje také formální jazyk, označovaný OCL (Object Constraint Language), sloužící k zápisu omezení k prvkům objektově orientovaného modelu. Na základě takto vyjádřených omezení lze testovat konzistenci modelu. UML definuje následujících devět typů diagramů, popisující různé pohledy na model systému [6]. Případy užití, tzv. Use Case diagramy Diagramy tříd Diagramy objektů Diagramy komponent Diagramy rozmístění 14

19 Sekvenční diagramy Diagramy spolupráce Stavové diagramy Diagramy aktivit Prvních pět typů diagramů modeluje statický pohled na systém, zbývající představují pohled dynamický. Diagramy musí být sémanticky konzistentní s dalšími pohledy na systém Případy užití Případy užití (Use Cases) zachycují funkce, které systém poskytuje svému okolí a definují využití těchto funkcí. Umožňují zadavateli projektu ověřit, zda systém modelovaný pomocí případů užití splňuje představu o funkcionalitě. Zvyšují porozumění systému a určují jeho rozhraní. Slouží jako základ uživatelské dokumentace a různých testů. Případ užití je popsán dokumentem, který obsahuje jméno, stručný popis, tok událostí (základní, alternativní), speciální požadavky, podmínky před a po případu užití, způsoby rozšíření a vizualizace formou diagramů. Diagramy případu užití jsou tvořeny následujícími UML prvky: případy užití jsou ovály, zachycující funkčnosti systému aktéři jsou schematické postavičky, znázorňující aktéry, kteří pracují se systémem (vstupují do něj, používají ho) asociace jsou čáry, představující vazby mezi aktéry a případy užití vztahy jsou čáry opatřené šipkou, určující vazby mezi jednotlivými případy užití. Každý případ užití představuje určitou funkcionalitu systému, která dává měřitelnou hodnotu uživatelům tohoto systému. Aktéři představují určité zachycení okolí systému. Představují prvky aktivně komunikující se systémem. Aktéry mohou být buď uživatelé, či spíše uživatelské role nebo jiné softwarové systémy. Aktér je stereotypem třídy, je to tedy třída. Pomocí Asociace komunikuje aktér se systémem, vyvolává a účastní se případů užití. U diagramů případů užití obvykle nemají asociace přiřazené jméno. 15

20 Vztahy mezi případy užití umožňují případům užití vzájemnou spolupráci. Jsou definovány dva typy vztahů include a extend. Jsou rozlišeny pomocí tzv. stereotypů, v tomto případě se jedná o stereotyp závislosti. Vazba typu include definuje, že případ užití A musí povinně vykonávat to, co případ užití B, případně něco navíc. Vazba extend znamená, že případ užití A rozšiřuje chování B. B může tedy za určitých okolností provádět funkčnost A. V diagramech případů užití lze zavést vazbu dědičnosti. Jedná se o tzv. generalizaci, která je definována mezi rodičem a potomky. Generalizace mezi dvěma případy užití se využívá v případě, že jeden případ užití je podobný druhému, přičemž se liší v malých částech, nikoliv zanedbatelných. Specifikace rodiče je základem specifikace potomků, tedy obsahuje základní kostru použitou ve všech potomcích. Specifikace potomků upřesňují popis rodiče (každý potomek má jinou funkčnost) Diagramy tříd Diagramy tříd zachycují slovník systému. Třída je zapouzdřením určitých informací a chování. Informace budeme označovat jako atributy třídy a chování jako metody třídy. Atributy třídy představují informace, které instance třídy (objekty) uchovávají. Metody třídy jsou operace, za které je třída zodpovědná, nebo také zprávy, kterým rozumí. Zdrojem atributů třídy jsou věcné znalosti o dané problematice a analýza podrobných požadavků uživatelů. Atributy třídy by měli být atomické, tedy dále nedělitelné, což částečně odpovídá první normální formě E-R modelu. Pokud by měl být atribut strukturovaný, lze ho nahradit vlastní třídou a asociací. Zdrojem pro hledání operací jsou především scénáře analýzy případů užití. Vytváří se model, který zatím nenavrhuje software, ale zjišťuje, co budoucí software musí umět. Mezi třídami mohou existovat různé vztahy. Sdílení informací mezi třídami lze dosáhnout pomocí asociace a agregace. Komunikaci mezi třídami lze zajistit pomocí asociace, agregace a závislostí. Hierarchii tříd lze vybudovat pomocí vazeb asociace, agregace, dědičnosti a realizace interface. Asociace je slabá vazba mezi třídami. Říká to, že dvě třídy mají mezi sebou vztah, tedy o sobě vědí. Není-li uvedeno jinak, je tato vazba obousměrná. Asociace může mít své jméno, které většinou dává smysl při čtení jedním směrem. Kreslí se plnou čarou spojující příslušné objekty. 16

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

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

TÉMATICKÝ OKRUH Softwarové inženýrství 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

Více

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

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 22. Otázka : Úvodní fáze rozpracování softwarového projektu. Postupy při specifikaci byznys modelů. Specifikace požadavků a jejich rozpracování pomocí

Více

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

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í. 3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.

Více

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

X36SIN: Softwarové inženýrství. Životní cyklus a plánování X36SIN: Softwarové inženýrství Životní cyklus a plánování 1 Kontext Minule jsme si řekli, co to je deklarace záměru, odborný článek, katalog požadavků, seznam aktérů a seznam událostí. Seznam aktérů a

Více

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů Číslo otázky : 16. Otázka : Funkční a dynamická analýza informačního systému. Obsah : 1. Úvod 2. Funkční

Více

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů. Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové

Více

3 druhy UML diagramů

3 druhy UML diagramů UML grafický jazyk se pro vizualizaci, specifikaci, navrhování a dokumentaci programových systémů zjednodušuje komunikaci mezi zadavatelem a řešitelem projektu UML podporuje objektově orientovaný přístup

Více

Unifikovaný modelovací jazyk UML

Unifikovaný modelovací jazyk UML Unifikovaný modelovací jazyk UML Karel Richta katedra počíta tačů FEL ČVUT Praha richta@fel fel.cvut.czcz Motto: Komunikačním m prostředkem informační komunity se postupem času stala angličtina. Chcete-li

Více

Modelování procesů s využitím MS Visio.

Modelování procesů s využitím MS Visio. Modelování procesů s využitím MS Visio jan.matula@autocont.cz Co je to modelování procesů? Kreslení unifikovaných či standardizovaných symbolů, tvarů a grafů, které graficky znázorňují hlavní, řídící nebo

Více

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

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken Jazyk UML - přehled Unified Modeling Language jazyk pro popis objektově orientované analýzy a návrhu aplikací slouží k vzájemné komunikaci mezi zadavatelem a návrhářem systému má několik částí, není nutné

Více

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme Smysl metodiky IS/IT Koncentrovaná zkušenost Checklist na nic nezapomeneme Přínosy metodik Větší produktivita a kooperace týmů Komunikační standard Specializace projektových týmů Nezávislost na konkrétních

Více

PŘÍLOHA C Požadavky na Dokumentaci

PŘÍLOHA C Požadavky na Dokumentaci PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé

Více

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

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda 1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání

Více

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

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika 2 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk UML, základní modely, diagramy aktivit, diagramy entit.

Více

7.6 Další diagramy UML

7.6 Další diagramy UML 7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI

Více

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

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53 Objektová tvorba SW, Analýza požadavků 2006 UOMO 53 Osnova Základní principy tvorby SW Fáze tvorby SW v předmětu UOMO Analýza požadavků Modelování typových úloh 2006 UOMO 54 Tvorba SW Dříve umění vyvolených

Více

Objekty, třídy, vazby 2006 UOMO 30

Objekty, třídy, vazby 2006 UOMO 30 Objekty, třídy, vazby 2006 UOMO 30 Osnova Vymezení pojmu objekt Objekt a základní objektové koncepty Třídy, třída vs. objekt Vztahy mezi objekty, vazby mezi třídami Polymorfismus 2006 UOMO 31 Vymezení

Více

6 Objektově-orientovaný vývoj programového vybavení

6 Objektově-orientovaný vývoj programového vybavení 6 Objektově-orientovaný vývoj programového vybavení 6.1 Co značí objektově-orientovaný - organizace SW jako kolekce diskrétních objektů, které zahrnují jak data tak chování objekt: OMG: Objekt je věc (thing).

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází 1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,

Více

EXTRAKT z mezinárodní normy

EXTRAKT z mezinárodní normy EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním ICS 03.220.01; 35.240.60 materiálem o normě. Inteligentní dopravní systémy Požadavky na ITS centrální datové

Více

7.6 Další diagramy UML

7.6 Další diagramy UML 7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI

Více

Business Process Modeling Notation

Business Process Modeling Notation Business Process Modeling Notation Stephen A. White, IBM Corporation Procesní řízení 1 Co to je BPMN? Standard Business Process Modeling Notation (BPMN) byl vyvinutý skupinou Business Process Management

Více

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

Vývoj informačních systémů. Obecně o IS Vývoj informačních systémů Obecně o IS Informační systém Informační systém je propojení informačních technologií a lidských aktivit směřující k zajištění podpory procesů v organizaci. V širším slova smyslu

Více

Principy UML. Clear View Training 2005 v2.2 1

Principy UML. Clear View Training 2005 v2.2 1 Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat

Více

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

OOT Objektově orientované technologie

OOT Objektově orientované technologie OOT Objektově orientované technologie Logická struktura systému (Diagram tříd) Daniela Szturcová Institut geoinformatiky, HGF Osnova Třídy Statický pohled na systém Atributy a operace, řízení přístupu

Více

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy Bc. Petr Pokorný Letní semestr 2009/2010 1 Obsah 1 Úvod... 3 2 Workflow... 3 3 Workflow

Více

Problémové domény a jejich charakteristiky

Problémové domény a jejich charakteristiky Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 02 1/16 Problémové domény a jejich charakteristiky Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta

Více

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

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda Modelování informačních systémů s využitím jazyka UML Jaroslav Šmarda Využití jazyka UML při vývoji IS na příkladu jednoduché aplikace pro evidenci knih Model IS Modelování případů užití Diagram případů

Více

DBS Konceptuální modelování

DBS Konceptuální modelování DBS Konceptuální modelování Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze Michal.Valenta@fit.cvut.cz c Michal Valenta, 2010 BIVŠ DBS I, ZS 2010/11 https://users.fit.cvut.cz/

Více

UML. Unified Modeling Language. Součásti UML

UML. Unified Modeling Language. Součásti UML UML Unified Modeling Language 1995 počátek 1997 verze 1.0 leden dnes verze 2.0 (vývoj stále nedokončen) Standardní notace OMG podpora velkých firem (Microsoft, IBM, Oracle, HP ) popisuje struktury popisuje

Více

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

UML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007 UML úvod Kapitola má seznámit se základy modelovacího jazyka UML. Klíčové pojmy: UML, CASE nástroje, procesní modelování, případy užití, role, diagram tříd, diagram objektů, sekvenční diagramy, digram

Více

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

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 Návrh řešení IS Vývoj informačních systémů 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 IS a jaký

Více

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

Vyřešené teoretické otázky do OOP ( ) Vyřešené teoretické otázky do OOP (16. 1. 2013) 1) Vyjmenujte v historickém pořadí hlavní programovací paradigmata a stručně charakterizujte každé paradigma. a) Naivní chaotičnost, špatná syntaxe a sémantika

Více

Obsah 10.2.2000. 2.1 Charakteristiky software... 2 2.2 Programování ve velkém... 3

Obsah 10.2.2000. 2.1 Charakteristiky software... 2 2.2 Programování ve velkém... 3 Softwarové inženýrství (státnicová otázka 2 8) Ladislav Dobiáš 10.2.2000 Obsah 1 Zadání 2 2 Základní pojmy 2 2.1 Charakteristiky software................................ 2 2.2 Programování ve velkém................................

Více

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

2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování 1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy

Více

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

Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová Osnova Modelování interakcí mezi objekty modelování zpráv (mapování zpráv na operace), vytváření a

Více

2 Životní cyklus programového díla

2 Životní cyklus programového díla 2 Životní cyklus programového díla Typické etapy: 1. Specifikace požadavků - specifikace problému - analýza požadavků 2. Vývoj programu - návrh - kódování (programování) 3. Verifikace a validace 4. Provoz

Více

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

Analýza a modelování dat. Helena Palovská

Analýza a modelování dat. Helena Palovská Analýza a modelování dat Helena Palovská Analýza a modelování pro SW projekt Strukturovaný přístup Dynamická část (procesy, aktivity, funkce) Statická část (data) Objektově orientovaný přístup use case

Více

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

Objektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová Objektově orientované technologie Business proces Diagram aktivit Daniela Szturcová Osnova Bysnys proces pojmy metody, specifikace pomocí diagramů Modelování pomocí aktivitního diagramu prvky diagramu

Více

Analýza a Návrh. Analýza

Analýza a Návrh. Analýza Analysis & Design Návrh nebo Design? Design = návrh Není vytváření použitelného uživatelského prostředí (pouze malinká podmnožina celého návrhu) Často takto omezeně chápáno studenty nedokáží si představit,

Více

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace Pořadové číslo dodatečných informací: 14. ČÁST 1: Přesné znění žádosti dodavatele o dodatečné informace Otázka

Více

Vývoj IS - strukturované paradigma II

Vývoj IS - strukturované paradigma II Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 05 1/18 Vývoj IS - strukturované paradigma II Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta informačních

Více

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14 Obsah Předmluva 11 Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14 KAPITOLA 1 Úvod do architektury softwaru 15 Použití procesu 16 Stručný popis

Více

Metodika analýzy. Příloha č. 1

Metodika analýzy. Příloha č. 1 Metodika analýzy Příloha č. 1 Příloha č. 1 1 Účel dokumentu Dokument popisuje závaznou metodiku systémové analýzy, je upraven na míru pro prostředí Podniku. Dokument je provázán s Podnikovou analýzou,

Více

CASE. Jaroslav Žáček

CASE. Jaroslav Žáček CASE Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Co znamená CASE? Definice dle SEI A CASE tool is a computer-based product aimed at supporting one or more software engineering activities

Více

OOT Objektově orientované technologie

OOT Objektově orientované technologie OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include a extend) Shrnutí

Více

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

Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová Osnova K čemu slouží diagram komponent obsah komponent závislosti rozhraní

Více

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

Více

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

Návrh softwarových systémů - architektura softwarových systémů

Návrh softwarových systémů - architektura softwarových systémů Návrh softwarových systémů - architektura softwarových systémů Martin Tomášek, Jiří Šebek Návrh softwarových systémů (B6B36NSS) Převzato z přednášky X36AAS M. Molhanec Co je to architektura Využívá se

Více

OOT Objektově orientované technologie

OOT Objektově orientované technologie OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová, Pavel Děrgel Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include

Více

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura Dílčí architektury Informační systémy - dílčí architektury - EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu 1 Globální Funkční Procesní Datová SW Technologická HW Aplikační

Více

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

Modelování webových služeb v UML Modelování webových služeb v UML Jaromír Šveřepa LBMS, s.r.o. Abstrakt: Tento příspěvek se zaměřuje na praktický postup pro identifikaci potřeby webové služby, modelování způsobu jejího použití, popřípadě

Více

10 Metody a metodologie strukturované analýzy

10 Metody a metodologie strukturované analýzy 10 Metody a metodologie strukturované analýzy 10.1 Strukturovaná analýza DeMarco (1978) Nástroje: DFD, datový slovník, strukturovaná angličtina, rozhodovací tabulky a stromy Postup: 1. Analýza stávajícího

Více

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

2. Začlenění HCI do životního cyklu software Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

RDF DSPS ROZVOJ PORTÁLU

RDF DSPS ROZVOJ PORTÁLU RDF DSPS ROZVOJ PORTÁLU ČEZ Distribuce, a.s. HSI, spol. s r.o. Zbyněk Businský Miroslav Kaňka ZÁKAZNÍK A DODAVATEL ČEZ DISTRIBUCE, A.S. ČEZ distribuční síť Od r. 2012 implementován GEOPORTÁL (1. ETAPA),

Více

IS pro podporu BOZP na FIT ČVUT

IS pro podporu BOZP na FIT ČVUT IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod

Více

POČÍTAČE A PROGRAMOVÁNÍ

POČÍTAČE A PROGRAMOVÁNÍ POČÍTAČE A PROGRAMOVÁNÍ Moderní metody vývoje softwaru, Demontrační příklad piškvorky Miroslav Vavroušek PPI 09 V1.0 Opakovaní z minulé přednášky Vícerozměrná statická a dynamická pole Pole polí Datový

Více

01 Teoretické disciplíny systémové vědy

01 Teoretické disciplíny systémové vědy 01 Teoretické disciplíny systémové vědy (systémový přístup, obecná teorie systému, systémová statika a dynamika, úlohy na statických a dynamických systémech, kybernetika) Systémová věda je vědní disciplínou

Více

7 Jazyk UML (Unified Modeling Language)

7 Jazyk UML (Unified Modeling Language) 7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující

Více

SOFTWAROVÉ INŽENÝRSTVÍ 1

SOFTWAROVÉ INŽENÝRSTVÍ 1 Metodický list č. 1 Název tématického celku: Úvod do softwarového inženýrství Základním cílem tohoto tematického celku je vysvětlení smyslu discipliny nazývané softwarové inženýrství. Tematický celek zahrnuje

Více

Diagramy tříd - základy

Diagramy tříd - základy Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka Zákazník -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

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

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů Infrastruktura UML v UML Karel Richta listopad 2011 Richta: B101TMM - v UML 2 Superstruktura UML Směr pohledu na systém dle UML Diagramy popisující strukturu diagramy tříd, objektů, kompozitní struktury,

Více

CASE nástroje. Jaroslav Žáček

CASE nástroje. Jaroslav Žáček CASE nástroje Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Co znamená CASE? A CASE tool is a computer-based product aimed at supporting one or more software engineering activities within

Více

U Úvod do modelování a simulace systémů

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Pokročilé typové úlohy a scénáře 2006 UOMO 71

Pokročilé typové úlohy a scénáře 2006 UOMO 71 Pokročilé typové úlohy a scénáře 2006 UOMO 71 Osnova Interní model typové úlohy Vazby include a extend Provázanost typových úloh na firemní procesy a objekty Nejčastější chyby 2006 UOMO 72 Interní model

Více

Analytická specifikace a její zpracování

Analytická specifikace a její zpracování Analytická specifikace a její zpracování Analýza Měla by odpovědět na otázku CO? Musí definovat konceptuální model řešeného problému datový model entity, vztahy, omezení funkční model služby pro záznam,

Více

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

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 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 Co je to UML Evoluce UML Diagram komponent Diagram odbavení Diagram tříd Aktivity diagram Stavový diagram Sekvenční diagram Diagram

Více

2. Systémová analýza SA návrhová část projektu = příručka projektu - systémový přístup k analýze problémů, nejdůležitější etapa projektu - podrobné st

2. Systémová analýza SA návrhová část projektu = příručka projektu - systémový přístup k analýze problémů, nejdůležitější etapa projektu - podrobné st 1. IŘS, definice, třídění, projekt, životní cyklus IŘS systémy na zpracování získaných (naměřených) informací a jejich využití pro řízení IŘS : a) IS informační systémy systémy sběru a zpracování dat (hromadné),

Více

Objektově orientované databáze. Miroslav Beneš

Objektově orientované databáze. Miroslav Beneš Objektově orientované databáze Miroslav Beneš Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Nevýhody modelů založených na záznamech Co potřebujeme modelovat? Identifikace

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký Tvorba informačních systémů 1/35 Konceptuální

Více

Ontologie. Otakar Trunda

Ontologie. Otakar Trunda Ontologie Otakar Trunda Definice Mnoho různých definic: Formální specifikace sdílené konceptualizace Hierarchicky strukturovaná množina termínů popisujících určitou věcnou oblast Strukturovaná slovní zásoba

Více

Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou SITRONICS TS.

Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou SITRONICS TS. Tvorba dokumentace SITRONICS centrum 1. Cíl Usnadnit tvorbu jednotné dokumentace SITRONICS centra. 2. Účel Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou

Více

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz RUP - Disciplíny Jaroslav Žáček jaroslav.zacek@osu.cz Disciplíny Množství disciplíny v dané iteraci Disciplíny podle RUP Šest základních: Business modeling - pro pochopení problémové domény Requirements

Více

Využití SysML pro tvorbu modelů v systémovém inženýrství

Využití SysML pro tvorbu modelů v systémovém inženýrství Využití SysML pro tvorbu modelů v systémovém inženýrství Antonín Srna, Ústav informatiky, Provozně ekonomická fakulta, Mendelova univerzita v Brně, xsrna2@mendelu.cz Abstrakt Článek se zaobírá univerzálním

Více

OBSAH 1. ÚVOD STRUKTURA A ÚROVNĚ PROCESNÍHO MODELU KONVENCE PRO MODELOVÁNÍ PROCESŮ KONVENCE PRO MODELOVÁNÍ ORGANIZAČNÍCH STRUK

OBSAH 1. ÚVOD STRUKTURA A ÚROVNĚ PROCESNÍHO MODELU KONVENCE PRO MODELOVÁNÍ PROCESŮ KONVENCE PRO MODELOVÁNÍ ORGANIZAČNÍCH STRUK Konvence procesního modelování v CENIA výtah z metodiky příloha č. 3 soutěžní dokumentace pro výběrové řízení na Integrovaný systém plnění ohlašovacích povinností OBSAH 1. ÚVOD... 4 2. STRUKTURA A ÚROVNĚ

Více

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?

Více

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

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

TREND 07-201 POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE

TREND 07-201 POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE Tel. +420 543426329 TREND 07-201 POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE Autor: Vít Chvál Verze dokumentu: 1.0 Datum poslední změny: 18.2.2013 Obsah: 1 Pracovník 3 2 Pracovní činnosti (Náplň práce)

Více

Databázové modelování. Analýza Návrh konceptuálního schématu

Databázové modelování. Analýza Návrh konceptuálního schématu Databázové modelování Analýza Návrh konceptuálního schématu 1 Vytváření IS Analýza Návrh Implementace Testování Předání SW Jednotlivé fáze mezi sebou iterují 2 Proč modelovat/analyzovat? Standardizované

Více

7 Jazyk UML (Unified Modeling Language)

7 Jazyk UML (Unified Modeling Language) 7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

Více

Teorie systémů TES 10. Měkké systémy metodiky

Teorie systémů TES 10. Měkké systémy metodiky Evropský sociální fond. Praha & EU: Investujeme do vaší budoucnosti. Teorie systémů TES 10. Měkké systémy metodiky ZS 2011/2012 prof. Ing. Petr Moos, CSc. Ústav informatiky a telekomunikací Fakulta dopravní

Více

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

Více

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Algoritmus Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Klíčové pojmy: Algoritmus, vlastnosti algoritmu, tvorba algoritmu, vývojový diagram, strukturogram Algoritmus

Více

Analýza. Roman Danel 1. Metody analýzy

Analýza. Roman Danel 1. Metody analýzy Analýza Analýza je vědecká metoda založená na dekompozici celku na elementární části, je to metoda zkoumání složitějších skutečností rozkladem (dissolution) na jednodušší. Cílem analýzy je tedy identifikovat

Více

1. Dědičnost a polymorfismus

1. Dědičnost a polymorfismus 1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář

Více

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ Předmětem softwarového inženýrství jsou metodiky pro řízení vývoje softwaru. Proč potřebujeme tyto metodiky? Čím je vývoje softwaru specifický oproti jiným odvětvím? SOFTWAROVÉ

Více

Programování II. Modularita 2017/18

Programování II. Modularita 2017/18 Programování II Modularita 2017/18 Modul? Osnova přednášky Vývoj programování Modularita Příklad Vývoj programování Paradigmata programování Jak a proč se jazyky vyvíjejí? V čem se OOP liší od předchozích

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Vývojové diagramy 1/7

Vývojové diagramy 1/7 Vývojové diagramy 1/7 2 Vývojové diagramy Vývojový diagram je symbolický algoritmický jazyk, který se používá pro názorné zobrazení algoritmu zpracování informací a případnou stručnou publikaci programů.

Více

Řízení projektů. Centrální podpora projektového řízení projektů realizovaných MVČR (CEPR) Praha,

Řízení projektů. Centrální podpora projektového řízení projektů realizovaných MVČR (CEPR) Praha, Řízení projektů Centrální podpora projektového řízení projektů realizovaných MVČR (CEPR) Praha, 6. 12. 2012 Představení Zpracovatel: SOFO Group a.s. Ovocný trh 572/11 Praha 1 Projektový tým zpracovatele:

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

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

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více