Programfejlesztési Modellek

Hasonló dokumentumok
Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Programozási technológia

S0-02 Típusmodellek (Programozás elmélet)

Szoftvertechnológia ellenőrző kérdések 2005

S01-7 Komponens alapú szoftverfejlesztés 1

Bevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés

Sike Sándor, Varga László Szoftvertechnológia és UML. Második, bővített kiadás

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Programozási nyelvek Java

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

Objektumorientált paradigma és a programfejlesztés

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

ISA szimulátor objektum-orientált modell (C++)

Programozási technológia

GráfRajz fejlesztői dokumentáció

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Szoftverminőségbiztosítás

Dinamikus modell: állapotdiagram, szekvencia diagram

Információtartalom vázlata

Bánsághi Anna 2014 Bánsághi Anna 1 of 72

Verifikáció és validáció Általános bevezető

ANALYSIS PATTERNS MARTIN FOWLER ANALYSIS PATTERNS. Általános ismertető és Accountability Patterns

OOP. Alapelvek Elek Tibor

Részletes szoftver tervek ellenőrzése

Objektumorientált paradigma és programfejlesztés Bevezető

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

Objektum Orientált Tervezés

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

S01-8 Komponens alapú szoftverfejlesztés 2

Objektum orientált programozás Bevezetés

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

UML (Unified Modelling Language)

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

A dokumentáció felépítése

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Kiterjesztések sek szemantikája

Szoftver-technológia II. Modulok és OOP. Irodalom

Már megismert fogalmak áttekintése

Szoftvertermékek csoportjai. A szoftver. Bemutatkozás és követelmények

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások

22. GRÁFOK ÁBRÁZOLÁSA

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

OOP és UML Áttekintés

Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Java programozási nyelv 5. rész Osztályok III.

Elemi Alkalmazások Fejlesztése II.

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

10-es Kurzus. OMT modellek és diagramok OMT metodológia. OMT (Object Modelling Technique)

Név: Neptun kód: Pontszám:

Objektum orientált software fejlesztés (Bevezetés)

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Programozási technológia I. Sike Sándor

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Kölcsönhatás diagramok

Programozási nyelvek Java

Web-programozó Web-programozó

Bevezetés a programozásba

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Bevezetés. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr. Szendrei Rudolf. Információk.

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

KOMPUTER-ALGEBRA RENDSZEREK VERIFIKÁCIÓJA

Interfészek. PPT 2007/2008 tavasz.

C++ programozási nyelv

Félévi követelmények. Gyakorlatvezetők

Adatstruktúrák, algoritmusok, objektumok

Objektumorientáció, objektumorientált szemlélet

Modell alapú tesztelés mobil környezetben

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Félévi követelmények Bemutatkozás és követelmények

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Komplex záróvizsga témakörök Gazdaságinformatikus szak Pénzintézeti informatikus szakirány 2018

Bánsághi Anna 1 of 67

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

Szakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman

Models are not right or wrong; they are more or less useful.

MINISZTERELNÖKI HIVATAL. Szóbeli vizsgatevékenység

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

Részletes tervek ellenőrzése

1.előadás Tornai Kálmán

Java programozási nyelv

A fejlesztési szabványok szerepe a szoftverellenőrzésben

Szoftvertechnológia 8. előadás. Szoftverrendszerek tervezése. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Információs rendszerek Információsrendszer-fejlesztés

Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Verziókövető rendszerek használata a szoftverfejlesztésben

01. gyakorlat - Projektalapítás

DW 9. előadás DW tervezése, DW-projekt

Modellezési alapismeretek

Modellezési alapismeretek

ny Tornabajnokság g eredmény nyilvántart ntartó rendszere A megoldandó feladat Követelmény analízis 1. Ficsor Lajos Általános Informatikai Tanszék

Átírás:

Programfejlesztési Modellek Programfejlesztési fázisok: Követelmények leírása (megvalósíthatósági tanulmány, funkcionális specifikáció) Specifikáció elkészítése Tervezés (vázlatos és finom) Implementáció Verifikáció, validáció Rendszerkövetés, karbantartás A fázisok közti kapcsolatok leírására többféle modellt használhatunk. 1. Vízesés modell: A fázisok időben követik egymást. Probléma Követelmények leírása Vázlatos terv Finom terv Implementáció + egységek tesztje Integráció + rendszer tesztje validáció Futtatás + karbantartás

Hátrányai: nehézkes munkaszervezés az új szolgáltatások minden fázisra kihatnak. 2. Evolúciós modell: A megoldás közelítő verzióinak, prototípusainak sorozatát állítjuk egymás után elő. A specifikáció változhat menetközben. Nehezen áttekinthető lesz a projekt. 3. Boehm-féle spirális modell: A program iterációs lépéseken keresztül készül el. Iteráció 4 szakasza: 1. Célok és korlátok 2. Stratégiák, prototípusok 3. Megoldás, Validáció 4. Következő iterációs lépés megtervezése Előnyök: Rugalmas, jól dokumentálható és tervezhető, folytonos validáció. Hátrányok: Az emberi erőforrások elosztása nem hatékony, munkaigényes. Objektumelvű programozás: Procedurális: A feladatot egy leképezésnek tekintjük és a leképezési szabályt programozzuk le. (hogyan jutunk el egy előfeltételből egy utófeltételbe). Objektumelvű programozás: A hasonló erőforrásokat használó eljárásokat egy modulba helyezzük, amelyhez szabványos hozzáférési felületet biztosítunk. 1. Adatabsztrakció: Adott szinten a megoldás szempontjából elhanyagolható részeket elhagyjuk.

2. Absztrakt adattípus konstrukciója: (A, F) pár, ahol A az adatok, F a típusműveletek halmaza. Osztály: (PAR, EXP, IMP, BODY) rendszer, ahol PAR: A paraméterek tulajdonságainak leírása EXP: Típusműveletek nevei, szintaxisa, szemantikája IMP: Más osztályokból átvett szolgáltatások BODY: A megvalósítás 3. Öröklődés: Egy létező superclass-ból egy új subclass-t hozunk létre származtatással. A subclass átveszi a superclass tulajdonságait A típushalmazok megfelelnek A típushalmazok, műveletek, paraméterek átdefiniálhatóak, de jelentésük nem változhat. Polimorfizmus: Statikus: A deklarációkor eldől. Dinamikus: Az általánosabb superclass-nak adjuk értékül a subclass példányát. pl.: double x = 5; (double kap értékül int-et) Dinamikus összekapcsolás: Végrehajtáskor kiszámítási szabályok alapján. pl.: int x = 5.0; (automatikusan csonkol/kerekít) Objektumelvű modellezés: A problémákat és megoldásokat különböző szempontok szerint írhatjuk le. Statikus szempont: Milyen egységekből épül fel a rendszer? 1. Osztálydiagram: A megoldás szerkezetét leíró összefüggő gráf, melyben a csúcsokhoz az osztályokat, az élekhez pedig a köztük fennálló relációkat rendeljük. (öröklődés, asszociáció, aggregáció, kompozíció)

2. Objektumdiagram: Egyszeresen összefüggő gráf, amely csomópontjai az objektumokat, élei pedig a köztük lévő összekapcsolást jelentik (ami nyilván nem lehet öröklődés). Az objektumdiagram időben változik, de mindig létezik hozzá osztálydiagram. Dinamikus szempont: 1. Állapotdiagram: Összefüggő irányított gráf, amelynek csúcsaihoz a program kezdőállapotából elérhető állapotokat feleltetünk meg, éleinek meg az állapotátmeneteket. Két csúcs között több állapotátmenetet is jelölhetünk, hiszen több esemény hatására is létrejöhet. 2. Szekvencia diagram: Az objektumok közötti üzenetváltások időbeli menetét szemlélteti. 3. Együttműködési diagram: Az osztályok objektumai hogyan működnek együtt a problémamegoldásban, milyen üzenetváltások vannak. Csak azok az objektumok relevánsak, amelyek osztályait az osztálydiagramban asszociációs kapcsolat köt össze. 4. Aktivációs diagram: A párhuzamos vezérlési feladatokkal együtt mutatja a problémamegoldás lépéseit. Implementáció szerinti: 1. Komponens diagram: A problémamegoldásban résztvevő egységek (komponensek) és a köztük fennálló reláció szerepel benne. A komponensek akár kis is cserélhetőek, ha biztosítjuk a csatlakozási felületet a környezethez. Pl.: A véletlenszám-generátor kicserélhető más algoritmusúra, ha ugyanúgy paraméterezhető. 2. Alrendszer diagram: Modulok, csomagok hierarchiája és együttműködésük. Környezet szerinti: Hardware és software igény.

Használati eset szerinti: A használati eset diagram a felhasználók szempontjából mutatja meg a programszolgáltatások működését. Ez teremthet kapcsolatot a megrendelő és a projektvezető elképzelései között. Tervminták: Az objektumelvű rendszertervek tervezése nehéz. A probléma megoldása mellett a terv újrafelhasználhatósága is cél. A tervminták az újrafelhasználható tervek és tervrészek. 4 alapvető elemből épül fel: 1. Név 2. Feladat leírása: Célok és motiváció 3. Megoldás: Szerkezet, komponensek, együttműködés, implementáció (akár példakód) 4. Következmények: Hatékonyság, hasonló problémák