Programozási technológia II 2. előadás. Specifikáció és követelménymenedzsment

Hasonló dokumentumok
Programozási technológia 2.

Szoftvertechnológia 2. előadás. Specifikáció és követelménymenedzsment. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Szoftvertechnológia 2. előadás. Every big computing disaster has come from taking too many ideas and putting them in one place.

Szoftvertechnológia 8. előadás. Szoftverrendszerek tervezése Giachetta Roberto

Models are not right or wrong; they are more or less useful.

Szoftvertechnológia 8. előadás. Szoftverrendszerek tervezése. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

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

ELTE, Informatikai Kar december 12.

Models are not right or wrong; they are more or less useful.

Szoftvertechnológia 1. előadás. A szoftverfejlesztési folyamat Giachetta Roberto groberto@inf.elte.hu

Szoftvertechnológia 2. gyakorlat. Projektdefiníció és elemzés Giachetta Roberto

HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM)

3. Beadandó feladat dokumentáció

Könyvtári kölcsönzések kezelése

2. Beadandó feladat dokumentáció

Szoftvertechnológia 1. előadás. A szoftverfejlesztési folyamat. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

01. gyakorlat - Projektalapítás

Felhasználói dokumentáció. a TávTagTár programhoz. Készítette: Nyíri Gábor, hdd@nc-studio.com GDF Abakusz regisztrációs kód: GDFAba43

In short, software is eating the world.

Bár a szoftverleltárt elsősorban magamnak készítettem, de ha már itt van, miért is ne használhatná más is.

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Felhasználói kézikönyv. ÜFT szolgáltatás. Magyar Nemzeti Bank

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

Átfogó megoldás a számlafolyamatok felgyorsításához ELO DocXtractor. Laczkó Kristóf ELO Digital Office Kft. Bálint András Prognax Kft.

Szerepjáték Project Story of my life

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

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

2. Beadandó feladat dokumentáció

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

NightHawk AccessControl

INGATLANVAGYON-KATASZTER SZAKRENDSZER

VARIO Face 2.0 Felhasználói kézikönyv

BaBér bérügyviteli rendszer telepítési segédlete év

Operációs rendszerek. Tanmenet

Könyvtári címkéző munkahely

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Minőségellenőrzési kérdőív kitöltő program Felhasználói kézikönyv

Felhasználói kézikönyv. Tőkepiaci Közzététel. Magyar Nemzeti Bank

Vonalkód olvasó rendszer. Specifikáció Vonalkód olvasó rendszer SoftMaster Kft. [1]

Webes vizsgakezelés folyamata Oktatói felületek

KIRA. KIRA rendszer. Telepítési útmutató v1

ALKALMAZÁSOK ISMERTETÉSE

3. Beadandó feladat dokumentáció

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

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

BŐVÍTMÉNYEK TELEPÍTÉSE ÉS SZERKESZTÉSE WORDPRESS-BEN

A dokumentáció felépítése

KnowledgeTree dokumentumkezelő rendszer

Programfejlesztési Modellek

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

Mobil Partner telepítési és használati útmutató

Easton420. Automata Telefon hangrögzítő. V 6.0 Telepítése Windows XP rendszerre

1. SZÁMÚ FÜGGELÉK MŰSZAKI LEÍRÁS

A WORDPRESS TESTRESZABÁSA (MEGJELENÉS MENÜ ELEMEI)

Bevezetés az informatikába

Példa webáruház kialakítás rendszerdokumentáció

FIR WEBMODUL ALKALMAZÁS DIÁKIGAZOLVÁNY IGÉNYLÉS

minic studio Melinda Steel Weboldal kivitelezési árajánlat

MŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2.

Egyetemi könyvtári nyilvántartó rendszer

A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.

Tájékoztatás a Közbeszerzési Hatóság elektronikus rendszereinek főbb változásairól (Ajánlatkérők és megbízott képviselők számára)

Új Nemzedék Központ. EFOP pályázatok online beszámoló felülete. Felhasználói útmutató

Számítógépes alapismeretek 2.

Követelmények és feladatleírás

Software project management Áttekintés

FELHASZNÁLÓI ÚTMUTATÓ

Informatika tagozat osztályozóvizsga követelményei

RIEL Elektronikai Kft v1.0

Telepítési Kézikönyv

Netlock Kft. által kibocsátott elektronikus aláírás telepítése Windows XP SP3 Internet Explorer 8 böngészőbe

Hungaropharma Zrt. WEB Áruház felhasználói útmutató. Tartalomjegyzék

INFORMATIKAI ALAPISMERETEK

Vihar 2.0 rendszer Felhasználói kézikönyv

MTMT adminisztrátori felület és teendők. Mátyás Melinda, Szabó Panna november 4. ELTE Egyetemi Könyvtár

AZ INTEGRÁLT NYOMONKÖVETŐ RENDSZER BEMUTATÁSA (TÁMOP B) Kern Zoltán Közoktatási szakértő

Aranykor Önkéntes Nyugdíjpénztár Partner Portál

A telepítési útmutató tartalma

Időkönyvelő Projektfeladat specifikáció

MultiBoot. Felhasználói útmutató

ShopRenter Kulcs-Soft beállítás

ContractTray program Leírás

Első lépések a KRÉTA-Poszeidon modul használatához. Gyors Áttekintő Segédlet

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Adóhátralék kezelés egyszerűen. Telepítési útmutató. A program futtatásához Windows XP, Windows 7, 8 operációs rendszer szükséges.

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

NETFIT modul NETFIT adminisztrátori felület Felhasználói útmutató. Magyar Diáksport Szövetség

2. modul - Operációs rendszerek

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

ESZR - Feltáró hálózat

A számítógépes feladatok a várt megoldáshoz egyértelmű utalásokat tartalmazzanak.

BarAck.Net. Internetes csomagkezel. Felhasználói kézikönyv V 1.0. (2011. július 20.)

A d m i n i s z t r á c i ó s f e l a d a t o k a I n t e g r á l t K ö n y v t á r i R e n d s z e r b e n

Óranyilvántartás (NEPTUN)

Felhasználói segédlet a Web of Knowledge / Web of Science adatbázis használatához

Space Invaders Dokumenta cio

Átírás:

Eötvös Loránd Tudományegyetem Informatikai Kar Programozási technológia II 2. előadás Specifikáció és követelménymenedzsment 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

A specifikáció A specifikáció (software specification) célja a feladatot megoldó szoftver funkcióinak tisztázása, a rendszerre és a fejlesztésre vonatkozó elvárások megadása feltérképezi a követelményeket felhasználói, valamint fejlesztői szemszögből, lépései: megvalósíthatósági elemzés követelmény megállapítás és elemzés követelmény specifikáció követelmény validáció eredménye a szoftver követelmény-leírása (software requirements specification) ELTE IK, Programozási technológia II 2:2

A specifikáció megvalósíthatósági elemzés megvalósíthatósági tanulmány követelmény feltárás és elemzés rendszermodellek követelmény specifikáció követelmények követelmény validáció ajánlattétel követelmény-leírás ELTE IK, Programozási technológia II 2:3

Megvalósíthatósági elemzés A megvalósíthatósági elemzés (feasibility study) azt vizsgálja, hogy a szoftver megvalósítható-e, és üzletileg megtérül-e a befektetés, ezen belül: milyen (humán, hardver, szoftver) erőforrások szükségesek, és ezek rendelkezésre állnak-e mi a megvalósítás költsége, időtartama a fejlesztést követően a szoftver igényel-e üzemeltetést, és ez milyen feladatokat és költségeket jelent Az elemzést gyorsan, alacsony költségek mellett kell elvégezni Amennyiben a fejlesztett szoftver egyedi, az elemzést ajánlattétel követi a vevők számára ELTE IK, Programozási technológia II 2:4

Követelmény feltárás és elemzés A követelmények feltárása és elemzése (requirements elicitation and analysis) során követelményeket állapítunk meg általában iteratív folyamat, három lépéssel: 1. kutatás: meglévő rendszerek tanulmányozása, egyeztetés, interjúk a lehetséges felhasználókkal, kezdeti követelmények meghatározása 2. osztályozás: a követelmények rendezése, csoportosítása, alrendszerekhez történő besorolás (tervezést igényel) 3. prioritizálás: fontossági sorrend felállítása, ütközések feloldása, szükségtelen követelmények elhagyása ELTE IK, Programozási technológia II 2:5

Követelmény feltárás és elemzés a követelmények leírását nehezíti: a vevők bizonytalanok az elvárásoknak a vevők nem egyértelműen fejtik ki az elvárásokat a vevők nem rendelkeznek informatikai ismeretekkel a vevők nem közvetlenül a szoftver felhasználói, így a felhasználói igények eltérhetnek a körülmények változhatnak a specifikáció során a követelmények alapján létrehozhatóak a rendszer modelljei, prototípusai, pl.: felhasználói felület terv, működő menürendszer egyszerűsített vizuális megjelenítés, animáció ELTE IK, Programozási technológia II 2:6

Követelmény feltárás és elemzés A követelmények típusai: funkcionális: a szoftver által nyújtott szolgáltatások, reakciók, viselkedések leírása nem funkcionális: megszorítások a szolgáltatásokra, a viselkedésre termék követelmények: hatékonyság (teljesítmény, méret), megbízhatóság, biztonság, hordozhatóság, felhasználhatóság menedzselési követelmények: környezeti, működési, fejlesztési külső követelmények ELTE IK, Programozási technológia II 2:7

Követelmény feltárás és elemzés Termék követelmények hatékonyság (efficiency): a szoftver által a hardver erőforrásokra (processzor, memória, merevlemez, sávszélesség) való támaszkodás mértéke, amelyet a lehető legkisebbre kell szabni megbízhatóság (dependability): a szoftver által biztosított funkcionalitás garantálása (correctness) a környezetben bekövetkezett változások ellenére abban az esetben is, amennyiben azok nem felelnek meg a specifikációban elvárt követelményeknek (robustness) ELTE IK, Programozási technológia II 2:8

Követelmény feltárás és elemzés biztonság (security): a szoftverben által tárolt adatok védelmének mértéke az illetéktelen (a szoftveren kívül történő) hozzáféréssel szemben hordozhatóság (portability): a szoftver kompatibilitásának mértéke különböző hardver és szoftver platformokkal, valamint az azokra történő átvitel könnyedségének mértéke felhasználhatóság (usability): a szoftver elsajátításának könnyedsége a különböző képzettségű és hátterű felhasználók számára beleértve a telepítést és üzemeltetést ELTE IK, Programozási technológia II 2:9

Követelmény feltárás és elemzés Menedzselési követelmények: környezeti (environmental): a rendszer által igényelt hardver erőforrások (minimális, ajánlott) a rendszer használatához szükséges további szoftverek, amelyekkel együttműködik működési (operational): a felhasználás paraméterei (gyakoriság, időtartam, felhasználók száma, rendelkezésre állás mértéke) a felhasználók jellege (szaktudás, informatikai ismeretek) ELTE IK, Programozási technológia II 2:10

Követelmény feltárás és elemzés fejlesztési (development): a fejlesztés módszertana, programozási paradigmái, szükséges eszköztára (pl. fejlesztőkönyezet) a felhasznált programozási nyelv(ek) és könyvtárak Külső követelmények: minden, külső tényező által befolyásolt követelmény, pl.: jogszabályoknak történő megfelelés etikai kérdések a felhasználók adatival, és azok továbbadásával szemben tulajdonjogi kérdések a begyűjtött adatokkal, az esetleges külső fejlesztésekkel kapcsolatosan ELTE IK, Programozási technológia II 2:11

1. esettanulmány Feladat: Készítsük el Marika néni kávézójának eladási nyilvántartását végigkövető programot. a kávézóban 3 féle étel (hamburger, ufó, palacsinta), illetve 3 féle ital (tea, narancslé, kóla) közül lehet választani az ételek ezen belül különfélék lehetnek, amelyre egyenként lehet árat szabni, és elnevezni, az italok árai rögzítettek rendeléseket kell kezelnünk, amelyben tetszőleges tétel szerepelhet, illetve a rendelés tartozhat egy törzsvásárlóhoz lehetőségünk van utólagosan lekérdezni a függőben lévő rendeléseket, valamint napi, havi és törzsvásárolói számra összesített nettó/bruttó fogyasztást ELTE IK, Programozási technológia II 2:12

1. esettanulmány Funkcionális követelmények (feltárás): a funkciók menürendszerből érhetőek el, a menüpont sorszámának megadásával, valamint a kilépés/visszalépés a q karakter megadásával új rendelés bevitele, tételek kiválasztása (a 6 típusból), ételek esetén a név és (bruttó) ár megadása, valamint a törzsvásárlói szám megadása (ha van) statisztikák lekérdezése a típus (nap, hó, törzsvásárlói), valamint a típusnak megfelelő adat megadásával az adatok betöltése és mentése szöveges fájlba történik automatikusan a program indításakor, illetve bezárásakor ELTE IK, Programozási technológia II 2:13

1. esettanulmány Nem funkcionális követelmények (feltárás): megbízhatóság: a funkciók mindig elérhetőek és végrehajtódnak, akkor is, ha az adatok sérülnek sérült adatok esetén az összes korábbi tartalom elveszhet a felhasználói bevitel ellenőrzött, csak helyes bevitelt fogad el az alkalmazás a megbízhatóan kezelhető adatok mennyisége korlátozott az adatok sérülhetnek bezáráskor történő összeomláskor biztonság: nincs garancia az adatok biztonságára ELTE IK, Programozási technológia II 2:14

1. esettanulmány Nem funkcionális követelmények (feltárás): hatékonyság: a program válaszideje gyors minden funkcióra az indítás és bezárás hosszabb időt vehet igénybe, függően a teljes adatmennyiségtől a program adattároló és memóriaigénye arányos a teljes adatmennyiséggel hordozhatóság: a program csak Windows XP, vagy újabb operációs rendszeren fut, személyi számítógépen a program másolással könnyen áttelepíthető ELTE IK, Programozási technológia II 2:15

1. esettanulmány Nem funkcionális követelmények (feltárás): felhasználhatóság: minden programfunkciónak azonnal áttekinthetőnek kell lennie, kézikönyv nélkül környezeti: a felhasználás helye egy Windows 8-t futtató számítógép nem kell más szoftverrel együttműködnie működési: a programot minden nap reggel indítják el, és este állítják le, közben változó időközönként veszik igénybe a funkcionalitást ELTE IK, Programozási technológia II 2:16

1. esettanulmány Felhasználói felület modell: 1 Új rendelés 2 Folyamatban lévő rendelések 3 Fogyasztás lekérdezése q Kilépés 1 Napi fogyasztás 2 Havi fogyasztás 3 Törzsvásárlói fogyasztás q Visszalépés Törzsvásárlói szám: _ Törzsvásárlói szám: _ Tétel hozzáadása: 1 Hamburger 2 Ufó 3 Palacsinta 4 Tea 5 Narancslé 6 Kóla q Visszalépés Név: _ Ár: _ ELTE IK, Programozási technológia II 2:17

Követelmény specifikáció A követelmény specifikáció (requirements specification) az elemzés során kapott információt alakítjuk át egységes alakba a felhasználói szinten csak alapjaiban, a fejlesztői szinten részletesen megadjuk a leírás történhet: beszélt nyelven formalizált leírással, pl. use case, user story formális matematikai leírással, pl. elő-/utófeltételek, axiómák formális leírónyelvek segítségével, pl. PDL, PSL, SADT metrikák segítségével ELTE IK, Programozási technológia II 2:18

Használati esetek A használati esetek (use case) diagramja azt ábrázolja, miként működik együtt a felhasználó a rendszerrel szabványos módja a funkcionális követelmények leírásának a diagram elemei: aktor: a felhasználó, aki a rendszert használja funkció: a rendszer egy szolgáltatása, viselkedési mintája reláció: kapcsolat a funkciók és az aktorok között <reláció> <funkció> <aktor> ELTE IK, Programozási technológia II 2:19

Használati esetek a relációk típusai: használat (usage): az aktor igénybe veszi a rendszer egy funkcióját (mindig csak aktor és funkció között) oktató óratartás vizsgáztatás általánosítás (generalization): egyik funkció, vagy aktor egy bővebb halmaz, mint a másik vizsgáztatás kollokvium docens oktató ELTE IK, Programozási technológia II 2:20

Használati esetek a relációk típusai: tartalmazás (include): egyik funkció részét képezi egy másik funkciónak dolgozat iratása számonkérés oktató dolgozat javítása kiterjesztés (extend): egyik funkció kiterjesztése egy másik funkcióval óratartás «extend» konzultáció oktató ELTE IK, Programozási technológia II 2:21

Használati esetek a relációk típusai: előfeltétel (precedes): egy funkciónak meg kell előznie egy másik funkciót oktató óraadás «precedes» számonkérés rákövetkezés (invokes): egy funkciót követ egy másik kérdés fetevése «invokes» válaszadás hallgató oktató ELTE IK, Programozási technológia II 2:22

Használati esetek összetett diagramok esetén a rendszer egyes elemeit, alrendszereit elhatárolhatjuk egymástól oktatás óralátogatás «precedes» óratartás «precedes» kérdés feltevése «invokes» válaszadás hallgató számonkérés oktató dolgozat írása vizsgáztatás ELTE IK, Programozási technológia II 2:23

1. esettanulmány Minőségi mutatók (célkitűzés): karbantarthatóság: a program általános funkcionalitása várhatóan nem változik, de az egyes tételeket könnyen kell tudnunk módosítani megbízhatóság és biztonság: az alkalmazásnak garantálnia kell a hibátlan használatot, de nem kell garantálnia az adatok hibátlan megőrzését, a biztonság nem szempont hatékonyság: egy átlagos asztali gépen is működnie kell, az egyes funkcióknak azonnal le kell futnia (kivéve indítás, leállítás) használhatóság: az alkalmazás használatát azonnal el kell tudni sajátítani ELTE IK, Programozási technológia II 2:24

1. esettanulmány Használati esetek: aktorok: Marika néni (felhasználó) funkciók: új rendelés megadása, azon belül étel felvitele ital felvitele folyamatban lévő rendelések lekérdezése (ha van ilyen) fogyasztás lekérdezése, speciálisan: törzsvásárlói fogyasztás lekérdezése havi fogyasztás lekérdezése napi fogyasztás lekérdezése ELTE IK, Programozási technológia II 2:25

1. esettanulmány Használati esetek: Étel felvétele Ital felvétele Új rendelés Marika néni Fogyasztás lekérdezése Törzsvásárló fogyasztásának lekérdezése Napi fogyasztás lekérdezése «precedes» folyamatban lévő rendelések lekérdezése Havi fogyasztás lekérdezése ELTE IK, Programozási technológia II 2:26

1. esettanulmány Használati esetek: funkciók: alkalmazás bezárása, amely automatikusan elindítja az adatok mentését adatok betöltése, amely előfeltétele minden további funkciónak étel felvitelénél név és ár megadása rendelésnél törzsvásárlói szám megadása folyamatban lévő rendelés lezárása fogyasztás lekérdezéseknél nap, hó, törzsvásárlói szám megadása ELTE IK, Programozási technológia II 2:27

1. esettanulmány Használati esetek: Rendelés lezárása folyamatban lévő rendelések lekérdezése Marika néni Hó megadása Ital felvétele «precedes» Havi fogyasztás lekérdezése Új rendelés indítása Adatok mentése «invokes» Bezárás Fogyasztás lekérdezése Étel felvétele «precedes» «precedes» Adatok betöltése «precedes» Napi fogyasztás lekérdezése Ár megadása Név megadása Törzsvásárolói szám megadása Törzsvásárló fogyasztásának lekérdezése Nap megadása ELTE IK, Programozási technológia II 2:28

1. esettanulmány Használati esetek: Új rendelés megadása: a felhasználó az 1 menüpont kiválasztásával belép az új rendelés megadása menüpontba, amely megkérdezi a törzsvásárlói számot, majd megjeleníti a tételek listáját (6 elem), ahol a felhasználó tetszőleges számban választhat tételeket. Alkalmazás bezárása: a felhasználó a főmenüben a q karakter lenyomásával kezdeményezi a bezárást, az alkalmazás elvégzi az adatok mentését, majd leáll. ELTE IK, Programozási technológia II 2:29

2. esettanulmány Feladat: Készítsünk egy Memory kártyajátékot, amelyben két játékos küzd egymás ellen. A játékmezőn kártyapárok találhatóak, és a játékosok feladata ezek megtalálása. a játékban választhatunk kártyacsomagot, a játékosok megadhatják neveiket, valamint a játék méretét (kártyák száma) a játékosok felváltva lépnek, minden lépésben felfordíthatnak két kártyát, amennyiben egyeznek, úgy felfordítva maradnak és a játékos ismét léphet, különben 1 másodperc múlva visszafordulnak a játékot az nyeri, aki több kártyapárt talált meg ELTE IK, Programozási technológia II 2:30

2. esettanulmány Használati esetek: aktorok: játékos funkciók: beállítások, azon belül kártyacsomag kiválasztása táblaméret megadása játékosok neveinek megadása új játék indítása lépés, azon belül első kártya felfordítása, majd második kártya felfordítása kilépés ELTE IK, Programozási technológia II 2:31

2. esettanulmány Használati esetek: első kártya felfordítása lépés «precedes» új játék «precedes» második kártya felfordítása nevek megadása «precedes» beállítások játékos táblaméret megadása kilépés kártyacsomag megadása ELTE IK, Programozási technológia II 2:32

3. esettanulmány Feladat: Készítsük el egy utazási ügynökség apartmanokkal foglalkozó rendszerét. az apartmanok épületekben találhatóak, amelyek városokban találhatóak az épületek különböző adatokkal (leírás, szolgáltatások, pontos hely, tengerpart távolság, ), valamint képekkel rendelkeznek a felhasználók egy webes felületen keresztül foglalhatnak apartmanokat (adataik, valamint a foglalás időpontja megadásával), amelyeket városok szerint böngészhetnek a munkatársak egy grafikus felületű alkalmazásban szerkeszthetik az apartmanok adatait, képeit ELTE IK, Programozási technológia II 2:33

3. esettanulmány Használati esetek: aktorok: felhasználó, adminisztrátor funkciók: webes felület: apartman keresése, foglalása adminisztrációs felület: bejelentkezés, apartmanok listázása, új apartman felvitele, apartman szerkesztése apartman adatainak megadása/módosítása, apartman képeinek feltöltése adatbázis: apartmanok lekérdezése, tárolása, foglalás ütközésének lekérdezése ELTE IK, Programozási technológia II 2:34

3. esettanulmány Használati esetek: adminisztrációs felület apartmanok listázása «precedes» bejelentkezés webes felület «precedes» apartman keresés apartman szerkesztése apartman képeinek feltöltése «precedes» adminisztrátor felhasználó «precedes» «invokes» apartman foglalása apartman adatainak megadása/módosítása új apartman felvitele «invokes» «extend» adatbázis foglalás ütközésének ellenőrzése apartmanok lekérdezése apartmanok tárolása ELTE IK, Programozási technológia II 2:35

Felhasználói történetek A funkciók részletesebb kifejtését teszik lehetővé a felhasználói történetek (user story) a felhasználók által végzett tevékenységsorozatokat és azok lehetséges kimeneteleit adják meg különböző szituációkban a történetben azonosítunk egy szerepkört (user role) és egy célt, valamint megindokoljuk a cél szükségesség pl.: Mint oktató, szeretném megtartani az előadást azért, hogy a hallgatók jobban megértsék az anyagot. az indoklás elhanyagolható, amennyiben egyértelmű a történetet rögzített kulcsszavakkal írjuk le (As a I want to so that ) ELTE IK, Programozási technológia II 2:36

Felhasználói történetek egy történetre egy, vagy több esetet írhatunk fel, amelyben adott környezetben (given) egy tevékenységet végzünk (when), és erre valamilyen hatást (then) várunk pl.: Amennyiben tart az előadás, ha az oktató elköszön a hallgatóságtól, akkor a hallgatóság elhagyja a termet. az eseteket úgy kell megfogalmaznunk, hogy az összes körülményt és lehetséges bemenetet figyelembe vesszük különös tekintettel a hibalehetőségekre (pl. hibás bevitel) az egyes történetek egyúttal megadják a végleges alkalmazás funkcionális teszteseteit ELTE IK, Programozási technológia II 2:37

1. esettanulmány Felhasználói történetek: Mint Marika néni, szeretnék új ételt hozzáadni a rendeléshez. 1. Amennyiben az új étel menüpontot választottuk, ha megadjuk a nevet és a 0 2 32-1 közötti árat, akkor a program hozzáadja az ételt és visszatér az új rendelés menübe. 2. Amennyiben az új étel menüpontot választottuk, ha negatív számot adunk meg árként, akkor a program újra bekéri az árat. 3. Amennyiben az új étel menüpontot választottuk, ha üresen hagyjuk a nevet, akkor a program újra bekéri a nevet. ELTE IK, Programozási technológia II 2:38

1. esettanulmány Felhasználói történetek: AS A I WANT TO Marika néni új ételt hozzáadni a rendeléshez 1 GIVEN az új étel menüpontot választottuk WHEN megadjuk a nevet és a 0 2 32-1 közötti árat THEN a program hozzáadja az ételt és visszatér az új rendelés menübe 2 GIVEN az új étel menüpontot választottuk WHEN negatív számot adunk meg árként THEN a program újra bekéri az árat ELTE IK, Programozási technológia II 2:39

Követelmény validáció A követelmények validációja (requirements validation) ellenőrzi a megadott specifikációt valószerűségét, konzisztenciáját és teljességét mivel a követelményeknek ellenőrizhetőnek kell lennie, alkalmasnak kell lennie tesztesetek előállítására A validáció eredményezhet: prototípust, amelynek célja a követelmények teljesíthetőségének rövid távú ellenőrzése teszteseteket, amelyek a végleges alkalmazáson ellenőrzik a követelmények teljesülését elsősorban a funkcionális követelményekre ELTE IK, Programozási technológia II 2:40

Követelmény-leírás A követelmény-leírás tartalmazza a szoftver célját, helyét, szükségességét, előzményeit, előnyeit a funkcionális és nem funkcionális követelmények leírását felhasználói szemszögből (felületes áttekintés) fejlesztői szemszögből (részletes ismertetés) a rendszer átfogó architektúráját (a rendszer felbontását alrendszerekre, azok kapcsolatait) és modelljeit áttekintést (javaslatokat, becsléseket) az implementáció és az evolúció számára a fogalomjegyzéket (technikai kifejezések leírását) ELTE IK, Programozási technológia II 2:41

Követelmény-leírás A követelmény-leírás felépítése: 1. előszó (célközönség, dokumentum-történet) 2. bevezetés (szoftver célja, helye, szükségessége, előnyei) 3. fogalomtár (technikai áttekintés) 4. követelmények felhasználói leírása 5. rendszer architektúra (magas szintű áttekintés) 6. követelmények fejlesztői leírása 7. rendszer modellek (pl. felület terv, adatformátum leírás) 8. rendszer evolúció (várható fejlesztések, karbantartás) 9. függelék (pl. adatbázis terv, becsült hardver szükségletek) 10. tárgymutató ELTE IK, Programozási technológia II 2:42