Infó V. tétel Flashcards

1
Q

Verziókezelés

A

A verziókezelés a szoftverfejlesztés során alkalmazott módszer, amely segít követni és kezelni a kódbázis változásait az idővel. A verziókezelés segít a csapatoknak együttműködni, nyomon követni a változásokat, visszaállítani korábbi verziókat, és könnyebben kezelni a konfliktusokat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Verziókezelő Rendszerek

A

Git:
Elterjedt elosztott verziókezelő rendszer.
Példák: GitHub, GitLab, Bitbucket.

Subversion (SVN):
Központi verziókezelő rendszer.

Mercurial:
Elosztott verziókezelő rendszer, hasonlóan a Githoz.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Tesztszintek

A

Unit Tesztek:
Kis kódrészletek, függvények, osztályok tesztelése.

Integrációs Tesztek:
Komponensek, modulok közötti együttműködés tesztelése.

Rendszertesztek:
Teljes rendszer, alkalmazás tesztelése.

Elfogadási Tesztek:
Felhasználók által végzett tesztek.

Magas szintű teszteset - absztrakt előfeltételekkel, bemeneti adatokkal, elvárt eredményekkel, utófeltételekkel és lépésekkel rendelkezik

Alacsony szintű teszteset - konkrét előfeltételekkel, bemeneti adatokkal, elvárt eredményekkel, utófeltételekkel és lépésekkel rendelkezik

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Teszttípusok

A

Funkcionális tesztelés - rendszer funkcióinak tesztelése

Nem funkcionális tesztelés - rendszer használhatósága, teljesítménye vagy biztonságának tesztelése

Fehér dobozos tesztelés - rendszer belső felépítésén vagy megvalósításán alapuló tesztek

Változással kapcsolatos tesztelés - megerősítő és regressziós tesztelés
- megerősítő - célja megerősíteni, hogy az eredeti hiba kijavításra került
- regressziós - a kódban minden változás által okozott akaratlan mellékhatások érzékelése

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Teszttervezési Módszerek

A

Vonalkód alapú teszttervezés:
A kód egyes részeire irányuló teszttervezés.

Állapot alapú teszttervezés:
A rendszer állapotaira irányuló teszttervezés.

Műveleti alapú teszttervezés:
A különböző műveletekre irányuló teszttervezés.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

GoF Tervezési Minták

A

Singleton:
Biztosítja, hogy egy osztályból csak egy példány létezzen.

Factory Method:
Egy interfész definiálja a példányosítást, de a leszármazott osztályok implementálják.

Observer:
Egy objektum változása értesíti és frissíti a többi objektumot.

Interfészre programozzunk, ne implementációra.
Részesítsük előnyben az objektum-összetételt az öröklődéssel szemben.
Újrafelhasználás módszerei:
- öröklődés (fehér dobozos újrafelhasználás)
- objektum-összetétel (fekete dobozos újrafelhasználás)
láthatóságra utal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Sorold fel a SOLID alapelveket!

A

Egyetlen felelősség elve - Single Responsibility Principle Egy osztály vagy modul egy, és csak egy felelősséggel rendelkezzen.

Nyílt/zárt elv - Open/Closed Principle Egy osztály vagy modul legyen nyílt a kiterjesztésre, de zárt a módosításra.

Liskov helyettesítési elv - Liskov substitution principle Minden osztály legyen helyettesíthető a leszármazott osztályával anélkül, hogy a program helyes működése megváltozna.

Interfész elválasztási elv - Interface segregation principle Az interfészek szétválasztásának elve: egyetlen kliens se legyen rákényszerítve arra, hogy olyan eljárásoktól függjön, amelyeket nem is használ.

Függőség megfordítási elv - Dependency inversion principle A magas szintű modulok ne függjenek az alacsony szintű moduloktól. Mindkettő absztrakcióktól függjön.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Függőségbefecskendezés

A

A függőséget felhasználó objektum szolgáltatást nyújt, az injekció pedig ennek a függőségnek az átadása a kliens részére.
A függőségbefecskendezés olyan tervezési minta, amelynek célja csökkenteni egy osztály függőségét más osztályoktól, növelve ezzel az újrafelhasználhatóságot és a karbantarthatóságot.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Model-View-Controller

A

A felhasználói felületet (View) elkülöníti az alkalmazás logikájától (Model) és az adattárolástól (Controller).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Tervezési minták

A

Középszintű minták, kisebb léptékűek mint az architektúrálisak.
Alkalmazásuknak nincs hatása egy szoftverrendszer alapvető felépítésére, de meghatározzák az alrendszer felépítését. Függetlenek egy programozási nyelvtől vagy paradigmától.

Céljuk szerint lehetnek:
- létrehozási minták - objektumok létrehozásával foglalkoznak
- szerkezeti minták - azzal foglalkoznak, hogy az osztályok és objektumok, hogyan alkotnak nagyobb szerkezeteket
viselkedési minták - osztályok vagy objektumok egymásra hatását valamint felelősségek eloszlását írják le

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Szabad Szoftverek

A

GNU General Public License (GPL):
Az egyik legelterjedtebb szabad szoftver licensz.

MIT License:
Egyszerű licensz, engedélyezi a szoftver felhasználását akár zárt forráskóddal is.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Nem Szabad Szoftverek

A

Proprietári Licenses:
Kereskedelmi szoftverek licenszei, korlátozzák a felhasználói jogokat.

Shareware Licenses:
Az ingyenes használatot később fizetéssel váltja fel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Szabad Szoftverlicencek

A

GNU General Public License (GPL):
Az egyik legismertebb szabad szoftverlicence.
A felhasználóknak lehetőséget ad a szoftver szabadon felhasználására, terjesztésére és módosítására, de a módosított változatoknak is GPL licenc alatt kell lenniük.

MIT License:
Engedélyezi a szabad felhasználást, terjesztést és módosítást, feltéve, hogy az eredeti licenc és az alkotó személyazonossága megmarad.

Apache License:
Engedélyezi a szabad felhasználást, terjesztést és módosítást.
Kereskedelmi használatra is alkalmas.

BSD Licenses (Berkeley Software Distribution):
Rugalmas licenszek, amelyek engedélyezik a szabad felhasználást, terjesztést és módosítást.
Többféle BSD licensz létezik, például a 2-clause BSD és a 3-clause BSD

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Nyílt Forrású Licencek

A

Mozilla Public License (MPL):
Engedélyezi a szabad felhasználást és módosítást, de a módosított változatokat is MPL alatt kell közzétenni.

GNU Lesser General Public License (LGPL):
A GPL változata, amely lehetővé teszi a nem szabad szoftverekkel történő összekötést. A módosított változatokat is LGPL licenc alatt kell közzétenni.

Eclipse Public License (EPL):
A szabad és nyílt forrású licencek egyik változata, különösen a Java alapú projektekhez használt.

Common Development and Distribution License (CDDL):
Az OpenSolaris projekt eredeti licence, engedélyezi a módosítást és a terjesztést, de bizonyos feltételek mellett.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly