Objektumorientált szoftvertervezés

A tantárgy angol neve: Object-Oriented Software Design

Adatlap utolsó módosítása: 2008. február 13.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
BSc. Mérnök Informatikus Szak, Informatikai Technológiák szakirány, Rendszerfejlesztés ágazat
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIIIA371 6 3/1/0/v 4  
3. A tantárgyfelelős személy és tanszék Dr. Goldschmidt Balázs,
4. A tantárgy előadója
Dr. László ZoltánadjunktusIIT
Dr. Goldschmidt BalázsadjunktusIIT
5. A tantárgy az alábbi témakörök ismeretére épít

Java programozás, Szoftver technológia.

6. Előtanulmányi rend
Kötelező:
(Szakirany("AMIrendszfejl", _) VAGY
Szakirany("AMIrendszterv", _) VAGY
Szakirany("AMIszoft", _)
VAGY Training.code=("5NAA8") )

ÉS NEM ( TárgyEredmény( "BMEVIIIAC00" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIIIAC00", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:

Kötelező: Szoftvertechnológia (VIIIA217), Szoftver laboratorium 3 (VIIIA212)

7. A tantárgy célkitűzése

A tárgy célja a modell-alapú, objektumorientált tervezés és megvalósítás elveinek és módszereinek elsajátítása, azoknak a gyakorlatban történő tudatos alkalmazása Java környezetben, fejlesztői keretrendszer támogatásával. Az alapvető architekturális minták (perzisztencia, elosztottság, felhasználói felület) és az őket megvalósító komponensek megismerése, felhasználása egyszerű alkalmazásokban. A fontosabb szoftverelemzési minták (Fowler) megismertetése és alkalmazási készségének kialakítása, kiegészítve a locking, konkurencia és eseménykezelés mintáival (Schmidt). Szoftver metrikák és azok mérése, mérőeszközei. Szoftver refaktorálás, re- és reverse engineering (Antipatterns, Refactoring).

8. A tantárgy részletes tematikája
  1. Java ismétlés, gyakorlás: kollekciók, reflection.
  2. Fejlesztést támogató eszközök, keretrendszerek (Eclipse, CVS, Subversion) szolgáltatásai, használata.
  3. Az OO tervezés elvei: kohézió és csatolás a gyakorlatban. Locking, konkurencia és eseménykezelés mintái.
  4. A perzisztencia lényege, problémái, megvalósítási módszerek. Szerializálás, OO adatbázis-kezelés (ObjectStore), OO relációs megoldások (Hybernate).
  5. XML a gyakorlatban. XSL, XSLT, XPath, DTD és XSD. Java támogató csomagok.
  6. Objektumok elosztott rendszerekben, Java megvalósításuk: RMI. Kitekintés: szabványos middleware, CORBA alapelvek.
  7. A Swing megjelenítő csomag.
  8. OO metrikák, mérésük és eszközeik.
  9. Elemzési minták, refaktorálás, antipatternek.
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

Előadás és gyakorlat.

10. Követelmények

a. A szorgalmi időszakban:

A gyakorlatokon a félév során legalább 5 röpzárthelyit iratunk. Az aláírás feltétele: ezek közül legalább háromnak legalább elégségesnek kell lennie. A röpzárthelyik nem pótolhatók.

b. A vizsgaidőszakban:

A fenti módon aláírást szerző hallgatók írásbeli vizsgát tesznek.

11. Pótlási lehetőségek -
12. Konzultációs lehetőségek

Igény szerint a tárgy hallgatóival egyeztetve.

13. Jegyzet, tankönyv, felhasználható irodalom
  • David Carlson: Eclipse Distilled, Addison-Wesley, 2005, ISBN-10 0321288157
  • http://www.eclispe.org
  • http://www.progress.com/objectstore/index.ssp
  • Ramnivas Laddad: Aspect Oriented Refactoring, Addison-Wesley, 2006, ISBN-10 0321304721
  • http://www.eclipse.org/aspectj
  • http://java.sun.com/javase/technologies/core/basic/rmi/index.jsp
  • http://java.sun.com/docs/books/tutorial/uiswing/
  • Martin Fowler: Analysis Patterns: Reusable Object Models, Addison-Wesley, 1996, ISBN-10 0201895420
  • William J. Brown, Raphael C. Malveau, Thomas J. Mowbray: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis, Wiley, 1998, ISBN-10 0471197130
  • Martin Fowler, Kent Beck, John Brant, and William Opdyke: Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999, ISBN-10 0201485672
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra56
Félévközi készülés órákra24
Felkészülés zárthelyire10
Házi feladat elkészítése
Kijelölt írásos tananyag elsajátítása
Vizsgafelkészülés30
Összesen120
15. A tantárgy tematikáját kidolgozta
Név:Beosztás:Tanszék, Int.:
Dr. László ZoltánadjunktusIIT
Dr. Goldschmidt BalázsadjunktusIIT