Szoftver követelmények meghatározása



Hasonló dokumentumok
Szoftver követelmények meghatározása

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Szoftver tervezés és design

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Rendszer-modellezés, modellezési technikák

Kogníció, koncepciók, modellek

Rendszer-modellezés, modellezési technikák

Szoftver újrafelhasználás

Szoftver architektúra, Architektúrális tervezés

Modell alapú tesztelés mobil környezetben

Szoftver-technológia I.

A szoftverfejlesztés eszközei

Kód átvizsgálás. Irodalom. (Code review) code review,smart Bear Inc., ! Jason Cohen: Best kept secrets of peer

A követelm. vetelmény. analízis fázis. Az analízis fázis célja. fázis feladata

A szoftverfejlesztés eszközei

Szoftverminőségbiztosítás

Szoftvertechnológia ellenőrző kérdések 2005

Verifikáció és validáció Általános bevezető

Szoftver-technológia II. Modulok és OOP. Irodalom

Formális módszerek GM_IN003_1 Bevezetés

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.

Modellellenőrzés a vasút automatikai rendszerek fejlesztésében. XIX. Közlekedésfejlesztési és beruházási konferencia Bükfürdő

Bevezetés a programozásba

Alkalmazások architektúrája

Software Engineering

Információs rendszerek Információsrendszer-fejlesztés

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Nagy bonyolultságú rendszerek fejlesztőeszközei

Komponens alapú fejlesztés

Szoftverminőségbiztosítás

Bánsághi Anna Bánsághi Anna 1 of 54

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

UML (Unified Modelling Language)

7. A követelménytervezés folyamata

Szoftverminőségbiztosítás

Név: Neptun kód: Pontszám:

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

Részletes szoftver tervek ellenőrzése

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

Programrendszerek tanúsítása szoftverminőség mérése

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Software engineering (Software techológia) Bevezetés, alapfogalmak. Történelem 1. Történelem as évek Megoldandó problémák: Fejlesztő: Eszköz:

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

01. gyakorlat - Projektalapítás

Rendszer szekvencia diagram

Elosztott rendszer architektúrák

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus

Szoftverminőségbiztosítás

Szoftver karbantartási lépések ellenőrzése

Szakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman

S0-02 Típusmodellek (Programozás elmélet)

Ismeretanyag Záróvizsgára való felkészüléshez

Szemantikus Web Semantic Web A szemantikus web alkalmas megközelítés, illetve megfelel nyelvekkel, eszközökkel támogatja az intelligens információs

Információtartalom vázlata

Funkcionális modellek leképezése. Dialógusok meghatározása

Szoftverminőségbiztosítás

Planning and Design of Information Systems. André Blokdijk, Paul Blokdijk ACADEMIC PRESS, 1987.

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

Bevezetés Mi a szoftver? Általános termékek: Mi a szoftvertervezés?

Vállalati folyamatok támogatása ELO-val Beszerzés management

A TANTÁRGY ADATLAPJA

Témaválasztás, kutatási kérdések, kutatásmódszertan

A szoftver tesztelés célja

Modellező eszközök, kódgenerálás

Objektum Vezérelt Szoftverek Analízise

Emerald: Integrált jogi modellező keretrendszer

Követelmény meghatározás. Információrendszer fejlesztés módszertana, Dr. Molnár Bálint egyetemi docens 1

Autóipari beágyazott rendszerek Dr. Balogh, András

Funkciópont elemzés: elmélet és gyakorlat

Dr. Topár József 3. Eladás Marketing Külső szolgáltatás Alvállalkozók Fogyasztók. Engineering Termelés Anyagszabályozás Beszerzés Minőség

Tartalom. Szoftverfejlesztési. Szoftver = Termék. módszertan. la Rational XDE CASE eszköz. Az előállításához technológiára van szükség

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

Funkcionális modellek leképezése

HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM)

6. Szoftver követelmények

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

A fejlesztési szabványok szerepe a szoftverellenőrzésben

Mérés és modellezés Méréstechnika VM, GM, MM 1

Digitális eszközök típusai

Programfejlesztési Modellek

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

Mérés és modellezés 1

- Adat, információ, tudás definíciói, összefüggéseik reprezentációtípusok Részletesebben a téma az AI alapjai című tárgyban

TOGAF elemei a gyakorlatban

Bevezetés. Dr. Iványi Péter

Méréselmélet MI BSc 1

Projectvezetők képességei

Orvostechnikai eszköz tesztelése DSS Unit test. Taliga Miklós BME-IIT

László Péter. Lehetséges-e az üzleti fókuszú infokommunikációs szolgáltatás menedzsment megvalósítása az állami szférában?

IRÁNYÍTÓ RENDSZER IRÁNYÍTANDÓ FOLYAMAT. Biztonsági funkciók Biztonsági integritás. Normál működés. Hibák elleni védettség Saját (belső) biztonság

Közösség, projektek, IDE

Metamodellezés. Simon Balázs BME IIT, 2011.

Részletes tervek ellenőrzése

Mai program. Web Technológiák. Webalkalmazások. Webalkalmazás, mint UI

Átírás:

Szoftver meghatározása Requirements engineering (analysis) Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 6-7. Roger S. Pressman: Software Engineering, 5th e. chapter 11. 2

Követelménymeghatározás Rendszer szolgáltatások (funkciók) és m"ködési feltételek (jellemz!k) meghatározása a megrendel! számára Rendszer és szoftver tervezés összekapcsolása Rendszer tervezés Követelmény elemzés Szoftver tervezés 3 Követelménymeghatározás (folyt.) A megfelel! követelménymeghatározás fontossága Hibák az életciklus alatt Valós probléma Követelmény meghatározás helyes spec. hibás spec. Tervezés helyes terv hibás terv terv hibás spec. alapján Implementálás helyes prog. hibás prog. prog. hibás terv alapján prog. hibás spec. alapján Tesztelés helyes prog. javítható hibák javíthatatlan hibák rejtett hibák 4

Specifikációs hibák aránya és költsége Bell Labs., IBM elemzések hibák 80%-a hibás köv. megh.-ra vezethet! vissza U.S. Airforce az összes hiba 36%-a hibás értelmezéséb!l Voyager és Galileo "rszondák 197 hibát tárt fel az int. tesztelés, ebb!l 3 programozási hiba Követelmény hiba javítási költsége szállítás után 100-szorosa az impl. hiba javításnak [Boehm] 5 Követelménymeghatározás (folyt.) A követelmény-meghatározás során végzett tevékenységek probléma-azonosítás értékelés, szintézis modellezés specifikálás 6

Néz!pontok System Function (focus) System Function (background) Observer Observer Collaborating objects (background) Funkció megfigyelése Collaborating objects Funkció azonosítása System User SE-HCI néz!pont Observer 7 Követelmények Megjelenés magas szint" absztrakt szolgáltatás leírás részletes formális leírás Kett!s szerep (Davis, 1993) ajánlattételi felhívás eltér! alternatívák szerz!dési alap validálhatóság 8

Követelmény típusok Felhasználói szolgáltatások köre természetes nyelven Rendszer rendszer funkciók, szolgáltatások m"ködési feltételek precíz megadás 9 Felhasználói 10

Felhasználói (pl.) 11 Rendszer (pl.) 12

Funkcionális és nemfunkcionális Funkcionális szolgáltatások köre Nem-funkcionális m"ködési kényszerek, feltételek Domén alkalmazási terület jellemz!i 13 Funkcionális A rendszer funkcionalitásának és szolgáltatásainak leírása Az alkalmazási környezet, a szoftvertípus és a felhasználói kör függvénye 14

Nem-funkcionális A rendszer m"ködési környezetére vonatkozó rendszer tulajdonságok feltételek, kényszerek A szoftverfolyamatra vonatkozó megkötések Kielégítésük kritikus a rendszer szempontjából 15 Nem-funkcionális (folyt.) Termék Szervezési Küls! 16

Nem-funkcionális (folyt.) Nem-funkcionális Termék Szervezési Küls! Hatékonysági Megbizhatósági Portabilitási Együttm"ködési Etikai Törvényességi Teljesítmény Méret Szállítási Szabványossági Titkossági Adatbiztonsági Használhatósági Implementációs 17 Nem-funkcionális megfogalmazása Elérend! célok ellen!rizhet! ké alakítása metrikák használata, ha lehetséges Tulajdonság sebesség méret használhatóság megbízhatóság robusztusság hordozhatóság Metrika tranzakció/sec válaszid! frissítési ráta Kbyte betanulási id! help oldalak száma MTBF BER újra indulási id! platform függ! kód aránya elérhet! platformok száma 18

Nem-funkcionális megfogalmazása (folyt.) Követelmények egymásrahatása ellentmondó kompromisszumos megoldás v. a megváltoztatása 19 Domén Az alkalmazási terület által támasztott Megértés terminológia, koncepciók Implicitás nyilvánvaló új funkcionális követelemények 20

Domén (pl.) 21 A pontatlansága A nem egyértelm"en megfogalmazott et többféle képpen lehet értelmezni 22

A teljessége és konzisztenciája Teljesség tartalmazza az összes szükséges információt, az összes szolgáltatás leírását Konzisztencia nincsenek ellentmondások a rendszer leírásában, a szolgáltatások definícióiban 23 Természetes-nyelvi problémák Pontatlan, nem egyértelm" precízen megfogalmazott szöveg nehezen olvasható Túl rugalmas többféle képen leírható ugyanaz Nem elég struktúrált Nehezen különíthet!k el a, célok, tervezési információk 24

Természetes-nyelvi problémák (folyt.) Kognitív mentális terek (modellek) leképezése nyelvi formába alul specifikáltság, nem teljesség formális, propozícionális stílus kellene fejl!d! pontosítás, domén tudás 25 Felhasználói rögzítése Standard formátum az összes követelményhez Konzisztens nyelvhasználat kötelez! és kívánatos Kulcsrészek tipográfiai kiemelése Komputer-zsargon kerülése 26

Felhasználói rögzítése 27 Rendszer Szolgáltatások és kényszerek részletes specifikációja A szoftvertervezési folyamat kiinduló dokumentumai Dokumentáláshoz rendszer modellezési formalizmusok használata 28

Követelmények és a tervezés A tervezési folyamat nem választható el a meghatározásától architektúrális tervezés tervezési kényszerek más rendszerekkel való együttm"ködés miatt domén specifikus tervezési elvek 29 Rendszer rögzítése Természtes-nyelvi problémák Speciális fél formális jelölés rendszerek Struktúrált természetes nyelv Design leíró nyelv info architecture Grafikus jelölések use-case, szekvencia diagr. Matematikai specifikáció véges automaták 30

Struktúrált nyelv# specifikációk El!re definált forma Sz"kített terminológia El!nyök természetes nyelv kifejez! ereje egységesített forma struktúráltság 31 "rlap alapú specifikálás Entitás definíciója Input/Output leírása Kapcsolódó entitások El!feltételek és következmények Mellékhatások 32

"rlap alapú specifikálás (pl.) )!"#$%&'()*++,) -%"./0()1223425) 627528) )!"#$%&"''(%&) *&"'&!) +,-./) 9:;.:<);:=.>?@) A"4)B<#=&C)D:EC)F@G"?@) 1228H2IH18) 0.#1234#(5) 0.#12346&7#7%8-4) JC=KE0)L)!:=.'M")L)N'#"=0) 9!J!DNJ) 0.#12349"8',%)! JC=KE0)&:<.;:=.%<)O%P/.%':<)<'#"=0.M<C)! *)O%P/.%':<"!E)&:<.;:=.%<)<'#"=0)<.MQEC)&:<.>E4)*)<.MQEC)Q%?P%E%E)C)1875RR3) ST+4114U)!V)"%=W%E%'=%&()C)<'#"=0)<.MQEC)X$)<#"<.MQ#')&C;):<)Y/ZC'&#./&)C.)%E!.![) <'#"=0.#'')<.MQEC)<#"<.MQM"C)! N'#"=0)<.MQEM')\<C&)C&&#")E%Y%')&:<.]'%=/[)YC)C.)%"%W%'/E%?)&/CW#'')<.MQEC)Z/<<.C&%">E) C)?C.WC<M?/)%E<.MQ#EM<OC[)'%YM')C)<'#"=0)<.MQEC)^Q%EE:&E%'%_)C.)%"%W%'/E%?)&/CW#'') <.MQEC)! *.)ME'CEM=#<);C"CQ:'%"%&O%=)E%Y%')O%MEE]'C=/)C)<.MQEC);:EWM=@<.MQM'4)))! *)<'#"=0.#'')<.MQEM&[)&/P/.%':<%&)C.)K=4)^JC=KE0/);:=.'M"_HOC)&%">E=%&[)CY#==C=)C) QK=&C=C;)O%P%$%.:<%)K'M=)C)^`C;/);:=.'M".M"M<_H<CE)&%">E=%&)M')C)P!;:=.'M"OC4)V]?)C) 'C=KE0/);:=.'M"OC=)Q/=W%=)'C=KE0/)O%P/.%':<)':'%E%<%=)=@#Q#=)&GZ%'Y%'![)CWW/?)C) P!;:=.'M"OC)QM")&/"%=W%E'<:?"%[)/EE%'Z%)&/P/.%':<[)O%P/.%':<)\<#;#"'#<]'M<OC=)&>EG=)) G<<.%<]'Z%)&%">E=%&)O%)C.)CWC'#&4)J%YM')&/"%=W%E'<:?%=&:='[)/EE%'Z%)O%P/.%':<%=&:='[) &/P/.%':<%=&:=')&>EG=)G<<.%<]'Z%)&%">E)C)P!;:=.'M"OC)C.)G<<.%?4))! *.)G<<.%<]'%'')<#"#&"C)C)&G=@Z%E:<)Q/C'')ZC=)<.>&<:?4()Q/Z%E)C)O%P/.%':<%&)C=CE/'/&K<) =@/EZM='C"'M<M')C);"#?"CQ)%EZ:?./[)%E%?%=W!)C)P!&G=@ZO%=)C)&/"%=W%E'<:?%&"%) G<<.%<]'%'')<#"#&C')&#=']"#.=/4)) :";<";=&(%) ) >(?"'#=!) @$6-A"1('!) B"8',%) C8?.% N'#"=0)WM'KQ) a$)cwc'o%z/'%e/)q%.!4) +) *K'#QC'/&K<C=)P%E'GE'!W/&)C)?:;)"%=W<.%"WM'KQMZCE4) b.%=)c)wm'kq#=)=%q)e%y%')zme'#.'c'=/4)*)wm'kq)ym"#q) <.%Q;#=')<.%"/=')&%EE)%EE%=!"/.=/()! *)WM'KQ)\<C&)C)<.MQ]'0?:;)"%=W<.%"WM'KQC) E%Y%')! *)WM'KQ)=%Q)E%Y%')&#"MOO/[)Q/=')C)'C=KE0/) ;:=.'M")K'#E<0)O%P/.%':<%)! *)WM'KQ)=%Q)E%Y%')&#"MOO/[)Q/=')C)P!;:=.'M") K'#E<0)O%P/.%':<%) JC=KE0)=%Z%) c9d)e)&%"%<:<[)c)<'#"=0.m<')/?:=@e!)'c=ke0)&%"%<:<%4))*) 9) &%"%<!)?E#OME/<)&%"%<:<')YC$')Z:?"%()C)O%>'G'') &C"C&'%"%&=%&)Q%?P%E%E![)=:Z<#")<.%"/='/)%E<!)=%Z%&%') C$M=E$C)P%E)C);"#?"CQ)&/ZMEC<.'M<"C4)*)&/ZMEC<.'M<') b`jb,h"%e)e%y%')%ep#?cw'c'=/4)*);#='#<)c.#=#<]'m<) :"W%&:O%=)C)'C=KE0)&%"%<:<%&#")C)&:;%"=@!=)'GOO[)C) 'C=KE0')C.#=#<]'0)CWC')$%E%=/&)Q%?4)) N.MQEC)<#"<.MQ) *)CW#'')'C=KE0)&/ZMEC<.'M<C)K'M=)'C=KE0Y#.)"%=W%E') 'MOEM.C'OC=)Q%?$%E%==%&)C=CE/'/&K<C=)C)&/CW#'') <.MQEM&)SEW4)9!J!DN,f)PK=&\/0U[)*)<.MQEC) <#"<.MQC)O%Z/'%E/)Q%.!"%)C.)/W!"%=WO%=)K'#E<0)<.MQEC) <#"<.MQC)&%">E)CK'#QC'/&K<C=4)b.)O/.#=@EC'Y%E@%<%=() +) 33 B(gQK=&Cgh/=A%ZgC//"gC//"i"'/#23254W#\) Interfész specifikáció Interfész típusok procedurális interfészek adat szerkezetek adat reprezentációk Formális leírások használata SDL, ASN.1 34

IEEE/ANSI 830-1998 Általános felépítés Bevezetés Általános leírás Specifikus Mellékletek Tárgymutató 35 A követelmény meghatározási folyamat Függ az alkalmazási területt!l és a et meghatározó szervezett!l Generikus tevékenységek kinyerése elemzése specifikálása validálása követelmény management 36

A követelmény meghatározási folyamat Felhasználó Felhasználói Felhasználói visszacsatolás Valid. Kinyerés Specifikálás eredm. Validálás Tudás Köv. modellek Domén Domén Domén tudás 37 A követelmény meghatározási folyamat Követelmény specifikálás Rendszer köv. spec. Felh. köv. spec. Üzleti köv. spec. Követelmény kinyerés Felh. köv. meghat. Megval. tanulmány Rendszer köv. meghat. Prototípus kész. Szemlék Követelmény validálás 38

Megvalósíthatósági tanulmány Megéri-e megvalósítani a rendszert? A rendszer hozzájárul-e a szervezet céljaihoz? Megvalósítható-e a jelenlegi technológiával az adott költség és id!keretben? Integrálható-e a meglév! korábbi rendszerekkel? 39 Megvalósíthatósági tanulmány (foly.) Megválaszolandó kérdések M"ködhet-e a szervezet az adott rendszer nélkül? Mi a probléma a jelenlegi folyamatokkal, és hogyan változnak azok az új rendszer hatására? Mik lesznek az integrálási problémák? Szükséges-e új technológiák, tudások bevezetése? 40

Megvalósíthatósági tanulmány 41 Követelmények meghatározása és elemzése Követelmény meghatározás, követelmény feltárás Érintettek (szerepl!k) köre végfelhasználók managerek mérnökök domén szakért!k 42

Követelményelemzés problémái Az érintettek nem tudják mit akarnak Az érintettek saját terminológiájukban fejezik ki a et A különböz! szerepl!k érdekei ellentétesek Szervezeti és politikai tényez!k befolyásolják a et A változnak az elemzés alatt! 43 Tevékenységek Követelmény feltárás Követelmények kategórizálása és elrendezése Követelmények prioritálása, egyeztetés Követelmények dokumentálása 44

Néz!pontok és szerepek Az érdekelt felek besorolhatók néz!pontjaik szerint A néz!pontok alkalmasak a struktúrálására A elemzésének megfelel! módja a több-néz!pontú elemzés 45 Különböz! szerepek Interaktorok A rendszer használatában közvetlenül érintettek Közvetett szerepl!k Domén néz!pontok 46

Interjú készítés Rendszerrel kapcsolatos információk kinyerése zárt interjú el!re meghatározott kérdések nyílt interjú lehetséges problémák feltárása Domén tudás kinyerésére nem megfelel! terminológia implicit tudás 47 Egyéb technikák Kérd!ívek pontosabb nagyszámban kiértékelhet! A tevékenység során használt bizonylatok, "rlapok elemzése Közvetlen megfigyelés video 48

Scenáriók A rendszer valós használatára vonatkozó tipikus helyzetek A scenáriónak tartalmaznia kell kiindulási állapot, feltételek események normál lefolyás esetén hibalehet!ségek konkurens tevékenységek végállapot 49 Use case-ek Objektum orientált megközelítés (UML) Interakciók számbavétele, egyedi leírása felhasználási esetek, módok szerepl!k Use case diagramok 50

Use-casek kialakítása Absztrahálás Tervezési megkötések meghatározása Terv formalizálása Felhasználói történetek Koncepcionális scenáriók Konkrét scenáriók Use-casek Tevékenységek megértése Ötletek gyártása, megfogalmazása Prototípus készítés, ellen!rzés Dokumentálás, implementálás 51 Use case diagram (pl.) Toy Order System Search Toy <uses> Create Preference Search by Preference Staff Customer Check Order Status Place Order <extends> <uses> Reorder Calculate Total 52

Gyors prototipizálás Követelmények pontosítása és specifikálása egy gyorsan kialakított prototípus alapján Prototípus változtathatósága Felhasználó központú fejlesztés gyors felhasználói visszacsatolás A prototípus felhasználása min!ségi megkötések 53 Prototípus 54

CASE támogatás Diagram editorok szintaxis validálás Dokumentum kezel! megoldások Képerny! és jelentés tervez! alkalmazások 55 Követelmények validálása Meghatározott megfelelnek a megrendel! szándékainak érvényesség ellen!rzése konzisztencia ellen!rzése teljesség ellen!rzése realitás ellen!rzése 56

Követelmények validálása (folyt.) Alkalmazható technikák szemlék, átvizsgálások követelmény metrikák követelmény változékonyság (változások száma, frekvenciája) prototípusok készítése tesztesetek készítése 57 Követelmény management Változások követése / kezelése fejlesztés közben Teljesség és konzisztencia fenntartása üzleti folyamatok változása különböz! néz!pontok változó figyelembevétele 58

Követelmény-követés Néhány megválaszolandó kérdés Hol van egy adott követelmény megvalósítva? Miért az adott módon van megvalósítva, milyen más alternatívák voltak még? Milyen elfogadási teszt tartozik a követelményhez? Milyen hatással jár egy adott követelmény megváltoztatása? 59 Követelmény-követés Megközelítés módok Jellemz! alapú megközelítés A fejlesztési döntések kiinduló pontjai a rendszer speciális jellemz!i Érv alapú megközelítés A fejlesztési döntések okai érdekesek Változtatások okai és hatásuk 60

Követelmény-követés Alkalmazható technológiák Keresztreferenciák, hivatkozások Dokumentum sablonok, transzformációs megoldások Restruktúrálási lehet!ségek: gráf, hálózat, mátix reprezentációk 61 Összefoglalás A követelmény-meghatározási folyamat elemei megvalósíthatósági tanulmány, követelmény-meghatározás és elemzés, specifikáció, validálás és management Különböz! érdekeltek különböz! néz!pontokkal Változó kezelése Funkcionális és nem-funkcionális Felhasználói és rendszer 62