Szoftvertechnológia/2024-vd1-kikerdezo
A VIK Wikiből
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 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
Kik tekinthetők a rendszer érintettjeinek (stakeholder) az alábbiak közül?
- Hatóságok
- Megrendelők
- Végfelhasználók
- Fejlesztők
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
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
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ó
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ó
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
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á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 á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
Melyik dokumentumban fogalmazzuk meg a rendszer komponensekre bontását?
- Felhasználói dokumentáció
- Követelményspecifikáció
- Komponensterv
- Architektúraterv
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
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
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
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
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
Ki tagja a Scrum csapatnak?
- Tesztelő
- Product owner
- Megrendelő
- Fejlesztő
Kik tekinthetők érintetteknek (stakeholder) az alábbiak közül?
- Üzemeltetők
- Beszállítók
- Hatóságok
- Fejlesztők
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
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 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
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
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
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
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
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
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
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