Szoftverfejlesztési projektmunka a gyakorlatban (PGY2) -

A Programozás Technológiai Eszközei

tantárgyismertető -- 2012 tavaszi félév

1. Órarend:

- 2010 febrár 14- május 15, keddenként 12:00 - 13:30, (a helyszín tisztázás alatt).

- Nincs óra április 3-án és 10-én

2. Kreditérték: 2

Értékelés: gyakorlati jegy

3. Oktatók:

dr. Bakay Árpád, NETvisor Zrt.

4. Konzultációs lehetőség:

5. Weblap:

http://telco.ikkk.inf.elte.hu/twiki/bin/view/Main/WebHomePGY2

A hirdetmények itt jelennek meg, és ez minden esetben hivatalos értesítésnek minősül!

6. Kötelező tanulmányi előzmények:

7. A tantárgyról

A tantárgy célja olyan ismeretek megszerzése és gyakorlása, amelyek -az alkalmazott programozási technológiák ismerete mellett- szükségesek egy bonyolultabb alkalmazásnak sokszereplős együttműködés (azaz szoftverfejlesztési projekt) keretében történő kifejlesztéséhez.

Ez a tantárgy elsősorban olyan szoftver eszközöket ismertet, amelyek a gyakorlatban támogatják az előző félévben a „A szoftverfejlesztés módszertana” c. tantárgy során megismert tervezési, tesztelési és dokumentációs technikákat.

A tantárgy elméleti anyagát egyetlen példa egészíti ki, amely nyomon követi egy kisebb, de modern architektúrájú (Java) alkalmazás teljes kialakulását, a kezdeti specifikációtól kezdve egészen az alkalmazás teszteléséig. A kurzus során a szükséges mértékig bemutatásra kerül a Java Enterprise Edition technológia is

Az alkalmazást úgy választjuk ki, hogy modern, többrétegű, komponens-alapú architektúrája is tanulságos legyen a hallgatók számára.

A tantárgyat sikeresen elvégzők –az elengedhetetlen gyakorlatot leszámítva- birtokában lesznek a legfontosabb technológiai ismereteknek, amely nagy és korszerű üzleti alkalmazások fejlesztésére irányuló projektekben való hatékony részvételhez szükséges.

8. Számonkérés

Kis ZH-k

A félév során 6 alkalommal, (az gyakorlatok első 10 percében), az előző órákon kiemelt legfontosabb fogalmakból. A kis ZH-kat %-ban osztályozzuk.

A kis ZH-k -amellett, hogy befolyásolják a gyakorlati jegyet- a jegyszerzés tiltófeltételeként is funkcionálnak: Nem szerez félévi jegyet az, akinek nincs 4 sikeres (>=50% eredményű) kisZH-ja, vagy akinél a legjobban sikerült 4 kis-ZH eredményének átlaga nem éri el a 60%-ot. A nem megírt kis ZH-k 0%-ot érnek. (A fenti tiltás szempontjából egyetlen hiányzó kis ZH pótolható a 'Desszert feladat' [ld. alább] elvégzésével.)

Aki nem volt ott az órán, az max. 168 órán belül pótolhatja a kis-ZH-ját, előzetes egyedi egyeztetés alapján, rendszerint a Netvisor Zrt irodájában (XI. ker. Petzvál J. u 56). A pótlásra való jelentkezés természetesen a hallgató felelőssége (kérem, akár többször is írjon ez ügyben mailt-t), mint ahogy az is, hogy végül egy időpont sikeresen egyeztetve legyen. Arról, hogy egy adott héten volt-e kis-ZH, kérdezzék meg kollégáikat!

A pótlás lehetőségével alapesetben minden hallgató kétszer élhet. Ha előreláthatólag többször lesz erre szüksége, akkor Önnek a távoktatási formára kell jelentkezni, a 11. pontnál leírtak szerint.

Külföldön tanuló hallgatókkal Skype-on keresztül íratjuk meg a kis-ZH-kat, szintén a 168-órás időlimiten belül (ld. alább is).

A pót-kis-ZH-k kb. 20%-al magasabb követelményeket támasztanak az órákon megíratott kis ZH-knál.

Az órákon megírt kis ZH csak akkor lesz értékelve, ha a hallgató végig részt vesz az órán. Aki az óra vége előtt kényszerül vagy szeretne elmenni, éljen a fentiek szerinti pótlás lehetőségével!

A számonkérések alapjául szolgáló anyagok legkésőbb az előző szombaton felkerülnek a tantárgyi weblapra.

Vizsga-ZH

Laborban megírandó, egyszerű programozási feladat, amely során az órákon megtanult eszközöket és technológiát kell használni (4 óra)

Nagy házifeladat:

Az órákon tárgyalt példaalkalmazással párhuzamosan a hallgatók 2 beadandó fázisban megoldanak egy hasonló, de egyszerűbb feladatot.

Csak az kaphat gyakorlati jegyet, aki a házi feladatának minden beadandó fázisát egyenként legalább 50% eredménnyel megoldotta. (Késési szankciókat ld. lent!)

Desszertfeladat:

A desszert feladat testreszabott extra feladat, amelyet akár az eredményes vizsga ZH után is házi feladatként el lehet végezni, és az alábbi két cél egyikét szolgálhatja:

9. Értékelés, érdemjegyek

Az összesített értékelés (ÖÉ) az alábbi súlyozással történik:

A gyakorlati jegy százalékos küszöbértékei:

10. Szankciók hiányzás, késedelem ill. csalás esetén:

  1. Az órákat látogatni nem képes (pl. dolgozó, órarendi ütközéses v. külföldi ösztöndíjas) hallgatók számára követendő szabályok:

Mint ahogy a korábbi években, továbbra is lehetséges a tárgyat lényegében távoktatás mellett végezni, az alábbi feltételekkel:

12. Érintett témák

1. A szoftver projektekről röviden: fázisok, szereplők, termékek, dokumentumok. A tantárgy során követett fejlesztési projekt ívének ismertetése. Projekt tervező és követő eszközök.

2. A követelmény-specifikáció, használati esetek és egyéb követelmény-ábrázolási technikák. Egy követelmény-analízis eszköz bemutatása. Teszt esetek.

3. A OO tervezési fázis. A modellezés jelentősége. Modellek és diagramok. Használati esetek felhasználása és kifejtése a modellezésnél.

4. A modellezés gyakorlati ismeretei. Osztály-diagrammok, elkészítésük. Adatmodellezés. További diagram típusok. Kód generálás bemutatása.

5. A példaalkalmazásnál felhasználható ill. felhasználandó technológiák (Java EE, Spring, adatbázisok, user interfész technológiák, stb.) átismétlése, áttekintése.

6. A példaalkalmazás architektúra tervezése. A komponensek és az egyes komponenseknél alkalmazandó technológiák meghatározása. Architektúra leírása komponens és interakciós diagramokkal.

7. A modellek pontosítása, mélyítése. Osztály- és objektumdiagramok, állapot- és szekvencia diagramok készítése a konkrét funkciókra. A kód generálás lehetőségei és korlátai. Néhány tervezési minta kiemelése, elemzése. Teszt-esetek generálása.

8. Az implementációs folyamat és támogató eszközei. A fejlesztői környezet szolgáltatásai és használata.

9. A kész alkalmazás áttekintése a fejlesztői környezetben. A kódolás formai szabályai és „best practices”. Kódolvasás és -véleményezés, mint minőségbiztosítási technika.

10. Tesztelés: unit testek készitese. Integrációs tesztek, teszt reportok. Teszt frameworkok. A teszt hatékonyságának, lefedettségének mérése.

11. Csoportmunka. Kód repository, felépítése, működése, és használata. Feladat- és problémakövetés eszközei, használata, kapcsolata a konfiguráció menedzsmenttel.

13. Javasolt irodalom:

egyik sem kötelező!!

(ld. még a tantárgyi website-on is)

Angolul:

Steve McConnell: Code Complete, Microsoft Press

Booch, Rumbaugh, Jacobson: The Unified Modeling Language User Guide, Addison Wesley

UML Distilled, Addison Wesley

Magyarul:

Sommerville: Szofver rendszerek fejlesztése, Panem kiadó

Nyéki Judit et al (ELTE): J2EE útikalauz Java Programozóknak

Varga L., Sike S.: Objektum elvű modellalkotás UML-ben

Hans Bergsten:Java Server Pages: A kiszolgálóoldali Java-fejlesztők kézikönyve (O’Reilly / Kossuth)

Jason Hunter: Java Szervletek Programozása (O’Reilly / Kossuth)

Online:

http://java.sun.com/learning/tutorial/index.html