Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
OMT esettanulmOMT esettanulmáánynyTornabajnoksTornabajnoksáág eredmg eredméény ny
nyilvnyilváántartntartóó rendszererendszereFicsor Lajos
Miskolci EgyetemÁltalános Informatikai Tanszék
FicsorLajos OMT esettanulmány OMTESET / 2
A megoldandó feladatA megoldandó feladat• A cél egy tornabajnokság eredmény
nyilvántartó rendszerének megtervezése. A rendszernek nyilván kell tartania a szereplőket, a versenyeket és az azokon elért eredményeket.
• Az előzetes feladat vázlat mellékelve.
FicsorLajos OMT esettanulmány OMTESET / 3
Követelmény analízis 1.Követelmény analízis 1.A leírás önmagában nem elegendő, mert
– pontatlan– hiányos
Beszerzendő további anyagok– szabálykönyvek, versenyszabályok stb.– eddig használt bizonylatok, dokumentumok– résztvevőkkel készített interjúk
Célszerűen elkészítendő:– összefoglaló rendszer specifikáció– rendszer funkciólista
FicsorLajos OMT esettanulmány OMTESET / 4
Követelmény analízis 2.Követelmény analízis 2.Összefoglaló rendszer specifikációTORNA rendszer 1.0 verzió, RendszerspecifikációA rendszernek az alábbiakat kell tudnia:
– Az egyes versenyek struktúrájának (a versenyszámok, azokon belül a szerek) nyilvántartása
– A egyesületek és versenyzőik, valamint a versenyeken résztvevő csapatok összetételének nyilvántartása
– A versenybírók nyilvántartása, ezen belül hogy melyikük melyik szer pontozására jogosult, melyik versenyre van kijelölve, és ott kinek milyen pontszámokat adott.
– A versenyek és az eredmények folyamatos nyilvántartása
FicsorLajos OMT esettanulmány OMTESET / 5
Követelmény analízis 3.Követelmény analízis 3.Rendszer funkciólistaTORNA rendszer 1.0 verzió, Funkciólista
– Egy csapat nevezése egy versenyre– Egy csapat nevezése egy versenyszámba– Csapat összetételének változtatása– Bíró kijelölése egy szerhez– Az egyes szerek és versenyek eredményei– A szezonon belüli sorrend számítása– Értesítés a verseny beosztásról a versenyzőknek és
a bíróknak
FicsorLajos OMT esettanulmány OMTESET / 6
Osztályok azonosítása 1.Osztályok azonosítása 1.• A feladat egy tornabajnokság eredményeit
nyilvántartó rendszer készítése. A rendszernek automatizálnia kell a versenyek kiírását, a versenyzők regisztrálását és az eredmények nyilvántartását egy versenyszezonon belül.– tornabajnokság maga a rendszer, a kiírás,
regisztrálás és eredmények nyilvántartásaoperáció.
– szezon egy absztrakció - potenciális osztály.
FicsorLajos OMT esettanulmány OMTESET / 7
Osztályok azonosítása 2.Osztályok azonosítása 2.• A tornaszövetség egyesületek együttese,
a csapatok egymás ellen versenyeznek. Minden csapat a tagjait nevezheti az egyes versenyekre.– az aláhúzottak osztályként kezelendők.– A verseny azonban még nem eléggé tisztázott
fogalom.– Hasonlóan nem tisztázott a csapat (csapat =
egyesület?)
FicsorLajos OMT esettanulmány OMTESET / 8
Osztályok azonosítása 3.Osztályok azonosítása 3.• Egy tipikus verseny versenyszámokból áll, amelyeket egy
napon belül bonyolítanak le. Egy versenyszám lehet például a női csapat, női egyéni, férfi csapat stb. Mindegyik lehet junior és felnőtt korosztály számára kiírva. Ha egy egyesület jelentkezik egy versenyre, minden versenyszámban indítania kell versenyzőket. Minden versenyszámra minden csapat ugyanannyi versenyzőből áll, akiknek a versenyszám valamennyi szerén indulniuk kell.– duplán aláhúzott szöveg: csapat jelentése– verseny, versenyszám, szer osztályok– női csapat, stb csak a versenyszám osztály
előfordulásai.– nap csak egy adatstruktúra.
FicsorLajos OMT esettanulmány OMTESET / 9
Osztályok azonosítása 4.Osztályok azonosítása 4.• Minden versenyszámban különböző
szereken kell versenyezni. Például a női verseny gerendából, ugrásból, felemás korlátból és talajgyakorlatból áll. Minden szer egyidőben használatban van. Egy csapat minden tagja bemutatja a gyakorlatát egy szeren, majd megy a következő szerhez.– Csak előfordulások.
FicsorLajos OMT esettanulmány OMTESET / 10
Osztályok azonosítása 5.Osztályok azonosítása 5.• Minden szerhez pontozóbírók vannak kijelölve, akik értékelik
a gyakorlatokat. Minden bíró pontozza a gyakorlatokat. Az általa adott pontszámot jelenti a pontozónak. A pontozóelhagyja a legalacsonyabb és a legmagasabb pontszámot, és a maradék átlagát számítja. Ez lesz az adott versenyzőeredménye az adott szeren. A csapat eredménye az adott szeren a tagjai egyéni pontszámainak összege.– A bíró osztály– a pontozóbírók egy kapcsolat a szer és a bíró osztály között.– A pontszám absztrakció, de nem osztály, csak adattípus.– A pontozó osztálynak látszik. Az automatizált rendszerben
megszűnik szereplőnek lenni, és csak egy operáció marad (adatok összegyűjtése és számítás végzése). Tehát nem osztály.
FicsorLajos OMT esettanulmány OMTESET / 11
Osztályok azonosítása 5.Osztályok azonosítása 5.• A szerenkénti eredmények összege adja a
versenyszámban elért eredményt minden egyes csapatnál.– Az eredmény csak attribútuma egy már ismert
osztálynak
FicsorLajos OMT esettanulmány OMTESET / 12
Osztályok azonosítása 6.Osztályok azonosítása 6.• A szövetség az egyes versenyek
lebonyolításán felül elkészíti egy szezonra a versenynaptárt, biztosítja a bírók delegálását az egyes versenyekre és szerekre, nyilvántartja a versenyzők és az egyesületek eredményeit, és nyilvánosságra hozza a szezon eredményeit.– a versenynaptár és a szezon eredményei az eddig
ismert osztályok adataiból származtathatómennyiségek (A tervezés során ezekből is osztály válhat.)
FicsorLajos OMT esettanulmány OMTESET / 13
Osztályok azonosítása 5.Osztályok azonosítása 5.• A tag és a versenyző fogalmak vizsgálata
– lehetséges osztályokként jelöltük meg– Mindkét fogalom mögött ugyanaz a természetes
objektum (egy személy) áll - a szövegben közvetlenül nem szereplő absztrakció: a tornászosztály.
– Egy tornász objektum egyszerre tag (egy egyesületben) és lehet versenyző, ha nevezik egy versenyre.
– A tag és a versenyző tehát kapcsolatok a tornászosztály és más osztályok között.
FicsorLajos OMT esettanulmány OMTESET / 14
Osztályok azonosítása 6.Osztályok azonosítása 6.
Szezon
Verseny
Szövetség
Versenyszám
Csapat
Szer
Bíró
TornászEgyesület
FicsorLajos OMT esettanulmány OMTESET / 15
Osztályok leírásaOsztályok leírásaCsapat: Egyesületi tagokból az egyesület nevezi.Egyesület: Az egyesület tagjai versenyezhetnek.Szezon: A szezon az az időszak, ami alatt a
versenyek zajlanakSzövetség: A szövetség egyesületekből áll.Verseny: A verseny csapatok találkozója.
Versenyszámokból áll.Versenyszám: A versenyszámban versenyeznek
egymással a csapatok. Szerekből áll.
FicsorLajos OMT esettanulmány OMTESET / 16
Osztályok közötti kapcsolatokOsztályok közötti kapcsolatok
Szezon
Verseny
verseny kiírás
Versenyszám
meghirdetés
Szerelõírás
Bíró
pontozóbírók
Szövetség
pontoz Gyakorlat
teljesítés
pontozó
Csapat
jeletkezõ
Tornász
teljesítlés
versenyzõ
Egyesület
nevezés
résztvevõ
tag
FicsorLajos OMT esettanulmány OMTESET / 17
Kapcsolatok finomításaKapcsolatok finomítása• szer-bíró kapcsolat: bíráskodik vagy bíráskodhat?
TornászGyakorlat
teljesítlés
Gyakorlat
teljesítés
Szer típus
fajta
Bíró
pontozóbírók
pontoz
minõsített
Szer
FicsorLajos OMT esettanulmány OMTESET / 18
Kapcsolatok számosságaKapcsolatok számossága
Szezon
Verseny
1..*
1
1..*
1
verseny kiírás
Csapat Tornász
1..*1 1..*1
versenyzõ
Egyesület1
0..*
1
0..*
nevezés
1..*
1
1..*
1tag
Versenyszám
1..*
1
1..*
1
meghirdetés
1..*
1..*
1..*
1..*
jeletkezõ
SzerGyakorlat
1..*1 1..*1 elõírás
Szövetség
1..*
1
1..*
1résztvevõ
Gyakorlat
1
1..*
1
1..*
tel jesítlés
1..*1..*
teljesítés
Bíró
*
*
*
*
pontozóbírók
1..*1
1..*1
pontoz
1..*1..* 1..*1..* pontoz
Szer típus
*
1
*
1
fajta
*
*
*
*minõsített
11
FicsorLajos OMT esettanulmány OMTESET / 19
Attribútumok azonosításaAttribútumok azonosítása• új osztályokat is találhatunk. pl. tornász -
egyesület viszonyaTornász
s zuletesi_datum : Date
Egyesületnev : String
Tagságkezdete : Datevege : Date
1..*
1
1..*
1
jelentkezés
1
1..*
1
1..*
tag
FicsorLajos OMT esettanulmány OMTESET / 20
Általánosítás Általánosítás -- pontosításpontosítás• pl. tornász és bíró
Résztvevõnév : Stringcím : String
Tornászszuletesi_datum : Date
Bíró
kijelolt()minositett()
FicsorLajos OMT esettanulmány OMTESET / 21
Új osztálydiagramÚj osztálydiagram
Szezonkezdet : Date
Versenyidõpont : Datehelyszín : String
1..*
1
1..*
1
verseny k iírás
Versenyszámelõírás : Szer
1..*1..* meghirdetés
SzerGyakorlat
1..*1 1..*1 elõírás
Bíró
kijelolt()minositett()
*
*
*
*
pontozóbírók
Szer típus
*
1
*
1
fajta
*
*
*
*minõsített
Objektum modell kapcsolatokkal és attributumokkal
Gyakorlat1..*
1
1..*
1
teljesítés
1..*1..* 1..*1..*pontoz
Csapat
1..*
1..*
1..*
1..*
jeletkezõ
Szövetségnév : Stringrésztvevõ : Egyesület
1.. *1
1..*1
pontoz
Tornászszuletesi_datum : Date
1
1..*
1
1..*
teljesítlés
1..*1 1..*1
versenyzõ
Tagságkezdete : Datevege : Date
11..* 11..*jelentkezés
Egyesületnev : String1
0..*
1
0..*nevezés
1..*
1
1..*
1
résztvevõ
1..*1 1..*1
tag
Résztvevõnév : Stringcím : String
(Nem teljes!)
11
FicsorLajos OMT esettanulmány OMTESET / 22
Dinamikus modell 1.Dinamikus modell 1.• Use case: Egy bíró
kijelölése egy adottszeren bíráskodókközé:
1. Ha a bíró még nincs kijelölve
2. és a bíró minősített az adott szerre
3. add a bírót az adott szerre kijelölt bírákhoz
Pl. együtműködési diagr.
: Szer
Talajgyakorlat : Szer típus
Új bíró : Bíró
3: add_biro( )
1: kijelolt( )
2: minositett
FicsorLajos OMT esettanulmány OMTESET / 23
Dinamikus modell 2.Dinamikus modell 2.• Use case: Egy tornász pontszámának számítása egy
adott versenyen:1. Egy verseny valamennyi szerére vegyük a tornász
pontszámát2. Vegyük a pontszámot a gyakorlatra, amelyet a
tornász bemutatott3. Minden bíróra a bírói testületből vegyük a
pontszámot, amit a bíró a gyakorlatra adott
FicsorLajos OMT esettanulmány OMTESET / 24
Dinamikus modell 3.Dinamikus modell 3.
• Ebből adódik:– szükséges operációk– kapcsolatok:
• verseny - versenyszám• versenyszám - szerek• szerek - bírók
– a pontszám a bíró és a szer közötti kapcsolat attribútuma - jobb lenne, ha osztály lenne
: Verseny
szer : Szer
gyakorlat : Gyakorlat
biró : Bíró
1: pontoz(tornász)
2: osszes_pontszam()
3: pontszam()
FicsorLajos OMT esettanulmány OMTESET / 25
Dinamikus modell 4.Dinamikus modell 4.Bíró
kijelolt()minositett()untitled()
Gyakorlatpontszamok : Pontszám
nyers_pontszam()eredmeny()
Pontszám
1..*
1
1..*
1
pontozó
1
1..*
1
1..*
FicsorLajos OMT esettanulmány OMTESET / 26
Funkcionális modell 1.Funkcionális modell 1.Kontext diagram:
Szervezõ Egyesület
TornászBíró
Verseny eredménynyilvántartás
Adott pontok
KijelölésEgyéni eredmények
Csapat eredmények
Csapat nevezéseVerseny helyszínek
Verseny idõpontok
FicsorLajos OMT esettanulmány OMTESET / 27
Funkcionális modell 2.Funkcionális modell 2.Első szintű adatfolyam diagram:
2Versenyeek lebonyolítása
1Versenynaptár összeállítás
3Eredménylisták közzététele
Szervezõ TornászEgyesület
Bíró
D verseny adatok D Eredmények
Összesített pontszámok
Pontszámok
Egy verseny résztvevõi
Nevezett csapatok
Versenynaptár
Verseny helyszínek
Verseny idõpontok
Csapat nevezése Csapat eredmények Egyéni eredmények
Adott pontok
Kijelölés
FicsorLajos OMT esettanulmány OMTESET / 28
Műveletek azonosításaMűveletek azonosításaObjektum modell kapcsolatokkal, attributumokkal és operációkkal
Résztvevõnév : Stringcím : String
(Nem teljes!)
Szezonkezdet : Date
verseny_kiiras()
Versenyidõpont : Datehelyszín : Stringmeghirdetes : Versenyszám
egyesulet_regisztr()
1.. *
1
1..*
1
verseny kiírás
Egyesületnev : String
Szövetségnév : Stringrésztvevõ : Egyesület
1..*
1
1..*
1résztvevõ
Versenyszámelõírás : Szer
csapat_nevezes()egyeni_eredmenyek()
1.. * 11..* 1meghirdetés
Szer típus
Csapat
1..*
1..*
1..*
1..*
jeletkezõ
1
0..*
1
0..*
nevezés
Tagságkezdete : Datevege : Date
1..*1 1..*1
tag
Bíró
kijelolt()minositett()untitled()
1..*1
1..*1
pontoz
*
*
*
*
minõsített
SzerGyakorlat
csapat_pont(csapat : Csapat) : Integeradd_gyakorlat()add_biro()
1..*1 1..*1 elõírás
*1
*1 fajta
*
*
*
*
pontozóbírók
Tornászszuletesi_datum : Date
1..*1 1..*1
versenyzõ
1
1..*
1
1..* jelentkezés
Pontszám
1
1..*
1
1..*pontozó Gyakorlat
pontszamok : Pontszám
nyers_pontszam()eredmeny()
1..*
1
1..*
1
teljesítés
1
1..*
1
1..*
teljesítlés
1..*1
1..*1
(Funkcionális modell után)
FicsorLajos OMT esettanulmány OMTESET / 29
Alrendszerekre bontás 1.Alrendszerekre bontás 1.Csomag diagram
Torna GUI
Eredmény nyilvántartás
Adattárolás
Felhasználói felület
Adatszerkezetek<<globális>>
FicsorLajos OMT esettanulmány OMTESET / 30
Alrendszerekre bontás 2.Alrendszerekre bontás 2.Komponens diagram
Versenynaptár
Verseny lebonyolítás
Eredmény listák
Résztvevõk nyilvántartása
FicsorLajos OMT esettanulmány OMTESET / 31
A rendszer topológiájaA rendszer topológiájaTelepítési diagram
Szövetségi szerver Versenyre telepített laptop
Egyesületi munkaállomások Adatbázis szerver (A
szövetségnél)
File
FileInternet LAN
FicsorLajos OMT esettanulmány OMTESET / 32
Vezérlés elvének meghatározásaVezérlés elvének meghatározásaFunkciónként különböző lehet• Batch módban
– verseny jegyzőkönyv– eredmény listák
• Interaktív módban– verseny eredmények