03 - johanyak.hu

Download Report

Transcript 03 - johanyak.hu

Szoftvertechnológia
3. ELŐADÁS
Dr. Johanyák Zs. Csaba - Szoftvertechnológia 2014
1
Ismétlés
Alap tevékenységek

Követelményelemzés
(Mit is kellene csinálni? Mikorra, és mennyiért? –
megvalósíthatóság vizsgálata)

Tervezés (architekturális tervezés, absztrakt specifikáció,
interfész tervezés)

Implementálás (komponens tervezés, adatszerkezet
tervezés és algoritmus tervezés)

Kipróbálás, validálás, bevezetés (szoftverátvizsgálás
és tesztelés)

Működtetés, karbantartás, továbbfejlesztés,
leállítás
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
2
Szoftvertechnológia
ELVÁRÁSOK ELEMZÉSE ÉS
SPECIFIKÁCIÓ
Dr. Johanyák Zs. Csaba - Szoftvertechnológia 2014
3
Elvárások elemzése és
specifikáció







A vevői/megrendelői elvárások összegyűjtése, elemzése
(Mit is kellene csinálni? Mikorra, és mennyiért?)
A rendszer környezetének felmérése
A feladat leírása
Információgyűjtés az adott területen dolgozó szakemberektől (pl.
interjúk).
Az adott terület üzleti folyamatainak beazonosítása
A feladat lefordítása a szakmai nyelven megfogalmazott
specifikációkra, ami magában foglalja a megvalósíthatóság
vizsgálatát is.
Dokumentálás: szakterületi fogalomtár, üzleti folyamatok
strukturált leírása táblázatos formában és használati eset
diagramok segítségével, tevékenység diagramok, állapot
automata.
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
4
Lépések







Szakterületi fogalomtár
Interjú – leírás szabad szöveges formában
Interjú – leírás strukturáltan rendezve
Az üzleti folyamatok táblázatos leírása
egyenként
Használati eset diagram elkészítése
Használati esetek részletes, táblázatos
dokumentálása
Folyamatok (lépések) modellezése tevékenység
diagram segítségével
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
5
Szakterületi fogalomtár


A témakörhöz, feladathoz kapcsolódó
fontosabb kifejezések, elnevezések
felsorolása és magyarázata
Nem szükséges minden esetben
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
6
Interjú leírása szabad
szöveges formában
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
7
Forrás: http://www.ta
Interjú leírása strukturált
szövegként
Forrás:http://www.tankon
yvtar.hu/hu/tartalom/tam
op425/0008_tarcali/Tarc
zali_UML_diagramok_18
_18.html
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
8
Az üzleti folyamatok táblázatos
leírása egyenként
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
9
Forrás: http://www.tanko
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
10
Használati eset diagram
Leggyakrabban a követelményelemzés és a
specifikáció során alkalmazzák
 A rendszer viselkedését írja le, ahogyan az
egy külső szemlélő szemszögéből látszik
Összetevői
 Használati eset
 Szereplő
 Rendszerhatár

uc Könyv tári rendszer ...
uc Könyv t...
Keresés
Ügyfél
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
11
Kapcsolatok
uc Könyv tári rendszer használati eset diagra...

Asszociáció
Meghosszabbítás
Könyv táros
uc Könyv tári...

Általánosítás
uc Könyv tári rendszer ...
Bej elentkezés
Könyv táros
Mágneskártyáv al
Főkönyv táros
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
12
Kapcsolatok - függőségek

<<include>>
uc Könyv tári rendszer használati eset diagra...
Visszahozást rögzít
«include»
Lej árat ellenőrzése
Könyv táros
uc Könyv tári rendszer használati eset diagra...

<<extend>>
Keresés
«extend»
Ügyfél
Előj egyzés
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
13
c Könyv tári rendszer használati eset diagra...
Használati eset diagram
készítése Enterprise
Architectben
Rendszerhatár
Cím alapj án
Keresés
«extend»
Szerző alapj án
Ügyfél
Könyvtári rendszer
használati eset diagramja
Előj egyzés
Kulcsszó alapj án
Meghosszabbítás
«include»
Lej árat ellenőrzése
Könyv táros
Bej elentkezés
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
14
Folyamatok modellezése

Tevékenység diagram

Állapotautomata
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
15
Tevékenység diagram




A probléma megoldásának a lépéseit
szemlélteti, a párhuzamosan zajló vezérlési
folyamatokkal együtt
Hasznos az üzleti vagy munkafolyamatok
modellezésére, használati esetek vagy konkrét
algoritmusok lefutásának leírására
Az állapotautomata egy változatának is
tekinthető, ahol az állapotok helyére a
végrehajtandó tevékenységeket tesszük, az
állapotátmenetek pedig a tevékenységek
befejezésének eredményeként valósulnak meg.
Action, Activity
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
16
Pénzfelvétel
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
17
Másodfokú egyenlet
megoldása
act Másodfokú egyenlet megoldás tev ékenység diagra...
Kezdőállapot
Egyenlet
paraméterei
Delta számítás
Első komplex gyök
számítása
Hamis
Komplex eredmények
kiírása
Delta pozitív
Második komplex gyök
számítása
Igaz
Első v alós gyök
számítása
Második v alós gyök
számítása
Valós eredmények kiírása
Dr. Johanyák Zs. Csaba - Szoftvertechnológia Végállapot
2014
18
Párhuzamos
feladatvégrehajtás
act Másodfokú egyenlet megoldás tev ékenység diagra...
Delta pozitív
Igaz

Elágazás (fork)
Első v alós gyök
számítása

Második v alós gyök
számítása
Csatlakozás (join)
Valós eredmények kiírása
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
19
Tevékenység diagram aktorok
szerinti partícióval
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
20
Kivétel
Mi idézheti elő?
 Külső esemény (pl.
adathordozóval megszakad a
kapcsolat)
 Időpont (pl. inaktív ftp kapcsolat
megszakítása)
 Esetválasztás (pl. hibás
paraméterezés következtében a
hívott metódus kivételt idéz elő)
 Célzott előidézés - továbbadás
(throw)
act Use Case Model
külső
esemény
Kiv ételkezelő
act Use Case Model
Kiv ételkezelő
normál tev ékenység
act Use Case Model
Védett csomópont
Kiv ételkezelő
Dr.Dr.
Johanyák
Johanyák
Zs.Zs.
Csaba
Csaba
- Szoftvertechnológia
- Szoftvertechn. - 2009
- 2014
21
Ismétlés
Alap tevékenységek

Követelményelemzés
(Mit is kellene csinálni? Mikorra, és mennyiért? –
megvalósíthatóság vizsgálata)

Tervezés (architekturális tervezés, absztrakt specifikáció,
interfész tervezés)

Implementálás (komponens tervezés, adatszerkezet
tervezés és algoritmus tervezés)

Kipróbálás, validálás, bevezetés (szoftverátvizsgálás
és tesztelés)

Működtetés, karbantartás, továbbfejlesztés,
leállítás
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
22
Diagram
Ismétlés
Szerkezeti
diagram
Osztály diagram
(class)
Objektumd.
(object)
Csomagdiagram
(package)
Összetevő d.
(component)
Összetett szerkezet d.
(composite structure)
Kialakítás d.
(deployment)
Kontextus diagram
Szakarchitektúra
diagram
Viselkedési
diagram
Tevékenység d.
(activity)
Használati eset
d.(use-case)
Állapotautomata
d.(state machine)
Kölcsönhatási
diagram
Sorrenddiagram
(sequence)
Kölcsönhatás
Dr. Johanyák Zs. Csaba - Szoftvertechnológia áttekintő d.
2014
(interaction
Kommunikációs d.
(communication)
Időzítés diagram
23
(timing)
Állapotgép
Az objektumok, a használati eseteknek és a
protokollok dinamikus viselkedését mutatja,
vagy a dialógusok lefutásának leírására is
alkalmas
 Állapot: az objektum állapotát az attribútumai
konkrét értékeinek n-esével jellemezzük.
 Tervezés és implementálás során
Állapotátmenet:
 két állapot közötti kapcsolat, amely kifejezi,
hogy egy adott állapotban lévő objektum egy
 esemény vagy valamely feltétel
bekövetkezésének hatására milyen másik
állapotba kerül

Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
24
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
25
Állapot
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
26
Álapotdiagram
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
27
Diszjunkt alállapotok
Állapotátmenetek
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
29
Egy kezdőállapot, több
végállapot
stm stm_pelda2
kezdés
do/v ilágos
gondolkozik
kezdőállapot
[világos feladja]
Hogyan lesz vége a játszmának?
sötét nyer
[megegyezés]
sötét lép világos lép
[megegyezés]
do/sötét gondolkodik
döntetlen
[sötét feladja]
Hogyan lesz vége a játszmának?
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
világos nyer
30
Állapotgép könyv – könyvtári
rendszer
Dr. Johanyák Zs. Csaba - Szoftvertechnológia 2014
31
Összetett állapotok


Állapotok aggregációja
Diszjunkt szub- vagy alállapotok
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
32
Állapotok aggregációja
class pelda
ed Trial Version
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version
A
A B és C alrendszerek
EA 7.1 Unregistered
Trial Version
párhuzamosan
EA 7.1 Unregistered Trial Version
működnek
ed Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version
ed Trial Version EA 7.1 Unregistered Trial Version
ed Trial Version EA 7.1 Unregistered Trial Version
ed Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version
erőforrás Trial Version
B
ed Trial Version C EA 7.1 Unregistered
EA
7.1 Unregistered Trial Version
ed Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version
ed Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version
ed Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version
Az A állapotát a B és C
állapotának az
ed Trial Version EA 7.1 Unregistered Trial Version
„összege” adja. Ezek
ed Trial Version EA 7.1 Unregistered Trial Version
egymással
ed Trial Version EA 7.1 Unregistered Trial Version
párhuzamosan kerülnek
ed Trial Version EA 7.1 Unregistered Trial Version
különböző
állapotokba.
ed Trial Version
EA 7.1 Unregistered
Trial Version
ed Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version
EA 7.1 Unregistered Trial Version
EA 7.1 Unregistered Trial Version
EA 7.1 Unregistered Trial Version
EA 7.1 Unregistered Trial Version
EA 7.1 Unregistered Trial Version
Dr. Johanyák Zs. Csaba - Szoftvertechnológia -
ed Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered
Trial Version
2014
33
d Trial Version EA 7.1 Unregistered Trial Version
Diszjunkt alállapotok
d Trial Version EA 7.1 Unregistered Trial Version
stm pelda
d Trial Version EA 7.1fékUnregistered
Trial Version
állapota
d Trial Version EA 7.1 Unregistered Trial Version
ki
behúz
kienged
be
d Trial Version EA 7.1 Unregistered Trial Version
d Trial Version EA 7.1 Unregistered Trial Version
d Trial Version EA 7.1 Unregistered Trial Version
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
34
Állapotátmenetek
Állapotgép - tanulmányi
rendszer - tantárgyfelvétel
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
38
Állapotgép - párátlanító
http://www.altova.com/umodel/state-diagrams.html
Dr. Johanyák Zs. Csaba - Szoftvertechnológia 2014
39
Szoftvertechnológia
TERVEZÉS
Dr. Johanyák Zs. Csaba - Szoftvertechnológia 2014
40
Tervezés





Szoftverarchitektúra beazonosítása (K-A-RM)
Felhasználói interfészeken lefutó interakciók
modellezése
Osztályok és felépítésük
Objektum életciklusok és objektum
interakciók kidolgozása
A tervezés során alkalmazható diagramok:
kontextus d., architektúra d., rendszermontázs d., tervezési osztálydiagram
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
41
Kontextus diagram
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
42
Táblázat
Ügyfél
Feladat
Mennyiség
Fajta
Betanítási idő
Pénzkivétel, mobil egyenleg
feltöltés, stb.
*
Természetes személy
-
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
43
Táblázat
Alkalmazott (pénzfeltöltő)
Feladat
Mennyiség
Fajta
Betanítási idő
Készpénz elhelyezése az
automatába
Heti két alkalom
Alkalmazott
Fél nap
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
44
Szakarchitektúra diagram
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
45
Összetett szerkezeti diagram


Composite structure diagram
Megmutatja egy osztály belső szerkezetét és
az egységek közötti együttműködési
lehetőséget.
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
46
Osztálydiagram


Az UML modellezésben leggyakrabban
használt diagramfajta. A rendszerben
található állandó elemeket, azok szerkezetét
és egymás közötti logikai kapcsolatát jeleníti
meg. Általában a rendszer logikai és fizikai
felépítésének ábrázolására szolgál.
UML-beli osztály NEM UGYANAZ, mint a
programozási nyelvek osztályfogalma! –
többféle jelentés
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
47
UML-beli osztály jelentései




Fogalom: Ez az elemzési/ tervezési fázisban
gyakori, ahol a szakterület fogalmait nevezzük
osztálynak
Típus: Ez már programozási nyelv közelibb; az
objektumok az osztály típus értékei, példányai.
Objektumhalmaz: Az osztály itt csak egy
csoportosítás, az azonos felépítésű objektumok
halmaza
Implementáció: Az OOP nyelvekben az osztály
egyszerűen csak egy implementáció (kód) is
lehet, amin az objektumai osztoznak
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
48
Szoftver életciklus fázisai 1.

Elemzési fázisban az osztály mint




Fogalom – igen
Típus – esetleg
Objektumhalmaz – nem
Implementáció (kód) - nem
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
49
Szoftver életciklus fázisai 2.

Tervezési fázisban az osztály mint




Fogalom – esetleg
Típus – igen
Objektumhalmaz – igen
Implementáció (kód) - esetleg
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
50
Szoftver életciklus fázisai 3.

Megvalósítási fázisban az osztály
mint




Fogalom – nem
Típus – igen
Objektumhalmaz – igen
Implementáció (kód) - igen
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
51
Osztálydiagram példa
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
52
Osztálydiagram
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
53
Osztálydiagram példa
Az osztályok közötti
kapcsolatok





Asszociáció/társítás (association)
Aggregáció/rész-egész kapcsolat
(aggregation)
Általánosítás (generalization)
Függőség (dependency)
Megvalósítás (realization)
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
55
Asszociáció

Reflexív asszociáció – Többes asszociáció
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
56
Aggregáció

Kompozíció (erős tartalmazás)

Gyenge tartalmazás
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
57
Példák
class Use Case Model
tó
kacsa
0..1
*
class Use Case Model
autó
kerék
4
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
58
További kapcsolatok

Általánosítás

Függőség

Megvalósítás
Dr. Johanyák Zs. Csaba - Szoftvertechnológia - 2014
59