Analiza softverskih zahtjeva s primjerom
โก Pametni saลพetak
Analiza softverskih zahtjeva rastavlja potrebe dionika na funkcionalne i nefunkcionalne izjave, rangira ih na poslovnoj, arhitektonskoj i sistemskoj razini, a zatim svaku provjerava u odnosu na atribute kvalitete kako bi se jamฤila provjerljivost, tracjednostavnu, prioritetnu specifikaciju.
Softverski zahtjev je funkcionalna ili nefunkcionalna potreba koja se mora implementirati u sustavu. Funkcionalno znaฤi pruลพanje odreฤene usluge korisniku.
Na primjer, u kontekstu bankarske aplikacije, funkcionalni zahtjev je da kada korisnik odabere "Prikaลพi stanje", treba moฤi vidjeti svoje najnovije stanje raฤuna.
Softverski zahtjev moลพe biti i nefunkcionalan, poput zahtjeva za performansama. Na primjer, nefunkcionalni zahtjev moลพe navoditi da se svaka stranica sustava treba uฤitati za korisnike unutar 5 sekundi.
Dakle, u osnovi softverski zahtjev je a
- Funkcionalno ili
- Nefunkcionalno
trebati koji se mora implementirati u sustav. Softverski zahtjevi se obiฤno izraลพavaju kao izjave.
Vrste zahtjeva
Poslovni zahtjeviOvo su zahtjevi visoke razine preuzeti iz poslovnog sluฤaja projekta. Na primjer, sustav mobilnog bankarstva pruลพa bankarske usluge jugoistoฤnoj Aziji. Poslovni zahtjev odreฤen za Indiju je saลพetak raฤuna i prijenos sredstava, dok je za Kinu to saลพetak raฤuna i plaฤanje raฤuna.
| Drลพava | Tvrtka koja pruลพa bankarske funkcije ili usluge |
|---|---|
| Indija | Saลพetak raฤuna i prijenos sredstava |
| Kina | Saลพetak raฤuna i Bill Plaฤanje |
Archizahtjevi strukture i dizajnaOvi zahtjevi su detaljniji od poslovnih zahtjeva i pokreฤu arhitekturu rjeลกenja. Oni odreฤuju cjelokupni dizajn potreban za implementaciju poslovnog zahtjeva. Za obrazovnu organizaciju, tipiฤni arhitektonski i dizajnerski sluฤajevi upotrebe ukljuฤuju prijavu, detalje o teฤaju i upis. Zahtjev bi bio prikazan u nastavku.
| Sluฤaj koriลกtenja u bankarstvu | Zahtjev |
|---|---|
| Bill Plaฤanje | Ovaj sluฤaj upotrebe opisuje kako se klijent moลพe prijaviti u net banking i koristiti Bill Moguฤnost plaฤanja. Korisnik moลพe vidjeti nadzornu ploฤu s nepodmirenim raฤunima za registrirane platitelje. Korisnik moลพe dodavati, mijenjati i brisati podatke o platiteljima. Korisnik moลพe konfigurirati SMS i e-mail upozorenja za razliฤite radnje naplate. Korisnik moลพe pregledati povijest proลกlih plaฤenih raฤuna. Akteri koji zapoฤinju ovaj sluฤaj upotrebe su bankovni klijenti ili osoblje za podrลกku. |
Zahtjevi sustava i integracijeNa najniลพoj razini imamo sistemske i integracijske zahtjeve. Pruลพa detaljan opis svakog zahtjeva. Moลพe se prikazati kao korisniฤke priฤe napisane svakodnevnim poslovnim jezikom. Zahtjevi sadrลพe obilje detalja tako da programeri mogu zapoฤeti s kodiranjem. Bill Primjer modula za plaฤanje u nastavku prikazuje zahtjev za dodavanje izdavatelja raฤuna.
| Bill Plaฤanje | Zahtjevi |
|---|---|
| dodati BillERS | Naziv pruลพatelja komunalnih usluga, broj korisnika, automatska plaฤanja โ Da/Ne, plaฤanje u cijelosti Bill โ Da/Ne, Ograniฤenje automatskog plaฤanja โ Ne plaฤajte ako Bill je iznad navedenog iznosa |
Ponekad za projekt moลพda neฤete dobiti nikakve zahtjeve ili dokumente za rad. ฤak i tada, postoje drugi izvori informacija o zahtjevima na koje se moลพete osloniti kao osnovu za dizajn softvera ili testiranja. Ostali izvori zahtjeva na koje se moลพete osloniti navedeni su u nastavku.
Drugi izvori zahtjeva
- Prijenos znanja od kolega ili zaposlenika koji veฤ rade na tom projektu
- Razgovarajte o projektu s poslovnim analitiฤarom, voditeljem proizvoda, voditeljem projekta i razvojnim inลพenjerima
- Analizirajte prethodnu verziju sustava koja je veฤ implementirana
- Analizirajte starije dokumente zahtjeva iz projekta
- Revpregledajte proลกla izvjeลกฤa o greลกkama; neka izvjeลกฤa o greลกkama pretvaraju se u zahtjeve za poboljลกanja koja se mogu implementirati u trenutnoj verziji
- Provjerite vodiฤ za instalaciju, ako je dostupan, kako biste vidjeli koje su instalacije potrebne
- Analizirajte znanje domene ili industrije koje tim pokuลกava implementirati
Bez obzira na izvor zahtjeva koji koristite, dokumentirajte ih u zajedniฤkom formatu i neka ih pregledaju iskusni ฤlanovi tima.
Kako analizirati zahtjeve
Razmotrimo primjer obrazovnog softverskog sustava u kojem se student moลพe prijaviti za razliฤite teฤajeve.
Prouฤimo kako analizirati zahtjeve. Svaki zahtjev mora odrลพavati skup standardnih atributa kvalitete, koji ukljuฤuju sljedeฤe:
- Atomic
- Jedinstveno identificiran
- potpun
- Dosljedno i nedvosmisleno
- Tracmoguฤe
- Prioriteti
- Moลพe se testirati
Sljedeฤa tablica ilustrira svaki atribut s tri stupca:
- Prvi stupac oznaฤava - "kvaliteta zahtjeva"
- Drugi stupac oznaฤava - "loลก zahtjev s nekim problemom"
- Treฤi stupac prikazuje isti zahtjev โpretvoren u dobar zahtjevโ.
| Kvaliteta zahtjeva | Primjer loลกeg zahtjeva | Primjer dobrog zahtjeva |
|---|---|---|
| Atomic | Studenti ฤe moฤi upisivati โโpreddiplomske i poslijediplomske studije | Studenti ฤe se moฤi upisati na preddiplomske studije. Studenti ฤe se moฤi upisati na poslijediplomske studije. |
| Jedinstveno identificiran | 1- Studenti ฤe se moฤi upisati na preddiplomske studije. 1- Studenti ฤe se moฤi upisati na poslijediplomske studije. | Upis na teฤajeve. Studenti ฤe se moฤi upisati na preddiplomske teฤajeve. Studenti ฤe se moฤi upisati na poslijediplomske teฤajeve. |
| potpun | Korisnik profesor prijavit ฤe se u sustav unosom svog korisniฤkog imena, lozinke i drugih relevantnih podataka | Korisnik profesor prijavit ฤe se u sustav unosom svog korisniฤkog imena, lozinke i ลกifre odjela |
| Dosljedno i nedvosmisleno | Student ฤe imati ili dodiplomske ili poslijediplomske teฤajeve, ali ne oboje. Neki teฤajevi bit ฤe otvoreni i za preddiplomske i za poslijediplomske | Student ฤe imati ili dodiplomski ili postdiplomski studij, ali ne oboje |
| Tracmoguฤe | Odrลพavati informacije o studentima mapirane na BRD req.ID? | Odrลพavajte informacije o studentima - mapirano na BRD req ID 4.1 |
| Prioriteti | Registrirani student - Prioritet 1. Odrลพavanje korisniฤkih podataka - Prioritet 1. Upis teฤajeva - Prioritet 1. Pregled svjedodลพbe - Prioritet 1 | Registracija uฤenika - Prioritet 1. Odrลพavanje korisniฤkih podataka - Prioritet 2. Upis teฤajeva - Prioritet 1. Pregled svjedodลพbe - Prioritet 3 |
| Moลพe se testirati | Svaka stranica sustava ฤe se uฤitati u prihvatljivom vremenskom okviru | Stranice sustava za registraciju uฤenika i upis teฤajeva uฤitat ฤe se unutar 5 sekundi |
Razumijemo svaki od ovih atributa detaljnije, poฤevลกi s Atomik.
Atomic
Svaki zahtjev treba biti atomski, ลกto znaฤi da mora biti na najniลพoj razini detalja i ne moลพe se dalje raลกฤlaniti na komponente. Sljedeฤi primjeri usporeฤuju atomske i neatomske zahtjeve.
Nastavak s primjerom sustava obrazovne domene: Ovdje je loลก zahtjev โStudenti ฤe se moฤi upisati na preddiplomske i poslijediplomske studijeโ. Ovo je loลก zahtjev jer nije atomski - mijeลกa dva razliฤita entiteta, preddiplomske i poslijediplomske studije. Odgovarajuฤi dobar zahtjev dijeli ga na dva zahtjeva. Jedan zahtjev pokriva upis na preddiplomske studije, a drugi pokriva upis na poslijediplomske studije.
Jedinstveno identificiran
Sljedeฤi atribut kvalitete je jedinstvena identifikacija. U loลกem primjeru, dva odvojena zahtjeva dijele isti ID#1. Ako tim referencira zahtjev prema njegovom ID-u, postaje nejasno na koji se od ta dva misli. Dobar zahtjev ih pregrupira pod Odjeljak 1 - Upis na kolegije, s podzahtjevima 1.1 (upis na preddiplomske kolegije) i 1.2 (upis na poslijediplomske kolegije).
potpun
Svaki zahtjev mora biti potpun. Na primjer, ovdje loลก zahtjev kaลพe da ฤe se โprofesor korisnik prijaviti u sustav unosom svog korisniฤkog imena, lozinke i drugih relevantnih informacijaโ. โOstale relevantne informacijeโ su nejasne. Potpuni zahtjev navodi toฤna polja, poput ลกifre odjela, koja profesor mora navesti.
Dosljedno i nedvosmisleno
Svaki zahtjev treba biti dosljedan i nedvosmislen. U loลกem primjeru, jedan zahtjev navodi โStudent ฤe imati ili preddiplomske ili poslijediplomske kolegije, ali ne obojeโ, dok drugi navodi โNeki kolegiji bit ฤe otvoreni i za preddiplomske i za poslijediplomske studenteโ.
Prvi zahtjev podrazumijeva da su kolegiji podijeljeni u dvije ekskluzivne kategorije, ali drugi zahtjev mu proturjeฤi otvarajuฤi neke kolegije objema skupinama.
Dobar zahtjev rjeลกava sukob jasno navodeฤi da je svaki kolegij oznaฤen ili kao preddiplomski ili kao poslijediplomski, a student se moลพe upisati samo na kolegije jedne kategorije.
Tracmoguฤe
Svaki zahtjev mora biti tracmoguฤe jer zahtjevi postoje na viลกe razina: poslovnoj, arhitektonskoj i dizajnerskoj te sistemskoj i integracijskoj.
Kada pretvorite poslovni zahtjev u arhitektonske i dizajnerske zahtjeve ili arhitektonske i dizajnerske zahtjeve u sistemske i integracijske zahtjeve, tracMoguฤnost rada mora se oฤuvati. Svaki poslovni zahtjev trebao bi se mapirati na jedan ili viลกe arhitektonskih i dizajnerskih zahtjeva. U loลกem primjeru โOdrลพavati podatke o studentima โ mapirano na BRD ID zahtjeva?โ, nedostaje ID zahtjeva.
Zahtjev za dobar sadrลพaj biljeลพi istu izjavu, ali se eksplicitno preslikava na BRD zahtjev ID 4.1. Svaki zahtjev mora imati trackarta moguฤnostipingSistemski i integracijski zahtjevi takoฤer bi se trebali preslikavati na kod koji ih implementira i na testne sluฤajeve koji ih provjeravaju.
TracStoga se jednostavnost provodi od poฤetka do kraja kroz cijeli projekt.
Prioriteti
Svaki zahtjev mora imati prioritet kako bi tim znao ลกto prvo implementirati, a ลกto moลพe priฤekati. U loลกem primjeru, Registracija uฤenika, Odrลพavanje korisniฤkih podataka, Upis teฤajeva i Pregled izvjeลกฤa postavljeni su na Prioritet 1. Sve ne moลพe biti Prioritet 1, stoga zahtjevi moraju biti realno rangirani. Dobar primjer daje Registraciji uฤenika i Upisu teฤajeva najviลกi Prioritet 1, Odrลพavanju korisniฤkih podataka Prioritet 2 i Pregledu izvjeลกฤa Prioritet 3.
Moลพe se testirati
Svaki zahtjev treba biti testiran. Loลก primjer, โsvaka stranica sustava ฤe se uฤitati u prihvatljivom vremenskom okviruโ, nije testiran iz dva razloga. Prvo, โsvaka stranicaโ moลพe znaฤiti desetke stranica, ลกto dodatno poveฤava napor testiranja. Drugo, โprihvatljiv vremenski okvirโ je nedefiniran - prihvatljiv kome i u odnosu na koju referentnu vrijednost? Dobar zahtjev rjeลกava oba problema imenovanjem odreฤenih stranica (โstranice za registraciju studenata i upis teฤajevaโ) i postavljanjem mjerljivog cilja od 5 sekundi.






