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

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

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

27/11/2017. Business analýza a sběr požadavků. Dotazy na event #G865

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

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

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

UML. Unified Modeling Language. Součásti UML

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

Modelování požadavků

Unifikovaný modelovací jazyk UML

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

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

Analýza a Návrh. Analýza

Systémová analýza a návrh. Zbyněk Ungermann, UNG května 2011

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

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

7 Jazyk UML (Unified Modeling Language)

Unifikovaný proces vývoje

Use Case Model - Complete Report Grouped by Item Kind, Full Descriptions

Testování software. Jaroslav Žáček

7 Jazyk UML (Unified Modeling Language)

5 Požadavky a jejich specifikace

Karta předmětu prezenční studium

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

CASE nástroje. Jaroslav Žáček

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

Obsah. Zpracoval:

CASE. Jaroslav Žáček

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

5 Požadavky a jejich specifikace

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

UML - Unified Modeling Language

Budování architektury pomocí IAA

Testování softwaru. 10. dubna Bořek Zelinka

Object-oriented Analysis & Design. Requirements Analysis

UML: Unified Modeling Language

2 Axiomatic Definition of Object 2. 3 UML Unified Modelling Language Classes in UML Tools for System Design in UML 5

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

Modelování podnikových procesů

Tvorba informačních systémů

KIV/ASWI 2007/2008 Metody získávání a zachycení požadavků. Postupy a UML modely Zachycení požadavků Model užití Popis problémové oblasti

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

Zhodnocení architektury podniku. Jiří Mach

Analytická specifikace a její zpracování

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

Databázové patterny. MI-DSP 2013/14 RNDr. Ondřej Zýka,

Architektura softwarových systémů

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

Přednáška. Sběr požadavků na SW s použitím metody C.C a nástroje Craft.CASE. e-fractal, s.r.o.

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

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

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

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

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

Zajištění kvality programového vybavení - testování

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

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

Metody popisu systému, základy UML

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

Nástroje pro tvorbu wireframes

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

Plant-wide Automation

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

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

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

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

PŘÍLOHA C Požadavky na Dokumentaci

ARIS Platform softwarová podpora řízení procesů Procesní ARIS laboratoř základ moderní výuky.

Modelování informačních systémů Standard architektury MPSV

Management informační bezpečnosti

Model případu užití. Martin Komárek

Prototypování, testování prototypů

Novinky v UML 2.5 a agilní modelování

Česká zemědělská univerzita v Praze. Provozně ekonomická fakulta. Katedra informačních technologií

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

Pokročilá analýza a návrh stavebních konstrukcí

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

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

Procesní dokumentace Process Management. Pavel Čejka

Úvod do datového a procesního modelování pomocí CASE Erwin a BPwin

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

Testování SW produktů. Jiří Sochor, Jaroslav Ráček 1

Testování Java EE aplikací Petr Adámek

Principy UML. Clear View Training 2005 v2.2 1

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

SAP PROCUREMENT DAY SAP CLM (Contract Lifecycle Management) Správa životního cyklu kontraktů. smooth business flow

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

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

Tvorba informačních systémů

Jak správně psát scénáře k případům užití?

Dokumentace software

Znalostní systém nad ontologií ve formátu Topic Maps

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

Vývoj řízený testy Test Driven Development

PV207. Business Process Management

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

EXTRAKT z mezinárodní normy

Agile. nejžádanější způsob vývoje software. Tomáš Tureček. Business consultant, Lean&Agile coach Tieto

Zuzana Šochová MFF Modelování a realizace softwarových projektů

Transkript:

Specifikace požadavků, UC Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Důvody pro formalizaci SRS Podle Chaos Report organizace Standish Group jsou požadavky jedním z přispěvatelů k problémům softwarových projektů. V roce 1997 na prvním místě, 2006 na 4. místě. Výzkumy i zkušenosti hodnotí měnící se požadavky jako jednu z příčin neúspěšnosti projektů. Pouze 20% požadavků na software je využito, zhruba 45% se nikdy nepoužije.

Základní dělení požadavků Funkční - popisuje co systém dělá, formalizace např. pomocí UC Nefunkční - popisují další vlastnosti, které uživatel přímo nevidí při práci s aplikací (doba odezvy, architektura - přístup k aplikaci z více míst)

Ve skutečnosti je to trochu složitější Business požadavky Také rozsah projektu Požadavky na systém Vize Požadavky uživatelů Use Case Funkce Business pravidla Externí rozhraní Atributy kvality Software requirements specification (SRS)

Obecný postup při specifikaci požadavků Pochopení problému a jeho analýza Identifikace lidí se zájmem na projektu (tzv. stakeholders) Definice systému (scope) a jeho hranic (boundaries) Identifikace omezení, které musí systém mít (celá firma používá jako OS Linux)

Způsoby identifikace požadavků Rozhovory s vybranými uživateli Requirements workshop Prototyp (HTML, obecné GUI) User Stories, Post-it lístečky

Tradiční způsoby soupisu požadavků Sesbírat veškeré požadavky na systém detailně. Na základě požadavků navrhnout architekturu aplikace a detailně vypracovat důkladnou analýzu. Navrhnout databázi, pak teprve funkce nad ní. Forma zápisu převážně dokumentová.

Životní cyklus vývoje software

Možné nevýhody Ztráta celkového přehledu. Navzájem se vylučující požadavky. Funkce jsou zafixovány po celou dobu vývoje (již proběhla analýza). Funkce jsou většinou zaznamenány z pohledu systému, ne uživatele.

Jak to zlepšit? Jakým způsobem byste chtěli zapisovat požadavky u zákazníka? Jak to zařídit, aby tomu zápisu rozuměli vaši kolegové?

UML Obecný grafický jazyk pro vizualizaci, dokumentaci a popis chování a funkcí v oblasti softwarového inženýrství. Od roku 1997 standardizován organizací OMG. Nejedná se o programovací jazyk.

Dostupné modely UML 1.x: Use Case diagram Class diagram Object diagram Sequence diagram UML 2.x: Class diagram Component diagram Composite structure diagram Deployment diagram Communication diagram Interaction overview diagram Sequence diagram Timing Diagram Statechart Object diagram Activity diagram Component diagram Deployment diagram Package diagram Activity diagram State Machine diagram Use Case diagram

Dostupné modely UML 1.x: Use Case diagram Class diagram Object diagram Sequence diagram UML 2.x: Class diagram Component diagram Composite structure diagram Deployment diagram Communication diagram Interaction overview diagram Sequence diagram Timing Diagram Statechart Object diagram Activity diagram Component diagram Deployment diagram Package diagram Activity diagram State Machine diagram Use Case diagram

Use Case Actor - vyjadřuje jednotku, která má nějaké interakce se systémem (člověk, jiný software, organizace). Scenario - specifická sekvence akcí a interakcí mezi aktorem a systémem který budujeme. Občas označován jako instance případu užití. Use Case (případ užití) - kolekce úspěšných a neúspěšných scénářů, které mají něco společného a podporují konkrétní cíl.

Use Case Hranice systému Aktoři Use Cases - případy užití (identifikované společně s aktory) Relace, vazby

Příklad použití - bankomat stačí vám tento zápis k vytvoření aplikace?

Use Case a scénáře Scénář 3 Scénář 2 Scénář 1

Formálnost UC Brief - nejvyšší abstrakce, většinou jeden hlavní scénář, např. Proces prodeje Casual - pokrývá více scénářů, např. Zpracování objednávek Fully dressed - detailně zpracovány všechny kroky, obsahují sekce Preconditions a Guaranties

Styl Black-box Nejčastější způsob zapsání UC. Nepopisují vnitřní práci systému, ale odpovědnosti systému za určité činnosti. Styl Black-box Styl White-box Systém zaznamenává objednávky. Systém zapisuje objednávky do databáze...(nebo hůře)...systém generuje SQL INSERT pro objednávku

Šablona Primary Actor Stakeholders and Interests Preconditions Success Guarantee Main Success Scenario (také označován jako Basic Flow) Extensions (také označovány jako Alternative Flow) Special Requirements Technology and Data Variations List Frequency or Occurence Open Issues

Příklad scénáře - nákup v samoobsluze

Příklad

Basic Flow

Alternative Flow

Special Requirements/Technology

Jak často se opakuje, na co je potřeba si dát pozor

User Stories

User Story Termín z XP, Scrum Textový popis požadavku na budoucí software v řeči, kterou denně používá uživatel Psáno na malém papírku, kartičce (aby nenarostl do velkých rozměrů) User Stories jsou psány zákazníkem

User Story Students can purchase monthly parking passes online. Parking passes can be paid via credit cards. Parking passes can be paid via PayPal. Professors can input student marks. Students can obtain their current seminar schedule. Students can order official transcripts. Students can only enroll in seminars for which they have prerequisites. Transcripts will be available online via a standard browser.

Storyboard

IEEE 830

IEEE 830 IEEE Recommended Practice for Software Requirements Specification Doporučený přístup ke specifikaci SW požadavků Definuje zaměření (scope) - Popis praktik SRS - SRS za účelem vývoje SW - Částečně za účelem výběru SW Odkazy na relevantní standardy IEEE - IEEE 610.12 Standard Glossary of Software Engineering Terminology - IEEE 1042 Guide to SW Configurations Management Definice - Kontrakt, zákazník, dodavatel, uživatel.

Náplň IEEE 830 SRS by měla být: Čím se zabývat: - Funkcionalita - Externí rozhraní - Výkon - Atributy - Návrhová omezení - Correct (přesná) - Unambiguous (jednoznačná) - Complete - Consistent - Ranked for importance (ohodnocená podle důležitosti) - Verifiable (ověřitelná) - Modifiable (přizpůsobitelná) - Traceable (sledovatelná)

Obsah SRS podle IEEE 830

Příklad - šablona dle IEEE 830

FURPS+

FURPS+ Systém klasifikace požadavků z pohledu architektury navrhovaného systému Autorem Robert Grady (HP), alternativně lze použít standard ISO 9126 Oblasti: - Functionality - funkce, bezpečnost - Usability - uživatelské rozhraní, dokumentace, nápověda - Reliability - spolehlivost, schopnost zotavení z chyby - Performance - odezva, přesnost, propustnost, využitelnost zdrojů - Supportability - podporovatelnost, udržitelnost, lokalizace + znamená, že bychom neměli zapomenout ani na: - Návrhové, implementační, fyzické požadavky

Funkční požadavky, které ovlivňují architekturu

Transformace požadavků FURPS do výsledného produktu

Podpora nástroji Application lifecycle management

Požadavky na nástroj Automatizace a usnadnění činností. Kontrola konzistence modelů. Traceability. Znovupoužití. Možnost generování GUI. Sledovat a řídit proces vývoje SW.

Jira