catalysis metodas
TRANSCRIPT
Turinys
Įžanga...................................................................................................................................................3
Catalysis metodas.............................................................................................................................3
Catalysis ypatumai...............................................................................................................................7
Panaudojimo paskirtis..........................................................................................................................9
Našumai..............................................................................................................................................10
Diagramų pavyzdžiai ir aprašymai.....................................................................................................11
Faktų arba pavyzdžių diagrama......................................................................................................11
Diagramos žymėjimai.................................................................................................................11
Tipų diagramos...............................................................................................................................12
Diagramos žymėjimai.................................................................................................................12
Būsenos diagrama...........................................................................................................................14
Diagramos žymėjimai.................................................................................................................15
Sąveikos diagrama..........................................................................................................................16
Diagramos žymėjimai.................................................................................................................16
Sekų diagrama................................................................................................................................16
Diagramos žymėjimai.................................................................................................................17
Bendradarbiavimo diagrama..........................................................................................................17
Diagramos žymėjimai.................................................................................................................18
Paketų diagrama.............................................................................................................................18
Diagramos žymėjimai.................................................................................................................18
Struktūrinio šablono modelis..........................................................................................................19
Diagramos žymėjimai.................................................................................................................19
Išvados................................................................................................................................................21
Literatūros sąrašas..............................................................................................................................22
Įžanga
Catalysis yra naujos kartos požiūris į sistemingo verslo poreikių plėtros komponentais
pagrįstas sistemas, remiantis UML (Unified Modeling Language). Nuo 1992 metų plėtros ir
taikymo pradžios ji buvo pradėta naudoti finansų, telekomunikacijų, draudimo, gamybos, procesų
valdymo, skrydžių imitavimo, kelionių ir transporto bei sistemų valdymo srityse.
Catalysis yra nepatentuotas metodas, naudojamas daugelyje projektų. Jo kūrėjai yra
Desmond D’Souza ir Alan Wills, kurie bendrai parašė Catalysis knygą.
Catalysis metodas
Catalysis – tai sudėtingas ir detalus komponentinio kūrimo metodas, pagrįstas UML
standartu. Catalysis metodas apibrėžia sistemingą ir lankstų sistemų kūrimo procesą, pasižymintį
sekančiomis savybėmis:
• sudaro galimybes vartotojams ir programinės įrangos kūrėjams dalintis aiškiu ir tiksliu
žodynu;
• nagrinėja sistemos veiklą bei sistemą sudarančius komponentus viename kontekste;
• tikslus komponentų sąsajų specifikavimas;
• komponentų architektūros sudarymas;
• sistemų kūrimui naudojamos objektinės ir komponentinės technologijos;
• palikuoninių komponentų integravimas, kuriant naujas sistemas;
• veiklos ir aparatūrinės įrangos patikimos komponentų architektūros sudarymą;
• šabloninis dalykinės srities modelių, komponentų, sąsajų, kodo ir procesų pakartotinis
panaudojimas;
• veiklos procesų atsekamumo patobulinimas.
Komponentų specifikacijos apibrėžiamos tipų modeliais, kuriuos sudaro aibė atributų,
veiksmų ir sąveikų, nusakančių sistemos elgsenos specifikaciją (1 pav.).
2
Pav. 1: Konceptualus modeliuojamų objektų modelis
Projektuojant komponentų elgseną, identifikuojami visi operacijų dalyviai, veikiantys
operacijų įėjimo parametrus bei nulemiantys operacijų rezultatus. Todėl įvedama operacijos
abstrakcijos sąvoka – veiksmas (6 pav.). Kiekvienas veiksmas siejamas su keliais dalyviais – vienas
iš jų yra veiksmo iniciatorius. Prieš1 ir po2 sąlygų specifikacijos nusako veiksme sąveikaujančių
dalyvių būsenų pasikeitimus.
Pav. 2: Būsenų pasikeitimų modeliavimas
1 Sąlygos, prie kurių garantuojama operacijų po sąlyga2 Operacijos poveikis operacijų parametrų ir informacinio modelio atžvilgiu
3
Objektų bendradarbiavimo sąvoka nusako objektų tipų, vaidinančių tam tikras
vaidmenis, veiksmų aibę. Veiksmai aprašomi tipų modeliais, kuriais dalinasi visi konkrečios
sąveikos dalyviai. Veiksmai skirstomi į sekančias grupes:
• jungtiniai – veiksmų atsakomybė nesiejama su sąveikoje dalyvaujančiomis
objektų tipų vaidmenimis, veiksmą nusako keletas dalyvių;
• lokalizuoti – veiksmų atsakomybė priskiriama konkrečioms sąveikoje
dalyvaujančiomis objektų tipų vaidmenims, veiksme dalyvauja tik „gavėjas“;
• išoriniai arba vidiniai objektų tipų sąveikos atžvilgiu.
Sekančiame sistemos elgsenos specifikavimo žingsnyje realizuojamas
bendradarbiavimo modelių apjungimas. Tokiu būdu, kiekvienas objektų tipų bendradarbiavimo
atvejis apibrėžia konkrečios objektų aibės jungtinius veiksmus (3 pav.).
Pav. 3: Sąveikų modeliavimas
Modeliuojant komponentų architektūrą, komponentai jungiami, naudojant komponentų
sąveikos elgseną charakterizuojančias jungtis (4 pav.), kurių pobūdis nusakomas įvairiais
stereotipais: <<Event>>, <<Property>>, <<Trandfer>>, <<Transaction>>.
4
Pav. 4: Komponentų ir jų sąsajų modeliavimas
5
Catalysis ypatumai
Catalysis specialiai komponentų kūrimui orientuotas metodas, tačiau stokoja
projektavimo valdymo elementų.
Catalysis analizavome pagal šiuos kriterijus:
Pagrindiniai metodo pricipai Projektavimo darbų sekos, kurios nusako projektavimo fazes Projektavimo fazes metu atliekami darbai Projektavimo darbų rezultatai
Pagrindiniai Catalysis metodo aspektai: detalios diagramos, griežti aprašymai, gera semantinė bazė, įvairūs abstrakcijos lygiai. Šiuos aspektus išreiškia Catalysis metodo principai:
abstrakcija – atkreipti dėmesį į esminius aspektus, o ne į detales; tikslumas – kuo anksčiau atskleisti spragas ir nesuderinamumą, sudaryti tikslius
modelius; suderinamumas - visi darbai baigiami atskirų dalių komponavimu, pritaikymu.
Catalysis metodą galima taikyti įvairiais būdais, čia apsiribosime komponentų sistemos projektavimu nuo nulio.
Pav. 5: Catalysis darbų ir sekos rezultatas
6
Atsekamumas iš verslo modelių į kodą. Tos pačios technikos ir žymėjimai pritaikomi
iš verslo lygio į kodą. Aiškūs ir tikslūs ryšiai: verslas, projektas ir kodas. Patobulintas pakeitimų
valdymas, testavimas, palaikymas.
Tikslumas. Anksti atskleidžia svarbias problemas. Sukuriami aiškūs, glausti
dokumentai ir modeliai. Sukuriamas aiškus ir bendras žodynas tarp visų suinteresuotų šalių.
Tobulinimas paremtas komponentais. Didelis suderinimas su sąsajų projektais.
Juodosios dėžės aprašymai tų komponentų kurie yra aiškūs ir paprasti. Aiškūs apibrėžimai ir
suderinimas su struktūriniu tobulinimu. Aiškios adresų problemos susijusios su verslo komponentų
integracija. Veda į greitą surinkimą ir lankstų konfigūravimą iš detalių.
Didelis dėmesys ir esminis suderinimas su pakartotiniu panaudojimu. Pakartotinai
panaudojamas ne tik įdiegimas, bet ir sąsajos, struktūros ir modeliai. Pašalinami bereikalingi,
pakartotiniai darbai, kiekvienas svarbus projektas, struktūrinis elementas kuriamas tik vieną kartą.
7
Panaudojimo paskirtis
Veiklos modeliavimo metu siekiama sukurti tokį sistemos modelį, kokį jį įsivaizduoja
vartotojai. Sudaromos veiklos taisyklės, kurios apibrėžia tam tikrus veiklos aspektus, statinės
diagramos, nesakančios sistemos būsenas po tam tikrų veiksmų, identifikuojami veiklos objektai.
Konteksto modeliavimo tikslas – apbrėžti sistemos ribas ir jos santykį su išorine aplinka.
Konteksto modeliavimas remiasi veiklos modeliavimo rezultatais – iš veiklos modelio siekiama
išskirti tik tuos elementus, kurie susiję su būsima sistema. Identifikavus sistemos ribas, reikalavimai
išreiškiami per panaudojimo atvejus.
Sistemos elgsenos specifikavimo metu sistema nagrinėja kaip nedalomas vienetas.
Apibrėžiami jos veiksmai, tipai, su kuriais ji dirba. Naudojantis veiklos modeliu, sukuriama
sistemos tipų specifikacija, detalizuojami atskiri veiksmai, atributai, būsenos ir bendradarbiavimas.
Komponentų projektavimo fazėje identifikuojami sistemos komponentai, sukuriamos jų
specifikacijos, komponentai integruojami. Komponentų identifikavimas būna horizontalus ir
vertikalus. Horizontalus komponentų identifikavimas atliekamas pagal fasadus – sistemos lygius,
turinčius savarankiškas sąsajas (taip atskiriami veiklos logikos ir technologiniai komponentai).
Vertikalus komponentų identifikavimas atliekamas naudojantis tipų modelyje išskirtais veiksmais –
jie grupuojami, veiksmų grupės jungiamos į komponentus. Identifikuotiems komponentams
sukuriamos specifikacijos (apibrėžiami veiksmai bei tipų diagramos), ir jie apjungiami į bendrą
architektūrą.
Identifikuoti ir specifikuoti komponentai laikomi savarankiškomis sistemomis, kurioms
galima toliau rekursyviai taikyti jau aprašytą elgsenos specifikavimo ir vidinės struktūros
projektavimo algoritmą. Taip komponentai skaldomi į mažesnius, kol pasiekiamas objektų lygis ir
tolesnis skaidymas neturi prasmės. Tada galima pereiti prie realizacijos.
8
Našumai
Catalysis veiklos modeliavime pateikia žymiai detalesnį modelį, kuris įgalina geriau
suprasti veiklos sritį ir jau pirmoje fazėje identifikuoja pagrindinius reikalavimus.
Projektavime šis metodas yra griežtai orientuotas i komponentus.
9
Diagramų pavyzdžiai ir aprašymai
Faktų arba pavyzdžių diagrama
Pavyzdžiai atvaizduoja sistemos būseną tam tikru laiko momentu.
Pav. 6: Faktų diagrama
Diagramos žymėjimai
Objektai. Tai atskiros sistemos esybės. Jie turi tapatybę, elgesį, būseną.
Pav. 7: Objektas
Pav. 8: Objektas su atributais
Ryšiai. Pavyzdžių diagramoje ryšiai parodo tam tikrus atributus, kuriuos objektas turi
tam tikru laiku. Ryšiai gali būti įtraukti į objekto simbolį arba, jei objektas yra kito objekto
atributas, galima sujungti du objektus.
Pav: 9. Ryšys
Pav. 10: Ištrintas ryšys
10
Prieš sąlygą ir po sąlygos pavyzdžiai. Tam, kad pavaizduoti kaip veiksmai veikia
objektų būseną, Catalysis sudaro prieš ir po sąlygos pavyzdžius.
Pav. 11: Prieš sąlygą ir po sąlygos diagrama
Tipų diagramos
Tipų diagramos pavaizduoja sistemos statišką esme, taip pat kaip UML klasių diagrama.
Pav. 12: Tipų diagrama
Diagramos žymėjimai
Tipas. Tai objekto abstrakcija, panašiai kaip klasė.
Pav. 13: Tipas
Asociacija. Atvaizduoja atvirkštinių atributų poras. Jie sukuriami, sujungiant tipus.
Pav. 14: Tiesioginė asociacija
11
Pav. 15: Neapibrėžta asociacija
Pav. 16: Gaunama asociacija
Pav. 17: Kriterinė asociacija
Pav. 18: Asociacija pagal tipą x
Pav. 19: Nuolatinė asociacija
Kardinalumas. Dedami asociacijos pabaigoje. Šie žymėjimai parodo sujungto tipo
egzempliorių skaičių susietų su kito tipo egzemplioriumi.
Pav. 20. Vienas
Pav. 21: Nulis arba vienas
Pav. 22: Nulis arba daug
Pav. 23: Tarp m ir n
Statinis nekintamumas. Tai „Boolean“ išraiška, kuri turi būti teisinga kiekvienam tipų
diagramos egzemplioriui.
12
Sudėtinis modelis. Jie detaliai atvaizduoja tipų specifikacijas pavaizduotas tipo
konstrukcijoje.
Pav. 24: Sudėtinis modelis
Paveldėjimas. Kaip ir kituose objektiniuose metoduose, potipiai paveldi specifikacijas
iš super tipų.
Pav. 25: Paveldėjimas
Būsenos diagrama
Catalysis naudoja būsenos diagramas, kad pavaizduoti kaip tipai progresuoja
skirtingomis situacijomis (būsenomis) per savo gyvavimo ciklą.
Pav. 26: Būsenų diagrama
13
Diagramos žymėjimai
Būsena. Tai būsena ar padėtis gyvavimo cikle.
Pav. 27: Būsena
Super būsena. Po būsenos gali būti įterptos į super-būsenas.
Pav. 28: Super-būsena
Sutampančios būsenos. Būsenos vykstančios tuo pačiu metu.
Pav. 29: Sutampančios būsenos
Perėjimas.
Pav. 30: Perėjimas
Pradžios būsena.
Pav. 31: Pradžios būsena
Pabaigos būsena.
Pav. 32: Pabaigos būsena
14
Sąveikos diagrama
Sąveikos diagrama parodo veiksmus tarp sujungtų objektų.
Pav. 33: Sąveikos diagrama
Diagramos žymėjimai
Veiksmas. Pavaizduoja veiksmus.
Pav. 34: Veiksmas
Pranešimų srautas. Pavaizduoja pranešimų srautą, numeruojant veiksmus, naudojant
„Dewey“ dešimtainę sistema.
Pav. 35: Pranešimų srautas
Sekų diagrama
Sekų diagramos parodo sistemos pranešimų tarpusavio priklausomybes.
Pav. 36: Sekų diagrama
15
Diagramos žymėjimai
Veiksmo iniciatorius. Šiuo simboliu žymimas objektas, kuris inicijuoja pranešimą.
Pav. 37: Veiksmo iniciatorius
Veiksmo trukmė. Trukmės žymėjimai parodo kiek reikia laiko, kad įvykdyti užduotį.
Pav. 38: Veiksmo trukmė
Pranešimai.
Pav. 39: Pranešimai
Bendradarbiavimo diagrama
Bendradarbiavimo diagramos iliustruoja veiksmus, kurie yra sugrupuojami kartu, nes
turi tą patį tikslą.
Pav. 40: Bendradarbiavimo diagrama
16
Diagramos žymėjimai
Bendradarbiavimas. Lentelė su 3 dalimis, rodanti veiksmų bendradarbiavimą.
Pav. 41: Bendradarbiavimas
Paketų diagrama
Paketų diagrama atvaizduoja priklausomybes tarp susietų objektų programoje.
Pav. 42: Paketų diagrama
Diagramos žymėjimai
Paketas. Paketai sutraukia atskirus programinės įrangos objektus. Paketuose gali būti
kitokių tipų diagramos, patobulinimai, programinis kodas ar neformali dokumentacija.
Pav. 43: Paketas
17
Pratęsimas. Tai specialus importavimo tipas. Kai importuotojas pratęsia importuotą
paketą, tai prideda apibūdinimą.
Pav. 44: Pratęsimas
Struktūrinio šablono modelis
Pav. 46: Model Framework diagrama
Diagramos žymėjimai
Struktūra. Struktūrai atvaizduoti taikomas toks šablonas
Pav. 47: Stuktūros šablonas
18
Žymeklis. Žymeklis nurodo tipų ir objektų, kuriuos galima pakeisti struktūroje yra
paveldėjimas.
Pav. 48: Žymeklis
Struktūrinė programa. Kai norime atvaizduoti programą struktūriniame šablone, ja vaizduojame
ovale ir jungiame punktyrine linija.
Pav. 459: Struktūrinė programa
19
Išvados
Darbo metu buvo išnagrinėtas „Catalysis“ metodas, jo panaudojimo paskirtis, trumpai
aprašytas našumas.
Taip pat buvo aptarta šios Catalysis metodo UML diagramos:
Faktų ir pavyzdžių
Tipų
Būsenos
Sąveikos
Sekų
Bendradarbiavimo
Paketų.
20
Literatūros sąrašas
1. What is Catalysis. [žiūrėta 2012-02-11] Prieiga per Internetą:
<http://www.catalysis.org/index.html>.
2. D’Souza, Desmond ir Wills, Alan. The Catalysis Approach. [žiūrėta 2012-02-11] Prieiga per
Internetą: <http://www.catalysis.org/books/ocf/index.htm>.
3. Catalysis diagramos. [žiūrėta 2011-02-12] Prieiga per Internetą:
<http://www.smartdraw.com/resources/tutorials/type-diagrams/#/resources/tutorials/
Introduction-to-Catalysis-Diagrams>.
21