Disciplína sběr a analýza požadavků

Specifikace a analýza požadavků je první fáze vývoje softwaru. Cílem je definovat požadavky na software a popsat jeho funkčnost. Výsledkem této fáze by měly být dokumenty, které se stanou součásti smlouvy mezi zadavatelem a vývojovým týmem. Je však velký problém zjistit všechny požadavky před započetím vývoje projektu. Požadavky se totiž mění během životního cyklu projektu a jejich pochopení a identifikace je kontinuální proces.

Cíle požadavků

  • Chcete vytvořit a udržovat dohody se zákazníky a dalšími zainteresovanými stranami o tom, co by systém měl dělat a proč.
  • Aby vývojáři lépe pochopili požadavky na systém
  • Definování hranic systému
  • Vytvořit základ pro plánování technického obsahu iterací
  • Poskytnout základ pro odhad nákladů a času na vytvoření systému
  • Definovat uživatelské rozhraní pro systém, se zaměřením na potřeby uživatelů

Aktivity spojené s analýzou požadavků

  • Sběr požadavků -  komunikace se zákazníky a uživateli za účelem získání jejich požadavků na systém.
  • Analýza požadavků - identifikování nejasných požadavků, nekompletních, nejasných, nebo protichůdných a následně řešení těchto nesrovnalostí.
  • Zaznamenání požadavků - dokumentování požadavků v různých formách, jako běžný textový dokument, případy užití (use case), nebo specifikace procesů.

Požadavky je také nutno: organizovat, dokumentovat, priorizovat, filtrovat a sledovat.

Použitý model

Use case je technika pro zdokumentování případného požadavku na nový systém, nebo změny na stávající systém. Každý use case poskytuje jeden nebo více scénářů, které zaznamenávají, jak by systém měl spolupracovat s koncovým uživatelem nebo jiným systémem. 

 

Typy požadavků

  • Funkční požadavky (chování) - se používají k vyjádření chování systému zadáním jak vstupních a výstupních podmínek.
  • Doplňující požadavky (nefunkční) - vykazuje jakostní znaky:
    • Usability - Použitelnost se zabývá lidskými faktory, jako je esteticka, snadné učení, snadné použití, a tak dále
    • Reliability - Spolehlivost adresy četnost a závažnost selhání, obnovitelnost a přesnost.
    • Performance - Výkon se zabývá množstvím transakcí, jako je rychlost, rychlost, doba odezvy, a tak dále.
    • Supportability - řeší, jak těžké je udržet systém a další vlastnosti potřebné k udržení systému po jeho vydání.

Workflow 

(schéma provádění procesu)

  • Analyze problem - vytvoření dohody zachycující vyjádření o adresovaných problémech. Stakeholders i hranice projektu jsou identifikovány.
  • Understand stakeholders needs - shromažďování požadavků a pochopení potřeb uživatelů a stakeholderů = zúčastněná strana ovlivněná činností projektu
  • Define the system - stanovují se požadavky stakeholderů. Vytváří se use case diagramy pro klíčové funkce systému a určují se role. 
  • Manage the scope the system (Správa rozsahu systému) -  vize je hotová, sbírají se funkční a nefunkční požadavky, use case je prioritizován a systém lze dodat v očekávaném čase a rozpočtem. 
  • Refine the system definition (Upřesnění vymezení systému)Use cases jsou podrobně popsány, stejně jako požadavky na software.
  • Manage Changing Requirements (Správa změn požadavků) -  centrální kontrolní orgán řídí změny požadavků, a udržuje dohodu se zákazníkem.

Role

  • Systemový analytik  - vede a koordinuje požadavky elicitace a use-case modelování popisující funkčnost systému.
  • Requirements Specifier (požadavkový specifikátor) - specifikuje podrobnosti o všech funkcionalitách systému. Cílem je koordinace s dalšími požadavky a specifikacemi. Systemový analytik a Requirement Specifier úzce spolupracují s projektantem uživatelského rozhraní (User Interface Designer).
  • Softwarový architekt - zajišťuje integritu architektonicky významných use cases.
  • Requirement Reviewer (verifikátor požadavků) - ověří, že požadavky jsou vnímány a interpretovány správně ve vývojovém týmu.

Klíčové artefakty

  • Stakeholder požadavky - jsou vyvolány a přidány na “wish list”
  • Vision Document - obsahuje klíčové potřeby a funkce systému - vize . Podporuje smlouvy mezi finančním oddělením a oddělením vývoje.
  • Use-Cases Model je postaven, aby sloužil jako smlouva mezi zákazníkem, uživatelem a vývojáři systému
  • Supplementary Specification (dopňující specifikace) je doplňkem k use-case model, protože společně zachytí veškeré softwarové funkční a nefunkční požadavky -kompletní softwarová Specifikace požadavků.
  • Glossary -  Slovníček definuje společnou terminologii, která se používá v projektu.
  • Storyboards (scénáře) - spojené s případy užití slouží jako základ pro prototypy uživatelského rozhraní.

 

 

Kam dál?