You are on page 1of 3

HÁZI FELADAT

Szoftver laboratórium 2.
Pontosított feladatspecifikáció

Koncz Álmos
ZIKC27

2019. április 17.


1. Feladat
Szoftver laboratórium II. házi feladat
Koncz Álmos (ZIKC27) részére:

Tervezze meg egy telefonkönyv alkalmazás egyszerűsített objektummodelljét,


majd valósítsa azt meg! A telefonkönyvben kezdetben az alábbi adatokat
akarjuk tárolni, de később bővíteni akarunk:

Név (vezetéknév, keresztnév)


becenév
cím
munkahelyi szám
privát szám
Az alkalmazással minimum a következő műveleteket kívánjuk elvégezni:

adatok felvétele
adatok törlése
listázás
A rendszer lehet bővebb funkcionalitású (pl. módosítás, keresés), ezért
nagyon fontos, hogy jól határozza meg az objektumokat és azok felelősségét.
Demonstrálja a működést külön modulként fordított tesztprogrammal! A
megoldáshoz ne használjon STL tárolót!

2. Feladatspecifikáció
Feladatként egy Telefonkönyv alkalmazást választottam, melynek feladata, hogy a
telefonkönyvben szereplő személyeket és azoknak adatait tárolja, képes lesz személyek
felvételére, törlésére, listázásra, és a listában való keresésre, mindezt egy Console Application-
ön keresztül, így parancsok beírásával lehet majd a programot kezelni.

A teszteléséhez egy olyan programot készítek, ami különböző adattípusokkal a standard


inputról beolvasott adatok alapján műveleteket végez. A tesztadatok között hibás műveletek is
elő fognak fordulni, ilyenkor a program jelezni fog, hogy hibás műveletet végeztünk

3. Pontosított Feladatspecifikáció
A feladat megoldásához számos objektumra van szükség:

• String osztály:
o Ez egy dinamikusan foglalt és falszabadított Stringek tárolására alkalmas
osztály, melyben indexelő operátor, egyenlőség operátor és egyéb operátorok
is szerepelnek
• Name (név) osztály:
o Ez tárolja egy személy Vezeték-, Kereszt- és Becenevét
• Address(cím) osztály:
o Ez tárolja egy személy címét (ide tartozik: Irányítószám, Város, Utcanév,
Házszám)
• PhoneNumber(telefonszám) osztály:
o Ez tárolja egy személy Privát, és Munkahelyi számát
• Person(személy) osztály:
o Személyt megvalósító osztály. Ebben tároljuk egy személy minden
jellemzőjét
• ListMember(listaelem) osztály:
o Láncolt lista elvét követő listaelem, tárol egy személyt, egy előző és
következő elemre mutató pointert, minden adattagja publikus,
• PhoneBook(telefonkönyv) osztály:
o Ennek a feladata a Lista tárolása, személyek hozzáadása, törlése, keresése és
kiíratása. Destruktora egy rekurzív függvényt hív meg

Az osztályok viszonyáról az alábbi ábrát készítettem el:

Hibakeresés szempontjából a függvények sikertelen olvasás, indexelés, vagy egyéb hibás


műveletek esetén kivételt dob, ezeket a tesztprogramomban be fogom mutatni.

You might also like