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

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

Szoftver újrafelhasználás

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

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

Szoftver-technológia I.

Szoftver tervezés és design

A szoftverfejlesztés eszközei

A szoftverfejlesztés eszközei

Modell alapú tesztelés mobil környezetben

Kogníció, koncepciók, modellek

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

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

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

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

Szoftverminőségbiztosítás

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

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

UML (Unified Modelling Language)

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

Bevezetés a programozásba

Software Engineering

Formális módszerek GM_IN003_1 Bevezetés

Nagy bonyolultságú rendszerek fejlesztőeszközei

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

Alkalmazások architektúrája

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

Komponens alapú fejlesztés

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

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

Szoftverminőségbiztosítás

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

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

Szoftverminőségbiztosítás

01. gyakorlat - Projektalapítás

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

Szoftverminőségbiztosítás

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

7. A követelménytervezés folyamata

Részletes szoftver tervek ellenőrzése

Szoftverminőségbiztosítás

Rendszer szekvencia diagram

Információtartalom vázlata

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

Szoftverminőségbiztosítás

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

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

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

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

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

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Szoftveripar és üzleti modellek

Elosztott rendszer architektúrák

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

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

DW 9. előadás DW tervezése, DW-projekt

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

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

S01-7 Komponens alapú szoftverfejlesztés 1

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

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

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

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

2. Követelmények (Requirements)

Szoftverminőségbiztosítás

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

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

Digitális eszközök típusai

A TANTÁRGY ADATLAPJA

TOGAF elemei a gyakorlatban

Programfejlesztési Modellek

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM)

Programozási technológia

Object Orgy PROJEKTTERV 1 (9) Adattípusok menedzselése Palatinus Endre

Cloud Computing a gyakorlatban. Szabó Gyula (GDF) Benczúr András (ELTE) Molnár Bálint (ELTE)

Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 2

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

Mathcad Június 25. Ott István. S&T UNITIS Magyarország Kft.

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

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

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Objektum Vezérelt Szoftverek Analízise

Szoftverspecifikáció fázis: Követelmény specifikáció. 2. fázis: Követelmények feltárása és elemzése

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

1. Bevezetés a szoftvertechnológiába

6. Szoftver követelmények

S S A D M ELEMZÉSI ÉS TERVEZÉSI MÓDSZERTAN. Structured Systems Analysis and Design Method

Tamagocsi Projektterv

A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK

A szoftver tesztelés célja

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

Objektum orientált software fejlesztés (Bevezetés)

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

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Projectvezetők képességei

Á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 és m!ködési feltételek 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 követelmény meghatározás helye az életciklusban Rendszertervezés Követelmény elemzés Szoftver tervezés Implementáció Min!ségbiztosítás Karbantartás 4

Követelmény- meghatározás (folyt.) A megfelel" követelmény meghatá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 5 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] 6

Követelménymeghatározás (folyt.) A követelmény meghatározás során végzett tevékenységi körök probléma azonosítás értékelés, szintézis modellezés specifikálás 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 A célcsoportjai Felhasználói Rendszer managerek (megrendel!i oldal) végfelhasználók mérnökök (megrendel!i oldal) rendszertervez!k végfelhasználók mérnökök (megrendel!i oldal) rendszertervez!k szoftver fejleszt!k Tervezési specifikáció mérnökök (megrendel!i oldal) rendszertervez!k szoftver fejleszt!k 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

A pontatlansága A nem egyértelm!en megfogalmazott et többféle képpen lehet értelmezni 15 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 16

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 17 Nem-funkcionális (folyt.) Termék Szervezési Küls" 18

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 19 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 20

Nem-funkcionális megfogalmazása (folyt.) Követelmények egymásrahatása ellentmondó kompromisszumos megoldás v. a megváltoztatása 21 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 22

Domén (pl.) 23 Felhasználói felhasználók számára érthet", sw. technológiai háttér nélkül természetes nyelven, intuitív diagrammokkal 24

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 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

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 27 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 28

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 29 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 30

"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 31 "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@%<%=() +) 32 B(gQK=&Cgh/=A%ZgC//"gC//"i"'/#23254W#\)

Grafikus modellek Állapotváltozások, id"beli viselkedés Komponensek kapcsolatai Információ vizualizálás 33 Információ vizualizálás Grafikus követelmény kezelés PaladinRM 34

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 35 IEEE/ANSI 830-1998 Általános felépítés Bevezetés Általános leírás Specifikus Mellékletek Tárgymutató 36

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 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 hogy 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

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 41 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! 42

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 43 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 44

Különböz# szerepek Interaktorok A rendszer használatában közvetlenül érintettek Közvetett szerepl"k Domén néz"pontok 45 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 46

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 47 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 48

Scenárió részlet (pl.) 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 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 51 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 52

CASE támogatás Diagram editorok szintaxis validálás Dokumentum kezel" megoldások Képerny" és jelentés tervez" alkalmazások 53 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 54

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 55 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 56

Ö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 57