Jazyk UML – unified modelling · PDF fileŠtrukturálne UML diagramy o...

Preview:

Citation preview

JazykUML–unifiedmodellinglanguage- VšeobecnýmodelovacíjazykpreSWinžinierstvo- Od1997JetoštandardskupinyObjectManagementGroup(OMG)- Niejetometódatvorbyarchitektúry,tošpecifikujúRUP,TOGAF,...- UMLposkytujeprostriedkyakoarchitektúruvizuálnepopísať-špecifikujeveľadruhovdiagramov

Štrukturálne UML diagramy

o Diagramtried(classdiagram)§ Vyjadrujúlogickúštruktúrusystému,akéatribútymajúaakosasprávajú(užsmemaliveľapríkladov...)

o Diagramkomponentov§ Závislostimedzikomponentamiaichorganizácia

o Diagramnasadenia§ Akoakdeječonasadené,čosakdevykonáva

o Diagrambalíkov§ Organizáciaprvkovdobalíkovazávislostimedzinimi

o Diagramobjektov§ inštancietriedaichvzťahyvnejakomčase

o Kompozitnýdiagram§ odrážainternúspoluprácutried,rozhraníakomponentovatýmpopisujefunkcionalitu

Príklad – diagram komponentov - príklad [AdminComponent]:

Vysvetlivky

- port - rozhranie

Príklad - Diagram nasadenia (deployment diagram)

Hardvérové zariadenia sú zobrazené ako uzly. Medzi uzlami sú vzťahy, ktoré odpovedanú fyzickému nasadeniu zariadení.

uzol, zariadanie, prostredie, ...

Príklad Diagram balíkov (package diagram)

Diagram balíkov znázorňuje organizovanie elementov do balíkov a závislosti medzi balíkmi. Vizualizuje aj priestory mien (namespaces).

balík

Diagram objektov (object diagram) Diagram tried Diagram objektov

, Diagram objektov • znázorňujeinštancietriedaichvzťahyvnejakomčase• objektymajúnázvy,používasanotácia<názov_objektu>:<názov_triedy>

Kompozitný diagram (composite structure diagram) • odrážainternúspoluprácutried,rozhraníakomponentovatýmpopisujefunkcionalitu

Definovanie spolupráce (collaboration) Využitie zadefinovanej spolupráce (collaboration use / occurecne)

Na rozdiel od diagramov tried, ktoré popisujú statické štruktúry a vzťahy • Kompozitnédiagramymodelujúšpecifickévyužitieštruktúry,Run–timevzťahy,vzorypoužitia,...• Bestspracticejemodelovať„spolupráce“abyvytváraliznovuvyužiteľnévzory

Behaviorálne UML diagramy - Diagramyaktivít

o Modelujúsprávaniesasystémuaspôsobakýmjetotosprávaniepreviazanéstokominformáciívsystéme

- Diagramypoužitia(Usecasediagram)o previazaniamedziaktérmiačinnosťami,ktorépomocousystémumôžuvykonávať.Popisujúsafunkčnépožiadavkynasystém–akoaktérisosystémompracujúaakosystémreaguje.

- Stavovédiagramyo Stavovédiagramyilustrujú,akosaelementmôžepresúvaťmedzistavmi,súvysvetlenéspúšťačeapodmienky(tentodiagramsmevyužilipripopisestavovtranzakcie)

- Časovédiagramyo Správaniesaviacerýchobjektovvnejakomčasovomúseku

- Sekvenčnédiagramyo Popisujúsprávaniesapomocousekvenčnýchkrokovvčase.

- Komunikačnédiagramyo Popisujúinterakciemedzielementamivčase–vývojvzťahovmedziobjektami

- Diagramisprehľadominterakcii

Diagram aktivít (activity diagram)

Diagramy aktivít sú používané na modelovanie správania sa systému. Môžu sa takto popisovať procedúry. Aktivity môžu byť súčasťou procesov, workflowov atď...

začiatok, koniec, rozhodnutie, fork/spájanie, očakávanie (vstupné/výstupné parametre), aktivia

Diagram prípadov použitia (use case diagram)

Diagram prípadov použitia mapuje previazania medzi aktérom a činnosťami, ktoré pomocou systému môže vykonávať. Dá sa použiť ako • popisfunkčnýchpožiadavieknasystém

• popisinterakcieaktérovsosystémom

• popisodpovedísystému

prípad použitia (UC), aktér, poznámka, UC zo štruktúrou

Pozor: každý prípad použitia (ako kompozitný element – v EA klik pravou myšou -> New child ...) môže obsahovať kombináciu dcérskych diagramov (Sequence, Communication, Activity, State Machine ... ), ktoré vo väčšom detaile definujú ako sa to má implementovať. Samotná implementácia prípadov použitia je realizovaná pomocou tried, komponentov, rozhraní, ... v ich vlastných diagramoch.

Diagram časovania (timing diagram)

Správanie sa viacerých objektov v nejakom časovom úseku. Využíva sa • najmäna:popisHWkomponentov,embeddedSWkomponentovnamikrokontolleroch,...

• Taktiežpripopiseprocesov,ktorésúspúšťanéčasom.

Sekvenčný diagram (sequence diagram)

Popisuje správanie sa pomocou sekvenčných krokov v čase. Použitie: Popis Workflowu, spracovania správ (tok informćie a zodpovednosti), kooperácie elementov. Dopĺňa prípady použitia – využijú sa aktéri a elementy z prípadov použitia a namodeluje sa sekvencia krokov, ktoré presne vedú k splneniu požadovanej úlohy.

, , , objekt a jeho čiara života, správa/volanie

Komunikačný diagram (communication diagram)

Komunikačný diagram ukazuje interakcia ako sekvenčný diagram. Komunikačný diagram kladie dôraz na vizualizáciu vzťahov a nie na časovú mierku. Komunikačný diagram potrebuje číselné zoradenie správ a prípadné vnorenia. Číslovacia schéma môže byť napr.: 1, 1.1, 1.2 2, 2.1, 2.2, 2.3 3, 3.1, 3.2, 3.3

,

Modelovanie požiadaviek – diagram požiadaviek (requirements) • PatrímedziCustomdiagramy.• Každápožiadavkajemodelovanáako„Requirementelement“.• Tietoelementymôžumaťvzťahsinýmipožiadavkami,• Tietoelementymôžumaťvzťahsprípadmipoužitiaakomponentami.Totosasledujeviných,tzv.traceability

diagramami.

Traceability diagramy • Požiadavkysúrealizované(implementované)pomocouPrípadovpoužitia,tried,Interfejsov,Komponentov.• OznačujesatoUMLvzťahom„realizácia“

• Ďalšievzťahysadajúzaznamenávaťpomocouvzťahu„trace“

Doménový model (Domain model)

• Doménovýmodeljekoncepčnýmodel,ktorýdefinujefyzickéaabstraktnéobjektyktorésavprojekte/doménevyskytujú

• Dokumentujevzťahymedzizodpovednosťamikoncepčnýchtriedo tosúinétriedyakotiezOOPo reprezentujúkoncepciuskupinyvecí

• Definujepojmy,ktorésavprojektevyskytujú

• Doménovýmodelukazuje:o fyzickéaorganizačnéjednotkyo vzťahmedzitýmitojednotkamio multiplicitutýchtovzťahov

• Modelujesapomocouo diagramutriedo E-Rdiagramom

• VariantajeBiznisdoménovýmodelo Poskytujebiznisslovník–pojmya

faktynazákladektorýchmôžubyťdefinovanébiznispravidlá

UIDiagram• Prispôsobené(customized)UMLdiagramy,ktorévizuálnereprezentujúpoužívateľskérozhraniepomocouriadicichprvkov,nadpisov,...

• Niekedysarobí„drotenýmodel“(wireframe)• Vnávrhujepotrebnéokrempopisuprvkovobrazovieknavrhnúťajprechodymedziobrazovkami

Diagramtokudát(dataflowdiagram)

• Proces=proces,aleboaktivita,vktorejsúdatapoužívanéalebogenerované

• Externé=externýzdrojdát

• Dátovéúložisko–internéfyzickéúložiskoúdajov

• Brána–reprezentujekoncovýbodvstupných/výstupnýchsprávprikomunikáciisinýmiprocesmi

, , , ,

Opakovaniezprvejprednášky-Typickéfázyprocesyvývojapripoužitívodopádovejmetodológii• Zberaanalýzapožiadaviek• Návrhriešenia• Vývoj/implementácia• Testovanie• Integrácia• Nasadenie• Údržba

Terazlepšiepopíšemetietofázyadokumenty,ktoréprinichvznikajú

Fáza1:Zber a analýza požiadaviek (vytvoreniepožiadavieknariešenie)Cieľ:vytvoreniepožiadavieknariešenie,neuvažujesanadkonkrétnymspôsobomrealizáciepožiadaviek.

Aktivity• Štúdiarealizovateľnosti(vrátanečastiCostBusinessAnalysis–CBA).Odpovedánaotázky:

o AkoprispejeSWkobchodnýmcieľomorganizácie?o JemožnéintegrovaťSQkexistujúcimriešeniam?o JepotrebnýnovýHW,poprípadenovýSW?o Dásarealizovaťsdanýmizdrojmiavdanomčase?

• Zberaanalýzapožiadaviek• Definíciaašpecifikáciapožiadaviek

Účastníci:• Používateľ(zákazník)–pozor,častovpodstatezákazníkneviečochceavyjdetonajavoažpočasprocesu

tvorbypožiadaviekasystematickéhopopisupotreby• Analytik(môžebyťodzákazníka,alebozavolanýnavykonaniaanalýzy,…atď)

Metódyprocesu• Rozhovorsozákazníkom,prípadnedotazníky• Monitorovaniepracovnýchpostupovzákazníka,Priamaúčasťnaprácachzákazníka• Analýzaexistujúcehosoftvéru,analýzaaštúdiumdokumentovaštandardov• Výsledkyprocesujetrebaajpriebežnepísomnezaznamenávať

Fáza1:Zber a analýza požiadaviek (vytvoreniepožiadavieknariešenie)|2Typypožiadaviek:1. Funkčné-Určujúchovanie,funkciesoftvéru–čotomárobiť(čomábyťvýsledkom)anieakotomádosiahnuť.

2. Nefunkčné-Špecifikujúvlastnostiaobmedzujúcepodmienkydanéhosoftvérua. Požiadavky na prevádzku systému (počet používateľov, ...)b. Požiadavkynasoftvér(efektívnosť,bezpečnosť,HWprostredie,OS,inýspolupracujúciSW)c. Externé požiadavky (legislatívne, etické požiadavky)

Čostanovujúpožiadavky?

Neformálnarovina FormálnarovinaIEEE830-1998

• Na čo bude SW slúžiť • Aké informácie sa budú uchovávať • Kto ho bude používať • Aké funkcie, operácie bude zabezpečovať • Aké sú vstupy a výstupy • Aké sú interakcie s inými systémami.

“Špecifikácia požiadaviek” • Prirodzený jazyk • Formuláre • Prípady použitia • Pseudokódy, scenáre, ...

Vysledoktvorbypožiadaviek-forma• SpravidlaŠpecifikáciapožiadaviekjevdokumente„výzvanapodávanieprojektov“(RFPrequestforproposals)

o Pozor,nepomýliťsisRFI–requestforinformation.totojenezáväznévyžiadaniestanoviska/názoruodperspektívnychuchádzačovvpriebehufázyanalýzyatvorbypožiadaviek

o Spôsobvýberuriešiteľov§ Priameoslovenie§ Výberovékonanie

• Formálne• Vzmyslezákona(verejnéobstarávanie/elektronickéaukcie)

o 04.12.2016 bol v Zbierke zákonov publikovaný nový zákon o verejnom obstarávaní 343/2015 Z.z

• Inéformy,napr.nazákladezmluvy,obsahujú„popispožadovanéhotechnickéhoriešenia“...

NáslednékrokyZadávateľ Realizátor1) Vytvorenieponukyktoréobsahujenávrhriešeniavpožadovanomrozsahu,navrhujespôsobplneniapožiadaviek.

2) Vyhodnotenieponúkavybratievýhercu3) Spísaniezmluvy

4) Poskytnutiesúčinnosti 5) Podrobnýnávrhriešenia...

Formapožiadaviekareakciínane • Zvyčajnemákaždápožiadavkaidentifikátoratextovýpopisapožiadavkysúvtabuľkách• Zvyčajnejevponukenapísanéakopresnebolapožiadavkapochopenáaakýmspôsobomsasplní• Užterazjedôležitémyslieťnainterpretáciu,abynebolinezhodypriakceptáciiriešenia(rôznyvýklad,nekompletnárealizáciaatď...)

• Maleprojektymajúniekoľkodesiatokpožiadaviek,veľké(apremyslenépojekty)ajtisicaviac...

Študenti • Akostedostalisformulovanépožiadavkynariešenievášhozadania?• Bolistespokojnísdetailomzadania?• Boloprílišobmedzujúce,činaopakprílišvoľné?• Spĺňalobyttotozadanieajminiatúrneajgigantickériešenie?• T.j.bolozadaniedobréadostatočné?

o NedostatočnepremyslenézadaniejeOBROVSKÝPROBLÉM!Častosapodceňuje!•

Fáza2:NávrhriešeniaArchitektonickýnávrh• CelkovákoncepciaarchitektúrySW• Definíciafunkcionalitysoftvéru• PlánnasadeniaSW

Podrobnýnávrh• Návrhkomponentovsystému• Špecifikáciaošetreniachybovýchstavov

Fáza3:Implementácia• Kódovaniekomponentov• Dokumentáciekomponentov• Testovaniekomponentov

Fáza4:Integráciaatestovanie • Integrovaniekomponentovdomodulov• Testovaniemodulovaceléhosystému

Fáza5:Akceptačnétestovanieainštalácia• Testovaniepoužívateľom• Školeniepoužívateľom• NasadenieSW• Dodaniedokumentácie

o veľmivariabilné,rozsahzáležíodrozsahuprojektuadohodyo spravidlaminimálne

§ užívateľskápríručka(čosystémrobízpohľaduužívateľa-funkcionalitaaobrazovky)§ popistechnickéhoriešenia(architektúrasystému)§ administračnápríručka(nasadenieaadministrácia/prevádzkovanie)

Biznis procesy – BMPN & BPEL • BPMN=BusinessprocessModelingnotation• BPEL=Biznisprocessexecutionlanguage,jetoskratkanázvuWebServiceBPEL(WS-BPEL)

o jazychnaorchestráciu,ktorýjeserializovanývXMLo používaWSDL(WebServiceDescritpionLanguage)

BPMN príklad BPEL príklad

Biznis architektúra - Archimate diagramy • Cieľom Archimate štandardu je poskytnúť grafický jazyk na reprezentáciu enterprise architektúry

v čase vrátane plánovania zmien, migrácií a motivácií a dôvodov k nim. Archimate štandard je tesne zviazaný s TOGAF štandardom, napr. neposkytuje vlastné definície pojmov, ale používa TOGAF definície.

• Snahou TOGAFu (The Opeg Group Architecture Framework) je na základe komunitných štandardov popísať metódy a nástroje používané pri tvorbe architektúry.

• Základný referenčný rámec Verejnej správy (VS) SR vychádza z TOGAF a ArchiMate architektonických rámcov. Prispôsobený metamodel je kompatibilnou podmnožinou ArchiMate meta modelu a bude sa postupne, s rastúcou architektonickou zrelosťou VS, rozvíjať do úplného ArchiMate meta modelu.

• Jednotlivé vrstvy a aspekty s príslušnými konceptami sú definované nasledovne: o motivácia, o biznis architektúra, o architektúra informačných systémov (aplikácie a dáta), o technologická architektúra, o bezpečnostná architektúra o implementácia a migrácia.

Archimate–príklad

Príklady,naprvAV_EAVSSR_2014-2020_Architektonicke_ramce_VS.pdf[www.informatizacia.sk].Množinaprvkovjetakáto:

ObjektyvmenuSWproduktu“Archi”

TvorbaSWaCASEnástroje • CASE=computeraidedsoftwareengineering• Pojemvznikolccavr.1970• PokrývacelývývojovýcyklusSW,vrátane

o nástrojenanávrho generovaniekóduo automatickégenerovaniedokumentácieo prototypovanieo repozitáreo ďalšiepomocnénástrojenazvýšenieproduktivity

• natomtopredmetejevášCASEnástrojNetbeans...

XML• eXtensiblemarkuplanguage(značkovacíjazyk)• nemápreddefinovanéznačky(nagy,názvyelementov)• umožnujeopisovať(značkovať)ľubovoľnéúdaje• pomocouXSL(eXtensiblestylesheetlanguage)transformácie(XSLT)viemetransformovatXML

o nainéXMLo nainýformát,napr.doHTML

• XMLdokumentyspĺňajúXMLšpecifikáciuamajúsprávnuštruktúru,sanazývajúwellformed(správneštrukturované

• XMLdokumenty,ktorénaviacspĺňajúpožiadavkyschémdefinovanévjazykochDTD,aleboXSDsanazývajúvalidnéo DTD(documenttypedefinition)–schéma,resp.gramatika,ktorádefinuještruktúrudokumentuaplatné

elementyaatribútyo XSD(XmlSchemaDefinition)–samotnáschémajenapísanavjazykuXML

§ Príkladnapr.nahttp://www.w3.org/TR/xmlschema-0/• XMLjetextovýformát,akokódovaťbinárneúdaje

o Pomocoubase64(RFC4648)§ <stuff dt:dt="binary.base64">84592gv8Z53815Zb82bA68g</stuff>

o XOP(XML-binaryOptimizedPackaging)–mechanizmus,ktorýumnožňujeobchádzaťbase64enkódovaniebinárnychinformácií,pomocoumultipartMIME...

§ http://www.w3.org/TR/xop10/• Netbeans-akoriadnyCASEnástroj,obsahujexmleditorà

Príklad XML/XSD z http://www.w3.org/TR/xmlschema-0/

WSDL

• WSDL=Webservicedefinitionlanguage• SpravidlaopisujeSOAPkomunikáciu

o SOAP=SimpleObjectAccessProtocol,protokolnavýmenusprávzaloženýnaXMLo nástupcaXML-RPC

• JezapisanývoformáteXMLo Špecifikáciajeprístupnánahttp://www.w3.org/TR/wsdl20/

• Napr:o https://www2.uvo.gov.sk/sluzby1

§ Zoznampodnikateľov:http://www2.uvo.gov.sk/uvoservices/RegPod?wsdl§ Vestníkverejnéhoobstarávania:http://www2.uvo.gov.sk:80/uvoservices/Vestnik?wsdl

o http://nipi.sazp.sk/arcgis/services/env_zataze/environmentalna_zataz/MapServer?wsdl§ Službysúnaďalšomslide(vizualizáciaponaimportovaníWSDLdoEA)

• NetbeansviewpracovatsWSDLo PomocouJAXB(JavaArchitectureforXMLBindingAPI)vienapr.generovatkomplettriedynazákladezadaniaURLsWSDL

§ § viacnapr.tuhttps://netbeans.org/kb/74/websvc/jaxb.html

Príklad WSDL (http://www2.uvo.gov.sk/uvoservices/RegPod?wsdl)

http://nipi.sazp.sk/arcgis/services/env_zataze/environmentalna_zataz/MapServer?wsdl • Služby-vizualizáciaponaimportovaníWSDLdoEA

Iné zaujímavé a dôležité témy, ktoré sme neprebrali podrobnejšie • RESTaSOAPverzusREST

o CRUDoperácieo idempodencia

• JSON• Javascript• AJAXaAJAJ• HTML,CSS• Servlety• Enterprisesystémy

o ichvysokádostupnosťo intergrácie

• ERPsystémy• DWHapodrobnejšie• Bezpečnostnéaspekty• ....• aveľaďalšieho...

Recommended