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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!