17.03.2015 Views

Süsteemi nõuete esiletoomine ja analüüs

Süsteemi nõuete esiletoomine ja analüüs

Süsteemi nõuete esiletoomine ja analüüs

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Süsteemi nõuete <strong>esiletoomine</strong> <strong>ja</strong><br />

analüüs<br />

Priit Potter<br />

16.09.2013


Priit Potter


Loengu plaan<br />

• Mis on nõue?<br />

• Millal on nõuete kogumine oluline?<br />

• Näited!<br />

• Kuidas nõudeid dokumenteerida <strong>ja</strong> esitada?<br />

• Prototüüpimise näiteid


IT-lahenduse tellimine<br />

Äri- / juhtimine<br />

„IT“


Kommunikatsioon <strong>ja</strong> vastutus<br />

Äriarendus<br />

Arendus,<br />

testimine<br />

jt<br />

Süsteemianalüüs


Analüütiku vastutus<br />

Analüütik vastutab selle eest, et<br />

telli<strong>ja</strong> saab süsteemi, mida va<strong>ja</strong>b


Infosüsteemi va<strong>ja</strong>dus


Nõuete kogumine<br />

(Loodava) Infosüsteemi kirjeldamine<br />

erinevatest aspektidest


Nõuded süsteemile<br />

• „Nõue“ ei ole äri poolt esitatav nõudmine!<br />

• Requirement: something required<br />

– something wanted or needed : necessity <br />

– something essential to the existence or occurrence of<br />

something else : condition


Nõuete olulisus<br />

• Nõuete kogumiku alusel koostatakse süsteem<br />

<strong>ja</strong> va<strong>ja</strong>likud lisatulemid.<br />

– Arenduse eelarve<br />

– Kasutusjuhud<br />

– Komponendi<br />

kirjeldused<br />

– Andmemudel<br />

– Programmikood<br />

– Paigaldamise skriptid<br />

– Automaattestid<br />

– Manuaalsed testid<br />

– Projekti aruanne<br />

– Jne…<br />

– Jne… vastavalt<br />

kliendiga<br />

kokkulepitule


• Nõuded autoremonditööko<strong>ja</strong> programmile?<br />

(täitsime loengus)<br />

– Veebipõhine kasuta<strong>ja</strong>liides<br />

– Riistvara piirangud<br />

– Autentimine<br />

– Kasuta<strong>ja</strong>le tema igapäevatöös mugav <strong>ja</strong> loogiline<br />

kasutada


Mis on nõue?<br />

• Nõude kolm baasomadust:<br />

– Ühene kontrollitavus – küsimusele „kas nõue on<br />

täidetud?“ peab saama võimalikult üheselt vastata “<strong>ja</strong>h”<br />

või “ei”<br />

– Kerge kontrollitavus – nõude kontroll ei tohi võtta<br />

palju aega<br />

– Sõnastuse lihtsus <strong>ja</strong> lühidus – nõude sisutekst ei<br />

tohiks olla pikem kui ~30 sõna


Kas need on head nõuded?<br />

• „Iseteenindus peab suutma vastu võtta 50<br />

liitumist tunnis“<br />

• „Koduleht peab olema ilus“<br />

• „Toetust ei maksta juhul, kui taotluse<br />

esitamisel on vähemalt ühel lapsevanemal<br />

võlgnevus Rae valla ees (sh maamaksu võlg)“<br />

• „Liitumise leht peab avanema väga kiiresti“<br />

• „Koduleht peab avanema kõigis maailma<br />

riikides“


Nõuete kogumik<br />

• Nõuete kogumiku moodustamisel on<br />

eesmärgiks:<br />

– Ühtlane kaetus – nõuete hulk peab ühtlaselt <strong>ja</strong><br />

piisava tihedusega katma kogu arendatavat<br />

teemat.<br />

– Piisav hulk – nõuete hulk peab olema piisavalt<br />

suur, et katta kõik oluline. Aga mitte liiga detailne!<br />

– Struktuurne <strong>ja</strong>otus – nõuete kogumik peaks<br />

olema hierarhiliselt struktureeritud.<br />

14


Nõuete kogumik<br />

Funktsionaalsed<br />

Mittefunktsionaalsed<br />

…<br />

Funktsionaalsus 1<br />

Kasutatavus<br />

…<br />

Funktsionaalsus 2<br />

Käideldavus<br />

…<br />

…<br />

…<br />

Jõudlus<br />

…<br />

Toetatavus<br />

…<br />

+


Nõuete kogumik<br />

• FURPS+<br />

– Functionality (funktsionaalsus)<br />

– Usability (kasutatavus)<br />

– Reliability (käideldavus)<br />

– Performance (jõudlus)<br />

– Supportability (toetus)<br />

– + (disain, tehnilise realiseerimise piirangud, liideste<br />

piirangud, majutuse piirangud jms)<br />

• … samas: oluline ei ole metoodika, vaid see, et<br />

kõik oluline saaks kir<strong>ja</strong>!<br />

16


Funktsionaalsed nõuded<br />

• Kirjeldus, kuidas süsteem peaks käituma<br />

kasuta<strong>ja</strong>poolsete või teisest süsteemist<br />

pärinevate sisendite peale.<br />

– „Võimaldab isikukoodi järgi võlgnevuste nimekir<strong>ja</strong><br />

filtreerida“<br />

– „Ei võta vastu taotlust kui laenusumma lahter on<br />

täitmata“<br />

– „Kuvab tähta<strong>ja</strong>ks tasumata arved punasena“<br />

17


Näide: lift<br />

18


Kasutatavus (usability)<br />

• Sobivus kasuta<strong>ja</strong> mõttemudeliga: millised<br />

kasuta<strong>ja</strong>d <strong>ja</strong> millises situatsioonis teie rakendust<br />

kasutavad?<br />

• Vahendid:<br />

– Esteetika (disain, pildid, ikoonid)<br />

– Õpitavus<br />

– Tagasiside aeg (response time)<br />

– Lihtne navigeerimine<br />

– Kasuta<strong>ja</strong>liidese ühtlus<br />

– Abiinfo, dokumentatsioon<br />

19


Kasutatavus: lift


Käideldavus (reliability)<br />

• Lubatav vigade arv ning tõsidus<br />

• Vigade esinemise vahele jääv a<strong>ja</strong>vahemik<br />

(MTBF – mean time between failures)<br />

• Taastamisele kuluv aeg<br />

• Service Level Agreement<br />

21


Jõudlus (performance)<br />

• Tegevuse kestus (keskmine, maks)<br />

• Tegevuste arv (tegevusi sekundis)<br />

• Võimsus (maks samaaegsete klientide arv)<br />

• Läbilaskevõime (lehekülgi või MB sekundis)<br />

• Piirkoormus, lubatavad jõudluse languse piirid<br />

kõrge koormuse tingimustes<br />

22


Toetatavus (supportability)<br />

• Kui palju raha peab kulutama süsteemi käigus<br />

hoidmisele?<br />

• Testitavus (vigade diagnoosimise lihtsus)<br />

• Hooldatavus (regulaarsed uuendused)<br />

• Konfigureeritavus (runtime vs koodis)<br />

• Laiendatavus<br />

• Lokaliseeritavus<br />

23


Nõuded: kokkuvõte<br />

• Hästi organiseeritud <strong>ja</strong> läbimõeldud nõuete<br />

kogumik:<br />

– Vähendab ümbertegemist <strong>ja</strong> sellest tekkivat stressi<br />

– Vähendab a<strong>ja</strong>kulu kõigis arenduse lõikudes<br />

– Aitab keskenduda olulisele<br />

• -> tagab süsteemi lõppkasuta<strong>ja</strong>le<br />

meeldivama/parema/efektiivsema lahenduse,<br />

mille tagajärjel suureneb süsteemi eesmärkide<br />

täitmine<br />

24


Nõuete olulisus<br />

• Nõuete kogumiku alusel koostatakse süsteem<br />

<strong>ja</strong> va<strong>ja</strong>likud lisatulemid.<br />

– Arenduse eelarve<br />

– Kasutusjuhud<br />

– Komponendi<br />

kirjeldused<br />

– Andmemudel<br />

– Programmikood<br />

– Paigaldamise skriptid<br />

– Automaattestid<br />

– Manuaalsed testid<br />

– Projekti aruanne<br />

– Jne…<br />

– Jne… vastavalt<br />

kliendiga<br />

kokkulepitule


Nõuete olulisus<br />

• Nõuded on aluseks töö tulemite<br />

vastuvõtmisel<br />

✓<br />

✓<br />

✓<br />


Kui mahukas peaks olema hea<br />

nõuete kogumik?


Prototüüpimise plussid<br />

• Lahendus mõeldakse detailides läbi<br />

• Lõppkasuta<strong>ja</strong> saab „proovida“ funktsionaalsust<br />

enne realisatsiooni<br />

• Telli<strong>ja</strong>l <strong>ja</strong> täit<strong>ja</strong>l ühine nägemus lõpptulemusest<br />

• Telli<strong>ja</strong> <strong>ja</strong> täit<strong>ja</strong> saavad täpsemalt kokku leppida<br />

projekti skoobis ning vahetulemites<br />

• Mis on lihtsam <strong>ja</strong> mis keerulisem funktsionaalsus<br />

• Selgemalt saab eraldada, mis on muudatus, mis<br />

on puudujääk <strong>ja</strong> mis täit<strong>ja</strong> viga<br />

• Selgem ülevaade kui palju projektist valmis on


Visualiseerimise meetodid<br />

• Seinatehnika <strong>ja</strong> prototüübikaust<br />

– Tahvel seinal <strong>ja</strong> fotoaparaat<br />

– Paber, pliiats <strong>ja</strong> fotoaparaat<br />

– ...<br />

• Passiivsed kuvad eraldi dokumentides (failides)<br />

– Olemasolev rakendus <strong>ja</strong> „Paint“<br />

– Excel, Visio, jne<br />

– Tehniline ülesanne koos ekraanivaatega<br />

– ...<br />

• Infosüsteemi prototüüplahendused:<br />

– Prototüübimootorid<br />

– Lihtsamad HTML või klient-server rakendused<br />

– ...


Wireframe’i näited


Wireframe’i näited<br />

http://www.balsamiq.com/


Kokkuvõtteks<br />

• Efektiivseks süsteemianalüüsiks on va<strong>ja</strong>:<br />

– aru saada, milleks süsteem luuakse (!!)<br />

– head nõuete kogumikku<br />

– head viisi kliendiga skoobi jm detailide<br />

kokkuleppimiseks<br />

• Kasutage prototüüpimist!


Küsimused?<br />

Priit Potter<br />

priit@potter.ee

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!