-]\NPRGHORZDQLDGDQ\FK80/ Ewa Stemposz. Instytut Podstaw Informatyki PAN
|
|
- Błażej Nowakowski
- 8 lat temu
- Przeglądów:
Transkrypt
1 -]\NPRGHORZDQLDGDQ\FK80/ Ewa Stemposz Instytut Podstaw Informatyki PAN Polsko--DSRVND:\*V]D6]NRáD7HFKQLN.RPSXWHURZ\FK
2 Zagadnienia Krótka charakterystyka UML Diagramy przypadków X*\FLD Diagramy klas Diagramy dynamiczne ƒ interakcji ƒ stanu ƒ DNW\ZQRFL Diagramy implementacyjne ƒ diagramy komponentów ƒ GLDJUDP\ZGUR*HQLRZH Diagramy pakietów 0HFKDQL]P\UR]V]HU]DOQRFL Podsumowanie
3 Unified Modeling Language (UML) ³80/ MHVW M]\NLHP RJyOQHJR SU]H]QDF]HQLD GR VSHF\ILNDFML NRQVWrukcji, ZL]XDOL]DFML L GRNXPHQWRZDQLD Z\WZRUyZ ]ZL]DQ\FK ] V\VWHPDPL LQWHQV\ZQLHZ\NRU]\VWXMF\PLRSURJUDPRZDQLH UML VW\F]H- ZU]HVLH UML 1.0 VW\F]HSU]HVáDQ\GR20* UML 1.1 NRQLHF]DWZLHUG]RQ\MDNRVNáDGQLNVWDQGDUGX20* UML 1.3 NZLHFLHPyZLVLRZHUVMLDOHEUDNGDQ\FK 3RáF]RQHVLá\WU]HFK]QDQ\FKPHWRGRORJyZRSURJUDPRZDQLD Grady Booch Ivar Jacobson James Rumbaugh
4 Zalety i wady poprzedników UML.D*GD]PHWRG\NSRSU]HGQLNyZ80/SRVLDGDVZRMH]DOHW\LZDdy. OMT (Rumbaugh): dobry do modelowania dziedziny przedmiotowej. Nie SU]\NU\ZDGRVWDWHF]QLHGRNáDGQLH]DUyZQRDVSHNWXX*\WNRZQLNyZV\stemu, jak i aspektu implementacji. OOSE (Jacobson)GREU]HSRGFKRG]LGRNZHVWLLPRGHORZDQLDX*\WNRZQLNyZ L F\NOX *\FLRZHJR V\VWHPX 1LH SU]\NU\ZD GRNáDGQLH PRGHORZDQLD Gziedziny przedmiotowej, jak i aspektu implementacji. OOAD (Booch): dobrze podchodzi do kwestii projektowania, implementacji RUD] ]ZL]NyZ ]H URGRZLVNLHP LPSOHPHQWDFML 1LH SU]\NU\ZD GRVWatecznie GREU]HID]\UR]SR]QDZDQLDLDQDOL]\Z\PDJDX*\WNRZQLNyZ,VWQLHMH ZLHOH DVSHNWyZ V\VWHPyZ NWyUH SR]RVWDá\ZáDFLZLH QLe przykryte przez *DGQH ] Z\*HMZ\PLHQLRQ\FKSRGHMüQSSU]\VWRVRZDQLH QRWDFML do preferencji SURMHNWDQWyZ&HOHP80/E\áRSU]\NU\FLHUyZQLH*W\FKDVSHNWyZ
5 Nowe elementy wprowadzone w UML -DVQHRGUy*QLHQLHNODV\W\SX i Z\VWSLHQLDNODV\ 8V]F]HJyáRZLHQLD (refinementsgodremfld]zl]nyzsrplg]\ HOHPHQWDPLRWHMVDPHMVHPDQW\FHDUy*Q\PSR]LRPLHDEVWUakcji 2GSRZLHG]LDOQRFL (responsibilities) Kompozycja jako silniejsza forma agregacji Interfejsy i ]DOH*QRFLdependencies) typu: dostawca i klient pewnej LQIRUPDFMLZ\VWSXMFHPLG]\HOHPHQWDPLPRGHOL :VSyáELH*QRü :]RUFHZVSyáSUDFD 'LDJUDP\DNW\ZQRFL (dla UHLQ*\QLHULLprocesów biznesowych) Komponenty Pakiety 0HFKDQL]P\UR]V]HU]DOQRFL: stereotypy (stereotypeszduwrfl etykietowane (tagged values), ograniczenia (constraints)
6 Diagramy definiowane w UML 'LDJUDP\SU]\SDGNyZX*\FLD Diagramy klas Diagramy dynamiczne: ƒdiagramy interakcji: Œ Diagramy sekwencji Œ 'LDJUDP\ZVSyáSUDF\NRODERUDFML ƒ Diagramy stanów ƒ 'LDJUDP\DNW\ZQRFL Diagramy implementacyjne: ƒ Diagramy komponentów ƒ 'LDJUDP\ZGUR*HQLRZH Diagramy pakietów 'LDJUDP\ WH ]DSHZQLDM X]\VNDQLH ZLHOX SHUVSHNW\Z SURMHNWRZDQego systemu w trakcie jego budowy.
7 'LDJUDP\SU]\SDGNyZX*\FLD(1) Z\SáDWD SLHQLG]\ klient weryfikacja klienta «include» System REVáXJLNOLHQWD ZQWU]HV\VWHPX 3U]\SDGHN X*\FLD: 3RZLQLHQ PLHü XQLNDOQ QD]Z, RSLVXMF SU]\SDGHN X*\FLD z punktu widzenia jego zasadniczych celów. Czy lepiej jest VWRVRZDü QD]Z RSLVXMF F]\QQRü ( Z\SáDWD SLHQLG]\ ) czy polecenie ( Z\SáDü SLHQLG]H - zdania Vpodzielone. Aktor: 3RZLQLHQPLHü XQLNDOQQD]Z. Interakcja: 3RND]XMHLQWHUDNFMSRPLG]\SU]\SDGNLHP X*\FLD a aktorem. %ORN SRQRZQHJR X*\FLD: Pokazuje fragment systemu, który jest X*\ZDQ\ SU]H] NLOND SU]\SDGNyZ X*\FLD; PR*H E\üR]QDF]RQ\MDNRVDPRG]LHOQ\SU]\SDGHNX*\FLD. Relacja typu «include» lub «extend»: Pokazuje ]ZL]HN ]DFKRG]F\ PLG]\ dwoma przypadkami X*\FLD lub SU]\SDGNLHPX*\FLD a EORNLHPSRQRZQHJRX*\FLD. Nazwa systemu wraz z otoczeniem systemu: Pokazuje JUDQLFSRPLG]\V\VWHPHP a jego otoczeniem.
8 'LDJUDP\SU]\SDGNyZX*\FLD (2) ZSáDWD SLHQLG]\ ZSáDWD SLHQLG]\ kasjer klient banku Z\SáDWD SLHQLG]\ VSUDZG( stan konta kasjer klient banku «include» Z\SáDWD SLHQLG]\ VSUDZG( stan konta «extend» «include» uaktualnianie stanu konta ZH( SR*\F]N ]DU]G banku ZH( SR*\F]N ]DU]G banku *áyzqh ]DGDQLH PRGHOX SU]\SDGNyZ X*\FLD to SUDZLGáRZH RNUHOHQLH Z\PDJD funkcjonalnych na projektowany system.
9 Klasa; oznaczenia (1) Cztery pola: nazwy, atrybutów, metod i czwarte pole, którego zawduwrü ]DOH*\RGX*\WNRZQLNDnpPR*HWRE\üOLVWDRGSRZLHG]LDOQRFLGDQHMNODV\ 0R*OLZHVUy*QHSR]LRP\V]F]HJyáRZRFL Okno Okno rozmiar czy_widoczne Pole nazwy klasy: stereotyp nazwa_ klasy lista_wart_etyk Okno rozmiar czy_widoczne Z\ZLHWO schowaj() Okno rozmiar: Obszar czy_widoczne: Boolean Z\ZLHWO schowaj() Pole atrybutów: VWHUHRW\SGRVWSQRüQD]ZD_atrybutu : typ ZDUWBSRF]WNRZDlista_wart_etyk Pole metod: VWHUHRW\SGRVWSQRüQD]ZD_metody (lista_arg) : typ_wart_zwracanej lista_wart_etykt
10 Klasa; oznaczenia (2) gdzie: GRVWSQRü jest RNUHODQD przez trzy symbole: + publiczna - prywatna # chroniona lista_arg: rodzaj nazwa_arg : typ ZDUWBSRF]WNRZD rodzaj definiuje sposób, w jaki metoda korzysta z danego argumentu: in: PHWRGDPR*HF]\WDüargument, ale QLHPR*Hgo ]PLHQLDü out: PR*H]PLHQLDü, QLHPR*HF]\WDü inout: PR*HF]\WDüi ]PLHQLDü Wszystkie elementy specyfikacji klasy za Z\MWNLHPnazwy klasy V opcjonalne. Nazwa klasy to z UHJXá\U]HF]RZQLNw liczbie pojedynczej.
11 3U]\NáDG\NODV Okno {abstrakcyjna, autor=kowalski status=przetestowane} +rozmiar: Obszar = (100,100) #czy_widoczne: Boolean = false UR]PLDUBGRP\OQ\3URVWRNW UR]PLDUBPDNV\PDOQ\3URVWRNW -[ZVND(QLN: XWindow* Z\ZLHWO +schowaj() +utwórz() -GRáF];:LQGRZ(xwin: XWindow*) WUZDáDª 3URVWRNW punkt1: Punkt punkt2: Punkt «konstruktor» 3URVWRNWS3XQNWS3XQNW «zapytania» obszar (): Real aspekt(): Real «aktualizacje» SU]HVXGHOWD3XQNW SU]HVNDOXMZVSyáF]\QQLN Real)...
12 Dziedziczenie Dziedziczenie pozwala na tworzenie drzewa klas lub LQQ\FKVWUXNWXUEH]SWOL Dziedziczenie jednoaspektowe specjalizacja generalizacja Osoba Pracownik Osoba Pracownik Asystent Adiunkt Docent Profesor Asystent Adiunkt Docent Profesor
13 Dziedziczenie wieloaspektowe {overlapping} QDSG Pojazd teren teren Dwa aspekty dziedziczenia: QDSG i teren. {overlapping} Pojazd wiatrowy Pojazd silnikowy Pojazd OGRZ\ Pojazd wodny {disjoint, incomplete} Drzewo gatunek drzewa 'E Brzoza Sosna disjont (GRP\OQH) - SRG]LDáUR]áF]Q\ overlapping - SRG]LDá QLHUR]áF]Q\SU]HFLFLH zbiorów obiektów klas, np. Pojazd OGRZ\i Pojazd wodny, nie jest zbiorem pustym; complete (GRP\OQH) - SRG]LDáFDáNRZLW\ incomplete -niektóre klasy, np. nieistotne dla UR]ZD*DQHJRSUREOHPX, ]RVWDá\SRPLQLWH
14 Dziedziczenie wielokrotne Dziedziczenie wielokrotne (wielodziedziczenie) ma miejsce, gdy klasa G]LHG]LF]\LQZDULDQW\]ZLFHMQL*MHGQHMEH]SRUHGQLHMQDGNODV\. Osoba Nazwisko Pracownik Zarobek Student Nr_indeksu 3UDFXMF\B student
15 Dziedziczenie dynamiczne SáHü «dynamic» {mandatory} zawód Osoba Kobieta Manager,Q*\QLHU 0*F]\]QD Sprzedawca Dyskryminator (aspekt specjalizacji) zawód ]RVWDáWXRSDWU]RQ\ stereotypem «dynamic».
16 Klasa parametryzowana Klasy parametryzowane V X*\WHF]QH z dwóch zasadniczych powodówsrgqrv] poziom abstrakcji LZSá\ZDMQD]PQLHMV]HQLHGáXJRFLNRGX(UyGáRZHJRSURJUDPX..ODVDSDUDPHWU\]RZDQDPR*HE\üZVWDZLDQDdo diagramów UML na dwa sposoby: Zbiór <Pracownik> szablon Zbiór wstaw (T) XVX(T) T «bind» <Pracownik> Aktualny parametr parametryzacji Zbiór Pracowników Podstawowe zastosowanie klas parametryzowanych polega na wykorzystaniu ich do definiowania zbiorów (szerzej - kolekcji)..d*g\ RELHNW NODV\ Zbiór <Pracownik>, czy analogicznie ZbiórPracowników, jest zbiorem.
17 Rozszerzenia i ograniczenia w podklasie ƒ 3RGNODVDQLHPR*HRPLMDüOXE]PLHQLDüDWU\EXWyZQDGNODV\ ƒ 3RGNODVDPR*H]PLHQLüFLDáRPHWRG\]QDGNODV\DOHEH]]PLDQy jej specyfikacji. ƒ 3RGNODVDPR*HGRZROQLHGRGDZDüQRZHDWU\EXW\LPHWRG\UR]V]HU]Dü]ELyU ZáDVQRFLQDGNODV\ ƒ 3RGNODVDPR*HRJUDQLF]DüZDUWRFLDWU\EXWyZ Np..RáR MHVWSRGNODVNODV\ ElipsaJG]LHRELHUHGQLFHHOLSV\VVRELHUyZQH2JUDQLF]HQLDPRJ VSRZRGRZDü*HF]üPHWRGSU]HVWDQLHE\üSRSUDZQD Np. zmiana jednej ze UHGQLFRELHNWX- dozwolona dla obiektu klasy Elipsa - jest niedopuszczalna w obiekcie podklasy.rárjg\*pxv]wdpe\ü]plhqldqhrelhuhgqlfh MHGQRF]HQLH
18 :\VWSLHQLHklasy 3RMFLH Z\VWSLHQLHklasy (instancja klasy) oznacza obiekt, który jest ³SRGáF]RQ\ GRdanej klasy, jest MHMF]áRQNLHP. :\VWSLHQLDPRJE\ü: EH]SRUHGQLH i SRUHGQLH. Obiekt MHVWZ\VWSLHQLHPEH]SRUHGQLPVZRMHMNODV\LZ\VWSLHQLHP SRUHGQLPZV]\VWNLFKMHMQDGNODV. 0R*OLZHR]QDF]HQLDQDZ\VWSLHQLHklasy nazwa_obiektu : nazwa_klasy nazwa_atrybutu = wart_atrybutu... : nazwa_klasy nazwa_atrybutu = wart_atrybutu... nazwa_obiektu : nazwa_klasy : nazwa_klasy
19 Klasa abstrakcyjna a klasa konkretna Klasa abstrakcyjna QLHPDQLHPR*HPLHüEH]SRUHGQLFKZ\VWSLHLVáX*\ Z\áF]QLHMDNRQDGNODVDGODLQQ\FKNODV6WDQRZLMDNE\ZVSyOQ F]ü definicji grupy klas o podobnej semantyce. Klasa konkretna PR*HPLHüPDSUDZRPLHüZ\VWSLHQLDEH]SRUHGQLH Klasyczne klasyfikacje w ELRORJLL W\ONR OLFLH Z GU]HZLH NODV PRJ E\ü klasami konkretnymi. Osoba prawna Sekwencja pierwszy QDVWSQ\ Osoba fizyczna Firma Sekwencja int Sekwencja char... implementacje...implementacje
20 Metoda abstrakcyjna Metoda abstrakcyjna jest to metoda wyspecyfikowana w nadklasie, której LPSOHPHQWDFMDPXVL]QDOH(üVLZNWyUHM]SRGNODV Pracownik {abstract} MX*]DURELáZW\PURNX REOLF]Z\SáDW^abstract} Pracownik godzinowy stawka godzinowa VWDZNDZLWHF]QD REOLF]Z\SáDW Pracownik etatowy zarobek tygodniowy REOLF]Z\SáDW Pracownik na zlecenie ]DUREHNPLHVLF]Q\ REOLF]Z\SáDW Klasa abstrakcyjna PR*H ]DZLHUDüDEVWUDNF\MQHPHWRG\, ale nie musi. Klasa konkretna musi ]DZLHUDüLPSOHPHQWDFMHW\FKPHWRGDEVWUDNF\MQ\FK, które nie ]RVWDá\]DLPSOHPHQWRZDQH w *DGQHMz nadklas danej klasy konkretnej.
21 Interfejs, realizacja, ]DOH*QRü (1) Osoba {abstract} LPL nazwisko data ur. policz wiek «interface» IPracownik + ]PLHSHQVM dependency Firma Pracownik pensja stanowisko ]PLHSHQVM realization Stereotyp «interface» SRSU]HG]DQD]ZNODV\, która zawiera jedynie specyfikacje metod, bez implementacji. W UML interfejs nie zawiera atrybutów. Wszystkie metody V tu publiczne. Implementacje metod wyspecyfikowanych w interfejsie IPracownik zawiera klasa Pracownik, co oznaczane jest za SRPRF relacji typu realizacja (realization), o notacji podobnej do dziedziczenia. =DOH*QRü (dependency) RSLVXMHUHODFMW\SXNOLHQW-dostawca pewnej informacji.
22 Interfejs, ]DOH*QRü (2) 'ODSRSU]HGQLHJRGLDJUDPXPR*QD]DVWRVRZDüLQQH, EDUG]LHM]ZL]áH oznaczenie. IPracownik Firma Pracownik Osoba Klasa abstrakcyjna i interfejs ]RVWDá\ WX potraktowane w podobny sposób -jakodefinicje interfejsów do klasy Pracownik. -HGQDN*H, istnieje PLG]\QLPLSHZQD Uy*QLFD: klasa abstrakcyjna, w SU]HFLZLHVWZLH do interfejsu, PR*H ]DZLHUDü atrybuty i implementacje metod.
23 Ekstensja klasy Ekstensja klasy (class extent) = aktualny (zmienny w czasie) zbiór ZV]\VWNLFKZ\VWSLHWHMNODV\Ekstensja klasy w implementacji oznacza VSHFMDOQ VWUXNWXU GDQ\FK, konkretny byt programistyczny GRáF]RQ\ GR klasy. Ta struktura przechowuje wszystkie obiekty EGFH F]áRQNDPL GDQHM klasy. 1LHNWyUHPHWRG\Z\VSHF\ILNRZDQHZGDQHMNODVLHRGQRV]VLGRMHj Z\VWSLH: pracownik.wiek pracownik.zwolnij KONTO.Oblicz_procent 1LHNWyUHPHWRG\Z\VSHF\ILNRZDQHZGDQHMNODVLHRGQRV]VLGRMHj ekstensji: KL_pracownik.nowy KL_pracownik.zlicz KL_KONTO.2EOLF]BVXP.ODVDPR*HPLHüQLHMHGQlecz wiele ekstensji.
24 3RZL]DQLHDasocjacja (binarne) 3RZL]DQLH binarne Fizyczny lub SRMFLRZ\ ]ZL]HN PLG]\ GZRPDRELHNWDPL, RGZ]RURZ\ZXMF\ ]ZL]HN LVWQLHMF\ PLG]\ RGSRZLHGQLPL bytami w analizowanej dziedzinie przedmiotowej. Asocjacja binarna Grupa SRZL]DSRVLDGDMF\FK ZVSyOQVWUXNWXU LVHPDQW\N 3RZL]DQLH jest Z\VWSLHQLHPasocjacji. Osoba LPL Firma rodzaj pracuje_w :Osoba Kasia pracuje_w pracuje_w :Firma Krawiecka :Osoba Ewa :Osoba Jasio :Firma Szewska pracuje_w Klasy i asocjacja na diagramie klas 2ELHNW\LSRZL]DQLD na diagramie obiektów
25 /LF]QRüDVRFMDFML /LF]QRüMHVWR]QDF]DQDQDREXNRFDFKDVRFMDFML 3U]\NáDG\: 1 1..* 2..* 3-5 2,4, * * znaczenie 1 1, 2, 3,... 2, 3, 4,... 3, 4, 5 2, 4, 18 1,? 0, 1 0, 1, 2,... 0, 1, 2,... 3DVWZR Stolica Firma 1 * Pracownik 0..* 0..1 Osoba Adres 2]QDF]DüF]\QLHR]QDF]DüOLF]QRü1?
26 Asocjacje skierowane Zamówienie GDWD=áR*HQLD F]\=DSáDFRQH VXPD'R=DSáDW\ realizuj() zamknij() 1 * PozycjaZamówienia * 1 Klient nazwisko adres ZLDU\JRGQRü 1DGLDJUDPDFK80/PR*QD]D]QDF]DüNLHUXQHN QDZLJDFML Z]GáX* GDQHM DVRFMDFML : WDNLP przypadku asocjacja jest rysowana w postaci VWU]DáNL QDZLJDFMDMHVW PR*OLZD ]JRGQLH ] MHM kierunkiem, ale nie odwrotnie. LORü cena czyzrealizowana * 1 Produkt
27 Atrybuty asocjacji GRVWSQ\ dla Plik * 3UDZRGRVWSX GRVWS * 8*\WNRZQLN { GRVWSR]QDF]D czytanie lub czytanie-pisanie} Osoba nazwisko szef pesel kieruje 0..1 adres * pracownik 1..* zatrudnia 0..1 Zatrudnienie zarobek stanowisko Firma nazwa adres -HOL NODVD DVRFMDFML QLH ]DZLHUD metod ani asocjacji do innych klas, to MHMQD]ZDPR*H E\ü RSXV]F]RQD GOD SRGNUHOHQLD IDNWX *H chodzi tu Z\áF]QLHRatrybuty asocjacji. 2FHQDZ\GDMQRFL ocena
28 Atrybuty i asocjacje pochodne &HFKD SRFKRGQD MHVW ]GHILQLRZDQD SRSU]H] IXQNFM G]LDáDMFQDjednym lub ZLFHM E\WDFK PRGHOX NWyUH WH* PRJ E\ü SRFKRGQH &HFKD SRFKRdna R]QDF]DQDMHVWXNRQLNLHP Osoba atrybut pochodny: /wiek data_urodzenia /wiek ^ZLHN GDWDBELH*FD- data_urodzenia} zatrudnia :\G]LDá * Sekcja * Pracownik * * zlokalizowana_w /pracuje_w Budynek asocjacja pochodna: /pracuje_w Asocjacja pracuje_w jest DVRFMDFMSRFKRGQNWyUPR*QDZ\]QDF]\üSRSU]H] asocjacje zatrudnia i zlokalizowana_w $VRFMDFM SRFKRGQ PR*QD R]QDF]\ü SRSU]HG]DMFXNRQLNLHPQD]ZOXEURODVRFMDFML
29 3U]\NáDGRZ\diagram klas Osoba poprzedza zapisany_na 1..* Student 0..1 Kurs * 1 zawiera QDVWSXMHBSR Pracownik Profesor prowadzi 1 1..* 1..* :\NáDG *
30 Agregacja $JUHJDFMDMHVW V]F]HJyOQ\P SU]\SDGNLHP DVRFMDFML Z\UD*DMF\P]ZL]HN F]ü-FDáRü NpVLOQLNMHVWF]FLVDPRFKRGX Nie istnieje jednak powszechnie akceptowana definicja agregacji. P. Coad SRGDMH SU]\NáDG DJUHJDFML MDNR ]ZL]HN SRPLG]\ RUJDQL]DFM L MHj pracownikami; dla odmiany J. Rumbaugh WZLHUG]L*HILUPDQLHMHVWDJUHJDFMMHM pracowników. : ZLHOX SU]\SDGNDFK ]ZL]NL DJUHJDFML V RF]\ZLVWH -HGQDN*H ZWSOLZRFL SRZVWDM QDZHW Z SU]\SDGNX VDPRFKRGX L VLOQLND ER np VLOQLN PR*H E\ü WRZDUHP Z VNOHSLH QLH ]ZL]DQ\P ] *DGQ\P VDPRFKRGHP 0WOLN GRRNRáD SRMFLD DJUHJDFML Z\QLND UyZQLH* ]WHJR *H MHVW RQD QDGX*\ZDQD w celu XVSUDZLHGOLZLHQLDSHZQ\FKRJUDQLF]HPRGHOXRELHNWRZHJR NpSRSXODUQHZ\MDQLHQLHSRZRGyZEUDNXnp. dziedziczenia wielokrotnego WR*HPR*QDMHÄREHMüSU]H]DJUHJDFM FRMHVWQRQVHQVHP]SXnktu widzenia FHOyZPRGHORZDQLDSRMFLRZHJRWDNVDPRMDN]GDQLHÄDVRFMDFMHV]EGQHER PR*QDMHREHMüSU]H]DWU\EXW\ Wszysto PR*QDREHMüZ assemblerze!
31 .RPSR]\FMDMDNRPRFQDSRVWDüDJUHJDFML 3RMFLHDJUHJDFMLMHVWUR]XPLDQHQDGZDVSRVRE\ ƒ-dnr]zl]hnf]ü-fdárüsrplg]\relhnwdplzldwdu]hf]\zlvwhjr np. VLOQLNMHVWF]FLVDPRFKRGX ƒ-dnrsrprfqlf]\urghngrprghorzdqldgrzroqhmlqqhmv\wxdfmlniedy WU]HEDZ\G]LHOLüpodobiekty w pewnych obiektach. np. informacja o XEH]SLHF]HQLDFKZHZQWU]RELHNWyZSUDFRZQLNyZ :80/WHGZLHV\WXDFMH ]RVWDá\ UR]G]LHORQH 3LHUZV] IRUP QD]wano NRPSR]\FM.RPSR]\FMDR]QDF]D*HF\NO*\FLRZ\VNáDGRZHM]DZLHUDVLZ F\NOX*\FLRZ\PFDáRFLRUD]*HVNáDGRZDQLHPR*HE\üZVSyáG]LHlona. * K * C K S * K C K S agregacja kompozycja
32 Agregacja a kompozycja; SU]\NáDG {ordered} 3..* Punkt Wielobok NUJ SURPLH * * Styl kolor F]\:\SHáQLRQ\ W przedstawionym UR]ZL]DQLX punkt na SáDV]F]\(QLH, w którym SU]HFLQDMVLRNUJLwielobok, jest odwzorowywany w dwa (?) obiekty klasy Punkt.
33 Asocjacja kwalifikowana Katalog 1 * Plik nazwa { nazwa pliku jest unikatowa w ramach katalogu } Katalog nazwa pliku Plik 3HUVSHNW\ZDSRMFLRZD- plik jes t w ramach katalogu jednoznacznie LGHQW\ILNRZDQ\SU]H]QD]Z. Perspektywa projektowa - wskazanie na WR*HNDWDORJSOLNyZPR*QD ]RUJDQL]RZDüMDNRWDEOLFDVRFMDF\MQlub VáRZQLN(przeeszukiwanie za SRPRFnazwy pliku).
34 Asocjacja n-arna Asocjacja n-arna to asocjacja, której Z\VWSLHQLDáF]n obiektówegf\fk instancjami co QDMZ\*HMn klas. Dana NODVD PR*H SRMDZLü VLQDZLFHMQL* jednej pozycji w asocjacji. Asocjacja binarna ze VZRMXSURV]F]RQQRWDFMLpewnymi dodatkowymi ZáDVQRFLDPL(WDNLPLMDNPR*OLZRüXVWDODQLDNLHUXQNXQDZLJRZDQLD, kwalifikatorów]zl]nyzagregacji czy kompozycji) jest specjalnym rodzajem asocjacji n-arnej (dla n=2). asocjacja 3-arna asocjacja 4-arna K1 K3 K1 A K3 K2 K2
35 Diagramy interakcji Diagramy interakcji (ZVSyáSUDF\ i sekwencji) MDNR JáyZQH ]DGDQLH PDM ZVSRPR*HQLH SURMHNWDQWD w procesie konstruowania modelu obiektowego (diagramu klas). Pomoc polega na analizie zachowania systemu w trakcie realizacji MHJR]DGD i LGHQW\ILNRZDQLXQRZ\FKF]\WH*NRUHNFLHMX* LVWQLHMF\FKelementów modelu, np.: klas, LFKDWU\EXWyZF]\PHWRGRUD]DVRFMDFMLPLG]\NODVDPL. Oba rodzaje diagramów SU]HGVWDZLDM bardzo SRGREQ LQIRUPDFM, w nieco inny sposób. 'LDJUDP\ ZVSyáSUDF\ VWDQRZLFH Z pewnym sensie Z\VWSLHQLD fragmentu diagramu klas, lepiej SU]HGVWDZLDM]ZL]NL PLG]\ RELHNWDPL ELRUF\PL XG]LDá w UHDOL]DFMLGDQHJRSU]\SDGNXX*\FLD. àdwzlhmwh*pr*qd WXRGZ]RURZDüHIHNW\ RGG]LDá\ZDQLDQDSRMHG\QF]\RELHNW. Diagramy sekwencji lepiej SU]HGVWDZLDM ]DOH*QRFL F]DVRZH, EDUG]LHM QL* diagramy kolaboracji QDGDMVL do modelowania systemów czasu rzeczywistego i ]ár*rq\fkvfhqdulxv]\. Diagramy sekwencji GRVWDUF]DMURGNyZdo modelowania przetwarzania ZVSyáELH*QHJR.
36 ,QWHUDNFMDQDGLDJUDPDFKZVSyáSUDF\ :Personel bibl. 3R*\F] (W\WXá) :Egzemplarz.VL*NL 2.1: [b] =D]QDF]:\SR*\F]HQLH :&]árqhn bibl. 2: [a] b:= &]\'RVWSQ\.VL*ND specyfikacja warunku 1: a:= &]\0R*QD3R*\F]\ü Komunikaty PRJ E\üQXPHURZDQH, albo kolejnymi liczbami naturalnymi, albo VWRVXMFQXPHUDFM ]DJQLH*G*RQ1XPHUDFMD]DJQLH*G*RQDR]QDF]D: MHOLRELHNW O otrzyma komunikat o numerze np. 7.3 to ten QXPHUEG]LH GRáF]DQ\jako prefix do ND*GHJRNRPXQLNDWXZ\V\áDQHJRw trakcie realizacji komunikatu 7.3 przez O.
37 Interakcja na diagramach sekwencji :Personel bibl. :&]árqhn bibl..vl*nd :Egzemplarz.VL*NL A 3R*\F] (W\WXá) 1: a := &]\0R*QD3R*\F]\ü {C-A < 5 sek.} { =D]QDF]:\SR*\F]HQLH - &]\'RVWSQ\ < 1 sek.} 2: [a] b := &]\'RVWSQ\ 2.1: [b] =D]QDF]:\SR*\F]HQLH C Dwa sposoby opisywania czasu: R]QDF]DQLH VNDOL F]DVRZHM OXE QDNáDGDQLH RJUDQLF]HQDXSá\ZF]DVX.
38 Generyczne diagramy interakcji Generyczny diagram interakcji ma z ]DáR*HQLD VSHF\ILNRZDü wszystkie sekwencje interakcji dla danego przypadku X*\FLD, a nie tylko dla jednego z PR*OLZ\FK VFHQDULXV]\. UML dostarcza URGNL ]DUyZQR do modelowania ]DFKRZDZDUXQNRZ\FK, jak i iteracji. :K1 :K2 :K3 xyyyxyyy 3.1: *[i := 1..2] x 3.1.1: *[j := 1..3] y Komunikat, który ma E\üZ\VáDQ\ZLHOHUD]\, PXVLE\üSRSU]HG]RQ\V\PEROHP *. 2F]\ZLFLHPXVLE\üWH*Z\VSHF\ILNRZDQ\ZDUXQHNRNUHODMF\]DNRF]HQLH iteracji.
39 2]QDF]DQLHZVSyáELH*QRFL Rodzaj interakcji Symbol Znaczenie synchroniczna powrót Normalna proceduralna sytuacja. Nadawca ]DZLHV]D G]LDáDQLH, dopóki odbiorca nie SU]HND*H VWHURZDQLD, co PR*QD R]QDF]\ü Z\NRU]\VWXMFV\PERO powrotu. Powrót nie jest komunikatem. Oznacza ]DNRF]HQLHNRPXQLNDWX i przekazanie sterowania do nadawcy. SáDVND (flat) Nadawca komunikatu przekazuje sterowanie do odbiorcy NRF]F MHGQRF]HQLH ZáDVQ G]LDáDOQRü. asynchroniczna Nadawca komunikatu odbiorcy nie oczekuje na RGSRZLHG(RGELRUF\, ale WH*inieNRF]\ ZáDVQHMDNW\ZQRFL, co oznacza*hnadal przetwarza i PR*HZ\V\áDü komunikaty.
40 Diagramy stanu (1) Maszyna stanu jest grafem skierowanym,, NWyUHJR ZLHU]FKRáNL VWDQRZL stany obiektu, a áxnl RSLVXM SU]HMFLD PLG]\ VWDQDPL. 3U]HMFLH PLG]\ VWDQDPL jest RGSRZLHG]L na zdarzenie. Zwykle, maszyna stanu jest przypisana do klasy VWDQRZLF PRGHO KLVWRULL *\FLD dla obiektu tej klasy. 0R*QD SU]\SLVDü PDV]\Q stanu do przypadku (ów) X*\FLD, operacji, kolaboracji, ale dla opisu SU]HSá\ZX VWHURZDQLDF]FLHMZ\NRU]\VWXMHVLLQQHURGNL, np. GLDJUDP\DNW\ZQRFL. Stan obiektu PR*HE\üFKDUDNWHU\]RZDQ\QDNLONDVSRVREyZ: jako okres czasu, wktórym obiekt oczekuje na zdarzenie albo jako okres czasu, w którym obiekt SU]HWZDU]DDOERMDNR]ELyUZDUWRFLRELHNWX (atrybutów LSRZL]D- w pewnym aspekcie podobnych. Nazwa stanu entry/akcja1/akcja2/ GRDNW\ZQRüDNW\ZQRü«exit/akcja1/akcja2/... akcja - operacja atomowa lista akcji - akcja1/akcja2/ - traktowana jest, jak pojedyncza operacja, DNW\ZQRü- operacjanwyupr*qdsu]huzdü, OLVWDDNW\ZQRFL - podobnie, jak lista akcji, entry, do, exit - VáRZDNOXF]RZHdo specyfikowania operacji wykonywanych na ZHMFLX, w trakcie i QDZ\MFLX]HVWDQX
41 Diagramy stanu (2) Typ zdarzenia Opis 6NáDGQLD ZRáDQLH otrzymanie przez obiekt synchronicznego *GDQLDwykonania operacji - najbardziej podstawowy rodzaj zdarzenia op (a : T) zmiana zdarzenie typu zmiana jest X*\WHF]QHQS. do modelowania sytuacji, gdy obiekt zmienia stan po otrzymaniu odpowiedzi na Z\VáDQ\SU]H]VLHELHNRPXQLNDW when(z\ud*hqlh) V\JQDá otrzymania przez obiekt asynchronicznego *GDQLDwykonania operacji; X*\WHF]QHdo PRGHORZDQLD]GDU]HSU]\FKRG]F\FK ]]HZQWU]systemu nazwa_syg (a : T) czas XSá\QLFLHF]DVXRNUHORQHJRw sposób EH]Z]JOGQ\OXEZ]JOGQ\, np. after (5 sec.) after (czas)
42 Diagramy stanu (3) SU]HMFLH]HZQWU]QH (external transition) zdarzenie [warunek] /akcja S 1 S 2 SU]HMFLHZHZQWU]QH (internal transition) zdarzenie [warunek] /akcja bez zmiany stanu samo-su]hmflh (selftransition) S zdarzenie [warunek] /akcja SU]HMFLHDXWRPDW\F]QH (completion transition) [warunek] /akcja S1 S2 ZV]\VWNLH RSHUDFMH Z\VSHF\ILNRZDQH SR VáRZDFK kluczowych entry, exit i do ]RVWDá\XNRF]RQH
43 Diagramy stanu (4) Diagram typu: F\NO*\FLDRELHNWX 8U]G]HQLH niesprzedane kupno XU]G]HQLDprzez klienta 8U]G]HQLH sprzedane NOLHQW]ZUyFLáXU]G]HQLH after (data gwarancji) Diagram typu: SU]HSá\ZVWHURZDQLD VWDQNRFRZ\ stan SRF]WNRZ\ ruch czarnych Kolejka ELDá\FK UXFKELDá\FK when (szach mat) when (pat) when (pat) czarne Z\JU\ZDM remis Kolejka czarnych when (szach mat) ELDáH Z\JU\ZDM
44 Diagramy stanu (5) Stan prosty nie posiada substruktury, jest specyfikowany przez zbiór operacji oraz SU]HMü. Stan ]ár*rq\, SRZVWDá\ w HIHNFLH ]DJQLH*G*DQLD VWDQyZ, PR*H E\ü zdekomponowany na stany bardziej proste, a dekompozycja jest tu rodzajem specjalizacji..d*g\ z SRGVWDQyZ G]LHG]LF]\SU]HMFLD nadstanu. Tylko jeden z SRGVWDQyZPR*HE\üDNW\ZQ\w danym momencie. zd1 zd2 zd2 S S zd1 zd4 S1 S1 S2 zd5 zd3 S3 zd4 zd5 S2 s3 zd4 zd4 ZF]HQLHMV]HSUDFH5XPEDXJKD zd3 D. Harel, OMT, UML
45 'LDJUDP\DNW\ZQRFL(1) *UDIDNW\ZQRFL to maszyna stanu, której podstawowym zadaniem nie jest analiza stanów obiektu, ale modelowanie przetwarzania (SU]HSá\ZyZ operacji). 6WDQ\ JUDIX DNW\ZQRFL, zwane DNW\ZQRFLDPL RGSRZLDGDM stanom Z\Uy*QLDOQ\Pw trakcie przetwarzania, a nie stanom obiektu. $NW\ZQRüPR*H E\ü LQWHUSUHWRZDQD Uy*QLH, w ]DOH*QRFL RG SHUVSHNW\Z\: jako zadanie do wykonania i to ]DUyZQRSU]H]F]áRZLHND, jak i przez komputer (z perspektywy SRMFLRZHM) F]\WH*QS. jako pojedyncza metoda (z perspektywy projektowej). Podobnie, SU]HMFLD PLG]\ VWDQDPL UDF]HM QLH V tu ]ZL]DQH ] QDGHMFLHP zdarzenia, ale z ]DNRF]HQLHP SU]HWZDU]DQLD Z\VSHF\ILNRZDQHJR GOD GDQHJR stanu. 'ODVNRPSOHWRZDQLDSURMHNWXND*GDDNW\ZQRüSRZLQQDE\üUR]SLVDna na szereg operacji, z których ND*G WU]HED EG]LH QD Sy(QLHMV]\P HWDSLH SU]\G]LHOLü do odpowiedniej klasy. 'LDJUDP\ DNW\ZQRFL V V]F]HJyOQLH X*\WHF]QH SU]\ PRGHORZDQLX SU]HSá\ZyZ RSHUDFML F]\ WH* w RSLVLH ]DFKRZD ] SU]HZDJ SU]HWZDU]DQLDZVSyáELH*QHJR.
46 'LDJUDP\DNW\ZQRFL (2) Oznaczenia: nazwa DNW\ZQRFL DNW\ZQRü SU]HMFLH, z zasady nie opisywane; PR*H E\ü RSDWU]RQH warunkiem, PR*H WH*E\ü R]QDF]RQH V\PEROHP LWHUDFML; akcje RSLVXMFH SU]HMFLD SRZLQQ\E\ü UDF]HM GRáF]RQH GR NWyUHM z DNW\ZQRFL; romb, NWyU\PR*HUR]G]LHODüMHGQRSU]HMFLHQDNLONDLQQ\FK (opatrzonych warunkami) lub áf]\ünlonddowhuqdw\zq\fksu]hmü w jedno sztabka synchronizujaca (synchronization bar); PR*H E\ü typu fork (rozdzielenie jednej operacji na kilka SU]HELHJDMF\FKrównolegle) lub typu join (synchronizacja NLONXRSHUDFMLUyZQROHJá\FKZMHGQ DNW\ZQRüSRF]WNRZD DNW\ZQRüNRFRZD
47 'LDJUDP\DNW\ZQRFL (3) Klient ']LDá6SU]HGD*\ Magazyn Wystaw zamówienie 3áDü :Zamówienie {Z\VáDQH} 3DPLWDM, co i NLHG\Z\VáDQR :Zamówienie {umieszczone} Pobierz zamówienie :Zamówienie {skompletowane} :\OLM to, co zamówiono :Zamówienie {wprowadzone} Skompletuj zamówienie
48 Diagramy implementacyjne 'LDJUDP\ LPSOHPHQWDF\MQH SRND]XM QLHNWyUH DVSHNW\ LPSOHPHQWDFML SI, ZáF]DMFZWRVWUXNWXUNRGX(UyGáRZHJRRUD]VWUXNWXUNRGXF]Dsu wykonania (run-time.rqvwuxrzdqlhwdnlfkgldjudpyzmhvwx*\whf]qh]duyzqr]hz]jogx QD SRQRZQH X*\FLH MDN L ]H Z]JOGX QD PR*OLZRü RVLJDQLD ] LFK SRPRF RGSRZLHGQLFKSDUDPHWUyZZ\GDMQRFLRZ\FK UML wprowadza dwa rodzaje takich diagramów: ƒ Diagramy komponentów SRND]XMFH]DUyZQRLPSOHPHQWDFM HOHPHQWyZ projektu (npnodvsu]h]nrpsrqhqw\mdnllqwhuihmv\rud]]doh*qrflplgzy NRPSRQHQWDPLLQQ\PLVáRZ\SRND]XMFHVWUXNWXUNRGXNRQVWUXRwanego SI. ƒ 'LDJUDP\ ZGUR*HQLRZH SRND]XMFH NRQILJXUDFM V\VWHPX F]DVX wykonania, czyli rozmieszczenie komponentów i obiektów na REOLF]HQLRZ\FK ]DVREDFK F]DVX Z\NRQDQLD ]ZDQ\FKWXZ]áDPL Taka NRQILJXUDFMDPR*HE\ü]DUyZQRVWDW\F]QDMDNLG\QDPLF]QD- i komponenty LRELHNW\PRJPLJURZDüPLG]\Z]áDPLZF]DVLHZ\NRQDQLD
49 Diagramy komponentów Komponent MHVW MHGQRVWN LPSOHPHQWDFML ] GREU]H ]GHILQLRZDQ\P LQWHUIHMVHP, GREU]HZ\L]RORZDQ\]NRQWHNVWXQDGDMF\VLGRZLHORNURWQHJRwykorzystania. Program do harmonogramów rezerwacje Diagram komponentów jest przedstawiany jako graf, gdzie Z]áDPL V NRPSRQHQW\ ]D ]DOH*QRFLSURZDG]RGNOLHQWD pewnej dostawcy. informacji do jej Program SODQXMF\ aktualizacje Interfejs graficzny
50 'LDJUDP\ZGUR*HQLRZH 'LDJUDP\ZGUR*HQLRZHSRND]XMNRQILJXUDFMHOHPHQWyZF]DVXZ\Nonania: NRPSRQHQWyZVSU]WRZ\FKIL]\F]Q\FKMHGQRVWHNSRVLDGDMF\FKFRnajmniej SDPLüDF]VWRLPR*OLZRFLREOLF]HQLRZHNRPSRQHQWyZRSURJramowania RUD]]ZL]DQ\FK]QLPLRELHNWyZ 'LDJUDPZGUR*HQLRZ\MHVWJUDIHPJG]LHZLHU]FKRáNL]ZDQHZ]áDPLSRáF]RQH V SU]H] OLQLH RGZ]RURZ\ZXMFH SRáF]HQLD NRPXQLNDF\MQH NRPSRQHQWyZ VSU]WRZ\FK :]á\ SRGREQLH MDN SRáF]HQLD NRPXQLNDF\MQH PRJ E\ü opatrzone stereotypami, np &38ª SDPLüª XU]G]HQLH MDNLHª :]á\ SU]HFKRZXMZ\VWSLHQLDRELHNWyZLNRPSRQHQWyZ SRáF]HQLHkomunikacyjne AdminServer:KomputerHost KomputerJacka:PC :Program do harmonogramów rezerwacje :Program SODQXMF\
51 Diagramy pakietów (1) Pakiety VWDQRZL zgrupowanie elementów modelu 6 URGNLHP RJyOQHJR zastosowania przeznaczonym do budowania struktur hierarchicznych..d*g\ element modelu musi E\ü przypisany do jednego pakietu (home package). Model PR*HE\üRSLVDQ\SU]H]]ELyUSDNLHWyZ. 3DNLHW RSUyF] HOHPHQWyZ PRGHOX PR*H WH* ]DZLHUDü LQQH SDNLHW\ (]DJQLH*G*DQLH). 6pakiety specjalnego rodzaju: fasada (facade), model, podsystem, system. Stosowanie pakietów ]QDF]FR XáDWZLD ]DU]G]DQLH przechowywaniem, konfiguracjami czy modyfikowaniem elementów systemu. 'REU]HSU]HSURZDG]RQ\SRG]LDáQDSDNLHW\PR*H]QDF]FRXáDWZLü]DU]G]DQLH procesem konstrukcji produktu programistycznego.
52 Diagramy pakietów (2) =ár*rqdnroderudfmd :\Uy*QLDQLHVXENRODERUDFML Zamiana subkolaboracji na pakiet Ukrywanie detali, jest X*\WHF]QH, MDN ND*GD DEVWUDNFMD. 7HPX FHORZL PR*H QS. VáX*\üZ\RGUEQLHQLHVXENRODERUDFML, a QDVWSQLH]DPLDQDMHMQDSDNLHW. Pakiet nie SRVLDGDZáDVQHJRLQWHUIHMVX, w tym sensie*h SU]HVáDQLHNRPXQLNDWXdo pakietu, R]QDF]DSU]HVáDQLHNRPXQLNDWX do obiektu ZHZQWU]pakietu. W UML, sparametryzowana kolaboracja jest traktowana projektowy (design pattern). jako wzorzec
53 Diagramy pakietów (3) Edytor Sterownik Elementy diagramów graficznych Elementy dziedziny ]DVWRVRZD 5G]HJUDILNL System okienkowy 5G]HJUDILNL Motif Motif 5G]HJUDILNL Windows MS Windows
54 Diagramy pakietów (4) «facade» («fasada») Zawiera Z\áF]QLHRGZRáDQLDdo elementów zdefiniowanych w innych pakietach. «model» 6WDQRZLPQLHMOXEZLFHMNRPSOHWQ DEVWUDNFMV\VWHPX(na pewnym SR]LRPLHV]F]HJyáRZRFLZLG]LDQ]pewnej perspektywy. Zwykle zawiera drzewo pakietów. «subsytem» («podsystem») Jest rodzajem pakietu, który reprezentuje pewien spójny, logiczny, dobrze wyizolowany fragment systemu. Posiada dobrze wyspecyfikowany zbiór interfejsów, do interakcji z otoczeniem. Podsystem podzielony jest QDGZLHF]FLVSHF\ILNDF\MQLUHDOL]DF\MQ&]ü specyfikacyjna zawiera opis interakcji z otoczeniem, z UHJXá\]DSRPRF SU]\SDGNyZX*\FLD. &]üuhdol]df\mqdsrváxjxmfvlnroderudfmdpl, podaje sposoby realizacji przypadków przez podsystem. Podsytemy PRJE\ü]EXGRZDQH z innych podsystemów, ZWHG\ WHQDMQL*V]HJR SR]LRPX PXV] MX* ]DZLHUDü elementy modelu. Podsytem stanowi zgrupowanie elementów modelu logicznego. Komponent jest zgrupowaniem elementów modelu implementacyjnego. Zwykle, podsystemy V implementowane jako komponenty. 7DNLH SRGHMFLH XSUDV]F]D PDSRZDQLH modelu logicznego na implementacyjny.
55 0HFKDQL]P\UR]V]HU]DOQRFLw UML UML SRVLDGDWU]\URG]DMHPHFKDQL]PyZUR]V]HU]DOQRFL: ƒ stereotypy, ƒ ZDUWRFLHW\NLHWRZDQH, ƒ ograniczenia. Stereotypy ƒ 6WHUHRW\S\XPR*OLZLDMPHWDNODV\ILNDFM elementów modelu. ƒ Istnieje lista VWHUHRW\SyZGODND*GHJRrodzaju elementów modelu (elementu metamodelu UML), npuhodfmlplg]\su]\sdgndplx*\fldnodvf]\phwrg ƒ Dany element modelu (npnrqnuhwqdnodvdf]\phwrgdpr*he\ü oznaczona co QDMZ\*HMMHGQ\Pstereotypem. ƒ 6VWHUHRW\S\SUHGHILQLRZDQHDOHX*\WNRZQLF\PRJWH*GHILQLRZDüZáDVQH ƒ 6WHUHRW\S\UR]V]HU]DMVHPDQW\NPHWDPRGHOX
56 Stereotypy; notacja Notacja: zwykle «nazwa stereotypu» lub ikona, ale PR*QDWH*X*\ZDükoloru czy tekstury, FKRü z Uy*Q\FKZ]JOGyZQLHjest to polecane (ograniczenia ludzkie lub VSU]WX). guillemets - jeden znak - X*\ZDQ\ w FKDUDNWHU]HFXG]\VáRZLDw M]. francuskim (a) «sterowanie» 3LyURZLHWOQH lokacja: Punkt uruchom (Tryb) (b) «sterowanie» 3LyURZLHWOQH lokacja: Punkt uruchom (Tryb) ikona (c) 3LyURZLHWOQH (d) lokacja: Punkt 3LyURZLHWOQH uruchom (Tryb),NRQDPR*HE\üX*\ZDQDQD2 sposoby: zamiast symbolu stereotypu (c, d) lub razem z nim (b). W przypadkach a, b, c ]DZDUWRüHOHPHQWXPRGHOXRSDWU]RQHJRVWHUHRW\SHP (tu: klasy 3LyURZLHWOQH) jest widoczna. W przypadku d ]RVWDáDRSXV]F]RQD.
57 Stereotypy; SU]\NáDG\ «include» P1 P2 «extend» P3 P4 rodzaj elementów modelu: UHODFMHPLG]\SU]\SDGNDPLX*\FLD lista stereotypów dla tego rodzaju: «include» i «extend».d*gduhodfmdplg]\su]\sdgndplx*\fld(element modelu) jest opatrzona jednym z dwóch stereotypów z SRZ\*V]HMOLVW\. «WUZDáD» 3URVWRNW punkt1: Punkt punkt2: Punkt «WUZDáD» 3URVWRNW punkt1: Punkt punkt2: Punkt «konstruktory» 3URVWRNWS3XQNWS3XQNW «zapytania» obszar () : Real aspekt() : Real... «aktualizacje» SU]HVXGHOWD3XQNW SU]HVNDOXMZVSyáF]\QQLN Real) «konstruktory» 3URVWRNWS3XQNWS3XQNW «zapytania» obszar () : Real aspekt () : Real... SU]HVXGHOWD3XQNW SU]HVNDOXMZVSyáF]\QQLN Real) Jednym stereotypem PR*QD RSDWU]\ü FDá OLVW HOHPHQWyZ PRGHOX..RQLHF OLVW\ PR*H E\ü oznaczony przez.
58 :DUWRFLHW\NLHWRZDQH :DUWRFL HW\NLHWRZDQH V X*\ZDQH GR VNRMDU]HQLD arbitralnej informacji z pojedynczym elementem modelu. ƒ :DUWRüHW\NLHWRZDQ stanowi FLJ znaków o postaci: VáRZRNOXF]RZH ZDUWRü. 'RZROQ\áDFXFK]QDNyZPR*HE\üX*\W\MDNRVáRZRNOXF]RZH ƒ 6VáRZDNOXF]RZHSUHGHILQLRZDQHDOHX*\WNRZQLNPR*HWH*GHILQLRZDüZáDVQH ƒ /LVWZDUWRFLHW\NLHWRZDQ\FK (oddzielonych przecinkami) XPLHV]F]DVL w {}. ƒ 'RZROQ\HOHPHQWPRGHOXPR*HE\üVNRMDU]RQ\QLHW\ONR]OLVWZDUWRFL HW\NLHWRZDQ\FKDOHZEDUG]LHMRJyOQ\PVHQVLH]áDFXFKHPZáDVQRFLZSRVWDFL ^GRZROQ\áDFXFK]QDNyZ` {autor = Jan Nowak WHUPLQ]DNRF]HQLD ³0DMD VWDWXV DQDOL]D` 3U]\NáDG: :DUWRFL HW\NLHWRZDQH V szczególnie przydatne do przechowywania zarówno informacji ]ZL]DQ\FK]]DU]G]DQLHPprojektem (jak w SU]\NáDG]LHSRZ\*HM), jak i do SU]HFKRZ\ZDQLDV]F]HJyáyZ implementacyjnych.
59 Ograniczenia Ograniczenia VSHF\ILNXM UHVWU\NFMH QDNáDGDQH QD HOHPHQW\ PRGHOX 0RJ VWDQRZLüZ\UD*HQLDM]\NDQDWXUDOQHJRF]\M]\NDIRUPDOQHJR(np. OCL w UML), PRJWH*SU]\MPRZDüSRVWDüIRUPXá\PDWHPDW\F]QHMOXEIUDJPHQWXNRGX(F]\WH* pseudokodu). Notacja: Vzawarte ZHZQWU] {} i umieszczane za elementem w klasie, lub poza NODV0RJWH*E\üXPLHV]F]DQHw komentarzu. Pracownik LPL nazwisko pensja {<=10 000} Pracownik LPL nazwisko pensja {pensja <=10 000} ]PLHSHQVM(nowa) ograniczenie statyczne {pensja nie wzrasta o ZLFHMQL*300} ograniczenie dynamiczne
60 Ograniczenia; SU]\NáDG\ Symbole, takie jak ---- oraz ---->PRJE\ü X*\ZDQH do wskazywania elementów, QDNWyUH]RVWDá\QDáR*RQHRJUDQLF]HQLD Firma * Konto QDOH*\do * {xor} Osoba 0..1 SRGZáDGQ\ * 0..1 szef Osoba 1..* 0..1 pracownik pracodawca Firma {Osoba.pracodawca = Osoba.szef.pracodawca} ograniczenie zapisane w komentarzu
61 &]\NRU]\VWDüz PHFKDQL]PyZUR]V]HU]DOQRFL? UML GRVWDUF]\áD NLONX PHFKDQL]PyZ UR]V]HU]DOQRFL, DE\ XPR*OLZLü SURMHNWDQWRPZSURZDG]DQLHPRG\ILNDFMLEH]NRQLHF]QRFL]PLDQ\VDPHJRM]\ND modelowania. Twórcy UML VWDUDOL VL w ten sposób (FKRFLD*E\ w pewnym stopniu) ]DVSRNRLüSRWU]HE\VSHF\ILF]Q\FKG]LHG]LQSUREOHPRZ\FKF]\URGRwisk programowych. 1DU]G]LDPRJSU]HFKRZ\ZDüZSURZDG]RQHPRG\ILNDFMHRUD]PDQLSXORZDü QLPLEH]NRQLHF]QRFL ZQLNDQLD w LFK VHPDQW\N - modyfikacje z UHJXá\ V przechowywane w SRVWDFLáDFXFKyZ]QDNRZ\FK. 1DU]G]LD PRJ XVWDQRZLü ZáDVQ VNáDGQL i VHPDQW\N GOD REVáXJL PHFKDQL]PyZUR]V]HU]DOQRFL. 1DOH*\ SDPLWDü *H rozszerzenia VWDQRZL ] GHILQLFML RGVWSVWZR RG standardów 80/ L *H Z naturalny sposób SURZDG]GRutworzenia pewnego dialektu UML, a to z NROHL PR*H SURZDG]Lü do problemów ] SU]HQDV]DOQRFL 7U]HED]DZV]HGREU]HUR]ZD*\ü]\VNL i straty, które PRJE\üSRQLHVLRQHG]LNL korzystaniu z tych mechanizmów, szczególnie wtedy, gdy stare standardowe mechanizmy SUDFXMZ\VWDUF]DMFRdobrze.
62 Podsumowanie UML 80/SRZVWDáZUH]XOWDFLHSRáF]RQ\FKZ\VLáNyZWU]HFK]QDQ\FKPHtodologów: G. Booch a, I. Jacobson a i J. Rumbaugh a, NWyU\FK PHWRG\NL RSDQRZDá\ RNRáR U\QNX ]DVWRVRZD PHWRG\N RELHNWRZ\FK 80/ ]\VNXMH FRUD] ZLNV] SRSXODUQRü MDNR VNáDGRZD QDU]G]L &$6( L SUDZGRSRGREQLH EG]LH GRPLQRZDá SU]H]ZLHOHQDMEOL*V]\FKODWZREV]DU]HDQDOL]\LSURMHNWRZDQLDSI. 80/ ]JRGQLH ] GHNODUDFM WZyUFyZ QLH PD DPELFML E\ü PHWRG\N SURMHNWRZDQLD -HVW ]HVWDZHP SRMü R]QDF]H L GLDJUDPyZ NWyU\ PRJ E\ü X*\ZDQH Z GRZROQHM PHWRG\FH RSDUW\FK R SRGVWDZRZH SRMFLD RELHNWRZRFL 3RMFLD80/Z]DáR*HQLXWZyUFyZPDMSU]\NU\üZLNV]RüLVWRWQych aspektów modelowanych systemów. Kwestia semantyki i pragmatyki tej notacji pozostaje mglista, co jest QLHXFKURQQ\P VNXWNLHP VSU]HF]QRFL SRPLG]\QDWXUSURFHVyZWZyUczych a ich IRUPDOL]DFM 80/MHVWVNáDGRZVWDQGDUGX20*&25%$ 1LH ZV]\VF\ V ]DFKZ\FHQL 80/ 1LHNWyU]\ VSHFMDOLFL XZD*DM JR za twór QLHVWDELOQ\ ]E\W FL*NL SU]HUHNODPRZDQ\ L (OH ]GHILQLRZDQ\ 8ML ma NRQNXUHQWyZZSRVWDFLFDáHJR]HVWDZXLQQ\FKPHWRG\NRELHNWRZ\FK.
Rysunek 1: Przykłady graficznej prezentacji klas.
4 DIAGRAMY KLAS. 4 Diagramy klas. 4.1 Wprowadzenie. Diagram klas - w ujednoliconym języku modelowania jest to statyczny diagram strukturalny, przedstawiający strukturę systemu w modelach obiektowych przez
Bardziej szczegółowoKomputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
Bardziej szczegółowoMAS dr. Inż. Mariusz Trzaska
MAS dr. Inż. Mariusz Trzaska Wykład 5 Model obiektowy cz. 3 Zagadnienia Dziedziczenie asocjacji Asocjacje pochodne Redukcja liczności Role wielowartościowe Trochę więcej o agregacji Agregacja rekursywna
Bardziej szczegółowoMAS dr. Inż. Mariusz Trzaska
MAS dr. Inż. Mariusz Trzaska Wykład 4 Model obiektowy cz. 2 Zagadnienia Asocjacja binarna Agregacja a kompozycja Modelowanie generalizacji-specjalizacji Obejście dziedziczenia wielokrotnego Asocjacja kwalifikowana
Bardziej szczegółowoPodstawy projektowania systemów komputerowych
Podstawy projektowania systemów komputerowych Diagramy klas UML 1 Widok logiczny Widok logiczny Widok fizyczny Widok przypadków użycia Widok procesu Widok konstrukcji Używany do modelowania części systemu
Bardziej szczegółowoTECHNOLOGIE OBIEKTOWE. Wykład 3
TECHNOLOGIE OBIEKTOWE Wykład 3 2 Diagramy stanów 3 Diagram stanu opisuje zmiany stanu obiektu, podsystemu lub systemu pod wpływem działania operacji. Jest on szczególnie przydatny, gdy zachowanie obiektu
Bardziej szczegółowoDiagramy klas. WYKŁAD Piotr Ciskowski
Diagramy klas WYKŁAD Piotr Ciskowski przedstawienie statyki systemu graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi obiekty byt, egzemplarz
Bardziej szczegółowoUML w Visual Studio. Michał Ciećwierz
UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować
Bardziej szczegółowoProjektowanie systemów informacyjnych
Projektowanie systemów informacyjnych E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 10, Slajd 1 Wykład 10 Model dynamiczny (2) Diagramy stanów Ewa Stemposz Instytut Podstaw Informatyki
Bardziej szczegółowoPodstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Bardziej szczegółowoDiagramy klas i obiektów
Diagramy klas i obiektów zastosowanie do modelowania w języku UML Agnieszka Niegowska & Grzegorz Widziszowski Klasy Klasa jest miejscem przechowywania cech obiektów, które są niezmienne (inwariantów).
Bardziej szczegółowoPodstawy inżynierii oprogramowania
Podstawy inżynierii oprogramowania Modelowanie. Podstawy notacji UML Aleksander Lamża ZKSB Instytut Informatyki Uniwersytet Śląski w Katowicach aleksander.lamza@us.edu.pl Zawartość Czym jest UML? Wybrane
Bardziej szczegółowoDiagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com
Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,
Bardziej szczegółowoZagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)
Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu
Bardziej szczegółowoCel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2
Wyższa Szkoła Menedżerska w Legnicy Systemy informatyczne w przedsiębiorstwach Zarządzanie, ZIP, sem. 6 (JG) Modelowanie wymagań Wykład 2 Grzegorz Bazydło Cel wykładu Celem wykładu jest przekazanie wiedzy
Bardziej szczegółowoPodstawy języka UML2 w realnych projektach
Kod szkolenia: Tytuł szkolenia: UML2/RP Podstawy języka UML2 w realnych projektach Dni: 3 Opis: Adresaci Szkolenia: Szkolenie adresowane jest do osób, które chciałby poznać podstawy UML2. Przede wszystkim
Bardziej szczegółowoKurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017
Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy
Bardziej szczegółowoPo lewej przykłady klas. Stereotypy zostały tu wykorzystane do metaklasyfikacji metod.
1. Klasa; notacja w UML 2. Dziedziczenie: jednoaspektowe wieloaspektowe wielokrotne dynamiczne 3. Klasa parametryzowana 4. Rozszerzenia i ograniczenia w podklasie 5. Wystąpienie klasy 6. Klasa abstrakcyjna
Bardziej szczegółowoModelowanie obiektowe
Modelowanie obiektowe ZPO 2018/2019 Dr inż. W. Cichalewski Materiały wykonane przez W. Tylman Diagramy klas Diagramy klas Zawiera informacje o statycznych związkach między elementami (klasami) Są ściśle
Bardziej szczegółowoMariusz Trzaska Modelowanie i implementacja systemów informatycznych
Mariusz Trzaska Modelowanie i implementacja systemów informatycznych Notka biograficzna Dr inż. Mariusz Trzaska jest adiunktem w Polsko-Japońskiej Wyższej Szkole Technik Komputerowych, gdzie zajmuje się
Bardziej szczegółowoUML. dr inż. Marcin Pietroo
dr inż. Marcin Pietroo Pojęcia obiektowości obiekt klasa komunikat hermetyzacja polimorfizm dziedziczenie graficzny język wizualizacji, specyfikowania, tworzenia i dokumentowania systemów informatycznych
Bardziej szczegółowoINŻYNIERIA OPROGRAMOWANIA. laboratorium
INŻYNIERIA OPROGRAMOWANIA laboratorium UML 1/4 UML (Unified Modeling Language) - język modelowania obiektowego systemów i procesów [Wikipedia] Spojrzenie na system z różnych perspektyw dzięki zastosowaniu
Bardziej szczegółowoModelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Modelowanie klas i obiektów Jarosław Kuchta Podstawowe pojęcia (1) Byt, encja (entity) coś co istnieje, posiada własne cechy i wyodrębnioną tożsamość (identity); bytem może być rzecz, osoba, organizacja,
Bardziej szczegółowoUML cz. I. UML cz. I 1/1
UML cz. I UML cz. I 1/1 UML cz. I 2/1 UML - Unified Modeling Language ujednolicony można go współdzielić z wieloma pracownikami modelowania służy do opisu projektowanego modelu język posiada opisaną strukturę
Bardziej szczegółowoMAS dr. Inż. Mariusz Trzaska
MAS dr. Inż. Mariusz Trzaska Wykład 3 Model obiektowy cz. 1 Klasa; notacja w UML Dziedziczenie: jednoaspektowe wieloaspektowe wielokrotne dynamiczne Zagadnienia Klasa parametryzowana Rozszerzenia i ograniczenia
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoInżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji
Inżynieria oprogramowania Jarosław Kuchta Modelowanie interakcji Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja
Bardziej szczegółowoPodstawy języka UML UML
Podstawy języka UML UML Plan prezentacji Wprowadzenie do modelowania Wprowadzenie do języka UML Diagram klas Diagram pakietów Diagram przypadków użycia Diagram czynności Terminologia Terminologia Aplikacja
Bardziej szczegółowoUML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.
45. UML, jego struktura i przeznaczenie. Przeznaczenie UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne. Pozwala obrazować, specyfikować, tworzyć
Bardziej szczegółowoDiagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Diagramy interakcji Jarosław Kuchta Dokumentacja i Jakość Oprogramowania Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania.
Bardziej szczegółowoModelowanie danych, projektowanie systemu informatycznego
Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym Modele - konceptualne reprezentacja obiektów w uniwersalnym
Bardziej szczegółowoAnaliza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej
Analiza i projektowanie obiektowe 2017/2018 Wykład 3: Model wiedzy dziedzinowej Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Model wiedzy dziedzinowej
Bardziej szczegółowoKATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA
KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA Przygotował: mgr inż. Radosław Adamus Wprowadzenie Podstawą każdego projektu, którego celem jest budowa oprogramowania są wymagania, czyli warunki,
Bardziej szczegółowoModelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014
Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80
Bardziej szczegółowoPodstawy języka UML2 w realnych projektach
Kod szkolenia: Tytuł szkolenia: UML2/RP Podstawy języka UML2 w realnych projektach Dni: 3 W cenie szkolenia uczestnik otrzymuje licencję na oprogramowanie Enterprise Architect, najlepsze narzędzie do modelowania
Bardziej szczegółowoUnified Modeling Language
Unified Modeling Language Tomasz Pawlak 2 Plan prezentacji Wprowadzenie i historia UML Modelowanie z użyciem UML Wybrane diagramy struktury i zachowania Narzędzia wspierające UML 3 Unified Modeling Language
Bardziej szczegółowoWprowadzenie do UML, przykład użycia kolizja
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoWzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski
Adapter: opis Wzorce Strukturalne Tomasz Borzyszkowski Alternatywna nazwa: Wrapper (opakowanie) Rola obiektu Adapter: pełni wobec Klienta rolę otoczki, która umożliwia przetłumaczenie jego żądań na protokół
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram klas. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram
Bardziej szczegółowoSpis treúci. 1. Wprowadzenie... 13
Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...
Bardziej szczegółowoMAS dr. Inż. Mariusz Trzaska. Realizacja różnych modeli dziedziczenia w obiektowych językach programowania
MAS dr. Inż. Mariusz Trzaska Wykład 10 Realizacja różnych modeli dziedziczenia w obiektowych językach programowania Zagadnienia o o o o o o Omówienie różnych rodzajów dziedziczenia, klas abstrakcyjnych
Bardziej szczegółowoMODELOWANIE OBIEKTOWE Z UML
MODELOWANIE OBIEKTOWE Z UML Maciej Patan Paradygmat obiektowy system zbiór unikatowych obiektów( społeczność obiektów ), obiekt w czasie swego cyklu życia : jest nośnikiem informacji(atrybuty=dane), może
Bardziej szczegółowoPaweł Kurzawa, Delfina Kongo
Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management
Bardziej szczegółowoMODELOWANIE OBIEKTOWE
(Wykład na podstawie literatury: M.Śmiałek Zrozumieć UML 2.0, Helion 2005) UML Unified Modeling Language (język do specyfikowania, wizualizowania, konstruowania i dokumentacji tzw. artefactów oraz czynności
Bardziej szczegółowoDiagram przypadków użycia
Diagram przypadków użycia Diagram przypadków użycia opisuje system z punktu widzenia użytkownika, pokazuje, co robi system, a nie jak to robi. Diagram ten sam w sobie zazwyczaj nie daje nam zbyt wielu
Bardziej szczegółowoModelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig
Modelowanie Obiektowe Wykład 1: Wprowadzenie do Modelowania i języka UML Anna Kulig Wprowadzenie do modelowania Zasady Pojęcia Wprowadzenie do języka UML Plan wykładu Model jest uproszczeniem rzeczywistości.
Bardziej szczegółowoProjektowanie logiki aplikacji
Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie logiki aplikacji Zagadnienia Rozproszone przetwarzanie obiektowe (DOC) Model klas w projektowaniu logiki aplikacji Klasy encyjne a klasy
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia Materiały dla nauczyciela Projekt
Bardziej szczegółowoUnified Modeling Language
Unified Modeling Language Wprowadzenie do UML Igor Gocaliński Odrobina historii Połowa lat 70-tych i koniec 80-tych to początek analizy obiektowej Wiele opracowanych metod w połowie lat 90-tych Metoda
Bardziej szczegółowoUML cz. II. UML cz. II 1/38
UML cz. II UML cz. II 1/38 UML cz. II 2/38 Klasy Najważniejsze informacje o klasie: różnica pomiędzy klasą a jej instancją (obiektem) na podstawie klasy tworzone są obiekty (instancje klasy) stan obiektu
Bardziej szczegółowoProjektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD
Projektowanie systemów informatycznych Roman Simiński roman.siminski@us.edu.pl siminskionline.pl Modelowanie danych Diagramy ERD Modelowanie danych dlaczego? Od biznesowego gadania do magazynu na biznesowe
Bardziej szczegółowoTECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek
TECHNOLOGIE OBIEKTOWE WYKŁAD 2 Anna Mroczek 2 Diagram czynności Czym jest diagram czynności? 3 Diagram czynności (tak jak to definiuje język UML), stanowi graficzną reprezentację przepływu kontroli. 4
Bardziej szczegółowoAnaliza i projektowanie aplikacji Java
Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram
Bardziej szczegółowoLaboratorium 6 DIAGRAM KLAS (Class Diagram)
Laboratorium 6 DIAGRAM KLAS (Class Diagram) Opisuje strukturę programu (a także zależności między nimi), co znajduje odzwierciedlenie w kodzie. Charakteryzuje zależności pomiędzy składnikami systemu: klasami,
Bardziej szczegółowoDiagramy UML, przykład problemu kolizji
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 1 Wprowadzenie do narzędzia CASE
Bardziej szczegółowoZARZĄDZANIU. Wykład VI. dr Jan Kazimirski
INFORMATYKA W ZARZĄDZANIU Wykład VI dr Jan Kazimirski jankazim@mac.edu.pl http://www.mac.edu.pl/jankazim MODELOWANIE SYSTEMÓW UML Literatura Joseph Schmuller UML dla każdego, Helion 2001 Perdita Stevens
Bardziej szczegółowoPodstawy języka UML UML
Podstawy języka UML UML Plan szkolenia Plan szkolenia Godzina (czas) 10:20 11:20 (60 min) 11:20 11:40 (20 min) 11:40 13:10 (90 min) 13:10 13:30 (20 min) 13:30 15:00 (90 min) Temat Wprowadzenie do UML (Definicja,
Bardziej szczegółowoJęzyk UML w modelowaniu systemów informatycznych
Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 8 Diagram pakietów I Diagram pakietów (ang. package diagram) jest diagramem
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram
Bardziej szczegółowo1 Projektowanie systemu informatycznego
Plan wykładu Spis treści 1 Projektowanie systemu informatycznego 1 2 Modelowanie pojęciowe 4 2.1 Encja....................................... 5 2.2 Własności.................................... 6 2.3 Związki.....................................
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla studentów
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram
Bardziej szczegółowoFazy analizy (modelowania) oraz projektowania FAZA ANALIZY:
Fazy analizy (modelowania) oraz projektowania Analiza bez brania pod uwagę szczegółów implementacyjnych Projektowanie ze szczegółami implementacyjnymi. FAZA ANALIZY: Celem fazy analizy jest ustalenie wszystkich
Bardziej szczegółowoAnaliza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas
Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy
Bardziej szczegółowoŚwiat rzeczywisty i jego model
2 Świat rzeczywisty i jego model Świat rzeczywisty (dziedzina problemu) Świat obiektów (model dziedziny) Dom Samochód Osoba Modelowanie 3 Byty i obiekty Byt - element świata rzeczywistego (dziedziny problemu),
Bardziej szczegółowo12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:
Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 1) Oprogramowanie to: 2) Produkty oprogramowania w inżynierii oprogramowania można podzielić na: 3) W procesie wytwarzania oprogramowania
Bardziej szczegółowoUnified Modeling Language. Referat na seminarium magisterskie Zagadnienia Programowania Obiektowego Dymitr Pszenicyn
Unified Modeling Language Referat na seminarium magisterskie Zagadnienia Programowania Obiektowego Dymitr Pszenicyn Po co UML? Duże przedsięwzięcia informatyczne wymagają modelowania. Istniało wiele metodologii
Bardziej szczegółowoWYKŁAD 1. Wprowadzenie do problematyki baz danych
WYKŁAD 1 Wprowadzenie do problematyki baz danych WYKŁAD 2 Relacyjny i obiektowy model danych JĘZYK UML (UNIFIED MODELING LANGUAGE) Zunifikowany język modelowania SAMOCHÓD
Bardziej szczegółowoMichał Adamczyk. Język UML
Michał Adamczyk Język UML UML I. Czym jest UML Po co UML II.Narzędzia obsługujące UML, edytory UML III.Rodzaje diagramów UML wraz z przykładami Zastosowanie diagramu Podstawowe elementy diagramu Przykładowy
Bardziej szczegółowoAnaliza i projektowanie obiektowe
Analiza i projektowanie obiektowe Procesy budowy systemów informatycznych Fazy procesu budowy SI Specyfikacja wymagań o Analiza dziedziny modelowanie podstawowych pojęć i terminów Analiza systemowa modelowanie
Bardziej szczegółowoPodstawy modelowania programów Kod przedmiotu
Podstawy modelowania programów - opis przedmiotu Informacje ogólne Nazwa przedmiotu Podstawy modelowania programów Kod przedmiotu 11.3-WI-INFP-PMP Wydział Kierunek Wydział Informatyki, Elektrotechniki
Bardziej szczegółowoTutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.
AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...
Bardziej szczegółowoInżynieria oprogramowania
Inżynieria oprogramowania Wykład 8 Inżynieria wymagań: analiza przypadków użycia a diagram czynności Patrz: Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język UML 2.0 w modelowaniu systemów
Bardziej szczegółowoINFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji
Modelowanie danych. Model związków-encji Plan wykładu Wprowadzenie do modelowania i projektowania kartograficznych systemów informatycznych Model związków-encji encje atrybuty encji związki pomiędzy encjami
Bardziej szczegółowoUML. zastosowanie i projektowanie w języku UML
UML zastosowanie i projektowanie w języku UML Plan Czym jest UML Diagramy przypadków użycia Diagramy sekwencji Diagramy klas Diagramy stanów Przykładowe programy Visual Studio a UML Czym jest UML UML jest
Bardziej szczegółowoWPROWADZENIE DO UML-a
WPROWADZENIE DO UML-a Maciej Patan Instytut Sterowania i Systemów Informatycznych Dlaczego modelujemy... tworzenie metodologii rozwiązywania problemów, eksploracja różnorakich rozwiązań na drodze eksperymentalnej,
Bardziej szczegółowoUML a kod. C++, Java i C#
UML a kod C++, Java i C# UML a kod w C++ i Javie Projektowanie oprogramowania! Dokumentowanie oprogramowania Diagramy przypadków użycia Klasy użytkowników i wykorzystywane funkcje Mogą sugerować podział
Bardziej szczegółowoProgramowanie Obiektowe Język UML
Programowanie Obiektowe Język UML Wstęp UML (Unified Modeling Language), zunifikowany język do modelowania, jest następcą i syntezą notacji występujących w obiektowych metodykach analizy i projektowania
Bardziej szczegółowoDiagramy przypadków użycia
Instytut Informatyki Uniwersytetu Śląskiego 10 października 2010 Spis treści 1 Wprowadzenie do UML 2 3 4 5 6 Diagramy UML Język UML definiuje następujący zestaw diagramów: diagram przypadków użycia - służy
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoProjektowanie interakcji. Jarosław Kuchta
Projektowanie interakcji Jarosław Kuchta Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja występuje w kontekście
Bardziej szczegółowoJęzyk UML w modelowaniu systemów informatycznych
Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 3 Diagramy przypadków użycia Diagramy przypadków użycia (ang. use case)
Bardziej szczegółowoUML - zarys 2007/2008
UML - zarys 2007/2008 Modelowanie Jest ważne przy tworzeniu wysokiej jakości oprogramowania Jest przydatne przy tworzeniu i analizie działania organizacji Modelujemy aby: Zrozumieć system Określić pożądaną
Bardziej szczegółowoSpis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp... 11. Podziękowania...
Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników Spis treúci Wstęp... 11 Podziękowania... 13 O autorach... 15 Robert A. Maksimchuk... 15 Eric J. Naiburg... 15 Przedmowa...
Bardziej szczegółowoAnaliza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Bardziej szczegółowoDiagramy przypadków użycia. WYKŁAD Piotr Ciskowski
Diagramy przypadków użycia WYKŁAD Piotr Ciskowski Diagram przypadków użycia definiowanie wymagań systemowych graficzne przedstawienie przypadków użycia, aktorów, związków między nimi występujących w danej
Bardziej szczegółowoModelowanie i analiza systemów informatycznych
Katolicki Uniwersytet Lubelski Jana Pawła II Wydział Matematyki, Informatyki i Architektury Krajobrazu Modelowanie i analiza systemów informatycznych ćwiczenia informacja wstępna dr Viktor Melnyk, prof.
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram
Bardziej szczegółowoArchitektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.
Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,
Bardziej szczegółowoDiagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.
Umiejętność czytania oraz tworzenia diagramów klas UML jest podstawą w przypadku zawodu programisty. Z takimi diagramami będziesz spotykał się w przeciągu całej swojej kariery. Diagramy klas UML są zawsze
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoEnterprise Architect - narzędzie do modelowania
Kod szkolenia: Tytuł szkolenia: EA Enterprise Architect - narzędzie do modelowania Dni: 3 Opis: Adresaci szkolenia Szkolenie adresowane jest do osób, które już potrafią modelować w UML jednakże mają potrzebę
Bardziej szczegółowoDiagramy czynności. Widok logiczny. Widok fizyczny
Diagramy czynności System widoków 4+1 Kruchtena Widok logiczny Widok fizyczny Widok procesu Widok przypadków użycia Widok konstrukcji Diagramy czynności są jedynym diagramem w widoku procesu modelowanego
Bardziej szczegółowoFaza analizy (modelowania) Faza projektowania
Faza analizy (modelowania) Faza projektowania Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie: co i przy jakich ograniczeniach system ma robić? Wynikiem tej analizy jest zbiór wymagań
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Bardziej szczegółowoo partnerstwie publiczno-prywatnym.
SENAT RZECZYPOSPOLITEJ POLSKIEJ V KADENCJA Warszawa, dnia 20 czerwca 2005 r. Druk nr 984 0$56=$à(. 6(-08 RZECZYPOSPOLITEJ POLSKIEJ Pan Longin PASTUSIAK 0$56=$à(. 6(1$78 RZECZYPOSPOLITEJ POLSKIEJ =JRGQLH
Bardziej szczegółowoDiagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska
Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska Wprowadzenie Modelowanie biznesowe jest stykiem między
Bardziej szczegółowo