1/49
1-50
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
1. Mivel foglalkozik a szoftverfejlesztés?
Meglévő vagy új szoftveres igényekkel kapcsolatos kutatást, elemzést és értékelést végez, és ezeknek az igényeknek megfelelő szoftveres megoldások tervezésével, fejlesztésével, tesztelésével és karbantartásával foglalkozik.
2. Mi az a két tényező, amely egy szoftverprojekt kudarcát okozhatja?
A rendszer összetettségének növekedése és a helyes szoftverfejlesztési módszerek alkalmazásának elmulasztása.
3. Mi az a szoftver?
Számítógépes programok és a hozzá kapcsolódó dokumentációk (pl. követelmények, tervezési modellek és felhasználói kézikönyvek).
4. Melyek a jó szoftverek jellemzői?
A felhasználó által megkívánt funkcionalitást és teljesítményt szolgáltatja, jól karbantartható, megbízható, hatékony és befogadható
Mi a szoftvertervezés?
-Az az eljárás, amelynek során a specifikáció egy futtatható rendszerré alakul át.
- A szoftvertervezés egy olyan mérnöki tudományág, amely a szoftvergyártás minden aspektusával foglalkozik.
6. Melyek az alapvető szoftverfejlesztési tevékenységek?
Specifikáció: mit kell a rendszernek tudnia és mik a fejlesztési kényszerek, kötöttségek
Fejlesztés: A szoftver rendszer megalkotása
Validáció (ellenőrzés): a szoftver azt csinálja, amit a megrendelő akar?
Evolúció (karbantartás): A szoftver változó igények szerinti továbbfejlesztése.
7. Mi a különbség a szoftvertervezés és a számítástudomány között?
A számítástudomány az alapvető informatikai elméleti kérdésekkel, míg a szoftverfejlesztés a jól használható szoftver kifejlesztésének praktikus kérdéseivel foglalkozik.
8. Mi a különbség a szoftverfejlesztés és a rendszerfejlesztés között?
-A rendszerfejlesztés számítógép-alapú rendszerek tervezésének minden kérdésével foglalkozik, beleértve a hardver-, szoftver- és folyamatmérnöki teendőket. A szoftverfejlesztés ennek egy részfolyamatáért felelős, pl. a szoftver infrastruktúra, alkalmazások, adatbázisok fejlesztése.
9. Melyek a szoftvertervezés legfontosabb kihívásai?
-A növekvő sokféleséggel, a rövidebb szállítási határidőkkel kapcsolatos igényekkel és a megbízható szoftverek fejlesztésével való kihívások.
-Heterogenitásra való törekvés (heterogén platformokra való szoftverfejlesztés)
10. Milyen költségei vannak a szoftvertervezésnek?
-A költségek kb. 60%-a fejlesztési, 40%-a tesztelési költség.
-Egyedi szoftverek esetén az evolúciós költségek gyakran meghaladják a fejlesztési költséget.
-A költség függ a fejlesztett rendszer típusától és az elvárásoktól (pl. a rendszer megbízhatósága és teljesítménye).
-A költségek eloszlása függ az alkalmazott fejlesztési modelltől.
11. Melyek a legjobb szoftvertervezési technikák és módszerek?
Bár minden szoftverprojektet szakszerűen kell irányítani és fejleszteni, a különböző típusú rendszerekhez különböző technikák alkalmasak. Például a játékokat mindig prototípusok sorozatának felhasználásával kell fejleszteni, míg a biztonságkritikus vezérlőrendszerekhez teljes és elemezhető specifikáció kidolgozása szükséges. Nem lehet tehát azt mondani, hogy az egyik módszer jobb, mint a másik.
Legjobb példák:
-Vízesés modell
-Prototípus modell
-Scrum fejlesztésmodell
-Agilis fejlesztés modell
12. Milyen szoftvertermék típusokat ismer?
-Általános (generic)
-Egyedi (custom)
13. Mi jellemző a generikus/általános termékekre? Írjon példát is.
-Felhasználók széles rétege számára fejlesztett és általuk használt szoftver. Pl. Excel, Word
14. Mi jellemző az egyedi/testreszabott termékekre?
Egy megrendelő egyedi, specifikus igényei szerint készült szoftver.
15. Mit jelent a fenntarthatóság a szoftverekhez kapcsolódóan?
A szoftvernek a változó igényekkel lépést kell tartania.
16. Mit jelent a megbízhatóság és biztonság a szoftverekhez kapcsolódóan?
A szoftverek megbízhatósága számos jellemzőt foglal magában, beleértve a biztonságot és a védelmet. A megbízható szoftver nem okozhat fizikai vagy gazdasági kárt a rendszer meghibásodása esetén. A rosszindulatú felhasználók nem férhetnek hozzá a rendszerhez, és nem okozhatnak kárt benne.
17. Mit jelent a hatékonyság a szoftverekhez kapcsolódóan?
A szoftvernek nem szabad pazarlóan felhasználni a rendszer erőforrásait.
18. Mit jelent az elfogadhatóság a szoftverekhez kapcsolódóan?
A célfelhasználók által befogadhatónak kell lennie: érthető, könnyen használható, más rendszerekkel kompatibilis.
19. Mi a rendszerfejlesztés?
A rendszerfejlesztés olyan mérnöki tudományág, amely a szoftvergyártás minden aspektusával foglalkozik a rendszer specifikációjának korai szakaszától a rendszer használatba vétele utáni karbantartásáig.
20. Melyek a szoftverfolyamat tevékenységei, a szoftverfejlesztés fázisai?
-Specifikáció
-Tervezés, fejlesztés
-Ellenőrzés (validáció)
-Továbbfejlesztés (evolúció)
21. Mi a jellemzője a tervvezérelt szoftverfejlesztési folyamatoknak?
A tervvezérelt folyamatok olyan folyamatok, amelyekben az összes folyamattevékenységet előre megtervezik, és az előrehaladást ehhez a tervhez mérik.
22. Mi a jellemzője az agilis szoftverfejlesztési folyamatoknak?
Az agilis folyamatokban a tervezés inkrementális, és a folyamatot könnyebb a változó ügyféligényeknek megfelelően módosítani.
23. Nevezzen meg 3 szoftverfolyamat modellt!
Vízesés modell, inkrementális fejlesztés, újrafelhasználás-orientált szoftverfejlesztés.
24. Milyen fázisokból áll a vízesés alapú szoftverfejlesztés?
● Követelmények elemzése és meghatározása
● Rendszer-és szoftvertervezés
● Megvalósítás és egységtesztelés
● Integrációs és rendszertesztelés
● Üzemeltetés és karbantartás
25. Melyek a vízesés modell problémái? Nevezzen meg 2-t.
●A projekt rugalmatlan felosztása különböző szakaszokra megnehezíti a változó ügyféligényekre való reagálást
●A gyártás megindulása után nehéz változásokat beépíteni
●Egy munkafázisnak be kell fejeződnie, mielőtt a következő elkezdődhet
26.Melyek az inkrementális fejlesztés előnyei?
● Csökkennek a változó vevői igényekhez való alkalmazkodás költségei
● Könnyebb visszajelzést kapni az ügyfelektől az elvégzett fejlesztési munkáról
● Lehetővé válik a szoftver gyorsabb szállítása az ügyfél számára
27. Melyek az inkrementális fejlesztés hátrányai?
● A folyamat nem jól átlátható.
● A rendszer struktúrája hajlamos romlani az új növekmények hozzáadásával.
28. Melyek az újrafelhasználás alapú szoftverfejlesztés előnyei és hátrányai?
Előnyök:
● Csökkentett költségek és kockázatok, mivel kevesebb szoftvert kell a nulláról fejleszteni.
● A rendszer gyorsabb szállítása és telepítése.
Hátrányok:
●A követelményekkel kapcsolatos kompromisszumok elkerülhetetlenek, így a rendszer nem feltétlenül felel meg a felhasználók valós igényeinek.
●Az újrafelhasznált rendszerelemek változtatása feletti ellenőrzés elvesztése.
29. Mit értünk a szoftver specifikálásának folyamata alatt?
A szükséges szolgáltatások, valamint a rendszer működési és fejlesztési korlátainak meghatározásának folyamata.
Követelménytervezési folyamat:
● Követelmények feltárása és elemzése
● Követelmény specifikáció
● Követelmények validálása
30. Mit értünk a szoftvertervezés- és megvalósítás folyamata alatt?
● A rendszerspecifikáció futtatható rendszerré alakításának folyamata.
● Szoftvertervezés
● Végrehajtás
● A tervezés és a megvalósítás tevékenységei szorosan kapcsolódnak egymáshoz, és egymás között is lehetnek.
31. Soroljon fel 4 szoftvertervezési tevékenységet!
Architektúra-tervezés, adatbázis-tervezés, interfésztervezés, komponensek kiválasztása és tervezése.
32. Mit jelent a szoftver verifikációja és validációja?
A verifikáció és validáció (V&V) célja annak bizonyítása, hogy a rendszer megfelel a specifikációnak és a rendszer megrendelőjének követelményeinek.
Tartalmazza az ellenőrzési és felülvizsgálati folyamatokat és a rendszer tesztelését.
A rendszertesztelés magában foglalja a rendszer futtatását olyan tesztesetekkel, amelyek a rendszer által feldolgozandó valós adatok specifikációjából származnak.
A tesztelés a leggyakrabban alkalmazott V&V tevékenység.
33. Minek a rövidítése a V&V?
Verifikáció és validáció.
34. Milyen szakaszai vannak a szoftvertesztelésnek?
Fejlesztés alatti tesztelés, amikor a rendszert a fejlesztés során tesztelik a hibák és hiányosságok feltárása érdekében.
Release (átadási) tesztelés, amikor egy külön tesztelő csoport teszteli a rendszer teljes verzióját, mielőtt azt kiadják a felhasználóknak.
Felhasználói tesztelés, amikor a rendszer felhasználói vagy potenciális felhasználói saját környezetükben tesztelik a rendszert.
35. Mit nevezünk szoftver prototípusnak?
A prototípus egy rendszer kezdeti változata, amelyet koncepciók bemutatására és tervezési lehetőségek kipróbálására használnak.
36. Mit jelent az inkrementális szoftverszállítás?
Ahelyett, hogy a rendszert egyetlen szállítmányként szállítanánk, a fejlesztés és a szállítás inkrementumokra bontva történik, és minden egyes inkrementum a szükséges funkciók egy részét biztosítja.
A felhasználói követelmények rangsorolva vannak, és a legmagasabb prioritású követelmények a korai lépésekben szerepelnek.
Amint egy növekmény fejlesztése megkezdődött, a követelmények befagyasztásra kerülnek, bár a későbbi növekmények követelményei tovább fejlődhetnek.
37. Milyen okai lehetnek a prototípusok eldobásának? Nevezzen meg legalább 2-t.
● Előfordulhat, hogy a rendszert nem lehet úgy hangolni, hogy megfeleljen a nem funkcionális követelményeknek;
●A prototípusok általában nincsenek dokumentálva;
● A prototípus struktúrája a gyors változás miatt általában romlik;
● A prototípus valószínűleg nem felel meg a szokásos szervezeti minőségi előírásoknak.
38. Írja le a követelménytervezés definícióját!
Az ügyfél által a rendszertől igényelt szolgáltatások, valamint a rendszer működésbeli és fejlesztési korlátainak meghatározásának folyamata.
39. Nevezze meg a követelmények két típusát! Jellemezze az egyiket!
Felhasználói követelmények: Természetes nyelven megfogalmazott kijelentések, valamint a rendszer által nyújtott szolgáltatások és a működési korlátok ábrái. Az ügyfelek számára íródott.
Rendszerkövetelmények: A rendszer funkcióinak, szolgáltatásainak és működési korlátainak részletes leírását tartalmazó strukturált dokumentum. Meghatározza, hogy mit kell megvalósítani, így része lehet az ügyfél és a vállalkozó közötti szerződésnek.
40. Milyen szerepet játszik a követelménytervezés az agilis módszertanoknál?
Az agilis módszerek általában inkrementális követelménytervezést alkalmaznak, és a követelményeket "felhasználói történetek" formájában fejezik ki.
Ez praktikus az üzleti rendszerek esetében, de problémás a szállítás előtti elemzést igénylő rendszerek (pl. kritikus rendszerek) vagy a több csapat által fejlesztett rendszerek esetében.
41. Milyen követelmény típusokat ismerünk a rendszer működésére vonatkoztatva?
Funkcionális és nem funkcionális követelmények.
42. Mit írnak le a funkcionális követelmények? Írjon példát.
A rendszer által nyújtandó szolgáltatásokról szóló közlemény. Azt tartalmazza, hogy a rendszernek hogyan kell reagálnia bizonyos bemenetekre, és hogyan kell viselkednie a rendszernek bizonyos helyzetekben.
Megállapíthatja, hogy mit nem szabad a rendszernek megtennie.
A funkciók vagy a rendszer szolgáltatásainak leírása.
A funkcionális felhasználói követelmények lehetnek magas szintű meghatározás arról, hogy mit kell tennie a rendszernek.
A funkcionális rendszerkövetelményeknek részletesen le kell írniuk a rendszer szolgáltatásait.
Például: A felhasználónak képesnek kell lennie arra, hogy az összes klinikára vonatkozó időpont-listában keresgéljen.
43. Mit írnak le a nemfunkcionális követelmények? Írjon példát.
A rendszer által kínált szolgáltatásokra vagy funkciókra vonatkozó korlátozások, például időzítési korlátozások, a fejlesztési folyamatra vonatkozó korlátozások, szabványok stb.
Gyakran inkább a rendszer egészére vonatkoznak, mint az egyes funkciók vagy szolgáltatások egészére.
Ezek határozzák meg a rendszer tulajdonságait és korlátait, például a megbízhatóságot, a válaszidőt és a tárolási követelményeket. A korlátozások az I/O eszköz képessége, a rendszer ábrázolásai stb.
Folyamatkövetelmények is meghatározhatók, amelyek egy adott integrált fejlesztési környezetet, programozási nyelvet vagy fejlesztési módszert írnak elő.
A nem funkcionális követelmények kritikusabbak lehetnek, mint a funkcionális követelmények. Ha ezek nem teljesülnek, a rendszer használhatatlan lehet.
44. Mit írnak le a szakterületi követelmények? Írjon példát.
Olyan követelmények, amelyek a felhasználói környezetből erednek és ennek a környezetnek a sajátságait tükrözik.
45. Milyen problémák merülhetnek fel a követelményekkel kapcsolatban? Írjon legalább 2-t.
Problémák akkor merülnek fel, ha a funkcionális követelményeket pontatlanul határozzák meg
A kétértelmű követelményeket a fejlesztők és a felhasználók különbözőképpen értelmezhetik
46. Mit jelent az, hogy a követelmények teljesek? Mit jelent, hogy következetesek?
Teljes: Tartalmazniuk kell az összes szükséges követelmény leírását.
Következetes: A rendszerszolgáltatások leírásában nem lehetnek ellentmondások.
47. Nevezze meg a követelménytervezési folyamat 4 lépését!
● Követelmények feltárása;
● Követelményelemzés;
● Követelmények validálása;
● Követelménykezelés.
48. Mikor nevezünk a követelmények feltárására használt interjút hatékonynak?
Legyen nyitott, kerülje a követelményekkel kapcsolatos előre kialakított elképzeléseket, és legyen hajlandó meghallgatni az érdekelt feleket.
Ösztönözze a megkérdezettet arra, hogy a beszélgetést egy kiinduló kérdéssel, egy követelmény javaslattal, vagy egy prototípus rendszeren való közös munkával indítsa el.
49. Mit írnak le a forgatókönyvek?
A felhasználói történet strukturált formája.
A forgatókönyveknek a következőket kell tartalmazniuk:
● A kiindulási helyzet leírása;
● Az események szokásos menetének leírása;
● Egy leírás arról, hogy mi romolhat el;
● Információk más párhuzamos tevékenységekről;
● Az állapot leírása a forgatókönyv befejezésekor.
50. Milyen módokon lehet megírni egy rendszerkövetelmény specifikációt?
Természetes nyelv: A követelmények természetes nyelven, számozott mondatokkal íródnak. Minden egyes mondat egy követelményt fejez ki.
Strukturált természetes nyelv: A követelményeket természetes nyelven írják le egy szabványos űrlapon vagy sablonon. Az egyes mezők a követelmény egy-egy szempontjáról nyújtanak információt.
Tervezési leíró nyelvek: Ez a megközelítés egy programozási nyelvhez hasonló, de absztraktabb jellemzőkkel rendelkező nyelvet használ a követelmények meghatározására a rendszer működési modelljének meghatározásával. Ezt a megközelítést ma már ritkán használják, bár hasznos lehet interfész specifikációkhoz.
Grafikusjelölések: A rendszerrel szemben támasztott funkcionális követelmények meghatározására grafikus modelleket használnak, amelyeket szöveges megjegyzésekkel egészítenek ki; az UML használati eset-és szekvencia-diagramokat gyakran használják.
Matematikai előírások: Ezek a jelölések olyan matematikai fogalmakon alapulnak, mint a véges állapotgépek vagy halmazok. Bár ezek az egyértelmű specifikációk csökkenthetik a követelménydokumentumban lévő kétértelműséget, a legtöbb ügyfél nem érti a formális specifikációkat. Nem tudják ellenőrizni, hogy az valóban azt képviseli-e, amit akarnak, és nem szívesen fogadják el rendszerszerződésként.