Základy analýzy. autor. Jan Novotný http://blog.novoj.net/ 15. února 2007

Podobné dokumenty
Unifikovaný modelovací jazyk UML

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

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

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

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

7.6 Další diagramy UML

7.6 Další diagramy UML

Kurz Postupy návrhu IS pomocí UML a OOP (5 dnů, in-house)

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

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

Modelování podnikových procesů

Analýza a Návrh. Analýza

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

PŘÍLOHA C Požadavky na Dokumentaci

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

SOFTWAROVÉ INŽENÝRSTVÍ 1

Unifikovaný proces vývoje

CASE. Jaroslav Žáček

Obsah. Zpracoval:

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

Úvod do principů objektově orientovaného programování

UML. Unified Modeling Language. Součásti UML

CASE nástroje. Jaroslav Žáček

Návrh softwarových systémů - úvod, motivace

Řízení reálných projektů, agilní metodiky

UML: Unified Modeling Language

Diagram nebo text? Miroslav Benešovský, BenSoft s.r.o

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

Business Process Modeling Notation

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

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

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

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

DF FA Novinky v Simotion Scout

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

Informační systémy ve strojírenství

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

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

7 Jazyk UML (Unified Modeling Language)

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

Y13ANW ÚVOD DO WEBOVÝCH METODIK. Ing. Martin Molhanec, CSc.

XINF1. Jaroslav Žáček

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

Metody popisu systému, základy UML

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Manažerská informatika - projektové řízení

Komputerizace problémových domén

6INF2. RNDr. Jaroslav Žáček, Ph.D.

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

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

PV207. Business Process Management

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

Informační systémy. Jaroslav Žáček

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

Ročníkový projekt. Jaroslav Žáček

7 Jazyk UML (Unified Modeling Language)

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

Specifikace požadavků, UC. Jaroslav Žáček

Ročníkový projekt. Jaroslav Žáček

Java/QE Akademie - Osnova

Specifikace požadavků, UC. Jaroslav Žáček

Životní cyklus vývoje SW. Jaroslav Žáček

Základní informace. Modelování. Notace

Agilní metodiky vývoje softwaru

Návrh softwarových systém. Návrh softwarových systémů

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

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

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

Program a životní cyklus programu

Unifikovaný modelovací jazyk UML 1

Principy UML. Clear View Training 2005 v2.2 1

InternetovéTechnologie

Plug-in pro správu požadavků a sledování postupu vývoje

Specializace Návrhář software na základě analýzy vytváří návrh softwarových aplikací ve formě schémat a diagramů.

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

IS pro podporu BOZP na FIT ČVUT

Analýza a design na reálném projektu. Richard Michalský

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

Co je to SCRUM! FRAMEWORK vs METODIKA. Ken Schwaber a Jeff Sutherland ho mají za framework Kde hledat detaily?

Informační systémy. Jaroslav Žáček

Procesní dokumentace Process Management. Pavel Čejka

Životní cyklus produktu (IS / IT služby) Životní cyklus projektu Životní cyklus řízení projektu. Vývoje produktu Implementace produktu

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Architektury Informačních systémů. Jaroslav Žáček

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

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: AVTK. Úvod. strana 1

UML - Unified Modeling Language

Tvorba informačních systémů

Diagram sekvencí (sequence diagram)

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy

Architektury Informačních systémů. Jaroslav Žáček

Analýza a design na reálném projektu. Richard Michalský

Agile Software Development

PV207. Business Process Management

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

Object-oriented Analysis & Design. Requirements Analysis

Globální strategie, IT strategie, podnikové procesy. Jaroslav Žáček

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y Rovnicí y = x 1. Přiřazení signálů:

programátor vs. vývojář

Transkript:

Základy analýzy autor Jan Novotný http://blog.novoj.net/ 15. února 2007 V prezentaci jsou použity diagramy z: Wikipedia, Sparx UML Tutorial, Argo UML

Metodiky vývoje Různé metodiky vývoje vazba na fáze projektu Vodopád Iterace Agilní metodiky SCRUM Extreme Programming

Obvyklé fáze vývojového cyklu Prvotní zadání SMLOUVA NA ANALÝZU Analýza Hrubý návrh SMLOUVA NA REALIZACI Detailní návrh Realizace Testování PŘEDÁNÍ ZÁKAZNÍKOVI Akceptační testování a testovací provoz Reálný provoz

Zadání Tvoří: obchodník ve spolupráci s business analytikem, někdy dokonce zákazník Forma: excel Shit, Textový dokument s odrážkami, v lepších případech UseCase diagram Obsah: hrubé vymezení rozsahu systému, posbírané podklady od zákazníka, hrubý popis zákazníkových procesů (activity diagram) Cíl: hrubý popis toho co a proč

Analýza Tvoří: business analytik Forma: obvykle UML v nějakém UML editoru, obvykle na konci exportovaného do textového dokumentu Obsah: Identifikovat problém zákazníka a jeho potřeby Definovat rozsah řešení a hranice systému Popsat procesy, které se systému týkají (workflow) Identifikovat rozhranní systému Cíl: detailní popis toho co a proč

Hrubý návrh Tvoří: návrhář, senior programátor, vedoucí programátor Forma: obvykle UML v nějakém UML editoru, obvykle na konci exportovaného do textového dokumentu Obsah: Rozhodnutí o technické platformě Rozložení systému na subčásti Zabezpečení systému Deployment Hrubý datový model Logický model (diagram tříd) PageFlow (+ grafický design) Definice rozhraní s externími systémy Akceptační testy Projektový plán Prototyping

Detailní návrh Náročnost se odvíjí od velikosti projektu Realizace detailních class diagramů (MDA?!) nebo již přímo interface kódu Rozdělení práce mezi tým, zajištění flow Příprava infrastrukturty (source repository, task listy, implementace core tříd, base tříd testů, příprava buildování) Hloubka se odvíjí od kvality týmu a přístupu organizace U větších projektů se vyplatí spravovat projektovou site (Maven, Wiki)

Výrazové prostředky analytika a návrháře UML Diagramy Popis chování (obvykle součástí analýzy) UseCase diagram Activity diagram State Machine diagram Popis struktury (obvykle součástí návrhu) Class diagram Component diagram Deployment diagram a další méně používané Popis vztahů a komunikace (obvykle součástí návrhu) Sequence diagram Collaboration diagram

UseCase diagram Popisuje aktéry systému a užitné případy Definuje rozsah tzn. co se řeší a co nikoliv Základní entity: Use case zlaté UC Actor Boundary Association Include Extends

Activity diagram Popisuje workflow procesy Základní entity: Start / end point Activity Flow (transition) Fork / Join Condition Swimlanes

State diagram Popisuje stavy jednotlivých objektů Základní entity: Start / end point State Transition Fork / Join

Class Diagram Popisuje strukturu objektů Základní entity: Classes Fields Methods Agregation Composition Association Generalization Specialization Multiplicity

Component diagram Popisuje rozložení systému na podčásti Základní entity: Component Interface (sedátko) Port (lízátko)

Deployment diagram Popisuje fyzické části aplikace při nasazení Základní entity: Node Component Dependency Výhodné použití stereotypů Důležité zafixovat čísla verzí SW

Sequence diagram Detailně popisuje sekvenci volání mezi objekty (algoritmus) Úzce propojen s class diagramem (blízký programování) Základní entity: Instance : class Lifeline Messages Loop

Collaboration diagram Podobný sequence diagramu Orientuje se na popis vztahů nikoliv na přesný popis návaznosti volání Základní entity jsou stejné jako u sequence diagramu

Odhady a plánování Bolest většiny projektů, nutné nezapomenout na testy, řízení, dokumentaci, deployment Zajímavé řešení v agilních metodikách (SCRUM, XP) Více lidí = více nedorozumění vs. více nápadů Více lidí = více projedeného času vs. výsledek za kratší dobu Pro každého nového člověka je nutné započítat dobu na vejití do projektu Vhodné započíst 2 druhy rezerv: Realizační (na chybu v odhadech) 10 30% (v případě potřeby větší rezervy klást větší důraz na prototypy) Termínovou ( řeší rizika onemocnění atd.)

Tipy a triky Nikdy neakceptujte bílá místa Používání stereotypů Komentáře každý diagram je kryptogram Oponentura (návrhář analytikovi, vedoucí programátor návrhářovi 2. fázově) respekt k osobnosti návrháře disciplína oponentů výsledky ve formě návrhů a doporučení Méně je často více Verbální interpretace zákazníkovi Šablony vám umožňují soustředit se na řešený problém Pravidlo jednoho guru projektu (komponenty) Code revision (neslouží k buzeraci programátorů)

Děkuji za pozornost