Egy rendszer szoftverkövetelményei az a leírás ami megmondja, hogy mit kell a rendszernek tennie, milyen szolgáltatást vagy szolgáltatásokat nyújt, és milyen korlátok vonatkoznak a működésére. Az IEEE Szoftverfejlesztési Terminológia Szabványos Szószedete a követelményt a következőképpen határozza meg:
Egy felhasználó által igényelt feltétel vagy képesség egy probléma megoldásához vagy egy cél eléréséhez Egy olyan feltétel vagy képesség, amelynek egy rendszernek vagy rendszerkomponensnek meg kell felelnie vagy rendelkeznie kell ahhoz, hogy megfeleljen egy szerződésnek, szabványnak, specifikációnak vagy más formálisan előírt dokumentumnak. Az 1. vagy 2. pontban szereplő állapot vagy képesség dokumentált ábrázolása
A szoftverkövetelményekkel kapcsolatos tevékenységek több részre oszthatók: előhívásra, elemzésre, specifikációra és kezelésre.
Megjegyzendő, hogy a „szoftverkövetelmények” kifejezés a szoftverkiadási jegyzetben is szerepel annak magyarázatára, hogy a szoftvercsomagoktól függően mik szükségesek egy adott szoftver összeállításához/telepítéséhez/használatához.
Igényfelmérés Az igényfelmérés az érdekelt és érintett felektől és más forrásokból származó követelmények összegyűjtése és felfedezése. Többféle technika alkalmazható, például közös alkalmazástervezési (angolul joint application design, röviden JAD) ülések, interjúk, dokumentumelemzés, fókuszcsoportok stb. A követelmények kidolgozásának első lépése a beazonosítás.
Elemzés Az elemzés az előhívásból kiinduló logikai lebontás. Az elemzés magában foglalja az egyes követelmények gazdagabb és pontosabb megértését, valamint a követelménycsoportok több, egymást kiegészítő módon történő ábrázolását.
A követelmények rangsorolása vagy triázsa egy másik tevékenység, amely gyakran az elemzést követő lépés. Ez az agilis szoftverfejlesztés tervezési fázisára vonatkozik, pl. a Planning poker esetében, azonban a projekt kontextusától és természetétől, valamint a követelményektől vagy a fejlesztendő terméktől/szolgáltatástól függően ez nem feltétlenül ugyanaz.
Specifikáció A specifikáció magában foglalja az összegyűjtött követelményismeret tartós és jól szervezett módon történő ábrázolását és tárolását, amely elősegíti a hatékony kommunikációt és változáskezelést. A használati esetek, a felhasználói történetek, a funkcionális követelmények és a vizuális elemzési modellek népszerű választások a követelményspecifikációhoz.
Érvényesítés Az érvényesítés olyan technikákat foglal magában, amelyek megerősítik, hogy a megfelelő követelményrendszert határozták meg a projekt vállalati céljait kielégítő megoldás megalkotásához.
Vezetés A követelmények a projektek alatt változhatnak, és gyakran mennyiségileg sok van belőlük. A kezelése ennek a változásnak kiemelkedő fontosságú annak biztosítása érdekében, hogy a megfelelő szoftver készüljön az érintett felek számára.
Eszköztámogatás a követelménymérnökséghez
Eszközök a követelmények felderítéséhez, elemzéséhez és validálásához Figyelembe véve, hogy ezek a tevékenységek magukban foglalhatnak olyan eszközöket, mint a megfigyelési jelentések (felhasználói megfigyelések), kérdőívek (interjúk, felmérések és közvélemény-kutatások), használati esetek, felhasználói történetek; olyan tevékenységek, mint a követelményworkshopok (charrettes), ötletelés, gondolattérképezés, szerepjáték; sőt prototípus-készítés; a fenti képességek némelyikét vagy mindegyikét biztosító szoftvertermékek felhasználhatók ezen feladatok elvégzéséhez.
Van legalább egy szerző, aki kifejezetten a FreeMindhoz hasonló gondolattérkép-eszközök, illetve a Concordionhoz hasonló példaeszközök specifikációjának használatát támogatja. Ezek után a tevékenységekből származó gondolatok és állítások összegyűjthetők és beoszthatók wikik és más együttműködési eszközök, például a Trello segítségével. A ténylegesen megvalósított funkciók és a szabványoknak való megfelelés eltér termék.
Eszközök a követelményspecifikációhoz Egy szoftverkövetelmény-specifikációt (SRS) tartalmazó dokumentum létrehozható általános célú szoftverekkel, például szövegszerkesztővel vagy számos speciális eszköz egyikével. Ezen eszközök némelyike képes SRS-dokumentumok importálására, szerkesztésére, exportálására és közzétételére. Hasznos lehet, ha az SRS dokumentumokat szabványosított struktúra és módszertan, például az ISO/IEC/IEEE 29148:2018 szabvány szerint készítjük el. Hasonlóképpen, a szoftverek használhatnak valamilyen szabványt a követelmények importálására vagy exportálására (például a ReqIF-et), vagy egyáltalán nem engedélyezhetik ezeket az adatcseréket.
Eszközök a követelménydokumentumok ellenőrzéséhez Az ilyen eszközök ellenőrzik, hogy vannak-e hibák a követelménydokumentumban valamilyen elvárt struktúra vagy szabvány szerint.
Eszközök a követelményösszehasonlításhoz Az ilyen eszközök két követelményrendszert hasonlítanak össze valamilyen elvárt dokumentumstruktúra és szabvány szerint.
Eszközök a követelmények egyesítéséhez és frissítéséhez Az ilyen eszközök lehetővé teszik a követelménydokumentumok egyesítését és frissítését.
Eszközök a követelmények nyomon követéséhez Az ilyen eszközök lehetővé teszik a követelmények nyomon követését más elemekre, például modellekre és forráskódra (előrehaladó nyomon követhetőség), vagy korábbiakra, például üzleti szabályokra és korlátozásokra (visszafelé haladó nyomon követhetőség).
Eszközök modellalapú szoftverekhez vagy rendszerkövetelmény-mérnökséghez A modellalapú rendszermérnökség (MBSE) a modellezés formalizált alkalmazása a rendszerkövetelmények, a tervezés, az elemzés, az ellenőrzés és az érvényesítési tevékenységek támogatására, amely a koncepciótervezési fázisban kezdődik, és a fejlesztés, valamint a későbbi életciklus-fázisok során folytatódik. A követelménymérnökség egyes szakaszaihoz modellalapú megközelítést, más szakaszokhoz pedig hagyományosabbat is lehet alkalmazni. Nagyon sokféle kombináció lehetséges.
A formalitások és a bonyolultság szintje az alkalmazott mögöttes módszertantól függ (például az i* sokkal formálisabb, mint a SysML, sőt még formálisabb, mint az UML).
Eszközök az általános követelménymérnökséghez Az ebbe a kategóriába tartozó eszközök a korábban említett képességek és más, például a követelménykonfiguráció-kezelés és az együttműködés valamilyen keverékét kínálhatják. A ténylegesen megvalósított funkciók és a szabványoknak való megfelelés termékenként eltérő.
Vannak még ennél is hatékonyabb vagy általánosabb eszközök, amelyek más szakaszokat és tevékenységeket támogatnak. ALM eszközökként vannak besorolva.
Jegyzetek
Fordítás
További olvasmányok
Burek, Paul (2008). Creating clear project requirements differentiating "what" from "how". Conference Paper. Requirements Management, Business Analysis, Scope Management. Koopman, Philip (2020). Embedded Software Requirements . Fall Lectures. IEEE Xplore Search. "Software Requirements".
Kapcsolódó szócikkek Szoftverkövetelmények specifikációja Nem funkcionális követelmény Követelményelemzés
Kategória:Szoftverfejlesztés