Softwarové požadavky - Software requirements
Softwarové požadavky je pole uvnitř softwarové inženýrství která se zabývá stanovením potřeb zúčastněných stran, které mají být řešeny softwarem. IEEE Standard Glossary of Software Engineering Terminology definuje a požadavek tak jako:[1]
- Stav nebo schopnost, kterou uživatel potřebuje k vyřešení problému nebo dosažení cíle.
- Podmínka nebo schopnost, kterou musí systém nebo komponenta systému splňovat nebo vlastnit, aby vyhověl smlouvě, normě, specifikaci nebo jinému formálně uloženému dokumentu.
- Zdokumentované znázornění stavu nebo schopnosti jako v 1 nebo 2.
Činnosti související s prací se softwarovými požadavky lze obecně rozdělit na vyvolávání, analýzu, specifikaci a správu.[2]
Vyloučení
Vyvolávání je shromažďování a objevování požadavků od zúčastněných stran a dalších zdrojů. Lze použít různé techniky, jako je návrh společné aplikace (JAD) sezení, rozhovory, analýza dokumentů, focus groups atd. Elicitace je prvním krokem vývoje požadavků.
Analýza
Analýza je logické rozdělení, které vychází z elicitace. Analýza zahrnuje dosažení bohatšího a přesnějšího porozumění každému požadavku a reprezentaci souborů požadavků několika doplňkovými způsoby.
Požadavky Triage nebo stanovení priorit požadavků je další aktivita, která často následuje po analýze.[3] To se týká Agilní vývoj softwaru ve fázi plánování, např. podle Plánování pokeru, ale nemusí to být stejné v závislosti na kontextu a povaze projektu a požadavků nebo produktu / služby, která se staví.
Specifikace
Specifikace zahrnuje reprezentaci a ukládání shromážděných znalostí o požadavcích trvalým a dobře organizovaným způsobem, který usnadňuje efektivní komunikaci a řízení změn. Populární případy pro specifikaci požadavků jsou případy použití, uživatelské příběhy, funkční požadavky a modely vizuální analýzy.
Validace
Ověření zahrnuje techniky k potvrzení, že byla zadána správná sada požadavků k vytvoření řešení, které splňuje obchodní cíle projektu.
Řízení
Požadavky se během projektů mění a často jich je mnoho. Správa této změny se stává zásadní pro zajištění toho, aby byl pro zúčastněné strany vytvořen správný software.
Podpora nástrojů pro Requirements Engineering
Nástroje pro stanovení, analýzu a validaci požadavků
Vzhledem k tomu, že tyto činnosti mohou zahrnovat některé artefakty, jako je zprávy o pozorování (uživatel pozorování ), dotazníky (rozhovory, průzkumy a hlasování), případy užití, uživatelské příběhy; činnosti, jako je požadavek workshopy (charrettes ), brainstorming, mapování mysli, hraní rolí; a dokonce, prototypování;[4] k dosažení těchto úkolů lze použít softwarové produkty poskytující některé nebo všechny tyto funkce.
Existuje alespoň jeden autor, který se výslovně zasazuje o nástroje pro mapování mysli jako Svobodná mysl; a alternativně pro použití specifikace příkladem nástroje jako Harmonika.[5]Kromě toho lze shromažďovat a organizovat nápady a prohlášení vyplývající z těchto aktivit wiki a další nástroje pro spolupráci jako Trello Skutečně implementované funkce a shoda s normami se u jednotlivých produktů liší.
Nástroje pro specifikaci požadavků
Dokument se specifikací softwarového požadavku (SRS) lze vytvořit pomocí softwarového nástroje, který je obecný jako textový procesor nebo elektronická tabulka; ale k provádění této činnosti existuje několik specializovaných nástrojů.
Některé z těchto nástrojů mohou importovat, upravovat, exportovat a publikovat dokumenty SRS. Mohou nebo nemusí pomoci uživateli dodržovat standardy, jako je IEEE 2918-2011, při sestavování požadavků podle určité struktury. Stejně tak nástroj může nebo nemusí použít některý standard k importu nebo exportu požadavků (například ReqIF ); nebo tyto výměny vůbec nepovolit.
Nástroje pro ověření dokladu požadavků
Nástroje tohoto druhu ověřují, zda v dokumentu požadavků nejsou nějaké chyby podle nějaké očekávané struktury nebo normy.
Nástroje pro srovnání požadavků
Nástroje tohoto druhu porovnávají dvě sady požadavků podle očekávané struktury dokumentu a standardu.
Nástroje pro sloučení a aktualizaci požadavků
Nástroje tohoto druhu umožňují slučování a aktualizaci dokumentů požadavků.
Nástroje pro sledovatelnost požadavků
Nástroje tohoto druhu umožňují dohledat požadavky na jiné artefakty, jako jsou modely a zdrojový kód (sledovatelnost vpřed) nebo na předchozí, jako jsou obchodní pravidla a omezení (zpětná sledovatelnost).
Nástroje pro modelování softwaru nebo inženýrství systémů
Modelové systémové inženýrství (MBSE) je formální aplikace modelování na podporu systémových požadavků, návrhu, analýzy, měření,[6] ověřovací a ověřovací činnosti začínající ve fázi koncepčního návrhu a pokračující během vývoje a pozdějších fází životního cyklu. Je také možné přijmout modelový přístup pro některé fáze inženýrství požadavků a pro více tradiční pro ostatní. Je možné mnoho kombinací.
Úroveň formality a složitosti závisí na použité základní metodice (například já * je mnohem formálnější než SysML a ještě formálnější než UML )
Nástroje pro obecné požadavky na inženýrství
Nástroje v této kategorii mohou poskytovat určitou kombinaci funkcí zmíněných dříve a dalších, například správu konfigurace požadavků a spolupráci. Skutečně implementované funkce a shoda s normami se u jednotlivých produktů liší.
Existují ještě schopnější nebo obecnější nástroje, které podporují další fáze a činnosti. Jsou klasifikovány jako ALM nástroje.
Viz také
- Požadavek
- Inženýrské požadavky
- Specifikace softwarových požadavků (SRS)
- Komplexní a robustní proces specifikace požadavků
- Seznam nástrojů pro správu požadavků
- Nefunkční požadavek
- Výkonnostní požadavky, na které se vztahuje Testování výkonu softwaru
- Bezpečnostní požadavky
- Bezpečnostní požadavky
Reference
- ^ IEEE Computer Society (1990). „Standardní slovník IEEE terminologie softwarového inženýrství“. Standard IEEE.
- ^ „Průvodce po znalostním softwarovém inženýrství“. IEEE Computer Society. Citováno 11. ledna 2013.
- ^ Davis, Alan Mark. (2005). Jen dost správy požadavků: kde se vývoj softwaru setkává s marketingem. New York: Dorset House Pub. ISBN 0-932633-64-1. OCLC 57211148.
- ^ https://www.liquidplanner.com/blog/7-tools-to-gather-better-software-requirements/
- ^ Laplante, Phillip A. (2009). "Požadavek na software a systémy". CRC Press. Chybějící nebo prázdný
| url =
(Pomoc) - ^ Monperrus, M .; Baudry, B .; Champeau, J .; Hoeltzener, B .; Jézéquel, J. M. (2011). „Automatizované měření modelů požadavků“. Deník kvality softwaru. 21 (1): 3–22. doi:10.1007 / s11219-011-9163-6.
Další čtení
- Wiegers, Karle; Beatty, Joy (2013). Softwarové požadavky (3. vyd.). Microsoft Press. ISBN 978-0-7356-7966-5.
- Cockburn, Alistair (2001). Psaní případů efektivního použití. Pearson Education. ISBN 0-201-70225-8.
- Leffingwell, Dean (2000). Správa softwarových požadavků: Jednotný přístup. Addison-Wesley Professional. ISBN 0-201-61593-2.
- Burek, Paul (2008). Vytváření jasných požadavků na projekty rozlišující „co“ od „jak“. Konferenční příspěvek. Správa požadavků, obchodní analýza, správa rozsahu.
- Koopman, Philip (2020). Požadavky na vestavěný software. Podzimní přednášky.
- IEEE Xplore Search. „Softwarové požadavky“.