Warning
This page is located in archive.

Funkcionální a nefunkcionální požadavky

  • vznikají v průběhu: komunikace se zákazníkem (koncovými uživateli)
    • včetně důsledků realizace projektu
  • vlastnosti jednotlivých požadavků:
    • konkétnost (Specific)
    • měřitelnost (Measurable)
    • providitelnost (Archierable)
    • vztah k danému byznys plánu (Rewarding)
    • realizovatelný v daném čase (Time bound)
    • testovatelnost
  • postup:
    1. sběr požadavků:
      • identifikace zainteresovaných stran
        • vrcholový management
        • organizace s horizontálním začleněním vůči zákazníkovi
      • prostředky
        • možnost návrhu prázdných prototypů (vizualizace aplikace)
        • use-case (zjednodušená verze, případně rozšířené o scénáře)
    2. analýza požadavků
      • řešení nejasných, nekompletních, protichůdných požadavků
    3. zaznamenání požadavků
      • text, use-case, specifikace procesů
  • doporučení:
    • dokumentejte přesně, úplně a srozumitelně
    • dokumentujte požadavky, nikoliv jejich řešení
    • dokumentujte strukturovaně, nepřeskakujte mezi “souvisejícími” požadavky
      • vyhnete se: nekonzistenci dokumentace

Typy požadavků

  • funkcionální požadavek
    • definuje funkcionalitu systému, případně jeho komponent
    • popis vstup/chování/výstup
  • nefunkcionální požadavek
    • “architektura”
      • definuje:
        • code architecture
          • alternativy: objektový návrh, MVC, integrace/SOA
        • data architecture
          • alternativy:
            • OLTP (Online Transaction Processing)
            • OLAP (Online Analysis Processing)
            • Master Data Management
              • zajišťuje: konzistenci data napříč decentralizovanými zdroji
        • Busines Inteligence
          • součásti: reporting, online analýza, data mining, prediktivní analýza
        • datové modely
      • možnosti volby:
        • desktop, client-server, distribuované, centralizované/decentralizované, služby, cloud
    • výkonnostní požadavek
      • bezpečnost
      • dostupnost (průměrný čas mezi výpadky)
      • stabilita
      • kapacita (zdroje aktuální, budoucí)
    • robustnost
    • interoperatibilita, znovupoužitelnost
    • design
      • užitelnost (user friendly)
    • záloha a obnova systému
    • certifikace komponent
    • dokumentace
    • efektivita
    • license
    • sítě
    • soukromí, anonymizace
    • testovatelnost
      • (test výsledků na konzistence, úplnost, jednoznačnost, měřitelnost,ověřitelnost v praxi)
    • cena
  • odvozené požadavky
    • (vyvozují z výkonnostních a funkcionálních)

Poznámky pod čarou

Metodiky vývoje softwaru

  • v praxi zejména používaný
    • Vodopád
      • fáze:
        1. zjišťování požadavků
        2. návrh systému
        3. implementace
        4. testování
        5. údržba
      • přechody: pouze mezi sousedy (dopředně i zpětně)
    • Inkrementální vodopád
      • projekt rozdělen do série “malých” vodopádů
    • Spirální přístup
      • fáze:
        1. analýza
          • součásti: stanovení cílů, stanovení alternativ
        2. hodnocení
          • součásti: vyhodnocení alternativ, identifikace, řešení rizik
        3. vývoj a testování
        4. plánování další iterace
      • výstup: vytváření neúplných prototypů
    • Extrémní programování
      • agilní technika
      • celek jako propojení dílčích, nutných, jednoduchých a jednoúčelových částí
      • fáze
        1. zadání
          • obsahuje: požadavky + akceptační kritéria
        2. plánování
        3. návrh
          • častá: refaktorizace
        4. implementace
          • prvotní utváření testů
          • programování ve dvojicích
            • zabraňuje: autorská slepota
          • integrace dílčích částí do celku
            • probíhá v krátkých vývojových cyklech
            • prováděna jedinou dvojicí programátorů
          • zdrojové kódy vlastní všichni programátoři
            • každý přispívá k celku
            • každý odpovídá za celek
          • optimalizace se provádí až nakonec
        5. testování
        6. dodávka a akceptace
          • Zákazník však může akceptační kritéria doplnit a iniciovat tak další cyklus vývoje.
  • podpůrné prostředky:
    • Ganttův diagram
      • zobrazuje: průběh a souslednost jednotlivých úloh na časové ose
      • využití k: určení kritické cesty
        • nejdelší cesta v projektu od počátku do konce.
        • úlohy na kritické cestě
          • jejich zdržení nutně vede na zdržení celého projektu
    • PERT
      • graf zobrazující souslednost a časovou náročnost jednotlivých úloh
      • využití:
        • určení času, který potřebujeme pro dokončení každé úlohy
        • učení minimálního času pro dokončení celého projektu.
courses/a4m33nms/cviceni/pozadavky.txt · Last modified: 2014/09/29 13:06 by rimnacm