szofttek Flashcards
- Mi a szoftver, milyen részekből áll és milyen típusait különböztetjük meg?
Mik a szoftverfejlesztés általános lépései?
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).
Típusai:
* Általános: felhasználók széles rétege számára fejlesztett és általuk használt szoftver.
* Egyedi: egy megrendelő egyedi igényei szerint készült.
A szoftverfejlesztés általános lépései:
* 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ó: A szoftver változó igények szerinti továbbfejlesztése.
2.Mik a szoftvergyártás általános modelljei?
- Vízesés modell.
- Iteratív fejlesztés.
- Komponens alapú fejlesztés.
5.Mik a szoftverfejlesztési módszertanok, mik ezek legfőbb elemei?
Olyan strukturált szoftverfejlesztési módszerek, amelyek tartalmaznak rendszermodellező eszközöket, jelölési konvenciót, szabályokat és tervezési ajánlásokat, valamint fejlesztési
útmutatót.
Elemei:
* Modell leírások: a létrehozandó grafikus modellek leírása.
* Szabályok: a rendszermodellekre vonatkozó kényszerek.
* Ajánlások: a helyes tervezési megoldásokra vonatkozó tanácsok.
* Fejlesztési útmutató: a modellfejlesztés során végrehajtandó tevékenységek sorozata.
6.Mi az a CASE?
Olyan szoftver rendszerek, amelyek a szoftverfejlesztési folyamatot automatikus eszközökkel támogatják.
* Upper-CASE: a fejlesztés korai fázisait támogató eszközök.
* Lower-CASE: a fejlesztés későbbi fázisait támogató eszközök.
7.Sorolja fel a jó szoftver 5 ismérvét!
szoftver 5 ismérvét!
A felhasználó által megkívánt funkcionalitást és teljesítményt szolgáltatja, jól karbantartható, megbízható, hatékony és befogadható.
8.Mik a szoftverkészítés legfőbb kihívásai korunkban?
- Heterogenitás: szoftverkészítést heterogén platformokra és végrehajtási környezetekre.
- Határidők: gyorsabb fejlesztés és átadás.
- Bizalom: felhasználók bizalmát megnyerni képes fejlesztési technológia.
9.Sorolja fel a szakmai felelősség 4 alapvető problémáját!
- Titoktartás
- Felkészültség
- Szellemi tulajdonok
- Technikai visszaélés
10.Sorolja fel az IEEE/ACM etikai kódex 8 alapelvét és magyarázza el ezek jelentését!
- Közérdek: a szoftvermérnököknek a köz érdekének megfelelően kell cselekedniük.
- Ügyfél és alkalmazó: a szoftvermérnöknek a megrendelő és az alkalmazó érdekében kell eljárnia, a közérdek figyelembevételével.
- Termék: a szoftvermérnöknek biztosítania kell, hogy termékei a lehető legmagasabb szakmai színvonalat érjék el.
- Ítélőképesség: a szoftvermérnökök szakmai ítéleteit önállóan és függetlenül kell meghoznia.
- Menedzsment: a menedzserek és egyéb vezetők kötelessége az etikus szoftverfejlesztés és -karbantartás biztosítása.
- Szakma: a szoftvermérnöknek a szakma jó hírét a köz érdekével öregbítenie kell.
- Munkatársak: a szoftvermérnöknek támogatnia kell munkatársait.
- Önfejlesztés: a szoftvermérnöknek folyamatosan fejlesztenie kell szakmai tudását.
11.Mit értünk rendszer alatt?
Kapcsolódó komponensek halmaza, amelyek egy közös cél érdekében működnek együtt.
A rendszer tartalmazhat szoftvert, mechanikus és elektronikus hardvert.
A rendszert emberek is üzemeltethetik.
12.Mik a technikai rendszerek és az ember-gép rendszerek alapvető tulajdonságai?
Technikai rendszerek: hardvert és szoftvert tartalmazó rendszerek. Az operátorokat és a rendszert működtető eljárásokat nem tekintjük a rendszer részének.
Ember-gép rendszerek: olyan rendszerek, amelyek technikai rendszereket is tartalmaznak, csakúgy, mint a rendszert működtető eljárásokat és a technikai rendszerrel kapcsolatot tartó embereket.
Alapvető tulajdonságok:
* Globális/eredő tulajdonságok: a rendszerkomponensektől és azok kapcsolatától függenek.
* Nem determinisztikus viselkedés: azonos bemenőjelre nem mindig azonos kimenőjelet produkálnak.
* Szervezeti céloktól való komplex függés: nem csak a rendszertől függ, hogy az mennyire képes a szervezet céljait szolgálni.
13.Mik az eredő tulajdonságok, mik ezek ismérvei? Soroljon föl példákat.
Az egész rendszerre vonatkozó tulajdonságok, melyek nem származtathatók a komponensek tulajdonságaiból.
* A globális (eredő) a rendszerkomponensek kapcsolatából adódnak.
* Ezen jellemzők csak akkor mérhetők, ha a komponensek rendszerré történő integrációja megtörtént.
Pl.:
Térfogat: a rendszer teljes térfogata a komponensek összeállításának mikéntjétől függ.
Megbízhatóság: a rendszer megbízhatósága függ a komponensek megbízhatóságától.
Javíthatóság: jellemzi, hogy milyen egyszerű a rendszert javítani, miután a hibát észlelték.
Használhatóság: milyen könnyű a rendszert használni.
14.Milyen két alapvető eredő tulajdonság-típust ismerünk? Adjon rájuk példákat is.
Funkcionális tulajdonságok: akkor láthatók, ha a rendszer valamennyi eleme egy cél elérése érdekében közösen dolgozik.
Pl.: egy kerékpárnak akkor funkcionális tulajdonsága, hogy közlekedési eszköz, ha azt alkatrészeiből már összeszerelték.
Nem-funkcionális tulajdonságok: ezek a rendszernek a környezetével való kapcsolatát jellemzik. Számítógépes rendszereknél gyakran kritikus tulajdonságok: amennyiben egy minimális szintet nem érik el, a rendszer könnyen instabillá válhat.
Pl.: megbízhatóság, teljesítmény, biztonság.
15.Mi befolyásolja a megbízhatóságot?
- Hardver megbízhatóság: mennyi a hardver komponens meghibásodási valószínűsége és mennyi ideig tart ennek a komponensnek a javítása?
- Szoftver megbízhatóság: mekkora annak valószínűsége, hogy egy szoftver komponens hibás eredményt produkál?
- Operátor megbízhatósága: mennyire valószínű, hogy a rendszeroperátor hibázik?
16.Sorolja fel a rendszerkövetelmények 3 típusát!
- Absztrakt funkcionális követelmények: a rendszer funkcióit absztrakt módon definiáljuk.
- Rendszertulajdonságok: az egész rendszerre vonatkozó nem funkcionális követelményeket definiáljuk.
- Nem kívánatos tulajdonságok: nem megengedett viselkedés specifikációja.
17.Mik a rendszertervezés alapvető lépései? Ismertesse a rendszertervezés folyamatát!
Követelménydefiníció ► Rendszertervezés ► Alrendszerek tervezése ► Rendszerintegráció ► Üzembe helyezés ► Rendszerevolúció ► Rendszer leépítése.
A rendszertervezés folyamata:
* A követelmények csoportosítása: követelményeknek kapcsolódó csoportokra osztása.
* Alrendszerek meghatározása: alrendszerek olyan halmazának meghatározása, amelyek együttesen képesek a rendszerkövetelmények teljesítésére.
* Követelmények hozzárendelése az alrendszerekhez: nehézségbe ütközik, ha COTS rendszereket integrálunk.
* Alrendszerek funkcionalitásának specifikálása.
* Alrendszerek interfészeinek definiálása: fontos párhuzamos alrendszer-fejlesztés esetén.
20.Mi a COTS rendszer?
Már létező vagy készen vásárolható rendszerek.
21.Hogyan történik az alrendszerek fejlesztése?
- Általában párhuzamosan zajlik a hardver, szoftver és a kommunikáció fejlesztése.
- Tartalmazhat COTS (Commercial Off-The-Shelf) rendszerek beszerzését is.
- A fejlesztő csoportok között nincs kommunikáció.
- Amennyiben változtatásra van szükség, a lassú és bürokratikus engedélyeztetési eljárások miatt gyakran határidő módosítás is szükséges.
22.Mi a rendszerintegráció, hogyan történik?
Az a folyamat, amelynek során a hardver, szoftver és személyi állomány együttesen rendszert alkot.
* Célszerű inkrementálisan végezni (egyszerre csak egy alegység integrálása).
* Az alegységek közötti interfész problémák rendszerint ebben a fázisban derülnek ki.
* A rendszerkomponensek koordinálatlan beszállítása gondokat okoz.
23.Ismertesse a telepítés során várható főbb problémákat.
A rendszert elkészülte után a megrendelőnél üzembe kell helyezni.
Problémák:
* A környezettel kapcsolatos feltételezések esetleg tévesek voltak.
* Az új rendszerrel szemben ellenállást tapasztalhatunk a befogadó oldalon.
* A rendszernek egy ideig esetleg együtt kell létezni más rendszerekkel.
* Fizikai problémák is felléphetnek a telepítés során (pl. kábelezési gondok).
* Az operátorok betanításról gondoskodni kell.
24.Mit jelent a rendszerek evolúciója?
Nagy rendszerek hosszú élettartamúak. Lépést kell tartani a változó követelményekkel.
Az evolúció költséges!
* A változásokat technikai és üzleti szempontból is elemezni kell.
* Az alrendszerek egymásra hatása miatt nem várt problémák adódhatnak.
* Ritkán ismertek az eredeti tervezési megfontolások.
* A rendszer struktúrája sérül a folyamatos változtatások során.
Legacy rendszer: az a régi rendszer, amelynek fenntartása elengedhetetlen.
25.Ismertesse a rendszerfejlesztést befolyásoló főbb emberi és szervezeti tényezőket!
Emberi és szervezeti tényezők:
Változások a munkafolyamatban:
* A rendszer bevezetése szükségessé tesz-e változásokat a munkafolyamat során?
Munkahelyek veszélyeztetése:
* Elvesznek-e munkahelyek a rendszer bevezetése miatt, illetve meg kell-e változtatni a jelenlegi munkavégzés módját?
Szervezeti változások:
* Megváltoztatja-e a rendszer a szervezeti egység jelenlegi politikai/hatalmi elrendezését?
27.Ismertesse a Legacy rendszerek legfontosabb tulajdonságait, tipikus előfordulási
lehetőségeit.
Legacy rendszerek: olyan ember-gép rendszerek, amelyek régi vagy elavult technológiával lettek kifejlesztve.
Üzleti szempontból kritikus fontosságúak és gyakran túl kockázatos ezek felszámolása vagy cseréje.
Pl.:
* Banki könyvelési rendszerek
* Repülési karbantartó rendszerek
A legacy rendszerek korlátozzák az új üzleti eljárások bevezetését.
A vállalati kiadások jelentős részét ezek emésztik fel.
28.Melyek a szoftvergyártás alapvető tevékenységei?
- Specifikáció
- Tervezés
- Ellenőrzés (validáció)
- Továbbfejlesztés (evolúció)
29.Sorolja fel az alapvető szoftvergyártási modelleket!
A vízesés (waterfall) modell
Evolúciós fejlesztési modellek
Komponens alapú fejlesztés
A fenti modellek variációja