reikalavimai, reikalavimų inžinerija - vgtudma.vgtu.lt/psi/psi_4.pdf · 2012. 4. 26. · verslo...

88
Programų sistemų inžinerija 6 paskaita Reikalavimai, reikalavimų inžinerija Skaidrės paruoštos remianti prof. A.Čaplinsko ir I.Sommerville medžiaga

Upload: others

Post on 31-May-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Programų sistemų inžinerija

6 paskaita

Reikalavimai, reikalavimų inžinerija

Skaidrės paruoštos remianti prof. A.Čaplinsko ir I.Sommerville medžiaga

Page 2: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų inžinerijos įvadas

Reikalavimas

• Sistemos reikalavimu vadinama jos

reikalavimų specifikacija, sandoriu su

užsakovu, standartu arba kokiu nors kitu

juridinę galią turinčiu ir įpareigojančiu

dokumentu numatyta tos sistemos savybė.

– Reikalavimai nusako sistemos galimybes ir

ribojimus (constraints).

Page 3: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų inžinerijos įvadas

Reikalavimų inžinerija (RI)

• Reikalavimų inžinerija – tai PS inžinerijos šaka, nagrinėjanti PS reikalavimų formulavimo, specifikavimo, analizės ir vertinimo klausimus

– Tiksliau, reikėtų sakyti, kad RI yra sistemų inžinerijos šaka, o PS reikalavimų inžinerija (PSRI) yra PSI šaka. Tačiau, trumpumo dėlei, vietoje termino PSRI vartosime terminą RI.

Page 4: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų inžinerijos įvadas

• Reikalavimų inžinerija apima

– poreikių analizę;

– reikalavimų analizę;

– reikalavimų specifikavimas

– reikalavimų atestavimą (validavimą)

– reikalavimų vadybą

• Pagrindinis RI uždavinys yra transformuoti

operacinius poreikius (vartotojų reikalavimus)

į PS reikalavimus.

Page 5: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų inžinerijos įvadas

• Būtina suvokti, kad iš tiesų užsakovui reikia ne kompiuterių, kompiuterių tinklų ir netgi ne programų sistemų.

• Jam reikia tam tikro efekto, kurį sukuria techninės ir programinės įrangos kompleksas. – Jei kalbame apie verslo įmones, tai užsakovai nori

patobulinti savo verslą.

– Todėl, kompiuterizuojant įmonę, darbą reikia pradėti ne nuo programų sistemos reikalavimų, bet visų pirma reikia išsiaiškinti, su kokiomis problemomis susiduria verslas, ką reikėtų versle keisti, kokios programų sistemos reikalingos patobulintam verslui vykdyti.

Page 6: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Priklausomybių modelis

Vidinė analizė

Vizija

Tikslų medis

Operaciniai poreikiai

Scenarijus

Išorinė analizė

Įgyvendinimo planas

Siekis, tikslai, sėkmingumo

matai, vertinimo kriterijai

Problemos, grėsmės, galimybės

Problemų priežastys

Kokiu turėtų tapti verslas?

Kaip įgyvendinti viziją?

Kokių IT paslaugų

reikia?

Kaip naudotis sistema?

Ko reikia scenarijui įgyvendinti?

Page 7: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų inžinerija

Poreikių analizė

Page 8: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė Operaciniai poreikiai

• Bene pats svarbiausias PS kūrimo žingsnis yra

perteikti tų, kuriems reikia kuriamos sistemos

(vartotojų), operacinius poreikius tiems, kas ją

kurs (PS inžinieriams).

Page 9: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė

Svarbiausi operacinių reikalavimų ir PS reikalavimų skirtumai

– operaciniai reikalavimai išplaukia iš vartotojų veiklos poreikių (operacinių poreikių)

• Tai reiškia, kad analitikas, bendraudamas su vartotojais ir užsakovais, privalo išsiaiškinti jų poreikius ir dokumentuoti tuos poreikius forma, lengvai suvokiama tiek vertotojams ir užsakovams, tiek vykdytojo organizacijos vadovybei, tiek ir PS inžinieriams.

– PS reikalavimai išplaukia iš operacinių reikalavimų

• Tai reiškia, kad analitikas privalo poreikių specifikaciją į PS reikalavimų specifikaciją ir suformuluoti tuos reikalavimus taip, kad jie būtų lengvai suvokiami tiek vertotojams ir užsakovams, tiek vykdytojo organizacijos vadovybei, tiek ir PS inžinieriams.

Page 10: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė

Operacinių reikalavimų išgavimas

Analitikas

Užsakovas Vartotojas

Page 11: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė

Operacinių reikalavimų svarba

Pavyzdys: vaikiškos supuoklės

Vartotojo poreikiai

Page 12: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė

Operacinių reikalavimų svarba

Taip juos analitikui perteikė užsakovo atstovas

Page 13: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė

Operacinių reikalavimų svarba

Taip juos suprato ir specifikavo analitikas

Page 14: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė

Operacinių reikalavimų svarba

Taip juos įgyvendino projektuotojas

Page 15: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė

Operacinių reikalavimų svarba

Taip projektą įgyvendino

programuotojas

Page 16: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė

Operacinių reikalavimų svarba

Taip pristatė užsakovui

pateikiamą produktą diegimo

tarnyba.

Page 17: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė

Verslo poreikių specifikacija (VPS)

• VPS – tai dokumentas, aprašantis:

– sistemos paskirtį (verslo terminais);

– operacinius reikalavimus (poreikius);

– planuojamą sistemos naudojimo scenarijų;

– sistemos aplinką (operacinę ir aptarnavimo);

– pirminę sistemos įgyvendinamumo analizę.

• Paprastai, VPS rengiamas kaip ikiprojektinis dokumentas

– tai reiškia, kad vadovaujantis šiuo dokumentu sprendžiama apie

tikslingumą pradėti projektą.

Page 18: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė

Verslo poreikių specifikacija (VPS)

• VPS paskirtis yra aprašyti pačias bendriausias

operacines būsimos sistemos savybes

– t.y. kaip ja bus naudojamasi versle ir ką verslas iš to laimės.

• Dokumentas naudojamas visų projekto dalyvių

(vartotojų, užsakovo, vykdytojų ir kt.) siekiamiems

tikslams koordinuoti bei derinti.

Page 19: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Poreikių analizė

Verslo poreikių specifikacija (VPS)

• VPS yra koncepcinio lygmens dokumentas ir todėl jame neturi būti kalbama nei apie sistemos projektavimo, nei apie jos įgyvendinimo būdus.

• Kadangi šis dokumentas skirtas ir vykdytojams, ir užsakovams, tai jis turi būti parašytas labai taisyklinga ir paprasta natūralia kalba, vengiant specialių informatikos terminų ir, jei tokių terminų išvengti nepavyksta, išsamiai ir užsakovui suprantamai juos paaiškinant

– Dokumentas turi būti taip parengtas, kad jį skaitant nereikėtų bendrauti su autoriais ir prašyti jų ką nors paaiškinti.

Page 20: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai Kas vadinama reikalavimu?

• PS reikalavimu vadinama sandoriu su užsakovu, specifikacija, standartu arba kokiu nors kitu juridinę galią turinčiu dokumentu numatyta tos sistemos savybė.

– Reikalavimai gali būti labai skirtingo abstrakcijos lygmens – nuo labai bendrų sistemos ar jos teikiamų paslaugų ribojimų iki detalios matematinės tos sistemų savybių specifikacijos.

– To išvengti yra neįmanoma dėl dvigubos reikalavimų paskirties:

• viena vertus, jie naudojami skelbiant konkursą sistemai sukurti ir todėl turi būti pakankamai bendro pobūdžio, kad konkurse galėtų dalyvauti kuo daugiau pretendentų;

• Kita vertus, jie yra pagrindinė sandorio tarp užsakovo ir vykdytojo dalis ir todėl turi būti suformuluoti kuo tiksliau ir išsamiau;

– Taigi turime mažiausiai du reikalavimų abstrakcijos lygmenis.

Page 21: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

9 tema 21

Reikalavimai Reikalavimai

• Kokią išeigą generuos sistema?

• Kokia tvarka bus pateikti rezultatai: didėjančia ar mažėjančia? Eilutėje vienas skaičius?

• Ar programa rašys rezultatus į pradinių duomenų failą, ar kurs specialų rezultatų failą? Kaip tas failas vadinsis?

– Reikalavimų specifikacija turi duoti atsakymus į visus tuos klausimus ir dar į daugelį kitų.

Page 22: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

9 tema 22

Reikalavimai Reikalavimų nustatymas

• Procesas, kuriuo nustatoma, kokias paslaugas

privalo teikti sistema ir kokius ribojimus ta

sistema turi tenkinti teikdama tas paslaugas.

– Reikalavimai aprašo ir viena, ir kitą.

Page 23: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

9 tema 23

Reikalavimai Reikalavimų rūšys • Vartotojo reikalavimai (operaciniai poreikiai): Turi taip aprašyti

reikalavimus, kad jie būtų suprantami žmonėms, tik paviršutiniškai susipažinusiems su tuo, kas yra kompiuteriai ir programų sistemos.

– Šie reikalavimai skirti būsimiems sistemos vartotojams bei jos užsakovams.

• Sistemos reikalavimai: Tam tikru specialiu būdu struktūrizuotas detalus sistemos teikiamų paslaugų ir jos tenkinamų ribojimų aprašas.

– Rašomi kaip sudėtinė užsakovo ir vykdytojo sandorio dalis.

• Programinės įrangos specifikacija Abstraktus programų sistemos įgyvendinimo būdo aprašas, naudojamas kaip išeities ribojimai detaliai projektuojant sistemą.

– Šie reikalavimai skirti vykdytojams. Susieja sistemos reikalavimus su jos realizacija.

Page 24: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

9 tema 24

Reikalavimai • Reikalavimų specifikacija

– Reikalavimų specifikacija – tai oficialus, juridinę

galią turintis dokumentas, nustatantis kokį

produktą privalo sukurti vykdytojas.

• Dokumentas gali apimti ir vartotojo reikalavimus (t.y.

operacinius poreikius), ir sistemos reikalavimus.

• Šis dokumentas NĖRA projektinis dokumentas. Jame

aprašoma KĄ sistema turi daryti, bet ne tai, KAIP tai

turi būti realizuota.

Page 25: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai

baigtai sistemai

vertinti

konkursui

organizuoti

projektui

planuoti

sistemai

projektuoti

testams

specifikuoti

Reikalavimų specifikacija

užsakovas projekto vadovas projektuotojas testuotojas

Kam yra naudojama reikalavimų specifikacija.

Page 26: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Pavyzdys

Reikalavimų apibrėžimas ( Labai bendras reikalavimų aprašymas)

• Programinė įranga turi leisti atvaizduoti ir apdoroti išorinius failus,

sukurtus kitomis priemonėmis.

Reikalavimų specifikacija ( Detalesnis reikalavimų aprašymas) − Vartotojai turi turėti galimybę apibrėžti išorinių failų tipą.

− Kiekvienas išorinis failo tipas turi turėti susijusias priemones, kurias

− galima būtų panaudotos failui apdoroti.

− Kiekvienas išorinių failų tipas gali būti pristatytas kaip specifinė ikona

− vartotojo displėjuje.

− Vartotojas turi turėti galimybę apibrėžti ikonų atvaizdavimą kiekvienam išorinio

− failo tipui

− Kai vartotojas pasirenka ikoną, atvaizduojančią išorinį failą, šio

− pasirinkimo pasekoje failas apdorojamas įrankiais susietais su išorinį

− failą vaizduojančia ikona.

Page 27: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų skaitytojai

Programinės įrangos

projektavimo

specifikacijos

Vartotojo

reikalavimai

Kliento vadybininkai

Sistemos galutiniai vartotojai

Kliento inžinieriai

Kūrėjų vadybininkai

Sistemos architektai

Sistemos

reikalavimai

Sistemos galutiniai vartotojai

Kliento inžinieriai

Sistemos architektai

Programinės įrangos tobulintojai(vystytojai)

Galimi kliento inžinieriai

Sistemos architektai

Programinės įrangos tobulintojai(vystytojai)

Page 28: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai

• Funkciniai ir nefunkciniai reikalavimai (funkcinių reikalavimų pavyzdžiai, netikslumai,

suderinamumas, nefunkcinių reikalavimų klasifikavimas,

pavyzdžiai, tikslas ir reikalavimai, reikalavimų matavimai,

sąveika, srities reikalavimai, problemos)

• Vartotojo reikalavimai

• Sistemos reikalavimai

• Programinės įrangos reikalavimų dokumentas

Page 29: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Funkciniai ir nefunkciniai reikalavimai

Funkciniai reikalavimai

– Sistemos paslaugų aprašymai dar turėtų

paaiškinti, kaip sistema turėtų reaguoti į ypatingus

duomenų įvedimus ir kaip sistema elgsis

ypatingose situacijose.

Nefunkciniai reikalavimai

– Sistemos paslaugų arba funkcijų apribojimai,

tokie kaip laiko apribojimai, kūrimo proceso

apribojimai, standartai, ir pan.

Page 30: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Funkciniai reikalavimai

• Aprašo funkcionalumą arba sistemos paslaugas

• Priklauso nuo programinės įrangos tipo, laukiamų

vartotojų ir sistemos tipo, kur programinė įranga yra

naudojama

• Funkciniai vartotojo reikalavimai gali būti aukšto lygio

teiginiai, apie tai, ką sistema turi daryti, bet funkciniai

sistemos reikalavimai turi detaliai aprašyti sistemos

paslaugas.

Page 31: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai

9 tema 31

Programų sistema

Įvesties ir išvesties duomenys

turi būti specifikuoti detaliai.

DB Įeiga Išeiga

Sistemos viduje esantys duomenys specifikuojami nenurodant jų

vaizdavimo detalių. Tą padarys projektuotojai..

Funkciniai

reikalavimai

Page 32: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Funkcinių reikalavimų pavyzdžiai

• Vartotojas turi turėti galimybę ieškoti arba visus

pradinius duomenų bazės rinkinius, arba išsirinkti

poaibį iš jų.

• Sistema turi aprūpinti vartotojus tinkamomis

peržiūros priemonėmis, kad jie galėtų skaityti iš

saugyklos.

• Kiekvienam užsakymui turi būti paskirtas unikalus

identifikatorius, kuriuos vartotojas galėtų kopijuoti į

pastovų saugojimo lauką.

Page 33: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų netikslumai

• Problemos atsiranda, kai reikalavimai nėra

tiksliai nusakyti.

• Nevienareikšmiai reikalavimai gali būti

skirtingai interpretuojami kūrėjo ir vartotojo.

• Apibrėžkime terminą “tinkamomis peržiūros

priemonėmis” – Vartotojo ketinimai – speciali peržiūros priemonė

kiekvienam skirtingam dokumento tipui.

– Projektuotojo interpretacija – aprūpinti teksto

peržiūros priemonėmis, kurios parodo dokumento

sudedamąsias dalis.

Page 34: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų pilnumas ir suderinamumas

Reikalavimai turi būti ir pilni ir suderinti.

Pilni

– Juose turi būti visi aprašymai apie visas reikalaujamas galimybes

Suderinti

– Neturėtų būti konfliktų ir prieštaravimų sistemos galimybių aprašymuose

Praktikoje yra svarbu pateikti pilną ir suderintą reikalavimų dokumentą.

Page 35: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Nefunkciniai reikalavimai

• Apibrėžti sistemos sistemos savybes ir apribojimus kaip pvz. patikimumą, atsakymo laiką ir reikalavimus atminčiai. Apribojimai yra įvedimo/ išvedimo įrenginio galimybės ir pan.

• Reikalavimai procesui gali būti specifikuoti naudojant specialią CASE sistemą, programavimo kalbą ar projektavimo metodą.

• Nefunkciniai reikalavimai gali būti labiau svarbūs nei funkciniai reikalavimai. Jei jie nėra išpildomi, sistema yra nenaudinga.

Page 36: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Nefunkcinių reikalavimų klasifikavimas

Produkto reikalavimai

– Reikalavimai, kurie apibrėžia, kad pateiktas produktas privalo elgtis specifiniu būdu, pvz. vykdymo greitis ir patikimumas ir pan.

Organizaciniai reikalavimai

– Reikalavimai, kurie yra organizacinės politikos ir procedūrų padariniai kaip pvz. panaudoti procesų standartai, įdiegimo reikalavimai ir pan.

Išoriniai reikalavimai

– Reikalavimai, atsirandantys iš faktorių, kurie yra išoriniai sistemai ir jos kūrimo procesui kaip sistemos suderinamumo reikalavimai, teisiniai reikalavimai ir pan.

Page 37: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Nefunkcinių reikalavimų tipai Nefunkciniai

reikalavimai

Produkto

reikalavimai

Efektyvumo

reikalavimai

Organizaciniai

reikalavimai

Išoriniai

reikalavimai

Patikimumo

reikalavimai

Mobilumo

reikalavimai

Naudojimo

reikalavimai

Našumo

reikalavimai

Erdvės

reikalavimai

Pristatymo

reikalavimai

Įdiegimo

reikalavimai

Prisiderinamumo

reikalavimai

Etikos

reikalavimai

Standartų

reikalavimai

Teisiniai

reikalavimai

Saugos

reikalavimai

Privatumo

reikalavimai

Page 38: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Nefunkcinių reikalavimų pavyzdžiai

Produkto reikalavimas

– 4.C.8 visus būtinus ryšius tarp APSE ir vartotojo bus

įmanoma išreikšti standartiniu Ada simbolių rinkiniu.

Organizaciniai reikalavimai

– 9.3.2 Sistemos kūrimo procesas ir persiunčiamieji

dokumentai atitiks procesą ir persiunčiamuosius dokumentus

apibrėžtus XYZCo-SP-STAN-95 standartu.

Išoriniai reikalavimai

– 7.6.5 Sistema neturi atskleisti sistemos operatoriams jokios

asmeninės informacijos apie vartotojus, išskyrus jų vardą ir

kreipimosi numerį.

Page 39: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Tikslai ir reikalavimai

Nefunkcinius reikalavimus gali būti labai sudėtinga nustatyti tiksliai, o netikslius reikalavimus gali būti labai sunku patikrinti.

Tikslas

• Pagrindiniai vartotojo ketinimai tokie kaip vartojimo lengvumas.

Patikrinami nefunkciniai reikalavimai.

• Teiginiai naudojantys tam tikrus matavimus, kurie gali būti objektyviai išbandyti.

Tikslai, naudingi kūrėjams, nes jie perduoda sistemos vartotojų ketinimus.

Page 40: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Pavyzdžiai

Sistemos tikslas

– Sistema turi būti lengvai naudojama patyrusių

operatorių ir turi būti organizuota taip, kad

vartotojo klaidos būtų minimizuotos.

Patikrinami nefunkciniai reikalavimai

– Patyrę operatoriai turėtų sugebėti naudoti visas

sistemos funkcijas po dviejų apmokymo valandų.

Po tokio apmokymo vidutinis patyrusių vartotojų

padarytų klaidų skaičius neturi viršyti dviejų per

dieną.

Page 41: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų matavimai

Processed transactions/second User/Event response time Screen refresh time

K Bytes Number of RAM

Training time Number of help frames

Mean time to failure Probability of unavailability

Rate of failure occurrence Availability

Time to restart after failure Percentage of events causing failure Probability of data corruption on failure

Percentage of target dependent statements Number of target systems

Savybės Matavimai

Greitis

Dydis

Naudojimo lengvumas

Patikimumas

Patvarumas

Pernešamumas

Page 42: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų sąveika

Konfliktai tarp skirtingų nefunkcinių reikalavimų yra

bendri sudėtingose sistemose.

Kosminio laivo sistema

– Minimizuojant apimtį, atskirų mikroschemų skaičius

sistemoje turi minimizuotas.

– Minimizuojant galios suvartojimą, turi būti panaudotos

mažesnės galios mikroschemos.

– Tačiau naudojant mažesnio galingumo mikroschemas, jų

gali būti panaudota daugiau.

Kuris reikalavimas yra labiausiai kritiškas?

Page 43: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Srities reikalavimai

• Tai reikalavimai, gauti iš taikymo srities ir

nusako sistemos charakteristikas ir sritį

atspindinčius bruožus.

• Tai gali būti nauji funkciniai reikalavimai,

egzistuojančių reikalavimų apribojimai arba

apibrėžti specifiniai skaičiavimai.

• Jei srities reikalavimai nepatenkinami, sistema

nedirbs.

Page 44: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Bibliotekinės sistemos srities reikalavimai

• Turi būti standartinė sąsaja su vartotoju

visoms duomenų bazėms, paremta Z39.50

standartu.

• Dėl autorinių teisių apribojimų kai kurie

dokumentai turi būti iš karto sunaikinti.

• Priklausomai nuo vartotojo reikalavimų šitie

dokumentai bus atspausdinti vietoje, po to

persiunčiant vartotojui arba nukreipti į tinklinį

spausdintuvą.

Page 45: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Srities reikalavimų problemos

Suprantamumas (Understandability)

– Reikalavimai yra išreikšti taikymo srities

kalboje.

– Tai dažnai nesupranta programinės įrangos

projektuotojai projektuojant sistemą.

Neabejotinumas (Implicitness)

– Srities specialistai situacijoje gaudosi taip gerai,

kad jie nė negalvoja apie tikslių srities

reikalavimų sudarymą.

Page 46: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai

• Funkciniai ir nefunkciniai reikalavimai

• Vartotojo reikalavimai

(problemos dėl natūralios kalbos, patarimai reikalavimų rašymui)

• Sistemos reikalavimai

• Programinės įrangos reikalavimų dokumentas

Page 47: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Vartotojo reikalavimai

• Turi aprašyti funkcinius ir nefunkcinius

reikalavimus taip, kad jie būtų suprantami

sistemos vartotojų, kurie neturi detalių

techninių žinių.

• Vartotojo reikalavimai yra apibrėžti, naudojant

natūralią kalbą, lenteles ir diagramas.

Page 48: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Problemos su natūralia kalba

Aiškumo trūkumas

– Sunku pasiekti tikslumą, nedarant taip, kad

dokumentą būtų sunku skaityti.

Reikalavimų painiava (confusion)

– Funkciniai ir nefunkciniai reikalavimai turi

tendenciją susimaišyti.

Reikalavimų susijungimas (amalgamation)

– Keletas skirtingų reikalavimų gali būti išreikšti

kartu.

Page 49: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Patarimai reikalavimų rašymui

• Pasiūlyti standartinį formatą ir naudoti jį

visiems reikalavimams.

• Naudoti kalbą tinkamu būdu. Naudoti “turi”

priverstiniams reikalavimams, “ turėtų”

pageidaujamiems reikalavimams.

• Naudoti teksto paryškinimą tam, kad pabrėžti

esmines reikalavimų dalis.

• Vengti kompiuterinių žargonų naudojimo.

Page 50: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai

• Funkciniai ir nefunkciniai reikalavimai

• Vartotojo reikalavimai

• Sistemos reikalavimai (reikalavimai ir projektas,

problemos, alternatyvos natūralios kalbos specifikacijoms,

forma pagrįstas specifikavimas, PDL naudojimas, trūkumai,

sąsajos specifikavimas)

• Programinės įrangos reikalavimų dokumentas

Page 51: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Sistemos reikalavimai

• Tai vartotojų reikalavimų detalesnės

specifikacijos.

• Tarnauja kaip bazė, kuriant sistemą.

• Gali būti naudojama kaip dalis sistemos

kontrakto.

• Sistemos reikalavimai gali būti išreikšti,

naudojant sistemos modelius, modeliavimą.

Page 52: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai ir projektas

Iš principo reikalavimai turi skelbti ką sistema

turi daryti, o projektas turi apibūdinti, kaip tai

padaryti.

Praktiškai, reikalavimai ir projektas yra

neatskiriami. • Sistemos architektūra gali būti suprojektuota tam, kad

struktūrizuotu reikalavimus.

• Sistema gali dirbti su kitomis sistemomis, kurios

generuoja projekto reikalavimus.

• Specialaus projektavimo naudojimas gali būti srities

reikalavimas.

Page 53: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Problemos dėl specifikacijų natūralia kalba

Dviprasmiškumas

– Reikalavimų skaitytojai ir autoriai tą patį žodį turi

interpretuoti taip pat. Natūrali kalba yra

nevienareikšmė, taigi tai pasiekti yra labai sunku.

Per didelis lankstumas

– Tas pats dalykas gali būti pasakytas specifikacijoje

daugeliu skirtingų būdų.

Moduliarizacijos trūkumas

– Natūrali kalba netinka struktūrizuoti sistemos

reikalavimus.

Page 54: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Alternatyvos natūralios kalbos

specifikacijoms Įvardinimas Aprašymas

Struktūrizuota natūrali kalba Šis priėjimas priklauso nuo apibrėžtų standartinių formų ar šablonų

tam, kad išreikšti specifikacijos reikalavimus.

Projekto aprašymo kalba Šis metodas naudoja kalbą, panašią į programavimo kalbą, bet su

abstraktesnėmis savybėmis tam, kad aprašant sistemos operacinį

modelį, išskirtų reikalavimus.

Grafiniai pažymėjimai Grafinė kalba, papildyta teksto anotacijomis yra naudojama sistemos

funkcinių reikalavimų apibrėžimui.Pvz UML sekų, veiklos, atvejų

diagramos.

Matematinės specifikacijos Tai yra pažymėjimai, paremti matematinėmis sąvokomis, tokiomis

kaip baigtiniai automatai ar aibės. Šios vienareikšmės specifikacijos

sumažina ginčus tarp klientų ir vykdytojų dėl sistemos

funkcionavimo. Kaip bebūtų dauguma klientų nesupranta formalios

specifikacijos ir atsisako priimti tai kaip sistemos kontraktą. Formalią

specifikaciją aptarsime 9 skyriuje.

Page 55: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Struktūrizuotos kalbos specifikacijos

• Natūralios kalbos ribota forma gali būti

naudojama reikalavimų išreiškimui.

• Tai panaikina kai kurias problemas,

atsiradusias dėl dvireikšmiškumo ir lankstumo

ir tai uždeda specifikacijoms vienodumo

laipsnį.

Page 56: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Formomis pagrįstose specifikacijose nurodoma

• Funkcijos ar objekto apibrėžimas

• Įvesčių aprašymas ir iš kur jos yra

• Rezultatų aprašymas ir kur jie eina

• Kitų reikalingų objektų atpažinimas

• Pradinės ir galutinės sąlygos ( jei tinka)

• Pašaliniai efektai(jei yra)

Page 57: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Forma pagrįstas mazgo specifikavimas

ECLIPSE/Workstation/Tools/DE/FS/3.5.1

Function Add node

Description Adds a node to an existing design. The user selects the type of node, and its position.When added to the design, the node becomes the current selection. The user chooses the node position bymoving the cursor to the area where the node is added.

Inputs Node type, Node position, Design identifier.

Source Node type and Node position are input by the user, Design identifier from the database.

Outputs Design identifier.

Destination The design database. The design is committed to the database on completion of theoperation.

Requires Design graph rooted at input design identifier.

Pre-condition The design is open and displayed on the user's screen.

Post-condition The design is unchanged apart from the addition of a node of the specified typeat the given position.

Side-effects None

Definition: ECLIPSE/Workstation/Tools/DE/RD/3.5.1

Page 58: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Forma pagrįstas mazgo specifikavimas

• Funkcija – Prideda mazgą

• Aprašymas – Prideda mazgą prie egzistuojančio projekto. Vartotojas pasirenka mazgo tipą ir jo poziciją. Kada prideda prie projekto, mazgas tampa einamu pasirinkimu. Vartotojas, judindamas kursorių po sritį, kur yra pridėtas mazgas, parenka mazgo poziciją.

• Įvestis – Mazgo tipas, mazgo pozicija, projekto identifikatorius.

• Šaltinis – mazgo tipas ir mazgo pozicija yra įvedami vartotojo, Projekto identifikatorius iš duomenų bazės.

• Išvestis – Projekto identifikatorius.

• Paskirtis – Projektavimo duomenų bazė. Pabaigus veiksmą projektas yra įrašomas į duomenų bazę.

• Reikalaujama– Projekto grafo susieto su identifikatoriumi.

• Pradinės sąlygos – Projektas yra atidarytas ir rodomas vartotojo ekrane.

• Galinės sąlygos – Projektas yra nepakeistas išskyrus pridėtą duotoje pozicijoje nurodyto tipo mazgą.

• Šalutiniai efektai - nėra.

Page 59: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Design Description Languages (DDL) pagrįstas reikalavimų apibrėžimas

Reikalavimai gali būti apibrėžti, operatyviai naudojant kalbą, tokią kaip programavimo kalbą, bet su lankstesnėmis išraiškomis.

Daugiausiai vyrauja dviejose situacijose:

– Kur operacija yra specifikuota, kaip veiksmų seka ir svarbi tvarka;

– Kai aparatūrinės ir programinės įrangos sąsajos turi būti nustatytos.

Trūkumai yra:

– DDL negali būti pakankamai išraiškinga, kad apibrėžtų srities sąvokas;

– Specifikacija bus suprasta greičiau kaip projektas, o ne

kaip specifikacija.

Page 60: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Dalis ATM specifikacijos class ATM {

//declarations here

public static void main (String args[]) throws InvalidCard {

try {

thisCard.read () ; // may throw

InvalidCard exception

pin = KeyPad.readPin () ; attempts = 1 ; while( !thisCard.pin.equals (pin) & attempts < 4 )

{

pin = KeyPad.readPin () ;

attempts = attempts + 1 ;

}

if (!thisCard.pin.equals (pin)

}

throw newInvalisCard(“Bad PIN”);

thisBalance = thisCard.getBalance();

do { Screen.prompt ( “Please select a service” );

servise = Screen.touchKey();

switch (service) {

case Services.withdrawalWithReceipt:

receiptRequired = true;

Page 61: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

DDL trūkumai

• DDL negali būti pakankamai išraiškingas, kad

suprantamu būdu išreikštų sistemos funkcines

galimybes.

• Pažymėjimai suprantami tik žmonėms,

žinantiems programavimo kalbą.

• Reikalavimai gali būti greičiau priimti kaip

projekto specifikacija negu kaip modelis,

padedantis suprasti sistemą.

Page 62: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Sąsajos specifikavimas

• Dauguma sistemų turi dirbti su kitomis

sistemomis ir bendravimo interfeisai turi būti

nurodyti, kaip dalis reikalavimų

• Galima apibrėžti tris sąsajų tipus

– Procedūriniai interfeisai

– Struktūros duomenų, kuriais vyksta apsikeitimas

– Duomenų atvaizdavimas

• Formalūs aprašymai - tai efektyvi technika,

specifikuojant sąsają

Page 63: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Sąsajos aprašymas DDL

interface PrintServer { // defines an abstract printer server // requires: interface Printer, interface PrintDoc // provides: initialize, print, displayPrintQueue, cancelPrintJob, switchPrinter void initialize ( Printer p ) ; void print ( Printer p, PrintDoc d ) ; void displayPrintQueue ( Printer p ) ; void cancelPrintJob (Printer p, PrintDoc d) ; void switchPrinter (Printer p1, Printer p2, PrintDoc d) ; } //PrintServer

Page 64: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai

• Funkciniai ir nefunkciniai reikalavimai

• Vartotojo reikalavimai

• Sistemos reikalavimai

• Programinės įrangos reikalavimų

dokumentas (reikalavimų dokumento vartotojai,

reikalavimai dokumentui, reikalavimų dokumento struktūra)

Page 65: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas (specifikacija)

• Reikalavimų dokumentas yra oficialus

pareiškimas, ko reikalaujama iš sistemos

kūrėjų.

• Turi būti įtraukta reikalavimų apibrėžimas ir

specifikacija.

• Tai ne projekto dokumentas. Kaip galima

labiau jis turi nustatyti KĄ sistema turi

padaryti, negu tai, KAIP ji turi tai padaryti.

Page 66: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Sistemos

klientai

Nustato reikalavimus ir skaito juos tam, kad

patikrintų, ar jie atitinka jų poreikius. Jie

nustato reikalavimų pakeitimus.

Vadybininkai Naudoja reikalavimų dokumentą tam, kad

suplanuotų sistemos kainą ir suplanuotų

sistemos kūrimo procesą.

Sistemos

projektuotojai

Naudoja reikalavimus tam, kad suprastų ,

kaip projektuoti sistemą.

Sistemos testo

projektuotojai Naudoja reikalavimus tam, kad sukurtų

sistemai atestavimo testą.

Sistemų

palaikymo

inžinieriai

Naudoja reikalavimus, kad padėtų suprasti

sistemą ir santykius tarp jos dalių.

Reikalavimų dokumento vartotojai

Page 67: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai dokumentui

• Turi nustatyti išorinį sistemos elgesį.

• Turi nustatyti realizavimo apribojimus.

• Turi būti lengvai keičiamas.

• Turi būti kaip vadovas programinės įrangos

palaikymui.

• Vertinti sistemos gyvavimo ciklą, tai yra

nuspėti pakeitimus.

• Charakterizuoti atsakymus į netikėtus įvykius.

Page 68: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

IEEE standartas reikalavimams

• Įvadas

• Bendras aprašymas

• Konkretūs reikalavimai

• Priedai

• Indeksas

• Tai yra bendra struktūra, kuri turi būti

priderinta konkrečioms sistemoms

Page 69: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumento struktūra

• Įvadas

• Sąrašas techninių terminų

• Vartotojo reikalavimų apibrėžimas

• Sistemos architektūra

• Sistemos reikalavimų specifikacija

• Sistemos modeliai

• Sistemos tobulinimas

• Priedai

• Indeksai

Page 70: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas Gerai parašytos reikalavimų dokumento

(specifikacijos) savybės:

– Visų pirma reikalavimų specifikacija yra gerai

parašyta, jeigu ji tenkina projektuotojų poreikius.

• Tai reiškia, kad dokumento savybes lemia tikslai,

kuriems jis yra naudojamas.

• Vienų savybių reikia tam, kad dokumentą būtų patogu

skaityti, kitų tam, kad būtų nesunku patikrinti, ar

projektuotojai tikrai įgyvendino visus reikalavimus, dar

kitų tam, kad dokumentą būtų nesunku keisti.

Page 71: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas

• Gerai parašytos reikalavimų specifikacijos

savybės

– Nėra kokio nors visuotinai pripažinto reikalavimų

specifikacijos formato standarto, tačiau yra įprasta

numeruoti visus reikalavimus:

Page 72: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas

• Gerai parašytos reikalavimų specifikacijos

savybės – Konceptualumas (appropriateness): reikalavimų

specifikacija yra konceptuali, jei visi joje pateikti

reikalavimai yra abstraktūs, t.y. joje nėra liečiami sistemos

projektavimo ar įgyvendinimo klausimai.

• Nekonceptuali specifikacija per daug suvaržytų projektuotojus ir

programuotojus, trukdytų jiems parinkti geriausią sistemos

įgyvendinimo būdą.

• Kita vertus, dažnai yra labai sunku išvengti kai kurių projektavimo

ar realizavimo ribojimų.

Page 73: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas • Gerai parašytos reikalavimų specifikacijos

savybės – Koncepcinė skaidra: apima specifikacijos paprastumą,

aiškumą ir suprantamumą. Ši savybė siejasi su

specifikacijos konceptualumu.

• Jei reikalavimai saugomi duomenų bazėje ir tvarkomi

programiškai, koncepcinė skaidra dažniausiai yra paaukojama

siekiant padidinti reikalavimų apdorojimo našumą.

Page 74: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas • Gerai parašytos reikalavimų specifikacijos

savybės – Konkretumas (constructability): specifikacija yra konkreti,

jei gali būti patikrintas visų joje suformuluotų reikalavimų

įgyvendinimo laipsnis.

• Tai labai svarbi specifikacijos savybė, nes šis dokumentas yra

užsakovo ir vykdytojo sandorio dalis ir jos pagrindu yra

sprendžiama ar sandoris buvo įvykdytas.

Page 75: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas Gerai parašytos reikalavimų specifikacijos

savybės – Geras struktūrizavimas: joje griežtai išlaikytas turinių

atskyrimo principas.

– Tikslumas: visi joje suformuluoti reikalavimai yra tikslūs.

• Tai labai svarbi specifikacijos savybė, nes šis dokumentas yra

užsakovo ir vykdytojo sandorio dalis ir jos pagrindu yra

sprendžiama ar sandoris buvo įvykdytas.

Page 76: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas

Gerai parašytos reikalavimų specifikacijos savybės

– Išsamumas: specifikacijoje aprašytas visas reikalingas sistemos funkcionalumas ir visi joje pateikti reikalavimai yra išsamūs.

• Tai reiškia, kad specifikacijoje yra viskas, kas joje turėtų būti.

– Patikrinti, ar specifikacija tikrai yra išsami, yra labai sunku.

– Nagrinėjant tai, kas yra aprašyta, labai sunku pastebėti, ko gi ten trūksta.

– Geriausias būdas išsamumui patikrinti yra sukurti sistemos prototipą.

Page 77: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas

Gerai parašytos reikalavimų specifikacijos

savybės

– Išsamumas

• Išsamioje specifikacijoje turi būti aprašyta, kaip sistema

reaguoja į kiekvieną iš galimų įvesties tipų kiekvienoje

galimoje situacijoje.

– Reikia nagrinėti ne tik kaip reaguoja sistema į leistinas (teisingas)

įvestis, bet ir kaip ji reaguoja į klaidingas įvestis.

Page 78: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas

Gerai parašytos reikalavimų specifikacijos savybės

– Išsamumas

• Išsamioje specifikacijoje turi būti visos reikalaujamos to dokumento dalys, visi puslapiai, visi paveikslėliai ir visos lentelės turi būti sunumeruoti, paveikslėliai ir lentelės turi turėti pavadinimus, turi būti pateiktos tvarkingos nuorodos į visus naudojamus išorinius informacijos šaltinius.

– Tai formalus dokumento išsamumas, kurį galima vadinti ir dokumento tvarkingumu.

– Kokias dalis turi turėti dokumentas, nustato vidiniai organizacijos (arba projekto) standartai.

78

Page 79: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas

Gerai parašytos reikalavimų specifikacijos savybės

– Išsamumas

• Kartais analizės metu visų reikalavimų specifikuoti nepavyksta, kai kurių reikalavimų specifikavimą tenka atidėti vėlesniam laikui. Tokie reikalavimai pažymimi žyme AVL.

– Išsamioje specifikacijoje kiekvienam AVL žyme pažymėtam reikalavimui turi būti nurodyta:

» kodėl reikalavimo formulavimas yra atidėtas;

» kas turi būti atlikta, kad reikalavimą būtų galima suformuluoti;

» iki kada reikalavimas turi būti suformuluotas;

» kas atsakingas už tai, kad reikalavimas būtų suformuluotas nurodytu laiku.

79

Page 80: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas

Gerai parašytos reikalavimų specifikacijos savybės

– Vienareikšmiškumas: joje neturi būti jokių dviprasmybių. • Tai labai svarbi specifikacijos savybė, nes šis dokumentas yra

užsakovo ir vykdytojo sandorio dalis ir jos pagrindu yra sprendžiama ar sandoris buvo įvykdytas.

– Trasuojamumas: reikalavimai yra lokalizuojami ir reikalavimų ir projektinę specifikacijas galima tarpusavyje susieti kryžminėmis nuorodomis. • Jei visi reikalavimai yra sunumeruoti, į juos galima daryti nuorodas.

9 tema 80

Page 81: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas Gerai parašytos reikalavimų specifikacijos

savybės – Darnumas: visi joje suformuluoti reikalavimai yra

integruojami, jokių prieštaravimų dokumente nėra.

• Nedarna gali atsirasti dėl įvairių priežasčių, pavyzdžiui, dėl:

– terminų konflikto: skirtingose dokumento vietose tas pats daiktas yra

vadinamas skirtingai;

– savybių konflikto: skirtinguose reikalavimuose yra reikalaujama, kad

sistema turėtų kokias nors nesuderinamas savybes;

– naudojimo režimų konflikto: pavyzdžiui, vienoje vietoje

reikalaujama, kad su sistema būtų dirbama dialogo režimu, kitoje, kad

ji būtų sistema, veikianti paketinio duomenų apdorojimo režimu.

Page 82: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimų dokumentas • Gerai parašytos reikalavimų specifikacijos

savybės

– Keičiamumas: dokumentas turi būti lengvai keičiamas.

• Specifikaciją lengva keisti, jei ji parašyta griežtai prisilaikant turinių atskyrimo principo ir visi reikalavimai turi unikalius numerius.

– Naudojimo patogumas: mažai kas skaito visą dokumentą, kiekvienam reikia tik to, kas jam svarbu. Todėl dokumentas turi būti parašytas taip, kad juo būtų galima naudotis kaip žinynu.

Page 83: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai

“Reikalavimai yra didelis dalykas. Aš juos rašau visą

gyvenimą. Ten aš sudedu viską apie tai, ką turėtų daryti

programų sistema: kokias verslo taisykles ji turi tenkinti,

ką turi daryti vartotojo interfeisas, paspaudus tą ar kitą

klavišą, kokias užduotis vartotojas norės vykdyti ir taip

toliau, ir taip toliau. Čia tikrai yra apie ką pagalvoti.”

Kevin Brennan

Page 84: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai

“Kartais ko nors pritrūksta. Kartais nieko netrūksta, bet vykdytojai klaidingai supranta mano mintį. Aš susidūriau su daugybe situacijų, kurios yra visiškai akivaizdžios verslo žmonėms, bet praranda savo akivaizdumą arba dėl jų perpasakojimo kitais terminais, arba dėl to, kad nors ir nesunku įsivaizduoti tokias situacijas realizuojančias juodąsias dėžes, labai sunku realizuoti pačias tokias juodąsias dėžes.

Ir visa tai vyksta nepaisant to, kad mes visi dirbame kartu jau daugiau kaip metai, sėdimi tame pačiame pastate ir daugelis iš mūsų jau ištisus dešimtmečius dirba tokį darbą.”

Kevin Brennan

Page 85: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai

“Rasti ir pataisyti klaidą sistemoje testavimo metu, o juo labiau po

to, kai ji pradėta eksploatuoti, kainuoja dešimt kartų daugiau,

negu ją rasti ir pataisyti reikalavimuose ar projektinėje sistemos

specifikacijoje.

Blogai valdomame projekte klaidoms surasti ir pataisyti jūs galite

sugaišti daugiau laiko, negu jo buvo sugaišta sistemai sukurti.”

Kevin Brennan

9 tema 85

Page 86: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Reikalavimai

Poreikių

analizė

Aiškinimasis

ir analizė

Specifikavimas

Vertinimas

Dokumentavimas

Prototipai

Technologinis reikalavimų

inžinerijos procesas

Page 87: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Esminiai akcentai

• Reikalavimai išdėsto, ką sistema turi daryti ir

apibrėžia jos vykdymo ir realizavimo apribojimus.

• Funkciniai reikalavimai išdėsto paslaugas, kurias

turi užtikrinti sistema.

• Nefunkciniai reikalavimai apriboja kuriamą

sistemą arba kūrimo procesą.

• Vartotojo reikalavimai yra aukšto abstrakcijos

lygio sakiniai, ką sistema turi daryti.

Page 88: Reikalavimai, reikalavimų inžinerija - VGTUdma.vgtu.lt/PSI/PSI_4.pdf · 2012. 4. 26. · Verslo poreikių specifikacija (VPS) •VPS paskirtis yra aprašyti pačias bendriausias

Esminiai akcentai

• Vartotojo reikalavimai gali būti parašyti natūralia

kalba, lentelėmis ir diagramomis.

• Sistemos reikalavimai skirti funkcijoms, kurias

sistema turi vykdyti.

• Sistemos reikalavimai gali būti parašyti

struktūrizuota natūralia kalba, DDL, grafinėmis

diagramomis (UML) ar formalia (matematine) kalba.

• Programinės įrangos reikalavimų dokumentas

(specifikacija) yra sistemos reikalavimų suderinti

teiginiai.