• dla każdego interfejsu oferowanego przez podsystem muszą ist nieć klasy projektowe lub inne podsystemy, które dostarczą teninterfejs.
• w celu wyjaśnienia jak wewnętrzny projekt realizuje dowolny swójmterfejs lub przypadek użycia, należy podać kol aboracj ę/a wie raj ącą elementy podsystemu;
PROJEKT - Projektowanie przypadku użycia Celem projektowania PU jest:
• identyfikacja klas podsystemów, które uczestniczą w PU
• rozdzielenie zachowania miedzy klasy/podsystemy
• zdefiniowanie wymagań dotyczących operacjiklaspodsystemów
• rozpoznanie wymagań implementacy jnych dla PU
Etapy:
identyfikacja klas projektowych (z analizy uzupełnione o klasy dlawyiiiagan niefunkcjonalnych);
- opis biterakcji obiektów (diagram sekwencji poszerzony o nowe klasy;nazwa wiadomości staje się nazwą
operacji):
- rozważenie ścieżek alternatywnych: timcouty. błędy we, biedy systemów spadkowych.
PROJEKT - Projektowanie klasy Celem projektowania klasy jest określenie:
Operacji . atiybutow. relacji, metod, stanów i zależności odmechanizmów genetycznych, a także interfejsów, które klasarcalizujc.Dla klasy projektowej stosować śladowanic «tracc» do klasyanalizy.
Należy zidentyfikować:
klasy 'boundary' • zalezą od zastosowanej technologii interfejsu (nowestercotypy «form». «diak>g».
- klasy •entity* - dla modelu relacyjnego: model danych, projekt bu/uydanych
klasy sterujące trudne, decyzje powinny uwzględniać rozproszcnicaplikacji. wymagania wydajnościowe (cnkapsulacja do klas intcrfcjsu).ob sługę transakcji.
PROJEKT - wzorce projektowe
Cel: tworzenie projektu wielokrotnego użytku
Wzorzec projektowy - opisanie istoty rozwiązania problemu (spotykancgoc/ęsto w otoczeniu) w sposób, który umożliwia wielokrotnewy korzy sty wanie tego rozwiązania - niekoniecznie w tai sam sposób Na Wzorzec projektowy składają się cztery elementy:
• nazwa wzorca.
• problem,
• sposób rozwiązania.
• konsekwencje stosowania wzorca.
Wzorce projektowe dotyczą pewnego poziomu abstrakcji problemu tzn. nie sąwzorcami budowy list. drzew itp.; nie są tcżwzorcami budowy całydiaplikacji podsysteinowfnp bankowego, sterowania procesem itp.)
Wzorce projektowe - definicje
Wzorzec projektowy idaityfikujc i specyftkuje abstrakcję Nvyźszą'niż klasa, instancja czy nawet komponait (Gamma. 1993) Wzorce projektowe są opisali komunikujących się obiektów iklas dostosowanych do rozwiązania problemu projektowego wkonkietnym kontekście (Gamma 1995)
Wzorce projektowe stanowią zbiór reguł określających jakoś iągnąć konkretne cele w dziedzinie wy twurzaniao programowania (Prec. 1994)
Wzorzec stanowi rozwiązanie powtarzających się problemówprojcktowych (Buslimaim. 1996)
Wzorzec ~ przepis na upieczenie ciasta
Wzorce projektowe - klasy fikacja
* Kreujące - przejmują na siebie tworzone nowych instancji obiektów, ukrywając rodzaj obiektów (singlcton.proxy. fabryka abstrakcyjna)
* Strukturalne - wspomagają organizowanie obiektów wdużc struktury, np. Ul czy operacje na danych (fasada.adapter, most. dekorator, kompozycja)
* Behawioralne - wspomagają definiowanie komunikacji iprzcpływu zdarzeń pomiędzy obiektami (łailcuchudpowied/i alności. mediator, iterator)
Wzorce kreujące (CreationalPattems) - związane z tworzeniemnowych obiektów, ukrywają szczegóły dotyczące tworzcniaobicktów. kod kliaita ma pozostać niezmieniony w przypadkudodania nowego typu.
Przykłady suigleton. proxy. metoda fabrykują™ (factcryiiKtliod).abstrakcyjna fabryka (abstractfactory).
Wzorzec Slngleton - wzorzec projektowy, który daje pewność żc istnieje tylko jednainstaneja danej klasy.
Wzorzec Proxy - umożliwia dostęp do obiektu klasy rzeczywistej, poprzez obiekt klasyposrcdnicząccj (obiekt proxy).
Wzorce strukturalne (Str uctu rai Pat tern s) - wzorce, którepomagają grupować obiekty w większe struktiny. obicktypozostają w pewnych połączaiiach; wzorce tc mają ukiywaćsposób powiązania obiektów i uniezależniać kliaita od tychzmian;