OBJEKTUMORIENTLT PROGRAM KOVCS DVID Elzmnyek A strukturlt programozst
OBJEKTUMORIENTÁLT PROGRAM KOVÁCS DÁVID
Előzmények • A strukturált programozást felváltja az objektumorientált programozás, hiszen a strukturált programozás már nem képes a megváltozott igényeknek megfelelő szoftver megalkotására. • Szoftverkrízis: A szoftverfejlesztés válsága, amely az 1960 -as évek végén robbant ki: Hagyományos módszer Minőségi szoftver • Megoldás: Objektumorientált tervezési szemlélet elterjedése Modellkészítés
Objektumorientáltság • Az objektumorientáltság egy szemléletmód, amelynek alapján több rendszerfejlesztési módszertant is kidolgoztak és publikáltak. • Az objektumok általános használatához definiálni kell az objektum környezetét (osztályát), ez lényegében egy sablonként használható több azonos típusú objektum egyidejű használatához.
Objektumorientált program • Az objektumorientált programozás (angolul objectoriented programming, röviden OOP) egy programozási módszertan. Ellentétben a korábbi programozási módszertanokkal, nem a műveletek megalkotása áll a középpontban, hanem az egymással kapcsolatban álló programegységek hierarchiájának megtervezése. Az objektumorientált gondolkodásmód lényegében a valós világ lemodellezésén alapul. Az Objektumorientált program tehát egymással kommunikáló programok összessége, amelyben minden objektumnak megvan a jól meghatározott feladata.
Néhány fogalom • Osztály (class): Az osztály egy felhasználói típus, amelynek alapján példányok (objektumok) hozhatók létre. Az osztály alapvetően adat és metódus (művelet) definíciókat tartalmaz. • Objektum (példány): Információt (adatokat) tárol, és kérésre műveleteket végez. Van állapota.
Minőségi szoftver • • • Helyesség Hibatűrés Védje ki a felhasználó hibáit Karbantarthatóság Könnyű módosítás Bővíthetőség Új igény szerint Újrafelhasználhatóság Kompatibilitás Operációs rendszerrel Felhasználó-barátság Könnyen kezelhető Hordozhatóság Gépről-Gépre Hatékonyság Célirányos feladatmegoldás Ellenőrizhetőség Integritás Sérthetetlenség Szabványosság
Vízesés-Modell • Legrégebbi modell – Termékfejlesztésre koncentrál, az első példányig dolgozik, modellez.
FOLYAMAT
Jellemzői • • Üzenet/Kérelem Felelősség Bezárás, információ elrejtése Polimorfizmus (többalakúság) Osztályozás Osztály számossága Öröklődés Késői kötés
Objektumorientált rendszerfejlesztés lépései • • Analízis Tervezés Kódolás Tesztelés
Analízis • Egy szoftver fejlesztésének korai fázisaiban a megvalósítandó rendszer feladatait szeretnénk feltérképezni: a funkcionális és egyéb jellegű követelményeket. Más szóval, a kérdés ilyenkor az, hogy a rendszernek mit kellene tennie.
Tervezés • A meglévő modell alapján a szoftver konkrét (megvalósításához) vezető utat tervezzük meg. Ilyenkor arra keressük a választ, hogy a meghatározott specifikációt hogyan valósítsa meg a rendszer.
Objektumorientált rendszerfejlesztés módszerei • OMT – 1991 (Object Modelling Technique = Objektum Modellezési Technika) • Booch – 1991 (Grady Booch – amerikai szoftverfejlesztő) • OOSE – 1992 (Object-Oriented Software Engineering = Objektum Orientált Szoftver Fejlesztés) • UML – 1997. (Unifited Modelling Language = Egységesített Modellező Nyelv).
Objektumorientált nyelvek osztályozása • Tiszta objektumorientált nyelvek • Small. Talk – 1972 • Eiffel – 1988 • Hibrid nyelvek • C++ - 1989 • Java – 1986 • Pascal – 1986 • CLOS – 1988 • Objektum alapú nyelvek • Amelyekben létezik az objektum fogalma, de nem objektumorientáltak
Objektumorientált vizuális fejlesztőeszközök • C++ • Small. Talk • Object Pascal
CASE eszközök • CASE = számítógéppel támogatott szoftverfejlesztés)
OO fejlesztési lépések • Analízis • Követelmény-feltárás • Követelmény-elemzés • Feladatspecifikáció
• Tervezés • Osztálydiagram • Osztályleírás (osztály neve, feladatleírás, objektumok száma, kapcsolatok, adatok) • Osztályhierarchia-diagram • Objektum-diagram • Állapot-diagram • Együttműködési diagram • Használati eset diagram • Szekvencia-diagram • Programterv
• Kódolás • Implementálás • Forráskód • Tesztelés • Objektumok tesztelése • Osztályok tesztelése • Egységteszt • Rendszerteszt • Dokumentálás • Folyamatosan, a fejlesztés minden fázisában.
Az élelmiszerbolt OO-terve • • Osztálydiagram Használatieset-diagram, forgatókönyv Együttműködési diagram Szekvencia diagram Állapotdiagram Aktivitásdiagram Komponensdiagram Telepítési diagram
A rendszernek követni kell az objektumorientált rendszerek tervezésének egyik legismertebb formáját az Adatok-vezérlő-nézet (Modell-Controller-View) tervezési mintát. Ennek alapja, hogy a modell réteg csak adatokat tárol, a vezérlő rétegben lévő osztályok tartalmazzák a művelet/lekérdezést megvalósító osztályokat, míg a nézet réteg csak a megjelenítésért felel. A NÉZET KÖZVETLENÜL NEM FÉR HOZZÁ A MODELLBEN LÉVŐ ELEMEKHEZ.
Használati-eset (Use-case) diagram
Szekvencia-Diagram
KÖSZÖNÖM A FIGYELMET!
- Slides: 24