Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Programozástechnológia

Hasonló előadás


Az előadások a következő témára: "Programozástechnológia"— Előadás másolata:

1 Programozástechnológia
PTE-TTK tavasz Kilián Imre H-7683 Gyűrűfű Cseresznyéskert ( ritkán használható)

2 Követelmények 2008 tavasszal csak vizsga

3 Tematika Procedurális technikák. A szoftverfejlesztés fázisai.
Objektumorientált programkészítés és tervezés alapjai Statikus és dinamikus modell Az UML és metamodellje Modellvezérelt programkészítés Modellek és metamodellek egyesítése. Intelligens információ integráció. Kódgenerálás Összetevőmodell és telepítési modell

4 Módszerünk (Az őszbe csavarodott csősz becsavarodott) UML tárgyalása UML-lel

5 Rendszertervezési megközelítések
funkcionális a folyamatokat lebontjuk részekre és műveletekre az adatszerkezet a műveletek függvényében alakul ki adatközpontú az adatszerkezetekből indulunk ki a folyamatokat a műveletekig lebontjuk objektum-orientált adat, folyamat és viselkedés egyetlen objektumba sűrítve a tárgymodellt az “objektumok” strukturálják

6 Egy információs rendszer három nézőpontból
Adat Viselkedés Folyamat Mindhárom nézőpont integrálva van egy objektumban.

7 A szoftverfejlesztési folyamat modelljei
Tiszta vízesés modell. Az egyes funkcionális feladatcsomagok a vízesés „buborékai”, v. „örvényei”, a lánc elemei Szigorú fegyelmen alapuló modell, egy modul elkészülte feltétele egy másik elkezdésének Inkább feladatközpontú, mintsem folyamat központú Mérföldkő alapú Belső és külső mérföldkövek állítása, amelyek nem egyenesen, hanem egy spirálon vannak elhelyezve. Egy kör egy fejlesztési ciklus. Elképzelés (koncepció)-művelet (funkcionális) specifikáció-kód kész-kibocsátás belső mérföldkövek Tiszta tulajdon és felelősségi szabályok megállapítása Kockázatelemzés, kockázatvezéreltség Több kör párhuzamosan is futhatváltozatok kezelés Iteratív Egyes spirálkörökön belül további beágyazott mikrospirálok lehetségesek Növekményes (incremental) Fejlődő (evolutionary) Többszálú (multi-threaded)

8 A szoftverfejlesztési folyamat modelljei
A szoftverfejlesztés hagyományos módja: Systems Development Life Cycle (SDLC) (Minőségbiztosítási ciklusok) Visszacsatolások a szoftverfejlesztésben A szoftver használatba vétele Szoftverfejlesztés folyamata Visszacsatolás a megrendelőhöz Változáskezelés és -követés

9 A szoftverfejlesztés fázisai. I.
Követelményelemzés üzleti folyamatelemzés (Business Modelling), amelyeket a szoftvernek támogatnia kell a szoftvert kívülről nézzük, a határait húzzuk meg leírjuk a szoftver és a külvilág kapcsolatát létrehozzuk a szoftver nagyon durva funkcionális felosztását, és összegyűjtjük a vele szembeni követelményeket iterációkhoz szükséges műszaki környezet biztosítása felhasználó interfész I. változata a követelménygyűjtemény alapján elkészítjük a „tesztesetkatalógust”

10 A szoftverfejlesztés fázisai. II.
Elemzés Már az elkészítendő szoftvert tervezzük, de megvalósítási részletek még nem érdekesek. A szoftver és a tárgyterület ideális modelljét keressük. A követelményelemzés alapján létrehozzuk a „fogalmi szótárt” A fogalmi szótár alapján létrehozzuk a tárgymodellt (domain modell) A funkcionális felosztás (modell) alapján létrehozzuk a szoftver működési tervét finomítjuk és kiegészítjük a tesztesetkatalógust

11 A szoftverfejlesztés fázisai. III.
Tervezés Az elkészítendő szoftvert tervezésénél minden fontos technikai részletet figyelembe veszünk. Az elemzési modellből kiindulva meghatározzuk a szoftver-csomagok határait és összekapcsolódási tervét. Külön figyelemmel vagyunk a már meglevő csomagokra Elkészítjük az újonnan kifejlesztendő szoftver csomagok modultervét, és a felületeik (interface) tervét Az összekapcsolódási tervet a hardver elemekkel összehangolva elkészítjük a telepítési tervet finomítjuk és kiegészítjük a tesztesetkatalógust

12 A szoftverfejlesztés fázisai. IV.
Megvalósítás Végső tervezési döntések meghozatala Kódolási szabványok összegyűjtése és dokumentálása (style guide) Csoportmunka környezet létrehozása Forráskódok létrehozása Tesztszkriptek/kódok létrehozása A szoftvert a forrásanyagból újrageneráló szkriptek létrehozása Kezdeti adatállományt létrehozó (adatbázis populáció) szkriptek létrehozása Terjesztő és telepítőszkriptek létrehozása

13 A szoftverfejlesztés fázisai. V.
Tesztelés Funkcióteszt (egységteszt, unit teszt): az egyes eljárások/csomagok hibamentes működését ellenőrzi Integrációs teszt: az egyes szoftverösszetevők helyes működését, ill. a helyes összekapcsolódását ellenőrzi Rendszerteszt: a teljes rendszert a végfelhasználó szemszögéből teszteli Átvételi teszt: rendszerteszt, amelyet a szoftver átvételekor a megrendelő hajt végre Regressziós teszt: integrációs teszt, változtatások után az érintett csomagok automatizált ellenőrzésére.

14 Modellezési nyelv Általában grafikus jelölésrendszer, amellyel leírjuk a rendszert, rendszertervet A kommunikáció alapja (megrendelő és fejlesztő csoport között, fejlesztő csoport tagjai között) Fontos, hogy a modellezési nyelv alkalmas legyen mind a valóság, mind rendszer belső szerkezetének ábrázolására (üzleti modelltől, telepítési modellig) Mi az UML modellezési nyelvet használjuk Unified Process: Elmélet, a tevékenységek, termékek leírása Rational Unified Process Termék, a Unified Process egyik megvalósítása Hatalmas tudásbázis kézreálló (HTML) formában Kiegészítő munkafolyamatokkal, sablonokkal, eszköz-támogatásokkal

15 Mi az UML? Unified Modelling Language - Egységes Modellező Nyelv
Objektumorientált elemzés, tervezés és üzleti modellezés eszköze Analízis (elemzés) a megoldandó feladat leírása Tervezés a megoldás Az üzleti modellezés a valóság folyamatait írja le Szabványos (Object Management Group - OMG) 1997. november óta Alapvetően grafikus nyelv Modellező nyelv, nem módszertan OMG: iparági támogatás

16 Az OMG elfogadta az UML-t
Az UML története 1997. nov: Az OMG elfogadta az UML-t OOPSLA ‘94 - Rumbaugh - Booch közös munka bejelentése. „A módszertanok háborújának vége, mi nyertünk.” OOPSLA ‘95 - Unified Method 0.8 Valójában a neve ellenére nem módszertan, hanem csak a jelölések első változata Jacobson és az Objectory csatlakozik (használati esetek) 3 amigo: Booch, Jacobson, Rumbaugh ‘96 Unified Modeling Language 0.9 Az ipar észrevételeinek összegyűjtése következik (Microsoft, Oracle, HP, IBM, stb) ‘97. jan. UML 1.0 a szabványosítás kezdete ‘97. szept. UML 1.1 ‘97. nov. OMG szabványként elfogadja

17 A szoftverfejlesztés részletes modellje UML alapon
Szoftverfejlesztés munkafolyamata „workflow” UML+Software Process Engineering Metamodel (SPEM) – hogy mi az pontosan, azt majd később… RUP (Rational Unified Process) az UML használatára vonatkozó módszertan Az előzőeknél részletesebb modell

18 Munkafolyamat modellezés
The basic concepts and relationships to be modelled Incremental evolution with other concepts Inferred relationships: eg. sequence of activities can be inferred from dataflow model. Other business rules/constraints

19 Munkafolyamat modellezés
The basic concepts and relationships to be modelled Incremental evolution with other concepts Inferred relationships: eg. sequence of activities can be inferred from dataflow model. Other business rules/constraints

20 Munkafolyamat modellezés
The basic concepts and relationships to be modelled Incremental evolution with other concepts Inferred relationships: eg. sequence of activities can be inferred from dataflow model. Other business rules/constraints

21 Munkafolyamat modellezés
The basic concepts and relationships to be modelled Incremental evolution with other concepts Inferred relationships: eg. sequence of activities can be inferred from dataflow model. Other business rules/constraints

22 Munkafolyamat modellezés
The basic concepts and relationships to be modelled Incremental evolution with other concepts Inferred relationships: eg. sequence of activities can be inferred from dataflow model. Other business rules/constraints

23 SPEM (Software Process Engineering Metamodel) elemei

24 A RUP szerkezete idő tartalom A fejlesztés két dimenzióval írható le:
Idő alapján, a dinamika szempontjából a fejlesztés minden ciklusa fázisokra bomlik, minden fázis egy vagy több iterációból áll. Az eljárás elemei, statikus szempontból az elkészítendő dokumentumok illetve kódok alapján oszthatjuk fel munkafolyamatokra, amelyek meghatározzák az egyes termékek előállításához szükséges tevékenységeket. Minden fázis minden iterációjában mindenféle tevékenységet végzünk, csak ezek mennyisége változik a fázisoktól függően. (Az elején sok követelményelemzés és kevés - de van - az implementáció.

25 Mérnöki munkafolyamatok Támogató munkafolyamatok
A RUP munkafolyamatai Üzleti modellezés Követelmény-elemzés Elemzés-tervezés Implementáció Tesztelés Telepítés Konfiguráció és változás-kezelés Projektvezetés Környezet kialakítása Mérnöki munkafolyamatok Támogató munkafolyamatok

26 Mérnöki munkafolyamatok
A fejlesztési munka konkrét feladatai Üzleti modellezés (Business Modeling) Cél megérteni annak a szervezetnek a felépítését, folyamatait, amely támogatására az alkalmazást fejlesztjük Követelmény-elemzés (Requirements) Cél meghatározni azokat a feladatokat, amelyeket a rendszernek meg kell oldani (scope) és a megrendelőkkel együttműködve egy egységes képet kell kialakítani a fejlesztendő rendszerről Elemzés-tervezés (Analysis & design) Cél a követelményelemzés során meghatározott elvárásoknak megfelelő, robosztus rendszer tervezése NÉZZÜK MEG A RUP-BAN! Induljunk ki az előző ábrából, mutassuk meg a browsert és nézzünk bele valamelyik workflow-ba.

27 Mérnöki munkafolyamatok
Implementáció (Implementation) Cél a terv alapján a rendszert alkotó komponensek implementálása, egységtesztjeinek elvégzése és integrálása Tesztelés (Test) Cél annak ellenőrzése, hogy az implementált rendszer megfelel-e az elvárásoknak, és hogy valamennyi követelmény implementálva lett-e Telepítés (Deployment) Cél a kész alkalmazást elérhetővé tenni a felhasználó számára

28 Támogató munkafolyamatok
Azok a feladatok, amelyek a fejlesztés során folyamatosan segítik a fejlesztők munkáját Konfiguráció és változás-kezelés Cél a fejlesztés során előálló termékek verzióinak kezelése Projektvezetés Cél irányelvek megadása és a projekt ellenőrzésével kapcsolatos feladatok elvégzése Környezet kialakítása Cél a szoftverfejlesztési környezet (módszertan, eszközök) kialakításával kapcsolatos feladatok ellátása


Letölteni ppt "Programozástechnológia"

Hasonló előadás


Google Hirdetések