Rendszertervezés 4. A rendszerfejlesztés eszközei (technikák, CASE, UML) Dr. Szepesné Stiftinger, Mária



Hasonló dokumentumok
UML (Unified Modelling Language)

Előzmények

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

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

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

Programfejlesztési Modellek

01. gyakorlat - Projektalapítás

Programozási technológia

S01-7 Komponens alapú szoftverfejlesztés 1

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus

Dr. Mileff Péter

Utolsó módosítás:

Szekvencia diagram. Szekvencia diagram Dr. Mileff Péter

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

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

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

Technikai információk fejlesztőknek

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Komponens alapú fejlesztés

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

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

ELTE, Informatikai Kar december 12.

Rendszer szekvencia diagram

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

Fogalmi modellezés. Ontológiák Alkalmazott modellező módszertan (UML)

Modell alapú tesztelés mobil környezetben

Ismeretanyag Záróvizsgára való felkészüléshez

HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM)

VISUAL UML A RENDSZERTERVEZÉS OKTATÁSÁBAN

Objektum orientált programozás Bevezetés

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

Iman 3.0 szoftverdokumentáció

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

Modellalkotás UML-ben

Információtartalom vázlata

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 előadás bevezetés. Előadó: Lengyel Zsolt

Felhasználói segédlet a Web of Knowledge / Web of Science adatbázis használatához

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

S01-8 Komponens alapú szoftverfejlesztés 2

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Az UML2 és a modell-vezérelt alkalmazásfejlesztés

Rendszertervezés 2. IR elemzés Dr. Szepesné Stiftinger, Mária

Felhasználói segédlet a Scopus adatbázis használatához

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

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

Adatstruktúrák, algoritmusok, objektumok

A Java EE 5 plattform

Rendszertervezés 6. IR fejlesztése CASE eszköz segítségével (tervezés) Dr. Szepesné Stiftinger, Mária

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

Modellező eszközök, kódgenerálás

Informatikai alkalmazásfejlesztő Információrendszer-elemző és - tervező

Programozás 1. 2.gyakorlat

Samsung Universal Print Driver Felhasználói útmutató

Osztott Objektumarchitektúrák

Kölcsönhatás diagramok

Modellek dokumentálása

Autóipari beágyazott rendszerek Dr. Balogh, András

Új prezentáció létrehozása az alapértelmezés szerinti sablon alapján.

Bevezetés a programozásba

Utolsó módosítás:

gyakorlatban Nagy Gusztáv

A SZOFTVERTECHNOLÓGIA ALAPJAI

Object Orgy PROJEKTTERV 1 (9) Adattípusok menedzselése Palatinus Endre

Objektumorientált paradigma és programfejlesztés Bevezető

OOP és UML Áttekintés

Projectvezetők képességei

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor

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

Operációs rendszerek. Tanmenet

SMART Notebook termékcsaládok

Objektumorientált paradigma és a programfejlesztés

Metamodellezés. Simon Balázs BME IIT, 2011.

UML. Unified Modeling Language Egységesített Modellező Nyelv

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

A szerzõrõl... xi Bevezetés... xiii

Importálás. más típusú (pl:.imp,.xml,.xkr,.xcz) állomány beimportálása a nyomtatványkitöltő programba

Home movie database. Specifikáció. Verzió: 1.0. Dátum: Státusz: Released. Készítette: Farkas Róbert. Kulcsár Orsolya.

Kulcsár Attila. A második szint GeoCalc GIS 2. GISopen 2012 konfrencia.

INFORMATIKA - VIZSGAKÖVETELMÉNYEK. - négy osztályos képzés. nyelvi és matematika speciális osztályok

1. SZÁMÚ FÜGGELÉK MŰSZAKI LEÍRÁS

Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

Prezentációkészítés PowerPoint XP-vel

Interaktív, grafikus környezet. Magasszintû alkalmazási nyelv (KAL) Integrált grafikus interface könyvtár. Intelligens kapcsolat más szoftverekkel

Microsoft SQL Server telepítése

Ismerkedés az Office 2007 felhasználói felületével

A tankönyvvé nyilvánítás folyamatát elektronikusan támogató rendszer az OKÉV számára

ESZR - Feltáró hálózat

Táblázatkezelés Excel XP-vel. Tanmenet

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

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

Programozás III. - NGB_IN001_3

OOP. Alapelvek Elek Tibor

Tartalom. Szoftverfejlesztési. Szoftver = Termék. módszertan. la Rational XDE CASE eszköz. Az előállításához technológiára van szükség

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

Átírás:

Rendszertervezés 4. A rendszerfejlesztés eszközei (technikák, CASE, UML) Dr. Szepesné Stiftinger, Mária

Rendszertervezés 4. : A rendszerfejlesztés eszközei (technikák, CASE, UML) Dr. Szepesné Stiftinger, Mária Lektor : Rajki, Péter Ez a modul a TÁMOP - 4.1.2-08/1/A-2009-0027 Tananyagfejlesztéssel a GEO-ért projekt keretében készült. A projektet az Európai Unió és a Magyar Állam 44 706 488 Ft összegben támogatta. v 1.0 Publication date 2010 Szerzői jog 2010 Nyugat-magyarországi Egyetem Geoinformatikai Kar Kivonat A modulban bemutatjuk a rendszerfejlesztést támogató eszközök közül az UML szabványos, egységesített modellezőnyelvet, a CASE (Computer Aided Software Engineering = számítógéppel támogatott szoftverfejlesz-tés) rendszerek általános jellemzését, valamint az általunk továbbiakban használ VUML rendszert. Jelen szellemi terméket a szerzői jogról szóló 1999. évi LXXVI. törvény védi. Egészének vagy részeinek másolása, felhasználás kizárólag a szerző írásos engedélyével lehetséges.

Tartalom 4. A rendszerfejlesztés eszközei... 1 1. 4.1 Bevezetés... 1 2. 4.2 UML (Unified Modeling Language, azaz egységesített modellező nyelv)... 1 3. 4.3 CASE (Computer Aided Software Engineering = számítógéppel támogatott szoftver-fejlesztés)... 15 4. 4.4 A Visual UML... 16 5. 4.5 Összefoglalás... 24 iii

4. fejezet - A rendszerfejlesztés eszközei 1. 4.1 Bevezetés A modul célja bemutatni, hogy a rendszerfejlesztést támogató eszközök közül az UML egy szabványos, egységesített modellezőnyelvet, a CASE (Computer Aided Software Engineering = számítógéppel támogatott szoftver-fejlesz-tés) rendszerek általános jellemzését, valamint egy általunk továbbiakban használatos CASE rendszert, a VUML. A modul elsajátítása után képes lesz válaszolni az alábbi kérdésekre: 1. Az UML fogalma, jelentősége. Milyen elemei vannak egy UML modellnek? 2. Mit jelent a CASE szó, mikor használják és mire használható? 3. A Visual UML, mint CASE rendszer a fejlesztési folyamat mely lépéseit támogatja? Hogyan? 2. 4.2 UML (Unified Modeling Language, azaz egységesített modellező nyelv) Az UML egy szabványos, egységesített modellezőnyelv, amelynek segítségével fejlesztési modellek rendkívül jól szemléltethetőek. Az IR célja, az elvégzendő feladatok pontos meghatározása (a specifikáció), a tervezés, a dokumentálás mind grafikus formában, beszédes ábrák, diagramok segítségével történik. Az UML a kilencvenes évek elejére kiteljesedő objektumorientált módszerek nyomán kidolgozott modellező eszköz. 1997-ben J.Rumbaugh, G. Booch és I. Jacobson az OMT [Rumbaogh et al., 1991], az OOADA [Booch, 1994] és az OOSE [Jacobson, 1994] koncepciók alapján egy olyan alkotásra, vizualizációra, dokumentálásra egyaránt alkalmas szimbólumrendszert, egy egyesített nyelvet (UML: Unified Modelling Language [Booch et al., 1998]) fejlesztett ki, amely kiváló kommunikációs eszköz nemcsak a fejlesztők közötti, hanem a felhasználófejlesztő együttműködésében is. Az OMG által 1998 őszén modellező szabványként elfogadott jelölésrendszer célja egy olyan egységes szemantika és jelölésrendszer biztosítása, amely megoldást kínál a tervezés minden fázisában. Bár az UML alkalmazása önmagában nem garantálja a fejlesztés sikerét, mégis azt kell mondanunk, hogy használata jelentősen lecsökkenti a betanítás, az átállás költségeit, lehetőséget biztosít a fejlesztési elvek, módszerek és eszközök hatékony integrációjára. Az UML: egy rendszer grafikus ábrázolására alkalmas eszközök (diagramok) gyűjteménye. (Modell) a diagramok az UML-ben egységes jelölésrendszerbe kerültek, így kialakult egy grafikus nyelv, jól áttekinthető specifikációk, modellek, tervek és dokumentációk készítésére ad lehetőséget (legalábbis a jelölésrendszert ismerők számára). Az UML alapvető építőkövei: rajzi elemek rajzi elemek közötti relációk diagramok A rajzi elemek fajtái: Strukturális elemek : Objektum, Osztály, Felhasználói eset, 1

Megnyilvánulási elemek : Művelet végzése, Interakció (üzenetküldés), Állapot Annotációs elemek : Kiegészítés, Megjegyzés Csoportos elemek : Csomag Néhány Strukturális UML elem: 1. táblázat Aktorok: A rendszer felhasználói, vagy külső rendszerek. Meghatározzák a megvalósítandó rendszer határvonalát. Használati esetek: a rendszer funkcióit definiálják. Szemléltetik, hogy mit tesz a rendszer, ha az adott használati esetet kell megvalósítani. Az adott osztály, mely egyértelműen azonosítható, adatai, tulajdonságai (attribútumai) vannak, saját adatain műveleteket tud végezni. állapot 2

Példaobjektumok Üzenet Az utolsó sorban példát látnak m egnyilvánulási elemre. Az UML elemei közötti kapcsolatok (reláció típusok) lehetnek: Függőség (dependency) Két elem között akkor áll fenn, ha az egyik (a független) elem változása hatással van a másik (a függő) elemre. Kölcsönös a függőség akkor, ha mindegyik elem hat a másikra. Grafikus ábrázolásában a szaggatott nyíl a független elem felé mutat. A függőség fajtái: Finomítás vagy részletezés (refinement) Nyomkövetés (trace) Tartalmazás (include) Kiterjesztés (extend) Társítás (asszociáció ;association) Az objektumok kapcsolatát, ezek struktúráját határozza meg. Társítási kapcsolat fajtái: Ismeretség: Az UML-ben a társítási kapcsolatot folytonos nyíllal jelöljük, ahol a nyíl iránya jelzi a kapcsolat irányát. Ha a nyíl hegyét nem tesszük ki, akkor a kapcsolat kétirányú. A szemléltető nyílon jelöljük az asszociáció irányát, multiplicitását. Tartalmazás (aggregation). Gyenge és erős tartalmazás. Aggregáció esetén a rész az egészhez tartozik, de önmagában is létező entitás. Az egésznél lévő vonalvég egy csúcsára állított, aggregációnál lyukas rombusz. (gyenge tartalmazás). Kompozíció esetén a rész önmagában nem létezhet, csak az egész elemeként. Jele: az egésznél lévő vonalvégnél egy csúcsára állított tömött rombusz. (erős tartalmazás). 3

Általánosítás: Specializáció (specialization), öröklés (inheritance) Az objektumok speciális viszonya, gyermek-szülő kapcsolat, amelyben a fölérendelt elem az általános, az alárendelt a specializált. Osztályszerű elemek közötti strukturális kapcsolat. Általánosítási kapcsolat lehet például osztályok, aktorok, vagy használati esetek között. Jelölés: a nyíl iránya jelzi az általánosítás irányát. Megvalósítás (realization) A megvalósítási kapcsolatban egy dolog megvalósít (realizálja, implementálja) egy másik dolgot. Logikai kapcsolat, mely az általánosítás és függőség egy keveréke. A kapcsolat csak osztályszerű elemek között lehetséges. Annak kifejezése, hogy egy osztály biztosít egy másikat arról, hogy elvégez számára egy bizonyos feladatot. Az UML-ben a megvalósítási kapcsolatot szaggatott telt végű (öröklési) nyíllal jelöljük, ahol a nyíl iránya jelzi a megvalósítás (függőség) irányát. Az UML elemekből és kapcsolatokból diagramok készíthetők; ezek lehetnek: Használati eset (Use case): funkcionalitás a felhasználó szemszögéből Osztály (Class): rendszer szótára : osztályok és kapcsolatai Objektum (Object): osztály példányok és kapcsolataik Komponens (Component): implementáció fizikai szerkezete Telepítési (Deployment): rendszer hardver topológiája Szekvencia (Sequence): dinamikus viselkedés (idő-orientált) Együttműködési (Collaboration): din. viselkedés (üzenet-orientált) Állapot (Statement): din. viselkedés (esemény-orientált) Aktivitás (Activity): din. viselkedés (activitás-orientált) Használati eset diagram (USE CASE diagram): 4-1. ábra 4

Célja megfogalmazni, mi az, amire a rendszernek képesnek kell lennie. Elemei: Az aktorok felhasználókat vagy bármely más külső eseményforrást jelképeznek, mellyel a rendszer működése során kapcsolatba kerülhet. Az aktorok segítségével szabjuk meg a rendszer határait. 4-2. ábra Használati esetek: a rendszer funkcióit definiálják. Minden használati esethez leírás szükséges, amelyben szerepel, hogy mit tesz a rendszer, ha az adott használati esetet megvalósítja. 4-3. ábra 4-4. ábra 5

Osztálydiagram (class) : a rendszer objektumelvű szerkezetének leírása. Az osztályoknak, azok tartalmának és kapcsolatrendszerének összefoglaló diagramja. Az osztálydiagramok legalapvetőbb objektumorientált modellező eszközök, melyekkel a rendszert fölépítő objektumokat és a közöttük lévő statikus kapcsolatokat írhatjuk le. Az osztálydiagram szemlélteti, hogy az osztályok illetve az objektumok milyen kölcsönhatásban lesznek egymással. A társítások (asszociációk) két osztály illetve két objektum közötti viszonyt fejeznek ki. Minden társításhoz irányától függően két osztály rendelhető (forrás osztály és célosztály). A valódi összefüggés az osztályokból létrejövő objektumok között jön létre. Az osztálydiagram rögzíti az objektumok közötti kapcsolatok szabályait. Két osztály közötti társítási kapcsolat főbb jellemzői: ismeretségi vagy tartalmazási kapcsolat; név; multiplicitás (egy egy, egy sok vagy sok sok jellegű; kötelező vagy opcionális); szerepnév; megszorítás. Egy osztálydiagram elemei: osztályok, jele: téglalap az osztályok közti relációk 4-5. ábra Az osztályok meghatározásának elvei: Egy osztály a lehető legminimálisabb metódushalmazzal rendelkezzen Egyszerű interfész a külvilág felé == minimális függőség az objektumok között Apró, jól definiált feladatokat végrehajtó, sok, de egyszerű osztály Nem akkor tökéletes egy osztály, ha már nem lehet mit hozzáadni, hanem akkor, ha már nincs mit elvenni Többféle szinten valósul meg, de minden szint önmagában könnyen átlátható 6

4-6. ábra Objektum diagram (Object) Az osztálydiagram egy példányát mutatja be. Az objektum-osztályok hordozzák a hozzá tartozó objektumok jellemzőit. Minden objektum valamilyen osztály példánya (instancia), rendelkezik osztályának sajátosságaival, örökli annak tulajdonságait az adatszerkezetre és a műveletekre vonatkoztatva egyaránt. 7

4-7. ábra CSOMAGDIAGRAMOK: Olyan eszközök, melyekkel funkcionálisan összefüggő modellelemek egyetlen magasabb szintű egységbe foghatók, így rendszerünk statikus struktúrája kezelhetővé válik. A csomagok alapvetően osztályokból állnak, az osztályok között pedig függőségek léteznek, ha egymástól függő osztályok különböző csomagokba kerülnek, akkor ez a csomagok közötti függőségek kialakulásához vezet. Ezért a csomagdiagramok a csomagokat és a függőségeket jelentő szimbólumokat tartalmazzák. ÁLLAPOTDIAGRAM Az osztályok belső állapottal rendelkezhetnek, mely üzenetek hatására megváltozhat. Az állapotdiagram egy osztály belső állapotainak egymástól és különböző üzenetektől való függését írja le. Egy állapotokat és eseményeket összekapcsoló gráf, amely egy objektum eseményekre történő állapotváltozásait ábrázolja. Egy állapotdiagram elemei: Állapotok (ívelt oldalú téglalapok) Kezdőállapot (teli körlap) Záró állapot (céltábla). 8

4-8. ábra SZEKVENCIA DIAGRAM Az objektumok közötti üzenetváltások időbeli sorrendjének leírására szolgál. Egy SZEKVENCIA DIAGRAM elemei: Példaobjektumok: Általában feladatokat jelölnek. Jele: téglalap Életpálya: az objektumok élettartamára utal. Jele: függőleges vonal Az egyes objektumok közötti üzenetváltások 9

4-9. ábra AKTIVITÁS DIAGRAMOK segítségével a rendszerben megjelenő tevékenységek végrehajtásának módja írható le (mint egy folyamatábrán). EGYÜTTMŰKÖDÉSI DIAGRAM 4-10. ábra Az együttműködési diagramok szemléletesen mutatják az adott tevékenységben részt vevő objektumok strukturális elhelyezkedését. Az üzenetek időbeli sorrendjének leírására az üzeneteknek bekövetkezési sorrendjük szerinti számozása. Az együttműködés diagramon objektumok szerveződése, kapcsolódási módjaik 10

hangsúlyosak, nem pedig az üzenetváltások időbeli sorrendje (ezt az üzenetek számozásával jelölhetjük, ha fontos a végrehajtás sorrendje). A diagramon a példaobjektumok ikonként szerepelnek, az üzeneteket a kapcsolatok melletti nyilak és elnevezések jelölik 4-11. ábra 11

4-12. ábra KOMPONENSDIAGRAMOK : A szoftvermodulok közötti kapcsolatokat reprezentálnak. A komponensek a szoftvermodulok fizikai kódját testesítik meg, melyek a csomagdiagramokban megjelenő csomagoknak felelnek meg. A komponensek közötti kommunikáció a megfelelő csomagok közötti függőségek alapján történik. 12

4-13. ábra Telepítési diagram Működő rendszerünket alkotó szoftver és hardverkomponensek közötti fizikai kapcsolatot írják le. A feladatkiosztási diagramok csomópontjai a számítógépes rendszerünk fizikai erőforrásait reprezentálják. Egygépes környezetben elhanyagolható, ha rendszerünk osztottá válik, akkor egyre fontosabb szerep jut szoftverünk architektúrájának a fizikai architektúrájára való optimális leképezése. A telepítési diagram modellelemei: - Csomópont: egy hardver elem, processzor, számítógép vagy egyéb eszköz. A csomópont sztereotípusai például: pc, pc-kliens, pc-szerver, printer, cd-rom, storage (tároló) stb. - Kapcsolat: A csomópontok közötti kapcsolat lehet társítási, öröklési, tartalmazási stb. A kapcsolat sztereotípusa lehet például: lokális háló, TCP/IP. - Komponens: A csomópontokra komponensek tehetők. Ez jelzi, hogy a komponens a hardver elemen van, illetve fut. 13

4-14. ábra A fent ismertetett UML1 az UML1különböző verzióiban használatos 9 diagram segítségével modellezte a rendszert. Az UML fejlesztése során újabb diagramok segítségével bővítették a modellezési lehetőségeket. Az UML2 diagramjai: Szerkezeti diagramok: Osztály diagram (Class Diagram), Objektum diagram (Object Diagram) Telepítési diagram (Deployment Diagram): ez az egyetlen diagram, amely az implementációs környezet elemeivel foglalkozik. Némileg különbözik a korábbitól, mivel új modellelemek jelentek meg a diagramban. Csomag diagram (Package Diagram), Komponens diagram (Component Diagram): hasonlóan az osztálydiagramhoz, csomagok és komponensek ábrázolására szolgálnak. Composite Structure Diagram : a belső szerkezet ábrázolására szolgáló új diagram típus, az osztályok, komponensek hierarchikus kompozícióját mutatja be. A viselkedést leíró diagramok áttekintése: Szekvencia diagram (Sequence Diagram) Kommunikáció diagram (Communication Diagram) a korábbi együttműködési diagram Aktivitás diagram (Activity Diagram) Interakció áttekintés (Interaction Overview Diagram) Állapotgép diagram (Statemachine Diagram) Idő diagram (Timing Diagram) Használati eset diagram (Use Case Diagram) 14

Az Uml bármely változata segít a modellvezérelt tervezésben, de a modellező eszköz fejlesztése nem helyettesítheti az ember tervezési feladatát. Mi az UML1 diagramjait használjuk, mert az könnyebben áttekinthető, valamint a kiválasztott szoftver -amit használni fogunk- az UML1 9 diagrammjának megrajzolását támogatja. A választást az indokolta, hogy nem informatikusokat képzünk, hanem olyan szakembereket, akik az információtechnológia eszközeinek eredményes alkalmazói, használói lesznek. 3. 4.3 CASE (Computer Aided Software Engineering = számítógéppel támogatott szoftver-fejlesz-tés) A CASE olyan szoftverfejlesztési technológia, amely automatikus eszközök használata útján mérnöki fegyelmezettséget (tudományosságot) visz a rendszerfejlesztésbe, a karbantartásba és a projektmenedzselésbe. Ezzel a technológiai újítással a programozás hangsúlya a lényegre helyeződik át: a programok kidolgozásának ideje felére, harmadára csökken, hiba nélküli kódok generálhatók, és a szükséges dokumentációk is elkészíthetők. Információs rendszerek esetén fontos tényező a nagyobb rendszeregységek közötti összehangolás, optimalizálás; vagyis a rendszernek az egyértelműség, ellentmondás-mentesség és a teljesség szempontjából való vizsgálata. A 90-es években egyre gyakrabban találkozunk a számítógépes rendszerfejlesztés fogalmával. Jellemző rájuk a magas fokú interaktivitás, vizualitás, ami a CAD rendszerekhez teszi hasonlatossá őket. Világszerte bevált elméleti és gyakorlati módszertant ad az információs rendszerek fejlesztéséhez. 4-15. ábra /Raffai: CASE: számítógép által támogatott szoftverfejlesztés/ A CASE rendszerek kifejlesztésének okai: a felhasználó és a programozó a megoldandó feladatot annyira más szemszögből látja, hogy még egymás számára is érthetetlenül fogalmazzák meg gondolataikat; a bonyolult rendszerek készítése időigényes. Fejlesztés közben a körülmények megváltozhatnak, csakúgy, mint a fejlesztő csoport összetétele; a programok bonyolultsága olyan mértékű, hogy ez már a követhetőség, és az áttekinthetőség rovására ment: a rendszernek gyorsan, rugalmasan kell követniük az eredeti követelmények állandó változásait, különben az elavulás veszélye fenyegeti a terméket. A CASE eszközök az alábbi feladatcsoportokat végzik el: 15

integrálják a fejlesztési eszközöket, a fejlesztési projekt munkájában a rendelkezésre álló, lehető leghatékonyabb eszközöket alkalmazva. irányítják a fejlesztési folyamatot A fejlesztési fázisok szerinti elvek világosan és egyértelműen határozzák meg azokat a feladatokat és megkívánt eredményeket, amelyeket a tervezőnek el kell végezni. A CASE eszközök követik ezeket a folyamatokat, kiválasztják a végzendő tevékenységeket, megkövetelik a végzett munka eredményét, segítséget nyújtva a feladatvégzéshez. irányítják a projekt tevékenységét A projekt vezetője meghatározza az elvégzendő feladatokat, ezeket logikai és időrendi sorrendbe állítja, megadja a rendelkezésre álló erőforrásokat (emberi, gépi, idő). A CASE eszközök ezek ismeretében támogatják a projekt tevékenységének ütemezését, a projekt irányítását, kiadják, és számon kérik a munkatársaktól a feladatokat, figyelik a határidőket, nem teljesítés esetén figyelmeztetést adnak ki. integrálják a fejlesztési eredményeket és kezelik a fejlesztési adatbankot A fejlesztési projekt munkatársai által készített fejlesztési eredményeket a CASE eszközök összesítik, egységesítik és ellenőrzik. Kezelik a különböző verziókat, kapcsolatot teremtenek a fejlesztők között, javíttatják a hibákat. összehangolják a fejlesztési fázisok munkáját. Az objektumorientált rendszerfejlesztést támogató CASE eszközök, az UML alapú fejlesztőeszközök is megjelentek. Az UML tervezőrendszerek alapvonása, hogy megfelelő grafikus eszközök segítségével hatékony segítséget nyújtanak a szoftverfejlesztési folyamat során létrehozandó modellek megalkotásában, majd a modellek alapján képesek különböző célnyelvekre automatikusan kódot generálni, ezzel az implementációt is jelentősen gyorsítják és megkönnyítik. 4. 4.4 A Visual UML A Visual UML CASE szoftvert a Visual Object Modelers cég fejlesztette ki. 4-16. ábra Az objektum orientált módszertant használva támogatja a rendszertervezés több fázisát (dokumentálás, kódolás, publikálás). Az UML egységes modellező nyelv jelölésrendszerét alkalmazza. A tervezés folyamatát diagramokkal dokumentálja, valamint leírások készíthetők. Az elkészült diagramok alapján a rendszert 16

megvalósító alkalmazásokat leíró eljárások generálhatók több programozási nyelven a további felhasználástól, alkalmazástól függően. A szoftver Windowsos felhasználói felületet használ, könnyen kezelhető, menü pontjai is hasonlítanak a többi Microsoft termékéhez. A továbbiakban az egyes menük részletesen is bemutatásra kerülnek. 4-17. ábra A felhasználói felület alapvetően három részre osztható: 1. explorer ablak a képernyő bal szélén. Itt történik a tervezés dokumentálása. Az elkészített diagramok, elemek könyvtárszerkezetben jelennek meg, ahonnan kijelölhetőek, tulajdonságaik szerkeszthetőek, átnevezhetőek, törölhetőek. 4-18. ábra 17

1. description ablak a képernyő bal alsó sarkában, itt történik a tervezés dokumentálása 4-19. ábra 1. az elkészült modell diagramjainak ablaka 4-20. ábra A VUML CASE rendszer szolgáltatásai: Objektumorientált módszertan szerint 18

irányítja a fejlesztési folyamatot, összehangolja a fejlesztési fázisok eredményeit, ellenőrzi a rendszer logikai helyességét, dokumentálja a fejlesztést, támogatja a modellkészítést, támogatja a kódolás, tesztelés és implementálás(megvalósulás) folyamatát. Nézzük ezen szolgáltatásokat a menürendszer alapján. FILE menüpont: Alapvető állománykezelő parancsokat tartalmaz (új állomány, állománynyitás, állomány bezárása, mentés, mentés másképp, állomány tulajdonságai) Sajátossága, hogy a megszokott file elnevezés helyett a modell kifejezést használja a szoftver. Ez természetesen nem véletlen ui. az állomány az információrendszer fejlesztését támogató modellek létrehozását támogatja. A létrehozott modell diagramokból épül fel. A diagramok az információrendszer dokumentálását segítik. A diagramokra is külön parancsokat találunk, a modellekhez hasonlóan: új diagram készítése, diagram(ok) elrejtése (nem akarjuk kitörölni, de ne jelenjen meg ), törlés, másolás, átnevezés és diagram tulajdonságai. 4-21. ábra A következő parancscsoport a nyomtatásra és a diagramok publikálására vonatkozik. Publikálás során egy vagy több diagramról készíthetünk Windows által támogatott képformátumban ábrákat. Publish Model: a rendszerfejlesztés folyamatának végső fázisában találkozhatunk vele, mert a kész rendszerünk publikálásához tudjuk felhasználni. A publish model menüpont segítségével HTML formátumban exportálhatjuk a munkánkat. 19

A feladatmegoldás során használható főbb opciók: Csak egy diagram (single selected diagram) Az egész modell (entire model) A formátum lehet tabulált, vagy lista. A rendszerfejlesztés eszközei A diagramok importálási és exportálási műveleteit is itt végezhetjük. Különböző kép formátumban exportálhatunk. Export Diagram: az export diagram menüpont segítségével több formátumban tudjuk közzétenni az elkészített diagramokat. A feladat megoldása a munkaállomány különböző formátumokban történő elmentésével valósul meg. A formátumok az alábbiak lehetnek: BMP, JPEG, TIFF, PNG, PXC (képek) Vágólapra, HTML, EPS, WMF Import VUML: feladata a régebbi v1.12-es VUML-ben készült fájlok behozatalának lehetősége és így a kompatibilitás biztosítása. EDIT menüpont: A szerkesztési műveleteket tartalmazza. 4-22. ábra A Modell propertiesben (tulajdonságokban) megadhatjuk a modell nevét. Ez a későbbi egyértelmű azonosítást szolgálja. A Description leírást jelent. Megadhatjuk a modellünk szöveges leírását. Ez bővebben utal az állomány tartalmára, mint a modellnév. Az IR dokumentálásban fontos szerepe van. Az általunk megadott leírást később megjeleníthetjük. A modellhez hasonlóan a diagramokhoz, valamint a diagramok minden eleméhez készíthetünk leírást. Ezen leírások is a dokumentáció részei. 20

A következő csoport az alapvető szerkesztési műveleteket (kivágás, másolás, beillesztés, törlés, átnevezés) tartalmazza. További műveletek a diagramokkal kapcsolatos grafikus beállításokra vonatkoznak: kitöltő szín, vonalszín, vastagság, betűszín és típus. A diagramok szemléletesebb, esztétikus megjelenítését teszi lehetővé. OBJECTS menüpont: 4-23. ábra A modellben szereplő elemeket tartalmazza listaszerűen (osztályok, aktorok, használati esetek, csomagok, komponensek, csomópontok). A következő csoport a kiválasztott diagramtípusban szereplő elemeket tartalmazza listaszerűen. A listából kiválasztva a kívánt elemet az az aktív ablakban megjelenik és szerkeszthető. Ilyen elemek az osztálydiagram esetén: osztályok (általános, paraméteres vagy interface...), csomagok, valamint a különböző kapcsolatok. Ezen elemek szerepelnek az ablakokat elválasztó függőleges sávban ikon formában. A diagramokban az egyes elemekhez megjegyzéseket is fűzhetünk az alsó parancscsoport segítségével (text, text block). VUML TOOLS menüpont: 21

4-24. ábra A szoftver jellegéhez kapcsolódó különleges szolgáltatások menüpontjait, parancsait tartalmazza. Generale Project A kódolás, implementálás szakaszát támogatja. A generálás alapértelmezett nyelve a Visual Basic mivel ezt a legtöbb Windows környezetben futó program használja de a Target language menüpontban több lehetőség közül választhatunk (pl. Access97, Java, Oracle8, Delphi, SQL Server7, CORBA, Visual C++...) annak megfelelően, hogy az adatbázis kezelését milyen szoftverrel, milyen környezetben kívánjuk elvégezni. Reverse Engineering A tervezés megfordítása, mely során több modellt automatikusan hoz létre a program (pl. komponens-, telepítési diagram ). A terv generálása során az elkészített osztálydiagram alapján megtörténik a kifejlesztett alkalmazást megvalósító programcsoport létrehozása. Scripteket készíthetünk Visual Basic és Java nyelven, melyeket a világhálón tudunk hasznosítani. Publish to HTML az elkészített diagramok interneten publikálása. Minden diagramról rajz készül, és az osztálydiagramban szereplő osztályok attribútumairól, műveleteiről, hivatkozásai és interface-eiről külön-külön táblázatból tájékozódhatunk. Például: 22

4-25. ábra Options Itt a diagramunk méreti és alaki beállításain változtathatunk. VIEW és WINDOW menüpont: A szoftver View és Window menüpontjai a Windows-os felhasználói felületek szokásos műveleteit tartalmazza (ablakok nyitása, bezárása, elrendezése, dokumentációs ablak, diagram fejlécének eltüntetése). HELP menüpont: 4-26. ábra 23

4-27. ábra Segítséget kaphatunk a szoftver használatához témakörök, vagy keresett probléma alapján, valamint elolvashatjuk a nap tippjét (ez a program újra indításakor mindig megváltozik). A programról és az általa használt nyelvekről szóló internetes web site-ok közvetlenül elérhetők. 5. 4.5 Összefoglalás Ebben a fejezetben a rendszerszervezés eszközeiről volt szó, az UML-ról, általában a CASE rendszerekről, valamint az általunk használt CASE rendszerről a VUML-ről. Bízom benne, hogy sikerült láttatni, hogy ezen eszközök átláthatóbbá, egyértelműbbé és hatékonyabbá teszi a rendszerszervezési feladatok megoldását. Az eszközök használatával még további modulokban is foglalkozunk, az egyes eszközök használatának célját, jelentőségét mutatjuk be. Kérdések: 1. Az UML fogalma, jelentősége. Milyen diagramokból épül fel egy UML1 modell? 2. Az UML elemei, a közöttük lévő kapcsolatok fajtái? 3. Milyen feladat megoldásában támogatnak az UML diagramok, hogyan csoportosíthatjuk őket? 4. Mit jelent a CASE szó, mikor használják és mire használható? 5. A Visual UML, mint CASE rendszer a fejlesztési folyamat mely lépéseit támogatja? Hogyan? Feladat: 1. Ismertesse a statikus modell elemeit, ennek részeit és feladatukat! 2. Ismertesse a dinamikus modell elemeit, ennek részeit és feladatukat! 24

Irodalomjegyzék A rendszerfejlesztés eszközei Raffai Mária: Információrendszerek fejlesztése és menedzselése, Novadat Bt., Győr, 2003, Sommerville, Ian: Szoftverrendszerek fejlesztése, Panem, Budapest, 2002 Angster Erzsébet: Az objektumorientált tervezés és programozás alapjai, Angster E., Budapest, 1999 25