Szoftverkövetelmény-elemzés példával

⚡ Okos összefoglaló

A szoftverkövetelmény-elemzés funkcionális és nem funkcionális állításokra bontja az érdekelt felek igényeit, üzleti, architektúrális és rendszerszinten rangsorolja azokat, majd mindegyiket minőségi attribútumok alapján ellenőrzi, hogy tesztelhető, tracmegvalósítható, priorizált specifikáció.

  • 📐 Követelménytípusok: Az üzleti, az építészeti és tervezési, valamint a rendszer- és integrációs követelmények alkotják azt a három szintet, amelyek minden szoftverspecifikációt strukturálnak.
  • 🔀 Funkcionális vs. nem funkcionális: A funkcionális utasítások leírják, hogy mit kell tennie a rendszernek, míg a nem funkcionális utasítások mérhető teljesítmény-, biztonsági és használhatósági célokat határoznak meg.
  • ???? Alternatív források: Kollégák, korábbi kiadások, régebbi követelménydokumentumok, hibajelentések és telepítési útmutatók biztosítják a követelményeket, ha hiányoznak a hivatalos eligazítások.
  • Minőségi tulajdonságok: Atomic, egyedileg azonosított, teljes, következetes, tracA teljesíthető, priorizált és tesztelhető a hét tulajdonság, amelynek minden követelménynek meg kell felelnie.
  • 🔗 Végtől végig Tracképesség: Az üzleti követelmények a tervhez, a terv a kódhoz, a kód pedig a tesztesetekhez kapcsolódnak, így a hatókör és a lefedettség a projekt során végig látható marad.
  • 🎯 Tesztelhető megfogalmazás: A homályos kifejezéseket, mint például az „oldalanként” és az „elfogadható idő”, cseréld le megnevezett oldalakra és mérhető célokra, például 5 másodpercre.

Szoftverkövetelmények elemzése

A szoftverkövetelmény egy funkcionális vagy nem funkcionális igény, amelyet meg kell valósítani a rendszerben. A funkcionális azt jelenti, hogy egy adott szolgáltatást nyújt a felhasználónak.

Például egy banki alkalmazás kontextusában a funkcionális követelmény az, hogy amikor az ügyfél az „Egyenleg megtekintése” lehetőséget választja, képes legyen megtekinteni a legfrissebb számlaegyenlegét.

Egy szoftverkövetelmény lehet nem funkcionális is, például egy teljesítménykövetelmény. Például egy nem funkcionális követelmény előírhatja, hogy a rendszer minden oldalának 5 másodpercen belül be kell töltődnie a felhasználók számára.

Szóval alapvetően szoftverigény a

  • Funkcionális vagy
  • Nem működőképes

szükség amit be kell építeni a rendszerbe. A szoftverkövetelményeket általában utasítások formájában fejezik ki.

Követelmények típusai

Üzleti követelményekEzek a projekt üzleti tervéből vett magas szintű követelmények. Például egy mobilbanki szolgáltató rendszer Délkelet-Ázsiában nyújt banki szolgáltatásokat. India esetében az üzleti követelmény a számlaösszesítő és a pénzátutalás, míg Kína esetében a számlaösszesítő és a számlafizetés.

Ország Banki funkciókat vagy szolgáltatásokat nyújtó vállalat
India Számlaösszesítő és pénzátutalás
Kína Számlaösszefoglaló és Bill Költségek

Archiszerkezeti és tervezési követelményekEzek a követelmények részletesebbek, mint az üzleti követelmények, és meghatározzák a megoldás architektúráját. Meghatározzák az üzleti követelmény megvalósításához szükséges általános tervet. Egy oktatási szervezet esetében a tipikus architektúrai és tervezési felhasználási esetek közé tartozik a bejelentkezés, a kurzus részletei és a beiratkozás. A követelmény az alábbiak szerint alakul.

Banki használati eset Követelmény
Bill Költségek Ez a használati eset leírja, hogy az ügyfél hogyan jelentkezhet be a netbanki szolgáltatásba, és hogyan használhatja a Bill Fizetési lehetőség. Az ügyfél megtekintheti a regisztrált számlázók kiegyenlítetlen számláinak irányítópultját. Az ügyfél hozzáadhat, módosíthat és törölhet egy számlázó adatait. Az ügyfél SMS- és e-mail-értesítéseket konfigurálhat a különböző számlázási műveletekhez. Az ügyfél megtekintheti a korábban kifizetett számlák előzményeit. Ezt a használati esetet banki ügyfelek vagy ügyfélszolgálati személyzet indítja el.

Rendszer- és integrációs követelményekA legalacsonyabb szinten a rendszer- és integrációs követelmények találhatók. Ez részletes leírást ad minden egyes követelményről. Felhasználói történetek formájában rögzíthetők mindennapi üzleti nyelven. A követelmények bőségesen tartalmaznak részleteket, így a fejlesztők elkezdhetik a kódolást. A Bill Az alábbi fizetési modul példa a számlázó hozzáadásának követelményét mutatja be.

Bill Költségek követelmények
hozzáad BillERS Közműszolgáltató neve, Kapcsolati ügyfélszám, Automatikus fizetések – Igen/Nem, Teljes összeg kifizetése Bill – Igen/Nem, automatikus fizetési limit – Ne fizessen, ha Bill meghaladja a meghatározott összeget

Előfordulhat, hogy egy projekthez nem kapsz semmilyen követelményt vagy dokumentumot, amellyel dolgozhatnál. Még ebben az esetben is vannak más követelményinformációs források, amelyekre támaszkodhatsz a szoftver vagy a tesztterv alapjául. Az alábbiakban felsoroljuk a további követelményforrásokat, amelyekre támaszkodhatsz.

A követelmények egyéb forrásai

  • Tudásátadás az adott projekten már dolgozó kollégáktól vagy alkalmazottaktól
  • Beszélje meg a projektet az üzleti elemzővel, a termékmenedzserrel, a projektvezetővel és a fejlesztőkkel
  • Elemezze a rendszer korábbi, már megvalósított verzióját
  • A projekt régebbi követelménydokumentumainak elemzése
  • Revkorábbi hibajelentések megtekintése; egyes hibajelentéseket fejlesztési kérésekké alakítottunk át, amelyek a jelenlegi verzióban is megvalósíthatók
  • Ellenőrizze a telepítési útmutatót, ha van ilyen, hogy megtudja, milyen telepítésekre van szükség.
  • Elemezze a csapat által megvalósítani kívánt szakterületet vagy iparági ismereteket

Bármelyik követelményforrást is használja, dokumentálja azokat egy megosztott formátumban, és kérje meg tapasztalt csapattagok véleményét.

Hogyan elemezzük a követelményeket

Vegyünk egy oktatási szoftverrendszer példáját, ahol a hallgatók különböző kurzusokra regisztrálhatnak.

Vizsgáljuk meg, hogyan elemezhetjük a követelményeket. Minden követelménynek meg kell felelnie egy sor szabványos minőségi tulajdonságnak, amelyek a következőket tartalmazzák:

  • Atomic
  • Egyedülállóan azonosítva
  • teljes
  • Következetes és egyértelmű
  • Tracehető
  • Elsőbbséget élvez
  • Tesztelhető

Követelmények elemzése

A következő táblázat három oszloppal szemlélteti az egyes attribútumokat:

  1. Az első oszlop azt jelzi, hogy „minőségi követelmény”
  2. A második oszlop azt jelzi, hogy „rossz követelmény némi problémával”
  3. A harmadik oszlop ugyanazt a követelményt mutatja, „jó követelménnyé alakítva”.
Követelmény Minőség Példa rossz követelményre Példa a jó követelményre
Atomic A hallgatók alap- és posztgraduális képzésekre iratkozhatnak be A hallgatók alapképzésben részt vehetnek. A hallgatók posztgraduális képzésben részt vehetnek.
Egyedülállóan azonosítva 1- A hallgatók alapképzésben részt vehetnek. 1- A hallgatók posztgraduális képzésben részt vehetnek. Kurzusbeiratkozás. A hallgatók alapképzéses kurzusokra iratkozhatnak be. A hallgatók posztgraduális kurzusokra is beiratkozhatnak.
teljes A professzor felhasználó felhasználónevének, jelszavának és egyéb releváns információinak megadásával jelentkezik be a rendszerbe A professzor felhasználó felhasználónevének, jelszavának és tanszéki kódjának megadásával jelentkezik be a rendszerbe
Következetes és egyértelmű Egy hallgatónak van alapképzési vagy posztgraduális képzése, de mindkettő nem. Egyes kurzusok egyetemi és posztgraduális hallgatók számára is nyitottak lesznek Egy hallgatónak vagy egyetemi vagy posztgraduális diplomája van, de mindkettő nem
Tracehető Fenntartja a hallgatói információkat a BRD req.ID-hez leképezve? Tanulói információk karbantartása – Leképezve a BRD-req ID 4.1-hez
Elsőbbséget élvez Regisztrált hallgató – 1. prioritás. Felhasználói adatok karbantartása – 1. prioritás. Kurzusok beiratkozása – 1. prioritás. Értékelőlap megtekintése – 1. prioritás Hallgató regisztrálása – 1. prioritás. Felhasználói adatok karbantartása – 2. prioritás. Kurzusok beiratkozása – 1. prioritás. Értékelőlap megtekintése – 3. prioritás
Tesztelhető A rendszer minden oldala elfogadható időn belül betöltődik A hallgatók regisztrációja és a kurzusok felvétele a rendszer oldalai 5 másodpercen belül betöltődnek

Értsük meg részletesebben ezeket a tulajdonságokat, kezdve azzal, hogy Atomic.

Atomic

Atomic

Minden követelménynek atomi szintűnek kell lennie, ami azt jelenti, hogy a legalacsonyabb részletességi szinten kell szerepelnie, és nem bontható tovább összetevőkre. A következő példák az atomi és a nem atomi követelményeket hasonlítják össze.

Folytatva az oktatási területi rendszer példáját: Itt a rossz követelmény a következő: „A hallgatók beiratkozhatnak alap- és posztgraduális kurzusokra”. Ez egy rossz követelmény, mert nem atomi – két különböző entitást, alap- és posztgraduális kurzusokat kever össze. A megfelelő jó követelmény két követelményre osztja szét. Az egyik követelmény az alapképzési kurzusokra való beiratkozást, a másik pedig a posztgraduális kurzusokra való beiratkozást fedi le.

Egyedülállóan azonosított

Egyedülállóan azonosított

A következő minőségi attribútum az egyedi azonosító. A rossz példában két különálló követelmény ugyanazzal az 1. azonosítószámmal rendelkezik. Ha egy csapat egy követelményre az azonosítójával hivatkozik, akkor nem világos, hogy melyikre gondol. A jó követelmény az 1. szakasz – Kurzusbeiratkozás – alá csoportosítja őket, az 1.1. (alapképzési kurzusokra való beiratkozás) és az 1.2. (posztgraduális kurzusokra való beiratkozás) alkövetelményekkel.

teljes

teljes

Minden követelménynek teljesnek kell lennie. Például itt a rossz követelmény azt mondja ki, hogy „a professzor felhasználója a felhasználónevének, jelszavának és egyéb releváns információknak a megadásával jelentkezik be a rendszerbe”. Az „Egyéb releváns információk” homályos. Egy teljes követelmény pontosan felsorolja azokat a mezőket, például a tanszékkódot, amelyeket a professzornak meg kell adnia.

Következetes és egyértelmű

Következetes és egyértelmű

Minden követelménynek következetesnek és egyértelműnek kell lennie. A rossz példában az egyik követelmény kimondja, hogy „A hallgatónak vagy alapképzésben, vagy posztgraduális képzésben kell részt vennie, de nem mindkettőben”, míg egy másik szerint „Néhány kurzus mind az alapképzésben, mind a posztgraduális képzésben részt vevő hallgatók számára nyitott lesz”.

Az első követelmény azt sugallja, hogy a kurzusokat két kizárólagos kategóriába sorolják, de a második követelmény ellentmond ennek, mivel bizonyos kurzusokat mindkét csoport számára megnyit.

A jó követelmény feloldja az ellentmondást azáltal, hogy egyértelműen kimondja, hogy minden kurzust vagy alapképzésben, vagy mesterképzésben kell megjelölni, és egy hallgató csak egy kategóriába tartozó kurzusokra iratkozhat be.

Tracehető

Tracehető

Minden követelménynek meg kell felelnie trachasználható, mivel a követelmények több szinten léteznek: üzleti, építészeti és tervezési, valamint rendszer- és integrációs szinten.

Amikor egy üzleti követelményt építészeti és tervezési követelménnyé, vagy építészeti és tervezési követelményt rendszer- és integrációs követelménnyé alakítunk, tracA használhatóságot meg kell őrizni. Minden üzleti követelménynek egy vagy több építészeti és tervezési követelményhez kell megfeleltetni. A rossz példában, a „Hallgatói információk karbantartása – BRD követelményazonosítóhoz van rendelve?”, a követelményazonosító hiányzik.

A jó követelmény ugyanazt az állítást rögzíti, de explicit módon megfelelteti magát a BRD 4.1-es azonosítójú követelménynek. Minden követelménynek tartalmaznia kell egy tracteljesítőképességi térképpingA rendszer- és integrációs követelményeknek meg kell felelniük az azokat megvalósító kódnak és az azokat ellenőrző teszteseteknek is.

TracA teljesítőképesség tehát a projekt teljes folyamatában végponttól végpontig érvényesül.

Elsőbbséget élvez

Minden követelményt rangsorolni kell, hogy a csapat tudja, mit kell először megvalósítani, és mi várhat. A rossz példában a Hallgató regisztrálása, a Felhasználói adatok karbantartása, a Kurzusok regisztrálása és a Jelentés megtekintése mind 1-es prioritásúra van állítva. Minden nem lehet 1-es prioritású, ezért a követelményeket reálisan kell rangsorolni. A jó példa a Hallgató regisztrálása és a Kurzusok regisztrálása funkcióknak adja a legmagasabb, 1-es, a Felhasználói adatok karbantartása funkcióknak a legmagasabb, a Jelentés megtekintése funkcióknak pedig a legmagasabb prioritást.

Tesztelhető

Minden követelménynek tesztelhetőnek kell lennie. A rossz példa, miszerint „a rendszer minden oldala elfogadható időkereten belül betöltődik”, két okból sem tesztelhető. Először is, az „minden oldal” több tucat oldalt jelenthet, ami felduzzasztja a tesztelési erőfeszítéseket. Másodszor, az „elfogadható időkeret” nincs meghatározva – kinek elfogadható, és milyen viszonyítási alaphoz képest? A jó követelmény mindkét problémát megoldja az adott oldalak elnevezésével („hallgatók regisztrálása és kurzusok beiratkozása oldalak”), és egy mérhető, 5 másodperces cél kitűzésével.

GYIK

A mesterséges intelligencia eszközei csoportosítják az érdekelt felek visszajelzéseit, megjelölik a kétértelmű nyelvezetet, és észlelik az ismétlődő vagy hiányzó követelményeket a nagyobb alapkövetelményekben. Az üzleti elemzők továbbra is ellenőrzik az egyes javaslatokat a kérésre vonatkozó rekordokkal szemben, mielőtt azok bekerülnének a jóváhagyott követelménykészletbe.

A GitHub Copilot és a GPT rövid promptok alapján felhasználói történeteket, elfogadási kritériumokat és üzleti szabályokat készít. Egy üzleti elemző minden kimenetet olyan minőségi attribútumok alapján vizsgál, mint az atomi, tesztelhető és tracmegvalósítható, mielőtt jóváhagyott követelménnyé válik.

A szoftverkövetelmény-specifikáció (SZP) egy hivatalos dokumentum, amely felsorolja a rendszer funkcionális követelményeit, nem funkcionális követelményeit, interfészeit és korlátozásait. Az IEEE 830 és az ISO 29148 szabványokat a legtöbb csapat követi SRS írásakor.

A követelménygyűjtés, vagyis az igényfelmérés során nyers igényeket gyűjtünk az érdekelt felektől. A követelményelemzés ezután rendszerezi, finomítja és ellenőrzi ezeket az igényeket a hét minőségi jellemző alapján, így a kivitelező csapat világos, tesztelhető állításokat kap.

Használjon olyan technikákat, mint a MoSCoW (Must, Should, Could, Would), Kano-analízis, súlyozott pontozás vagy a késedelem költsége. Kombinálja az üzleti értéket a szállítási ráfordítással és kockázattal, majd a fejlesztés megkezdése előtt egyezzen meg a megrendelésről a szponzorral és a terméktulajdonossal.

Követelmények TracAz eability Matrix minden követelményt összekapcsol a tervezési elemével, a kódkomponensével és a tesztesetével. Előre, hátra és kétirányú adatokat ad meg. tracrugalmasság, így semmi sem marad ki, semmi sem kerül túlgyártásra, vagy megfelelő teszt nélkül kerül kiszállításra.

Kétértelmű megfogalmazás, nem rangsorolt ​​ügyfeladat-felhalmozódás, hiányzó ügyek tracA rugalmasság, a megoldási ötletek és az üzleti igények keverése, valamint a hatókör befagyasztása változtatások kontrollja nélkül azok a hibák, amelyek a legtöbb átdolgozást, csúszást az ütemtervben és a gyártási hibákat okozzák.

Népszerű eszközök közé tartozik a Jama Connect, IBM AJTÓK, Modern Requirements mert Azure DevOps, Jira és Xray, a Visure Requirements ALM és a Blueprint. A csapatok a szabályozási igények, a csapat mérete és a mélységük alapján választanak platformot. tracképesség szükséges.

Foglald össze ezt a bejegyzést a következőképpen: