Szoftvertechnológia szakirány A szakirány keretében a hallgatók a jó minõségû szoftvertermékek elõállításához szükséges módszertani, technológiai és szervezési ismereteket szerezhetik meg. A súlypontot az objektumorientált módszerekkel (UML, RUP) történõ szoftverfejlesztés, a modern programfejlesztõ környezetek (CASE eszközök) alkalmazása (Rational Rose), illetve a szoftver mint termék elõállításának egyéb fontos területei úgymint: a szoftver minõségbiztosítása, a szoftver újrafelhasználása, a felhasználói felületek tervezése és kialakítása, a teamszervezési megoldások és a szoftver-projektmenedzsment kérdései alkotják.
Tantárgyak Szoftvertechnológia Szoftverergonómia CASE eszközök Objektumorientált szoftverfejlesztés I. Objektumorientált szoftverfejlesztés II.
SZOFTVERTECHNOLÓGIA SZAKIRÁNY
5. szemeszter 6. szemeszter 7. szemeszter ea gy l k kr ea gy l k kr ea gy l k kr 2 0 0 v 3 2 0 0 v 3 2 0 2 v 6 1 0 2 v 3 1 0 2 f 3
135
Ajánlott irodalom: Sike S., Varga L.: Szoftvertechnológia és UML, ELTE Eötvös Kiadó, 2003 Kozma L., Varga L.: A szoftvertechnológia elméleti kérdései, ELTE Eötvös Kiadó, 2003 Végh Cs.: Alkalmazásfejlesztés a Unified Modelling Language szabványos jelöléseivel, Logos 2000, 1999 Kondorosi K., László Z., Szirmai-Kalos L.: Objektumorientált szoftverfejlesztés, Computerbooks, 1997 Raffai M., Kovács K., Tóth D.: Objektumorientált alkalmazásfejlesztés, Novodat kiadó, 2002 I. Jacobson, J. Rumbaugh, G. Booch,: The Unified Software Development Process, Addison Wesley Longman Inc., Reading Massachusetts, 1999 G. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide, Addison Wesley Longman Inc., Reading Massachusetts, 1998 J. Rumbaugh, G. Booch, I. Jacobson: The Unified Modeling Language Reference Manual, Addison Wesley Longman Inc., Reading Massachusetts, 1998
140
SZOFTVERTECHNOLÓGIA SZAKIRÁNY
Objektumorientált szoftverfejlesztés I. Elõfeltételek: Matematika szigorlat; Szoftver szigorlat szemeszter: 5.
óraszám (ea/gy/l): 1/0/2 követelmény: v
kredit: 3
A tematika kidolgozója: dr. Sipos Marianna
A tantárgy célja: A hallgatók a szoftvertechnológia tantárgyak keretei közt elsajátított elméleti és gyakorlati modellezési ismereteket fejlesztik tovább. Megismerkednek az UML haladó modellezési lehetõségeivel és a Rational Unified Process iteratív és inkrementális módszertanának Inception, Elaboration és Construction fázisával. A gyakorlatokon az elméleti ismereteket mélyítik el egy nagy projekt csoportmunkával történõ fejlesztése során. A tantárgy célja a kétrétegû alkalmazásfejlesztés bemutatása és megvalósítása adatbázisszerver, szerveroldali logikai réteg és vékony kliens (browser) segítségével. A tantárgy tartalma: A projektmenedzselés új eszközeinek megismerése. Függõségi táblázat, Gantt-diagram. A szoftverfejlesztés elsõ három fázisának megismerése, különös gondot fordítva a logikai és fizikai modularizálásra, a komponensek közötti kommunikáció megtervezésére és megvalósítási lehetõségeinek ismertetésére. A dinamikus modellezés eszközeinek bemutatása: együttmûködési diagram, szekvenciadiagram, állapotdiagram, tevékenységdiagram. A tesztelés különbözõ módozatainak és szintjeinek bemutatása. A verziókezelés megvalósítása a fejlesztés során az egyes komponensekre és az egész szoftverre. Rational Unified Process A Unified Process iteratív és inkrementális fejlesztésének gyakorlati megvalósítása az egész feladatra és az egyes részfeladatokra alkalmazva.
SZOFTVERTECHNOLÓGIA SZAKIRÁNY
A laboratóriumi gyakorlatok témái: • A tárgy laboratóriumi gyakorlatán Rational XDE Case eszköz segítségével teammunka során megvalósítják egy nagy feladat csoportokra szabott részét. • A hallgatók által már ismert és a CASE eszköz által támogatott fejlesztõi környezetre, osztálykönyvtárra építve eljutnak a csoportjuk számára kijelölt modul implementációjáig. • Az elõkészítõ fázisban a csoport egésze meghatározza az egyes alrendszereket, kialakítják a subsystemek megvalósításáért felelõs csoportokat. Elkészítik, majd összefésülik a részfeladatok Ganttdiagramjait. Meghatározzák a mérföldköveket. • A közösen meghatározott alrendszerek és komponensek elemzése, UML-diagramjainak részletes kidolgozása, megvalósítása, a munka dokumentálása az egyes csoportok feladata. Az elõkészítés, kidolgozás, megvalósítás fázisok munkafolyamatait egymás után végrehajtva – egyre finomítva a tervezés és megvalósítás pontosságát – jutnak el a hallgatók a komponensek elkészítéséig. Eközben gyakorolhatják a csoport tagjai közti együttmûködést a csoport sikere és a feladat minél hatékonyabb megoldása érdekében. • A cél a félév végére az önállóan már implementált és tesztelt modulok elkészítése. Munka közben folyamatos egyeztetés szükséges a csoportok között az egyes komponensek közti sikeres együttmûködés biztosítása érdekében. • Az Objektumorientált szoftverfejlesztés II. tantárgy laboratóriumi gyakorlatának feladata lesz a teljes szoftver összeállítása, tesztelése, az együttmûködõ komponensek megfelelõ illesztése, a szoftver telepítési diagramjának elkészítése, teljes dokumentáció összeállítása.
139
CASE eszközök Elõfeltételek: Szoftverergonómia; Objektumorientált szoftverfejlesztés II. szemeszter: 7.
óraszám (ea/gy/l): 2/0/2 követelmény: v
kredit: 6
A tematika kidolgozója: dr. Tick József fõiskolai docens A tantárgy célja: A tárgy keretében a hallgatók megismerkednek a szoftverfejlesztõ programkörnyezetekkel, a CASE eszközökkel. Az eszközök bemutatásán, jellemzésén túl az eszközök általános felépítése, kiválasztásuk szempontjai kapnak fokozott hangsúlyt. A következõ félévben sorra kerülõ laborfoglalkozásokon egy komplex, a teljes tankört érintõ csoportmunka révén különbözõ típusú és funkciójú eszközök bemutatásán és használatán keresztül ismerkednek meg a hallgatók a CASE eszközök széles skálájával és azok alkalmazási lehetõségeivel. A tantárgy tartalma: A CASE eszközök jellemzése Fejlõdésük, a fejlõdés egyes állomásai, a mai eszközök általános jellemzõi, kategóriái, a kategóriák jellemzõi.
CASE eszközök kiválasztási szempontjai Az értékelés kritériumai, mûszaki, kereskedelmi és gazdaságossági szempontok figyelembevétele. A legelterjedtebb objektumorientált szoftvefejlesztést támogató CASE eszközök Ratinal Rose és Software Through Pictures. A fejlesztési folyamat jellemzõi CASE rendszerek alkalmazása esetén A fejlesztõi környezetek cégspecifikus áttekintése Az IBM, SUN, Microsoft, Borland nyújtotta komplex fejlesztõi környezetek bemutatása, elemzése.
Ajánlott irodalom: H. Balzert: Lehrbuch der Software-Technik, Spektrum, 1998 A webre idõközben feltett anyagok.
A kategóriák egyes jellemzõ típusainak bemutatása Projekt Management Toolstól a User Interface Design Toolokig. Általános követelmények CASE eszközökkel szemben A CASE eszközök felépítése Az ECMA referenciamodell. A modell egyes szintjeinek jellemzõi, a modell realizálása egyes elterjedt CASE eszközökben.
138
SZOFTVERTECHNOLÓGIA SZAKIRÁNY
Szoftverergonómia Elõfeltételek: Szoftvertechnológia; Objektumorientált szoftverfejlesztés I. szemeszter: 6.
óraszám (ea/gy/l): 2/0/0 követelmény: v
kredit: 3
A tematika kidolgozója: dr. Sipos Marianna
A tantárgy célja: A tárgy keretében a hallgatók megismerkednek a szoftverergonómia, azon belül a felhasználói felületek tervezése, valamint a szoftver-újrafelhasználás területeivel. A tárgy célja az adott területeken kellõ jártasság kialakítása. A laborfoglalkozásokon különbözõ típusú és funkciójú CASE eszközök bemutatásán és használatán keresztül ismerkednek meg a hallgatók a CASE eszközök széles skálájával és azok alkalmazási lehetõségeivel.
Az újrafelhasználás típusai A tervezett és a nem tervezett újrafelhasználás jellemzõi, újrafelhasználási technikák. Szoftver-újrafelhasználás az objektumorientált szoftverfejlesztés folyamatában. Design by Contract, a Gamma-féle Design Patterns. A reengineering a szoftverfejlesztés folyamatában Fajtái, lehetõségei, CASE támogatottsága. Ajánlott irodalom:
A tantárgy tartalma: A szoftverergonómia elemei, fogalmai Felhasználói felületek tervezése. A felületek kialakításánál figyelembe veendõ emberi és mûszaki tényezõk. A tervezés és kialakítás lépései, a hatásfok és az elégedettség mérésének lehetõségei.
H. Balzert: Lehrbuch der Software-Technik, Spektrum, 1998 A webre idõközben feltett anyagok.
Interakció típusok, azok jellemzõi Parancsnyelvi és menürendszerek, alkalmazási területeik, lehetõségeik. A direktmanipuláció lehetõsége, jellemzõi, megoldási módszerek. A felhasználói támogatás lehetõségei Help- és varázsló technikák, az online és hagyományos felhasználói dokumentáció szempontjai. A szoftver-újrafelhasználás jelentõsége és helye a szoftverfejlesztésben Az újrafelhasználás hatása a folyamatra és a szervezetre, mûszaki, üzleti és gazdaságossági aspektusok.
SZOFTVERTECHNOLÓGIA SZAKIRÁNY
137
Szoftvertechnológia Elõfeltételek: Matematika szigorlat; Szoftver szigorlat szemeszter: 5.
óraszám (ea/gy/l): 2/0/0 követelmény: v
kredit: 3
A tematika kidolgozója: dr. Tick József fõiskolai docens A tantárgy célja: A tárgy keretében a hallgatók megismerkednek a szoftvertechnológia haladó elveivel, módszereivel és technikáival. A tárgy célja a modern szoftverfejlesztés lehetõségeinek bemutatása, a különbözõ megoldási módok jellemzõinek kiemelése, a jó szoftverfejlesztési készséghez szükséges elméleti háttér biztosítása. Az elõadások során a hallgatók megismerkednek a szoftver minõségbiztosítás fogalmaival, koncepcióival és összefüggéseivel is. A tantárgy tartalma: Alapkoncepciók Entity-relationship modell, osztálydiagramok, interakció-diagramok, vezérlési struktúrák, döntési táblák és fák, szabályok, állapotautomaták, Petri hálók.
A szoftverkészítési folyamat minõségének javítása ISO 9000 és TQM. Az ISO 9000-3 felépítése és tartalma, certifikáció, elõnyök és hátrányok. A TQM elvei, koncepciói, minõségkörök, Quality Function Development Az ISO SPICE modell, felépítése, dimenziói, alkalmazása Ajánlott irodalom: H. Balzert: Lehrbuch der Software-Technik, Spektrum, 1998 R. Orfali, D. Harkey: Client/Server Programming with JAVA and CORBA, Wiley, 1997 R. Orfali, D. Harkey, J. Edwards: Instant Corba, Wiley, 1997 A webre idõközben feltett anyagok
Szoftverfejlesztési módok és jellemzõik Strukturált fejlesztés Yourdan, Jackson és Warnier szerint, SA/SD, JSP, JSD, DSSD. Nagy rendszerek strukturált fejlesztése – az SSADM filozófiája és modelljei. Objektumorientált fejlesztés Booch, Jacobson, Raumboght és Wirrfs-Brock szerint, BOOCH, OOSE, OMT, RDM. Objektumorientált architektúrák Elosztott OO rendszerek, az OMG modell, a CORBA modell, az ORB architektúra, az IDL interfész-definíciós nyelv, fejlesztés és alkalmazás elosztott környezetben. Komponensalapú fejlesztési lehetõségek, azok tulajdonságai Komplett rendszerek megvalósítási példái, értékelésük, esettanulmányok. A minõségbiztosítás és a minõségmenedzsment kérdése, elvek a minõségbiztosításban. Egyszerû manuális vizsgálati módszerek Inspektion, Review, Walkthrough.
136
SZOFTVERTECHNOLÓGIA SZAKIRÁNY
Objektumorientált szoftverfejlesztés II. Elõfeltételek: Szoftvertechnológia; Objektumorientált szoftverfejlesztés I. szemeszter: 6.
óraszám (ea/gy/l): 1/0/2 követelmény: f
kredit: 3
A tematika kidolgozója: dr. Sipos Marianna
A tantárgy célja: A tárgy keretében a hallgatók megismerik a szoftverfejlesztés teljes életciklusát, a Unified Process összes fázisát. A verziókezelés, az adatbiztonság, a tesztelés, valamint a telepítés lehetõségeit. A gyakorlat célja az Objektumorientált szoftverfejlesztés I. tantágy laboratóriumi gyakorlata során már moduljaiban elkészített szoftverkomponensek alkalmazássá integrálása. A modellezéshez és dokumentáláshoz használt CASE eszköz készség szintû használata. A tantárgy tartalma: Az operációs rendszer által szolgáltatott adatbiztonsági lehetõségek felhasználása, s a szoftverbe beépített saját biztonsági lehetõségek létrehozása. Jogosultságok kezelése, tranzakciókezelés Verziókezelés A tesztelési startégia. Unitteszt, integrációs teszt, rendszerteszt. Elfogadási teszt, megbízhatóságteszt, funkcionális teszt, terhelésteszt, teljesítményteszt A szoftver telepítésével kapcsolatos lehetõségek, döntések, a telepítés tervezése. Telepítési diagram Oktatás, képzés, betanítás, felhasználói dokumentáció, súgó Szoftverkarbantartás, a szoftver felszámolása. A Unified Process Construction és Transition fázisai A laboratóriumi gyakorlatok témái: • Az Objektumorientált szoftverfejlesztés I. tantágy keretei közt már moduljaiban elkészült alkalmazás modulokból történõ összeállítása, tesztelése, az együttmûködõ komponensek megfelelõ illesztése. • A megvalósítás és átadás fázisok.
SZOFTVERTECHNOLÓGIA SZAKIRÁNY
• A teljes teszt végrehajtása során a csoportok egy másik csoport által fejlesztett modulrészt illesztenek és tesztelnek a folyamat egészébe. Eközben saját komponensük tesztelés során feltárt hibáinak javítása is feladatuk. A tesztfolyamat tervezése, lehetõség szerinti automatizálása, a teszteredmények dokumentálása, a verziókövetés a feladat része. A tesztelés során különös figyelmet fordítva az egyes felhasználók jogosultságainak korrekt ellenõrzésére, az adatbiztonságra (hozzáférések tesztelése, tranzakció-kezelés). • A szoftver telepítési diagramjának elkészítése, a telepítés végrehajtása a fejlesztõeszközzel nem rendelkezõ, esetleg eltérõ operációs rendszerû környezetben. (Pl. fejlesztés Windows XP alatt, felhasználás Windows 2000-en.) Vékony kliensen keresztüli hozzáférés tesztelése különbözõ elterjedt böngészõkön. Tesztelés valóságos környezetben valóságos adatokkal, esetlegesen betanítás. • A cél a projekt teljes fejlesztési életciklusának végigvitele, a teljes dokumentáció összeállítása. Ajánlott irodalom: Sike S., Varga L.: Szoftvertechnológia és UML, ELTE Eötvös Kiadó, 2003 Kozma L., Varga L.: A szoftvertechnológia elméleti kérdései, ELTE Eötvös Kiadó, 2003 Végh Cs.: Alkalmazásfejlesztés a Unified Modelling Language szabványos jelöléseivel, Logos 2000, 1999 Kondorosi K., László Z., Szirmai-Kalos L.: Objektumorientált szoftverfejlesztés, Computerbooks, 1997 Raffai M., Kovács K., Tóth D.: Objektumorientált alkalmazásfejlesztés, Novodat kiadó, 2002 M. Howard, D. LeBlanc: Writing Secure Code, Second Edition, MSPress, 2002 I. Jacobson, J. Rumbaugh, G. Booch: The Unified Software Development Process, Addison Wesley Longman Inc., Reading Massachusetts, 1999 G. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide, Addison Wesley Longman Inc., Reading Massachusetts, 1998 J. Rumbaugh, G. Booch, I. Jacobson: The Unified Modeling Language Reference Manual, Addison Wesley Longman Inc., Reading Massachusetts, 1998
141