Rendszer-modellezés, modellezési technikák

Hasonló dokumentumok
Rendszer-modellezés, modellezési technikák

Szoftver tervezés és design

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

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

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

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

A szoftverfejlesztés eszközei

Szoftver architektúra, Architektúrális tervezés

Szoftver követelmények meghatározása

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

Kogníció, koncepciók, modellek

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

Software Engineering

Adatmodell elemei. Adatmodellezés. Adatobjektum. Kutya adatobjektum, mint tábla

Szoftver újrafelhasználás

Szoftver követelmények meghatározása

Komponens alapú fejlesztés

UML (Unified Modelling Language)

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

S S A D M ELEMZÉSI ÉS TERVEZÉSI MÓDSZERTAN. Structured Systems Analysis and Design Method

S01-7 Komponens alapú szoftverfejlesztés 1

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

Szoftverminőségbiztosítás

A szoftverfejlesztés eszközei

Elosztott rendszer architektúrák

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

Alkalmazások architektúrája

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

Formális módszerek GM_IN003_1 Bevezetés

Planning and Design of Information Systems. André Blokdijk, Paul Blokdijk ACADEMIC PRESS, 1987.

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

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

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

Modellellenőrzés a vasút automatikai rendszerek fejlesztésében. XIX. Közlekedésfejlesztési és beruházási konferencia Bükfürdő

Szoftver-technológia I.

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

Software Engineering Szoftver fejlesztés

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

TSIMMIS egy lekérdezés centrikus megközelítés. TSIMMIS célok, technikák, megoldások TSIMMIS korlátai További lehetségek

Projectvezetők képességei

A szoftver tesztelés célja

Szoftverminőségbiztosítás

Szoftver tesztelés a gyakorlatban 2

AZ ELőADÁS CÉLJA. a funkciók dokumentálásának bemutatása. az SSADM szerkezetben elfoglalt helyének bemutatása

Információtartalom vázlata

Nagy bonyolultságú rendszerek fejlesztőeszközei

Alapszintű formalizmusok

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

Témakörök. Structured Analysis (SA) Előnyök (SA) (SA/SD) Jackson Structured Programming (JSP) Szoftvertechnológia

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

Oracle SQL Developer Data Modeler és a DW adatmodellezés. Gollnhofer Gábor Meta Consulting Kft.

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.

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

HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM)

Szolgáltatás Orientált Architektúra a MAVIR-nál

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

Modell alapú tesztelés mobil környezetben

Parametrikus tervezés

TOGAF elemei a gyakorlatban

Részletes szoftver tervek ellenőrzése

Enterprise extended Output Management. exom - Greendoc Systems Kft. 1

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

Adatbázis-kezelés. alapfogalmak

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

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

Adatmodellezés. 1. Fogalmi modell

A RAKTÁRI JEGYZÉKEK SZÁMÍTÓGÉPES FELDOLGOZÁSA: ADATMODELLEZÉS ÉS SZABVÁNYOK

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

ADATBÁZIS-KEZELÉS. Modellek

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Az emberi információfeldolgozás modellje. Az emberi információfeldolgozás modellje. Alakészlelés. Más emberek észlelése.

CAD Rendszerek I. Sajátosság alapú tervezés - Szinkron modellezés

Szoftverminőségbiztosítás

Web-fejlesztés NGM_IN002_1

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK

Operációs rendszerek. Az X Window rendszer

Informatikai rendszertervezés

Adatbázisok. 3. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 21.

Követelmény meghatározás. Információrendszer fejlesztés módszertana, Dr. Molnár Bálint egyetemi docens 1

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

Szoftverfejlesztő képzés tematika oktatott modulok

Infor PM10 Üzleti intelligencia megoldás

Objektum Vezérelt Szoftverek Analízise

Adatmodellek. 2. rész

Informatikai rendszertervezés

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

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

Szemléletmód váltás a banki BI projekteken

Üzleti architektúra menedzsment, a digitális integrált irányítási rendszer

Adatbázis rendszerek Definíciók:

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

Objektumorientált paradigma és a programfejlesztés

Rendszermodellezés: házi feladat bemutatás

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

30 MB INFORMATIKAI PROJEKTELLENŐR

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

2008 IV. 22. Internetes alkalmazások forgalmának mérése és osztályozása. Április 22.

Elérhetőségi probléma egyszerűsítése: Állapottér és struktúra redukció Petri-háló alosztályok

Átírás:

Rendszer-modellezés, modellezési technikák System engineering and modelling Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 8. Roger S. Pressman: Software Engineering, 5th e. chapter 10, 11, 12, 13. 2

A rendszermodellezés célja 3 A rendszermodellezés célja A megvalósítandó rendszer megértése rendszer lehatárolása m!ködés modellezése Modellek létrehozása kommunikáció elemzés tervezés 4

A rendszer-modellezés folyamata "Valóság" (Vállalati folyamatok) Percepció Felhasználó Validálás Tudás kinyerés Koncepcionális modell Modellezés Informatikai elemz! 5 Rendszerszer! megközelítés Rendszer entitások attribútumai közötti kapcsolatok Vizsgálati szempontok Mely attribútumok lényegesek? Milyenek az entitások kapcsolatai? Hol vannak a rendszer határai? Mi a rendszer feladata, szerepe? Mivel jár az alkotó részek egy bizonyos elrendezése? 6

Rendszer leírás Rendszer komponensek Komponensek kapcsolatai Kapcsolatok által kialakított szerkezet Komponensek interakciói Folyamatok Holisztikus tulajdonságok A rendszer azonosítói Környezet Érték és cél koncepciók 7 Rendszerszer! megközelítés (folyt.) Output definiálása Határok meghatározása Nem lineáris m!ködés felderítése Szabályozási folyamatok meghatározása Több szempontú megközelítés 8

Modellezés Modellek különböz" néz"pontokból Küls" néz"pont rendszer környezete, kontextus Viselkedési megközelítés Szerkezeti megközelítés 9 Hierarchikus szerkezetek Elemek különböz" szint! aggregációja elem komponens részrendszer teljes rendszer Szintek komplexitás szerepek bels" határok 10

Rendszermodell hierarchia "Világ" nézet Domén nézet Elem nézet Részlet nézet 11 Üzleti folyamatok modellezése Cél: üzleti tevékenység hatékony információ felhasználásának kialakítása Elemzési területek adatok architektúrája alkalmazások architektúrája technológiai infrastruktúra 12

Üzleti folyamatok modellezése (folyt.) A vállalat Egy üzletág Információs stratégia Egy üzletág Info. feld. terület Üzletági elemzés Információs rendszer Implementációs részletek Üzleti r. rendszerterv Software engineering 13 Termék modellek Felhasználói igények megjelenítése termékjellemz"kként Termék architektúra Technológia, infrastruktúra 14

Termék modellek (folyt.) A teljes termék Egy funkció Követelmény specifikáció Hardver Szoftver Feld. követ. Komponens nézet Adatok Funkció Prg. k. Viselkedés Elemzési és tervezési modellezés Komponens konstrukció és integrálás Software engineering 15 Modellezési alapelvek A probléma információs aspektusának megjelenítése és megértése A szoftver által végrehajtandó funkciók definiálása A küls" események hatására bekövetkez" viselkedés megjelenítése A modellek részleteinek réteges (hierarchikus) kifejtése Az elemzés célja az információk megjelenítése implementációs szinten 16

Hard és soft tulajdonságok hard egyértelm!en definiálható, mérhet", objektíven értékelhet" soft nincs rögzített definíció, szubjektív értékelés prioritások (érték rendszer) konfliktusok 17 Szoftver-folyamat és modellezés Funkcionalitás és technológia szétválasztása Implementációs modellezési szintek Platform független (koncepcionális) domén modellek üzleti modellek Platform specifikus modellek architekturális modellek implementációs (fizikai) modellek 18

Modell típusok Adatfeldolgozási modellek Kompozíciós modellek Architektúrális modellek Klasszifikációs modellek Stimulus-válasz modellek 19 Modellek grafikus reprezentációja Modell elemek, kontrukciók, kapcsolatok leképzése grafikus reprezentációkká Mentális modellek létrehozása csatorna sávszélessége preattentív feldolgozás mintázat felismerés megfelel" geometriai és topológiai elrendezés másodlagos szerkezet 20

Modellek grafikus reprezentációja 21 Környezeti modellek A környezeti (kontextus) modellek a rendszer m!ködési környezetét írják le a rendszer határain kívül Szociális és szervezeti vonatkozások Architektúrális modellek kapcsolat más rendszerekkel 22

System Model Template Felhasználói felület Folyamatok és irányítási funkciók Bemenet Kimenet Karbantartás, teszt 23 Folyamat modellek Folyamat modellek A rendszer átfogó folyamatai Rendszer által támogatott folyamatok Adatfolyam modellek folyamatok, folyamat-állomások közötti adatáramlás 24

Viselkedési modellek A rendszer viselkedésének, m!ködésének a leírása Alkalmazott megoldások (különböz" néz"pontok) adatfeldolgozási modellek állapotgép modellek 25 Adatfeldolgozási modellek Adatfolyam diagramok (Data Flow Diagram) feldolgozási állomások (transzformációk) adatáramlás a rendszerben Könnyen érthet" jelölésrendszer 26

DFD-k mögötti metafora A rendszer egy ipari üzem folyamatok szerel"szalag alapanyag források késztermék raktárak 27 Funkcionális perspektíva Folyamatok adat igénye Adat-kapcsolatok Szintenkénti finomítás Adatfolyam diagramok A F B A V X Z I K J B W Y X Z Y 28

DFD példa környezeti elem 1 2.1 2 els! szint" eljárás eljárás 2.1 D1 adattár 1 D2/1 adattár 2 2.2 környezeti elem 2 eljárás 2.2 D2/2 adattár 3 3 2.3 eljárás 3 eljárás 2.3 29 Állapotgép modellek A rendszer viselkedésének leírása a küls" és bels" eseményekre adott válaszokkal Gyakran alkalmazzák valósidej! rendszereknél, felhasználói felületeknél (eseményvezérelt megközelítés) Rendszerállapotok és állapotátmentek 30

Az állapotgépek mögötti metaforák Forrás-út-cél séma Állapottér pontjai forrás és cél is lehet egyszerre Állapot átmenetek (utak) Konténer séma szuperállapotok 31 Állapotátmenet diagramok Állapottér dekompozíció Csomópontok állapot spec. tevékenységek (érkezés, elhagyás) Élek állapotátmenetek események (feltételek) üzenetküldés (akció) 32

Állapotátmenet diagram példa Jelszó1 **** Jelszó2 **** Regisztráció start Main OK disabled [pwd2=""] OK enabled [pwd1=""] [pwd1!=pwd2] Pwd 1 Different [pwd1!=""] [pwd2=""] All clear [pwd1=pwd2] [pwd1!=pwd2] [pwd2!=pwd1] [pwd2!=""] [pwd1=pwd2] [pwd2=""] Pwd 2 [pwd2=pwd1] Same [pwd1=""] Kilépés OK OK clicked Exit clicked OK clicked OK2 clicked Success feedback OK3 clicked exit Password missmatch 33 Adatmodellezés Rendszer által kezelt adatok szerkezetének leírása Egyed-kapcsolat-attribútum modellek Adatbázis kezel" alkalmazások relációs adatbázisok 34

Egyed-kapcsolat modellek metaforája Konténer séma egyedek attribútumokat tartalmaznak Kapcsolat séma egyedek közötti relációk Adatmodellezéskor az egyedkapcsolat konstrukció meta modellként m!ködik instanciálás 35 Adatelemek Adatobjektumok küls" (valóságos) entitás Attribútumok adatobjektumok tulajdonságai felhasználás azonosítás leírás kapcsolat Kapcsolatok kétirányú szerepek, relációk számosság és modalitás 36

Számosság és modalitás Számosság (a kapcsolatban résztvev" adatobjektum megjelenések száma) Egy-egy kapcsolat Egy-több kapcsolat Több-több kapcsolat Modalitás (a reláció szükségessége) Kötelez" Opcionális 37 Adatobjektum példa Adatobjektumok Attribútumok Név Lakcím Életkor Vezet!i engedély száma Kapcsolatok Autója Tulajdonosa Gyártmány Modell Szín Rendszám 38

Egyed-kapcsolat diagramok Adatmodellek kedvelt leírási formája Elemei Adatobjektumok osztályai (egyedtípusok) Kapcsolatok számosság/modalitás Attributumok eltér" részletesség 39 Egyed-kapcsolat diagram jelölések Különféle jelölés rendszerek Chen Egyed Reláció Egyed Attrib. Attrib. Attrib. Attrib. Számosság Kötelez! Opcionális 40

Egyed-kapcsolat diagram példa MERISE jelölés 41 Adatszótárak Adatmodellben használt nevek szótára egyed és attribútum nevek definíció (típus) felhasználás, hivatkozások formátum adatok Egyértelm!ség, duplikálás elkerülése CASE támogatás 42

Tervezés, design Kognitív tevékenység fennálló helyzet kívánatossá alakítása probléma megoldási tevékenység rosszul struktúrált problémák analízis + szintézis + értékelés kielégít" megoldások (vs. opt.) opportunisztikus dekompozíció, struktúrálás magkoncepció 43 Tervezés, design (folyt.) Design decisions Célok (Taszk) Design space State DESIGN D D Lehet!ségek (Eszközök) F SP DD: Desirable for Designer DC: Desirable for Customer SP: Still Posible D C Conceivable outcomes 44

A tervezési folyamat Ötletek (nyelv) Cél (nyelv) Tervezési tevékenység Eszközök Reprezentációk (nyelv) Tudás (nyelv) 45 Szoftver tervezés F" kérdések: Hogyan kell egy programot, rendszert egy robusztus, tesztelt, dokumentált, támogatott termékként létrehozni? Hogyan lehet intellektuálisan kezelni az igen nagy komplexitást? 46

Szoftver tervezés (folyt.) Két réteg szoftver struktúrák mutatott, érzékelhet" jellemz"k Problémák implicit tervezési döntések tervezés szétken"dése az életcikluson eltér" nyelvek, reprezentációk domén függ" technikák dokumentálatlan korábbi tervezési tapasztalat nem megfelel" tervezési környezetek 47 Tervezési paradigmák El"író tervezési módszerek szoftver módszertanok top-down, finomítás Jelölés rendszerek tervezési formalizmusok Tapasztalati tudás tervezési minták HCI tervezés bottom-up, cognitive engineering 48

Modern tervezési módszerek Agilis módszerek participatory design (felhasználó bevonása) tesztelés-vezérelt fejlesztés design a teljes életciklusban Komponens-alapú tervezés újra felhasználható, standard komponensek, rendszer integrálás 49 Tervezési szintek Komponens szint! tervezés Interfész tervezés Folyamat specifikáció Állapotátmenet diagram Vezérlési specifikáció Adatfolyam diagram Állapotátmenet diagram Vezérlési specifikáció Architektúrális tervezés Adatfolyam diagram Adat tervezés Egyed-kapcsolat diagram Adatszótár 50

Tervezési koncepciók 51 Modularitás Modulokra bontás, modulok integrálása Kognitív komplexitás kezelése Modulszám hatása C( p 1 ) > C(p 2 ) " E( p 1 ) > E(p 2 ) C( p 1 + p 2 ) > C(p 1 ) + C( p 2 ) " E(p 1 + p 2 ) > E( p 1 ) + E(p 2 ) Modul költség Integrációs költség Összköltség 52

Végrehajtási hierarchia Program hierarchia hívási-visszatérési architektúra metrikák mélység szélesség fan-in, fan-out láthatóság 53 Hívási gráf példa sgi ProDev 54

Információ elrejtés Modulok bels" információi nem hozzáférhet"k olyan modulokból melyekben az adott információ nem szükséges független, önálló modulok interfészek 55 Moduláris tervezési elvek Funkcionális függetlenség modularitás, absztrakció, info elrejtés Kritériumok Kohézió kevés, szorosan kapcsolódó funkció Csatolás alacsony fokú adat, vezérlési kapcsolat 56

Moduláris tervezési elvek (folyt.) Kohézió növelése, kapcsolás csökkentése modulok felbontása/egyesítése Fan-out csökkentése Modulban lezajló döntések hatásának korlátozása a modul hatókörére Interfészek komplexitásának csökkentése 57 CASE támogatás A módszerhez csatlakozó szoftverfolyamat tevékenységeinek konzisztens támogatása modellezés, tervezés, kódgenerálás, tesztelés Egységes követelmény specifikálás és rendszertervezés A módszerhez tartozó jelölésrendszerek támogatása Különböz" nézetek szerinti modellek összekapcsolása 58

CASE támogatás (folyt.) CASE eszköz komponensek diagram editorok modell ellen"rzés fejlesztési minta-tár adatszótár!rlap és jelentés tervez" eszközök kód generátorok 59 CASE IDE példa WinDev 60

CASE IDE példa (folyt.) lekérdezés tervez" felületek Omnis Studio WinDev 61 Összefoglalás Rendszerszer! megközelítés Rendszermodell hierarchia Modellezési néz"pontok folyamat-, adat-, viselkedési-, architektúrális modellek Struktúrált elemzési módszerek Tervezési szintek Tervezési elvek 62