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

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

Programozási technológia 2.

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

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.

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

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

In short, software is eating the world.

01. gyakorlat - Projektalapítás

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

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

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

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

3. Beadandó feladat dokumentáció

2. Beadandó feladat dokumentáció

HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM)

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

Szerepjáték Project Story of my life

Felhasználói útmutató

2. Beadandó feladat dokumentáció

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

KnowledgeTree dokumentumkezelő rendszer

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

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

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Gyakorlati vizsgatevékenység A

3. Beadandó feladat dokumentáció

Gyakorlati vizsgatevékenység B

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

ALKALMAZÁSOK ISMERTETÉSE

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

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

Microsoft SQL Server telepítése

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

Telepítési Kézikönyv

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

Szoftver technológia. Projektmenedzsment eszközök. Cserép Máté ELTE Informatikai Kar 2019.

Személyügyi nyilvántartás szoftver

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

FoKi SZKENNER MODUL ÜZEMBE HELYEZÉSI LEÍRÁS. Verziószám: 2.0 (efoki) Lezárás dátuma:

Samsung Universal Print Driver Felhasználói útmutató

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

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.

Felhasználói útmutató

E-Freight beállítási segédlet

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

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

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

Programfejlesztési Modellek

Iroda DEMO telepítési útmutató

INFORMATIKAI ALAPISMERETEK

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

ContractTray program Leírás

Az autorizáció részletes leírása

Rendszer szekvencia diagram

Tanári óratartás nyilvántartása a ZMNE-n

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

Elektronikus Információs és Nyilvántartási Rendszer a Doktori Iskolák fiatal kutatói részére

NEPTUN_GOLYA. (Felvételi konvertáló modul) Budapest, 2002

IT Essentials v5.0. Informatikai Szakképzési Konferencia január 26. Radics Tamás HTTP Alapítvány

A tankönyvvé nyilvánítás folyamatát elektronikusan támogató rendszer az OKÉV számára

A CCL program használatbavétele

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

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

Microsec Zrt. által kibocsátott elektronikus aláírás telepítése Windows 7 (x86/x64) Internet Explorer 9 (32 bites) böngészőbe

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

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

Diákhitel igénylés folyamata

Egyetemi adatbázis nyilvántartása és weben

Képzési projektterv felvétele Képző Szervezetek részére Kitöltési útmutató

INFORMATIKAI ALAPISMERETEK

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

1. beadandó feladat: egyszerű grafikus felületű alkalmazás. Közös követelmények:

DebitTray program Leírás

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.

Egyetemi könyvtári nyilvántartó rendszer

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

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

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

KlausenMobi. Követelmény dokumentáció. Verzió: 1.0. Dátum: Státusz: Released

IV/1. sz. melléklet: Vállalati CRM, értékesítési terület funkcionális specifikáció

S, mint secure. Nagy Attila Gábor Wildom Kft.

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

Felhasználói kézikönyv

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

Hálózatos beállítás. A Novitax ügyviteli programrendszerek hálózatos beállítása a következők alapján történhet:

ISA Internetes rendelési felület

Időkönyvelő Projektfeladat specifikáció

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)

A jelen fejlesztéssel párhuzamosan bővült az Adatbázis kapcsolat ablak információtartalma.

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

MultiBoot. Felhasználói útmutató

Zimbra levelező rendszer

ServiceTray program Leírás

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

TANMENET 2018/2019. tanév

Átírás:

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

Every big computing disaster has come from taking too many ideas and putting them in one place. (Gordon Bell)

Specifikáció és követelménymenedzsment 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, Szoftvertechnológia 2:3

Specifikáció és követelménymenedzsment 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, Szoftvertechnológia 2:4

Specifikáció és követelménymenedzsment 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, karbantartá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, Szoftvertechnológia 2:5

Tic-Tac-Toe játék Feladat: Készítsünk egy Tic-Tac-Toe programot, amelyben két játékos küzdhet egymás ellen. a programban jelenjen meg egy játéktábla, amelyen végig követjük a játék állását (a két játékost az X és 0 jelekkel ábrázoljuk) legyen lehetőség a játékosok neveinek megadására, új játék indítására, valamint játékban történő lépésre (felváltva) a program kövesse végig, melyik játékos hány kört nyert program automatikusan jelezzen, ha vége egy játéknak, és jelenítse meg a játékosok pontszámait ELTE IK, Szoftvertechnológia 2:6

Tic-Tac-Toe játék Megvalósíthatósági elemzés (részletek): Humán erőforrások: egy termékgazda (4 óra), egy tervező/fejlesztő (20 óra), egy tesztelő (3 óra) Hardver erőforrások: egy fejlesztői, egy tesztelői számítógép (közepes hardverigény) Szoftver erőforrások: fejlesztőkörnyezet (Code::Blocks), verziókövető (Git), projektvezető oldal (Redmine) Üzemeltetés: üzemeltetést nem kell biztosítani Karbantartás: az esetleges hibajavításon felül nem kell biztosítani Megvalósítás időtartama 27 emberóra, költsége ELTE IK, Szoftvertechnológia 2:7

Marika néni kávézója 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 nevei és árai rögzítettek a program kezelje a rendeléseket, amelyekben tetszőleges tételek szerepelhetnek, illetve a rendelés kapcsolódhat egy törzsvásárlóhoz biztosítsunk lehetőséget a függőben lévő rendeléseket lekérdezésére, valamint napi, havi és törzsvásárolói számra összesített nettó/bruttó fogyasztási statisztikák követésére ELTE IK, Szoftvertechnológia 2:8

Marika néni kávézója Megvalósíthatósági elemzés (részletek): Humán erőforrások: egy termékgazda (5 óra), egy tervező/fejlesztő (25 óra), egy tesztelő (5 óra) Hardver erőforrások: egy fejlesztői, egy tesztelői számítógép Szoftver erőforrások: fejlesztőkörnyezet (Code::Blocks), verziókövető (Git), projektvezető oldal (Redmine) Üzemeltetés: a betanítást követően további támogatás nem szükséges Karbantartás: éves rendszerességgel ellenőrzés, rendszerkövetés Megvalósítás időtartama 35 emberóra, költsége ELTE IK, Szoftvertechnológia 2:9

Utazási ügynökség 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 helyezkednek el 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 vendégek számára biztosítsunk egy webes felületet, amelyen keresztül apartmanokat kereshetnek, foglalhatnak a munkatársak számára biztosítsunk egy alkalmazást, amelyben szerkeszthetik az apartmanok adatait, képeit, valamint kezelhetik a foglalásokat ELTE IK, Szoftvertechnológia 2:10

Utazási ügynökség Megvalósíthatósági elemzés (részletek): Humán erőforrások: három webes felület fejlesztő (280 emberóra), két webszolgáltatás fejlesztő (180 emberóra), két webtesztelő (300 emberóra), Hardver erőforrások: hat fejlesztői számítógép ( ), egy webszerver ( ), egy adatbázis szerver ( ), Szoftver erőforrások: fejlesztőkörnyezet (Visual Studio), adatbáziskezelő (MSSQL), Üzemeltetés: webszerver-karbantartás, adatbázis-karbantartás, böngésző-kompatibilitás ellenőrzés, Megvalósítás időtartama 1260 emberóra, költsége ELTE IK, Szoftvertechnológia 2:11

Specifikáció és követelménymenedzsment 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, három lépésben: 1. kutatás: meglévő rendszerek tanulmányozása (as-is analysis), egyeztetés, interjúk az érdekeltekkel (stakeholder analysis), kezdeti követelmények meghatározása elsősorban a termékgazda, üzleti elemző feladata érdekeltek azok, akik bármilyen módon kapcsolódnak a szoftverhez (használó, üzemeltető, üzleti partner, jogalkotó, ellenérdekelt) célszerű közösen, kontrollált körülmények között egyeztetni az érdekeltekkel (joint requirements development) nem csupán a követelményeket, de azok okait is felderíti ELTE IK, Szoftvertechnológia 2:12

Specifikáció és követelménymenedzsment Követelmény feltárás és elemzés 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, vagy megvalósíthatatlan követelmények elhagyása a MoSCoW módszer négy kategóriát használ: szükséges (Must have), fontos (Should have), lehetséges (Could have), nem támogatott (Won t have) A követelmények alapján létrehozhatóak a rendszer modelljei, prototípusai, pl.: felhasználói felület terv (wireframe mockup), menürendszer terv egyszerűsített vizuális megjelenítés, animáció ELTE IK, Szoftvertechnológia 1:13

Specifikáció és követelménymenedzsment Követelmény feltárás és elemzés A követelmények feltárását és leírását számos tényező nehezítheti az érdekeltek bizonytalanok az elvárásoknak az érdekeltek nem egyértelműen fejtik ki az elvárásokat az érdekeltek nem rendelkeznek informatikai ismeretekkel az érdekeltek nem közvetlenül a szoftver felhasználói, így a felhasználói igények eltérhetnek a fejlesztőnek nincs megfelelő szakmai ismerete a fejlesztő meglévő megoldásokhoz igyekszik adaptálni a követelményeket a fejlesztés a követelmények véglegesítése előtt megkezdődik a körülmények változhatnak a specifikáció során ELTE IK, Szoftvertechnológia 2:14

Specifikáció és követelménymenedzsment 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, Szoftvertechnológia 2:15

Tic-Tac-Toe játék Követelmények feltárása és elemzése, funkcionális követelmények: Játékot megelőzően: a két játékos nevének megadása (opcionálisan) új játék indítása, vagy kilépés az alkalmazásból Játék közben: az aktuális játékállás megjelenítése váltakozás a két játékos között aktuális játékos nevének megjelenítése lépés a játékban a pozíció megadásával (sor, oszlop) a játék végének felismerése, játékosok pontjainak megjelenítése játék végét új játék indítása, vagy kilépés a alkalmazásból ELTE IK, Szoftvertechnológia 2:16

Tic-Tac-Toe játék Felhasználói felület modell: Üdvözlünk a játékban! 1. játékos neve: _ 2. játékos neve: _ 0 X ----------- X ----------- 2. játékos következik. Sor: _ Oszlop: _ 0 X 0 ----------- X X 0 ----------- O X X 1. játékos győzött! Játékállás: 1. Játékos: 4 pont 2. Játékos: 2 pont Új játék (j) / kilépés (k)? _ ELTE IK, Szoftvertechnológia 2:17

Marika néni kávézója Követelmények feltárása és elemzése, funkcionális követelmények: Általános: új rendelést indítása statisztikák megtekintése Rendelés: új tétel hozzáadása kiválasztással (a 6 típusból) ételek esetén a név és (bruttó) ár megadása a törzsvásárlói szám megadása (opcionális) Statisztikák: ELTE IK, Szoftvertechnológia 2:18

Marika néni kávézója 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étel hozzáadása: 1 Hamburger 2 Ufó 3 Palacsinta 4 Tea 5 Narancslé 6 Kóla q Visszalépés Törzsvásárlói szám: _ Név: _ Ár: _ ELTE IK, Szoftvertechnológia 2:19

Memory játék Feladat: Készítsünk egy Memory kártyajátékot, amelyben két játékos küzd egymás ellen, és a cél kártyapárok megtalálása a játéktáblán. a játékosok felváltva lépnek, minden lépésben felfordíthatnak két kártyát amennyiben a kártyák egyeznek, úgy felfordítva maradnak és a játékos ismét léphet, különben visszafordulnak, és a másik játékos következik a játékot az nyeri, aki több kártyapárt talált meg lehessen a játékosok neveit megadni, kártyacsomagot választani, valamint a kártyák számát (a játéktábla méretét) szabályozni ELTE IK, Szoftvertechnológia 2:20

Memory játék Követelmények feltárása és elemzése, funkcionális követelmények: Általános: új játék indítása játék beállításainak szerkesztése Beállítások: játékosok neveinek kiválasztása kártyapakli kiválasztása táblaméret megadása (oszlopok/sorok száma) Játék: ELTE IK, Szoftvertechnológia 2:21

Memory játék Felhasználói felület modell: ELTE IK, Szoftvertechnológia 2:22

Specifikáció és követelménymenedzsment 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, Szoftvertechnológia 2:23

Specifikáció és követelménymenedzsment 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 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 (használatának, telepítésének, üzemelésének) 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 akadálymentesség ELTE IK, Szoftvertechnológia 2:24

Specifikáció és követelménymenedzsment 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, Szoftvertechnológia 2:25

Specifikáció és követelménymenedzsment 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örnyezet) 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 adataival, é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, Szoftvertechnológia 2:26

Tic-Tac-Toe játék Követelmények feltárása és elemzése, nem funkcionális követelmények: Hatékonyság: jelentéktelen terhelés a processzor, memória és háttértár részére, hálózatot nem igényel gyors (1 másodperc alatti) válaszidő minden bevitelre egy alsó kategóriás számítógépen Megbízhatóság: szabványos használat esetén nem fordul elő hibajelenség, nem jelenik meg hibaüzenet hibás emberi bevitel esetén hibaüzenet és a bevitel megismétlése ELTE IK, Szoftvertechnológia 2:27

Tic-Tac-Toe játék Követelmények feltárása és elemzése, nem funkcionális követelmények: Biztonság: nem releváns Hordozhatóság: a legtöbb személyi számítógépen biztosított a használat, így Windows 7, 8, 10 és Linux (Ubuntu, Debian) esetén, de külön alkalmazásként nem igényel külön telepítést, azonnal használható Felhasználhatóság: intuitív felhasználói felület, megfelelő instrukciókkal külön segédlet, vagy leírás nem szükséges a használathoz ELTE IK, Szoftvertechnológia 2:28

Tic-Tac-Toe játék Követelmények feltárása és elemzése, nem funkcionális követelmények: Környezeti: nem működik együtt semmilyen külső szoftverrel, szolgáltatással Működési: általában rövid futási idő, maximum 1-2 óra gyakori használat Fejlesztési: C++ nyelv, Code:Blocks környezet objektumorientált paradigma ELTE IK, Szoftvertechnológia 2:29

Marika néni kávézója Követelmények feltárása és elemzése, nem funkcionális követelmények: Megbízhatóság: szabványos használat esetén, max. 1 millió rendelés kezeléséig nem fordul elő hibajelenség, nem jelenik meg hibaüzenet hibás emberi bevitel esetén hibaüzenet és a bevitel megismétlése amennyiben bármely adat megsérül, vagy a program használata nélkül módosul, adatvesztés léphet fel, amely érintheti az összes addigi adatot (de a funkciók használatát nem) sérült adatok esetén is legyenek elérhetőek a funkciók, ugyanakkor bármilyen adathiba esetén az összes korábbi adat elveszhet ELTE IK, Szoftvertechnológia 2:30

Marika néni kávézója Követelmények feltárása és elemzése, nem funkcionális követelmények: Hatékonyság: jelentéktelen terhelés a processzor részére, hálózatot nem igényel a memória, illetve merevlemez terhelés a bevitt adatok számával arányos, maximum 100 MB gyors (1 másodperc alatti) válaszidő minden bevitelre egy alsó kategóriás számítógépen a legtöbb funkcióra, de a statisztikák lekérése több időt vehet igénybe, az adatok számától függően Biztonság: az adatok biztonsága nem garantált ELTE IK, Szoftvertechnológia 2:31

Utazási ügynökség Követelmények feltárása és elemzése, nem funkcionális követelmények: Biztonság: az adatok perzisztens módon központi adatbázisban tárolódnak kliens oldalon (adminisztrációs alkalmazás, webes felület) adatok csak átmenetileg, a memóriában tárolódnak az adatbázis hozzáférés korlátozott a klienseket kiszolgáló funkciókra a szerkesztési funkciók megfelelő felhasználói authentikációhoz kötöttek, token alapú azonosítással, amelyet sütiben tárolunk az adatbázis és a kliensek között biztonságos (TLS 1.1) kapcsolatot építünk fel ELTE IK, Szoftvertechnológia 2:32

Utazási ügynökség Követelmények feltárása és elemzése, nem funkcionális követelmények: a felhasználók adatait külön adatbázisban tároljuk, a jelszavakat kódoljuk (SHA256 kódolás, sózással) Környezeti: a rendszer egy SQL alapú adatbázis-szervert használ az adatok tárolására (Microsoft SQL Server 2012) az adatbázis elérés (webszolgáltatás), valamint a webes felhasználói felület webszerver segítségével üzemel (Microsoft IIS), amely eléri az adatbázis-szervert a komponenseket a.net Framework (4.6) virtuális gépe futtatja ELTE IK, Szoftvertechnológia 2:33

Specifikáció és követelménymenedzsment 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. használat esetek, felhasználói történetek 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, Szoftvertechnológia 2:34

Specifikáció és követelménymenedzsment 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 hangsúlyt az érthetőségre helyezi, és általában egy részletes leírással társul (a pontosítás végett) 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 <aktor> <reláció> <funkció> ELTE IK, Szoftvertechnológia 2:35

Specifikáció és követelménymenedzsment 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, Szoftvertechnológia 2:36

Specifikáció és követelménymenedzsment Használati esetek A relációk típusai: tartalmazás (include): egyik funkció részét képezi egy másik funkciónak «include» dolgozat iratása számonkérés oktató «include» dolgozat javítása kiterjesztés (extend): egyik funkció kiterjesztése egy másik funkcióval óratartás «extend» konzultáció oktató ELTE IK, Szoftvertechnológia 2:37

Specifikáció és követelménymenedzsment 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 óraadás «precedes» oktató 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, Szoftvertechnológia 2:38

Specifikáció és követelménymenedzsment 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 «include» vizsgáztatás ELTE IK, Szoftvertechnológia 2:39

Tic-Tac-Toe játék Használati esetek: Aktorok: játékos (felhasználó) Funkciók: játékosok neveinek megadása új játék indítása lépés a játékban játék vége kilépés ELTE IK, Szoftvertechnológia 2:40

Tic-Tac-Toe játék Használati esetek: Kilépés Játékosok neveinek megadása «precedes» Új játék indítása Játékos «precedes» Lépés a játékban «invokes» Játék vége ELTE IK, Szoftvertechnológia 2:41

Marika néni kávézója 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, Szoftvertechnológia 2:42

Marika néni kávézója Használati esetek: Étel felvétele Ital felvétele «include» «include» Ú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, Szoftvertechnológia 2:43

Marika néni kávézója Használati esetek: Funkciók (bővebb áttekintés): 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, Szoftvertechnológia 2:44

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

Marika néni kávézója 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, Szoftvertechnológia 2:46

Memory játék 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, Szoftvertechnológia 2:47

Memory játék Használati esetek: első kártya felfordítása lépés «include» «precedes» új játék «include» «precedes» második kártya felfordítása nevek megadása «precedes» beállítások «include» játékos «include» táblaméret megadása «include» kilépés kártyacsomag megadása ELTE IK, Szoftvertechnológia 2:48

Utazási ügynökség 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, Szoftvertechnológia 2:49

Utazási ügynökség 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 «include» apartman képeinek feltöltése «precedes» adminisztrátor felhasználó «precedes» «invokes» «include» «include» apartman foglalása apartman adatainak megadása/módosítása «include» ú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, Szoftvertechnológia 2:50

Specifikáció és követelménymenedzsment 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, Szoftvertechnológia 2:51

Specifikáció és követelménymenedzsment 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, Szoftvertechnológia 2:52

Tic-Tac-Toe játék Felhasználói történetek: Mint játékos, szeretnék lépni a játékban, azért, hogy megnyerjem a játékot 1. Amennyiben én következem, ha olyan oszlopot és sort választok, amely szabad a táblán, akkor a játék elfogadja a lépésemet. 2. Amennyiben a játék elfogadta a lépésemet, ha az adott sorban, oszlopban, vagy átlósan kijön a 3 találat, akkor győztem a játékban. 2. Amennyiben a játék elfogadta a lépésemet, ha az adott sorban, oszlopban, vagy átlósan nem jön ki a 3 találat, akkor a másik játékos következik. ELTE IK, Szoftvertechnológia 2:53

Tic-Tac-Toe játék Felhasználói történetek: AS A I WANT TO SO THAT játékos lépni a játékban Megnyerjem a játékot 1 GIVEN én következem 2 WHEN THEN olyan oszlopot és sort választok, amely szabad a táblán a játék elfogadja a lépésemet ELTE IK, Szoftvertechnológia 2:54

Marika néni kávézója 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, Szoftvertechnológia 2:55

Marika néni kávézója 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 THEN megadjuk a nevet és a 0 2 32-1 közötti árat 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 THEN negatív számot adunk meg árként a program újra bekéri az árat ELTE IK, Szoftvertechnológia 2:56

Specifikáció és követelménymenedzsment Követelmény validáció A követelmények validációja (requirements validation) ellenőrzi a megadott specifikáció 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 a felhasználói történetek egy az egyben megfeleltethetőek funkcionális teszteseteknek ELTE IK, Szoftvertechnológia 2:57

Specifikáció és követelménymenedzsment 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, használati eset diagramok) fejlesztői szemszögből (részletes ismertetés, felhasználói történetek) 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, Szoftvertechnológia 2:58

Specifikáció és követelménymenedzsment 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, Szoftvertechnológia 2:59