Programozástechnológia

Slides:



Advertisements
Hasonló előadás
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 5.5. Model Based Architecture módszerek BelAmI_H Spring.
Advertisements

Projekt vezetés és kontroll – Mi történik a gépházban?
Szoftverminőség, 2010 Farkas Péter. SG - Sajátos célok  SG 1. Termék / komponens megoldás kiválasztása  SP 1.1. Alternatívák és kiválasztási kritériumok.
Rendszerfejlesztés.
Az integrált áramkörök (IC-k) tervezése
A Microsoft rendszermenedzsment víziója A Dynamic Systems Initiative A System Definition Model Az üzemeltetésre tervezett szoftverek A SDM jelentősége.
2. Rendszer fejlesztés
A webes tesztelés jövője
Intelligens szoftver megoldások acélszerkezeti tervezéshez.
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék IT rendszerek modellezése Micskei Zoltán
IT infrastruktúra modellezése
Trendek a szoftveriparban: e-business és e-development Csontos Péter IQSOFT Rational e-development szakmai nap 2000 február 16.
Programozás alapjai A programozás azt a folyamatot jelenti, melynek során a feladatot a számítógép számára érthető formában írjuk le. C++, Delphi, Java,
OBJEKTUMORIENTÁLT PROGRAM
Szoftverfejlesztés és szolgáltatás kiszervezés Folyamatjavítási mérföldkövek a világon és Magyaroszágon Bevezető gondolatok Dr. Biró Miklós.
Vizuális modellezés Uml és osztálydiagram UML eszközök

Modellvezérelt webalkalmazás-tervezés
Szoftverrendszerek fejlesztése
Mérnöki objektumok leírása és elemzése virtuális terekben c. tantárgy Budapesti Műszaki Főiskola Neumann János Informatikai Kar Intelligens Mérnöki Rendszerek.
A virtuális technológia alapjai Dr. Horv á th L á szl ó Budapesti Műszaki Főiskola Neumann János Informatikai Kar, Intelligens Mérnöki Rendszerek.
A CAD/CAM modellezés alapjai
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Megvalósíthatóság és költségelemzés Készítette: Horváth László Kádár Zsolt.
Agilis szoftverkészítés (Agile software development)
Az UML 4 rétegű metamodell szerkezete
Az UML kiterjesztési lehetőségei
Szoftvertechnológia Szoftvergyártás 2..
Szoftvertechnológia Bevezetés.
Szoftvertechnológia Rendszertervezés.
A website teljesítményének vizsgálata, fejlesztése 1. Forrás: WebTrends Analysis Suite, Advanced Edition White Paper (
WEB MES (webes gyártásirányító rendszer) Kiss Miklós (G-5S8)
ESzabványok Workshop 1. előadás: Bevezető, eAdatmodell október 13.
Komplex rendszertervezési módszerek
Objektum Vezérelt Szoftverek Analízise Ferenc Rudolf és Beszédes Árpád Szegedi Tudományegyetem FrontEndART.
Vezetői Információs Rendszer Kialakítása a Szegedi Tudományegyetemen Eredmények - Tapasztalatok Vilmányi Márton.
Adatfolyam modellezés az SSADM-ben
Önálló labor bemutató 8. szemeszter 5. oktatási hét Sümeghy Tamás Pál GFHSRE március 13.
S S A D M ELEMZÉSI ÉS TERVEZÉSI MÓDSZERTAN
Budapesti Műszaki Főiskola CAD/CAM szakirány A CAD/CAM modellezés alapjai 2001/2000 tanév, II. félév 1. Előadás A számítógépes modellezés fogalma, szerepe.
Rendelkezésre álló erőforrások pontos ismerete Kiosztott feladatok közel „valósidejű” követése Átláthatóság Tervezési folyamatok támogatása.
R EQUIREMENTS D EVELOPMENT Készítette: Devecseri Viktor.
Intelligens felderítő robotok Készítette: Györke Péter Intelligens rendszerek MSC szakirány Konzulens: Kovács Dániel László Méréstechnika és Információs.
2008/2009 – 2. félév levelező tagozat
Domain-specifikus nyelvek a fejlesztésben Ráth István
Rendszertervezés Alapfogalmak; Az informatikai rendszer
UML Unified Modelling Language Szabványos jelölésrendszer elemeivel írja le diagramok formájában a rendszer működését a különböző modell-nézetek szempontjából.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 5.4 Szolgáltatói Keretrendszerek Prof. Dr. Gyimóthy Tibor,
BPM alapú robosztus e-Business alkalmazás fejlesztés VE Számítástudomány Alkalmazása Tsz. BME Méréstechnika és Információs Rendszerek Tsz. Balatontourist.
Napirend  Vendégünk: Eördögh Imre, Tech Data  Egyesületi hírek Egyetemi oktatás: 30 fő írt zh-t Új tagunk - iPlan Design Studio Kft. Jövőre megszűnik.
IT rendszerek modellezése
Összetevő- és telepítési diagram
Információs rendszerek tervezése
Objektumvezérelt rendszerek tervezése
SLA (Service Level Aggrement) alapon történő szolgáltatás fejlesztés a Gazdasági Főigazgatóságon
Szoftver születik Eötvös Konferencia Köllő Hanna.
A website teljesítményének vizsgálata, fejlesztése 1. Forrás: WebTrends Analysis Suite, Advanced Edition White Paper (
Információs rendszer fejlesztése 4. előadás
Információs rendszer fejlesztése 5. előadás
Gyurkó György. Az OO programozás és tervezés története 1960-as évek: SIMULA (véletlen folyamatokat szimuláló programok írása) az OO nyelvek őse 1970-es.
Continuous delivery: cél a működő szoftver
Biztonságos szoftverfejlesztés kipipálva!? TickIT követelmények
Szoftvermenedzsment A szoftver fogalma programmodulok rendszerdokumentáció konfigurációs adatok, és ezeket tároló fájlok felhasználói dokumentáció a szoftver.
S S A D M ELEMZÉSI ÉS TERVEZÉSI MÓDSZERTAN Structured Systems Analysis and Design Method.
INFORMÁCIÓMENEDZSMENT Dr. Szalay Zsigmond Gábor adjunktus, intézeti tanszékvezető VEZETÉS ÉS SZERVEZÉS MSC SZAK SZENT ISTVÁN EGYETEM.
UML használata a fejlesztésben, illetve a Visual Studio 2010-ben
Programozástechnológia
Szoftver projektek Agilis
Szoftver projektek Agilis
Előadás másolata:

Programozástechnológia PTE-TTK 2009. tavasz Kilián Imre H-7683 Gyűrűfű Cseresznyéskert (20-6655951 ritkán használható) kilian@gamma.ttk.pte.hu

Követelmények 2008 tavasszal csak vizsga

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

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

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

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.

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)

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

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”

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

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

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

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.

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

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

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

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

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

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

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

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

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

SPEM (Software Process Engineering Metamodel) elemei

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ó.

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

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.

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

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