Szoftvertechnológia/2024-vd1-kikerdezo
A VIK Wikiből
Mely állítás igaz?
- Használati esetekből lehet teszteseteket származtatni
- A határérték analízis az utasítás (statement) lefedettség növelésére alkalmazott technika
- Az ekvivalencia osztályokat mindig automatikusan, algoritmikusan határozzuk meg
- 100%-os utasítás lefedettség mellett biztosak lehetünk benne, hogy hibátlan a kódunk
Ki tagja a Scrum csapatnak?
- Tesztelő
- Product owner
- Megrendelő
- Fejlesztő
Mely állítások igazak a szoftverrendszerekre?
- Elsődleges értékét a szoftver végrehajtása adja
- Lehetnek hardverben megvalósított részei
- Folyamatos, megszakítás nélküli működésre képes
- Kizárólag szoftverből álló rendszer
Melyik dokumentumban fogalmazzuk meg a rendszer komponensekre bontását?
- Felhasználói dokumentáció
- Követelményspecifikáció
- Komponensterv
- Architektúraterv
Melyik állítás igaz a CoCoMo modellre?
- Egy exportkorlátozásokat megfogalmazó listát definiáltak a segítségével
- Jól használható rendszerfejlesztési feladatok becslésére is
- Egy faktor alapú költségbecslő modell
- A modell becsléséhez ismerni kell minden projektrésztvevő havi fizetési költségét
Melyik állítás NEM igaz Gantt diagramok kapcsán?
- A Gantt diagram egyik lehetséges felhasználása, hogy különböző szempontok szerinti ütemezéseket javaslunk a projekt tevékenységeihez
- Akkor és csak akkor van függőség két tevékenység között, ha az egyiket csak akkor lehet elkezdeni, amikor a másik már befejeződik
- Az elemi tevékenységek becsült időráfordítását is felhasználjuk a Gantt diagram elkészítéséhez
- A tartalék (slack) azt adja meg, hogy mennyi tartalék időnk van az adott tevékenység befejezésében
Melyik állítás igaz a modellezés kapcsán?
- Modellezés során nem érdemes a modellt finomítani, mert komplex lesz és nem tudjuk használni majd.
- Érdemes egy nagy, közös modellt készíteni, ami leírja a készítendő rendszer összes fontos jellemzőit
- Hierarchikus finomítás során a változók értékkészletét finomítjuk
- Az absztrakció alkalmazásával bizonyos információt szándékosan elhanyagolunk a modell készítése során
Jelölje be az alábbi osztálydiagramra igaz állításokat!
- A Door és Window osztályok a Dwelling osztállyal kompozíciós (rész-egész) viszonyban állnak
- A Door és Window osztályok kapcsolata a Dwelling osztállyal feléjük nem navigálható
- A Dwelling osztálynak mindig pontosan 1 owner-e van
- Az Apartment osztály megvalósítja a Dwelling interfészt
Mely állítás(ok) igaz(ak)?
- 100%-os döntési (decision) lefedettségből következik a 100%-os utasítás (statement) lefedettség
- Teszteléskor a fő lefutási ágat (happy path) nem érdemes vizsgálni, az általában úgy is jól működik
- Ha a specifikáció alapú tesztjeink hibátlanul lefutottak, nincs értelme kódlefedettséget vizsgálni
- Csak olyan tesztkészlet fogadható el, ami 100%-os döntésfedettséget ér el
Kik tekinthetők érintetteknek (stakeholder) az alábbiak közül?
- Üzemeltetők
- Beszállítók
- Hatóságok
- Fejlesztők
Mi jellemző az integrációs mintákra?
- A Feature Branch minta esetén egy új funkcióval kapcsolatos minden munkát egy külön, saját ágon végezzük, és csak akkor integráljuk vissza, amikor kész az új funkció
- A Mainline Integration minta gyakori, a Feature Branch minta ritka integrációt ír elő
- A Mainline Integration mintában a fejlesztők a mainline-on keresztül integrálják a munkájukat, onnan leszedve és összefésülve a többiek változtatásait, majd – ha működik – akkor a saját változtatásaikat is vissza integrálják
- A Feature Branch minta esetén egy hibajavítással kapcsolatos minden munkát egy külön, saját ágon végezzük, és csak akkor integráljuk vissza, amikor kész az új funkció
Jelölje be az igaz állításokat az alábbi, komponens modellezéssel kapcsolatos állítások közül!
- Az interfészek a függőségi kapcsolatok pontosításaként használhatók
- A belső komponens által megvalósított interfész kivezetését a külső komponensre delegációs összeköttetéssel valósíthatjuk meg
- Az interfészeknek nem lehet attribútuma
- Egy port lehet összetett, ekkor több portja van
Melyik az agilis módszertan által előnyben részesített alapelv?
- működő szoftver
- nagyon részletes dokumentáció
- előre definiált folyamatok
- együttműködés a megrendelővel
Mi igaz a tesztelésre?
- A tesztelés mindig manuális folyamat
- Teszteléssel be lehet látni a szoftver helyességét
- A tesztelés segíthet felderíteni a szoftver elgépelésekből eredő hibáit
- A 100%-os utasításfedettség azt jelenti, hogy a rendszerünk összes lehetséges viselkedését kipróbáltuk
Melyik állítás igaz a strukturális kódmetrikákra?
- A ciklomatikus komplexitás a kódban lévő ciklusok számát adja meg
- A ciklomatikus komplexitás meghatározásához ki kell először számolni a vezérlési szerkezetek legmélyebb beágyazását (max nesting)
- Két modul közül az a bonyolultabb, amiben több kódsor van (LoC)
- A csomósodás (knots) nevű metrika a párhuzamos ágak számát adja meg
Melyik állítás NEM igaz az aktorokra UML használati esetek (use case) esetén?
- Az aktorokat minden esetben "pálcika emberke" (stick figure) jelöli a diagramon
- Az aktorokat a diagram bal oldalára kell felvenni
- Egy diagramon egy aktort adhatunk meg, aki a használati eset igénybevételét végzi
- Egy személy több aktor szerepében is lehet az adott rendszer kapcsán
Mi igaz az UML használati esetekkel (use case) kapcsolatban?
- Egy használati eset egy forgatókönyvet (scenario) ír le
- Az aktor a modellezett rendszernek egy olyan része, aki valami interakciót hajt végre
- Egy használati esetben nem csak a rendszer felhasználója lehet aktor
- A használati eset diagram tartalmazza a használati esettel kapcsolatos összes fontos információt
Mitől lesz jól érthető egy forráskód?
- Érthetőek a változónevek
- Minden függvény külön fájlba van kiszervezve
- Szakterületi, üzleti fogalmakat használ, ahol az indokolt
- A programozási nyelv és platform bevett stílusát, mintáit használja
Melyik állítás NEM igaz a CoSysMo költségbecslő módszerre?
- Az elkészítendő rendszer költségének becsléséhez figyelembe veszi a megvalósítandó interfészek számát
- A megoldandó feladat bonyolultságát a kifejlesztendő rendszer becsült forráskód méretével (LoC) jellemezzük
- Az összes többi állítás igaz
- Az elkészítendő rendszer és a projektcsapat jellemzőit is figyelembe veszi a költségtényezők meghatározása során
Melyik állítás NEM igaz a modellezés kapcsán az alábbi háromból?
- Mind a három állítás IGAZ
- Állítás 2: Nem csak grafikus modellezési nyelveket lehet definiálni
- Állítás 3: Hierarchikus finomítás során a modell elemeit felbontjuk további alelemekre
- Állítás 1: Egy modellezési nyelv szemantikája a modell és modellelemek jelentését adja meg
Mi igaz a szoftvermérnökségre?
- Egy mérnöki ág, ami kizárólagosan szoftverek fejlesztésére fókuszál
- Alapelve, hogy kizárólag tervezés után lehet az implementációt elvégezni
- Célja alapos módszerek kidolgozása, amik szoftverek tervezését és fejlesztését segítik
- Egy lehetséges definíciója, hogy többverziós programok többszereplős fejlesztése
Mely állítások igazak a "szoftverfejlesztési életciklus" modellek kontextusában?
- Alkalmazásuk kritikus rendszerek fejlesztésekor ajánlott; más jellegű rendszer esetén túl költséges a használatuk
- Általában technológiafüggő ajánlásokat (pl. támogatott programozási nyelv, build keretrendszer) is megfogalmaznak
- Minden életciklus modell lépések vagy fázisok sorozatából áll, amelyekhez jól meghatározott kimenetek tartoznak
- Céljuk a szoftver tervezésének, megvalósításának, illetve működtetésének szisztematikus leírása
Milyen praktikus technikák léteznek a kódolási irányelvek betartatására?
- Átvizsgálás GitHub pull request review keretében
- Megkövetelni, hogy azonos operációs rendszert használjanak a fejlesztők
- Fejlesztőkörnyezet (IDE) formázási funkcióinak használata
- Strukturális teszttervezés utasításfedettség alapján
Mi igaz a moduláris dekompozícióra?
- Kizárólag szoftver (komponensek) esetén értelmezhető ez az alapelv
- Az alapja az információrejtés (information hiding)
- Az implementáció szintjén alkalmazhatjuk, amikor a (szoftver) komponenst osztályokra bontjuk fel
- Az architektúra tervezés során alkalmazhatjuk, amikor a rendszert komponensekre bontjuk fel
Melyik állítás igaz a Scrum-ban a sprintre?
- Addig nem ér véget a sprint, amíg a sprint backlogba beválogatott minden feladatot meg nem oldott a csapat
- A sprint során többször is bemutatja a csapat az eredményeket az ügyfélnek a gyors visszajelzés érdekében
- Ha a sprint során hibát találunk az adott sprintben fejlesztendő funkcióban, akkor azt még abban a sprintben ki kell javítani
- Egy sprint két hétig tart
- Egyik másik állítás sem igaz
Mely állítások igazak a kiadás mintákra?
- A Release Branch minta esetén a kiadandó szoftververzió egy külön, release branch-en található
- A Release-Ready Mainline minta esetén a kiadandó verzió branch-e új funkciókat nem fogad, csak hibajavításokat
- A Release Branch minta esetén a kiadandó verzió branch-e új funkciókat nem fogad, csak hibajavításokat
- A Release-Ready Mainline minta esetén a kiadandó szoftververzió egy külön, release branch-en található
Kik tekinthetők a rendszer érintettjeinek (stakeholder) az alábbiak közül?
- Hatóságok
- Megrendelők
- Végfelhasználók
- Fejlesztők
Mely fogalomhoz tartozik az adott definíció? Kiválasztva egy kódrészletet, meg kell tudni mutatni, hogy az milyen követelmény miatt került be
- Követelmény menedzsment
- Hátrafelé követhetőség
- Tanúsítás
- Előrefelé követhetőség
Melyik igaz az agilis módszertanokra?
- Kanban táblát használunk minden fejlesztés során
- Az agilitás, a változásra való reagálás képessége kiemelt fontosságú
- Nem kell semmiféle tervet készíteni, mert úgyis minden változik majd
- A sprint célja a megrendelői szerződés egyik pontjának megvalósítása