MS FrontPage 2000

Download Report

Transcript MS FrontPage 2000

Projektowanie Aplikacji Komputerowych
UML – Unified Modeling Language
Piotr Górczyński
25/08/2001
1
Plan
 Wstęp
 Diagram przypadków użycia (use case)
 Diagram klas (class)
 Współpraca MS Visio i VB
 Diagram pakietów (package)
 Diagram aktywności (activity)
 Diagram stanów (state)
 Diagram sekwencji (sequence)
 Diagram współpracy (collaboration)
 Diagram komponentów (component)
 Diagram wdrożeniowy (deployment)
25/08/2001
2
Wstęp


UML jest językiem specyfikacji, konstruowania,
wizualizacji i dokumentowania dla systemów
wykorzystujących oprogramowanie
UML wykorzystuje szereg diagramów, które
modelują system z różnych perspektyw i na różnym
poziomie szczegółowości.
25/08/2001
3
Diagram przypadków użycia (Use Case
Diagram) - UCD
 Przypadek użycia opisuje sposób użycia systemu
przez zewnętrznego użytkownika
 Precyzuje zakres funkcjonalny systemu
 Weryfikuje poprawność i kompletność projektu
 Stanowi pomost między użytkownikami a
projektantami
25/08/2001
4
Składniki UCD
Element
Opis
Symbol
Granice systemu
Wyznaczają zakres systemu – co nie wchodzi w jego skład.
Aktor
Reprezentuje zewnętrzny obiekt (np. użytkownika) i jego rolę
dla systemu. Jeden obiekt może być reprezentowany przez
wielu aktorów.
Certification System
Instructor
Przypadek użycia
Reprezentuje zbiór czynności, które musi wykonać aktor, aby
wykonać pewien proces;zazwyczaj nie reprezentuje
pojedynczych kroków.
Związek interakcji
Związek między aktorem a przypadkiem użycia.
Związek
„używa”
Związek między przypadkami użycia. Zazwyczaj związek ten
oznacza, że użycie jest obligatoryjne (np. Wypożyczenie używa
Autoryzacji)
Związek
„rozszerza”
Związek między przypadkami użycia. Przypadek użycia
rozszerzający funkcjonalność zachodzi później (np..
DodanieKsiążki po Zalogowaniu)
25/08/2001
5
Take Certification
Course
Certification System
Przykład UCD
Take Certification
Course
Instructor
Student
Apply for Certific
ation
Program Administrator
Take Certification
Test
Repair Engineer Applicant
Test Proctor
25/08/2001
6
Diagram klas (Class Diagram) - CD
 Pokazuje statyczną strukturę systemu
 Prezentuje klasy zidentyfikowane w dziedzinie
przedmiotowej
 Określa ich właściwości oraz metody
 Określa związki dziedziczenia (generalizacji)
 Określa związki asocjacyjne (mnogościowe)
W MS Visio diagram klas należy do grupy Static Structure Diagram
25/08/2001
7
Składniki CD
Element
Opis
Symbol
Klasa
Reprezentuje zbiór obiektów o takich samych
właściwościach i metodach. Musi mieć
unikalną nazwę.
Test
-testScore : unsigned long
+Test()
+TestInfo()
Związek
dziedziczenia
(generalizacji)
Strzałka jest skierowana od obiektu, który
dziedziczy do obiektu ogólniejszego.
Związek asocjacji
(mnogościowy)
Reprezentuje zależność mnogościową
obiektów, czyli ile do ilu.
25/08/2001
8
Przykład CD
25/08/2001
9
Współpraca MS Vision i VB
 Pakiet MS Vision może importować projekt aplikacji
napisanej w VB i na jego podstawie tworzyć
automatycznie diagramy klas (model statyczny)
 Proces odtwarzania modelu z systemu nazywa się
Reverse Engineering
 Przykład znajduje się w katalogu
Download\Projektowanie Aplikacji
Komputerowych\ Reverse Engineering
25/08/2001
10
Zasady odtwarzania klas w MS Visio z kodu
VB
 Podczas importowania klasy z systemu na diagramie
odwzorowane zostaną elementy, który zostały
opisane w kodzie klasy:
Właściwości
Metody (bez kodu)
Argumenty metod
 Nie zostaną zaimportowane elementy, których opisu
nie ma w kodzie klasy:
Obiekty interfejsu
Metody obsługi zdarzeń, dla których nie stworzono procedury
obsługi (np. Load, Unload)
 Wniosek: jeżeli chcemy, aby MS Visio zaimportował
metody obsługi zdarzeń, to musimy stworzyć w
kodzie procedury obsługi zdarzeń, nawet jeśli mają
być puste
25/08/2001
11
Sposób odtworzenia klas w MS Visio z kodu
VB
1.
2.
3.
4.
Uruchamiamy MS Visio
Uruchamiamy VB
Otwieramy w VB projekt systemu
Naciskamy przycisk Reverse Engineer UML
Model na pasku przycisków lub z menu
Tools wybieramy polecenie Visio UML
Solution i następnie wybieramy podpolecenie Reverse Engineer UML Model
Klasy VB zostaną odtworzone w Visio
25/08/2001
12
Przykład – System
25/08/2001
13
Przykład – Odtworzony model
25/08/2001
14
Diagram pakietów (Package Diagram) - PD
 Pakiety pozwalają grupować elementy modelu
związane ze sobą
 Każdy element może należeć tylko do jednego
pakietu
 Pakiet może zawierać diagram, pakiet lub pojedyncze
elementy
 Ułatwiają projektowanie systemu przy złożonych
projektach poprzez dzielenie systemu na mniejsze
części
25/08/2001
15
Składniki PD
Element
Opis
Symbol
Pakiet
Grupuje elementy modelu, które są ze sobą
związane. Pakiet może zawierać diagramy,
pakiety lub pojedyncze elementy
Package1
W MS Visio cały system jest traktowany jako jeden duży pakiet „Top package”
25/08/2001
16
Przykład PD
25/08/2001
17
Diagram aktywności (Activity Diagram) – AD
 Przedstawia sieć przejść między czynnościami
zachodzących pod wpływem wewnętrznych sygnałów
w ramach pewnej operacji (procesu)
 Uwypukla równoległe i współbieżne czynności
 Odnosi się do przypadków użycia lub klas
25/08/2001
18
Składniki AD
Element
Opis
Stan początkowy
Reprezentuje początek wykonywania
operacji.
Stan końcowy
Reprezentuje koniec wykonywania operacji.
Stan
Reprezentuje obiekt w momencie, w którym
spełnił jakiś warunek, wykonuje czynność lub
czeka na zdarzenie. Symbol stanu może być
podzielony na 2 części: w górnej jest nazwa,
a w dolnej czynności, które obiekt ma
wykonać.
Przejście
Symbol
Reprezentuje przejście między czynnościami.
:event-name (parameters) [guard condition] /
action ^ send-clause
right-mouse-down (location) [location in
window] / object:=pick-object (location) ^
object.highlight ()
25/08/2001
19
Registered for Test
RegisteredForTest
CompletedTest / CreateAction1
Składniki AD c.d.
Element
Opis
Rozgałęzienie (Fork)
Rozdziela przepływ – następne czynności
mają być wykonane równolegle.
Złączenie (Join)
Łączy przepływy – wszystkie poprzednie
czynności muszą być skończone.
Decyzja
Reprezentuje punkt, w którym kierunek
przepływu zależy od pewnych warunków.
25/08/2001
Symbol
20
Przykład AD
25/08/2001
21
Diagram aktywności Sygnatury
Istnieje
Nie wypożyczona
Nie zarezerwowana
Istnieje
Nie wypożyczona
Zarezerwowana
START
TAK
Nie istnieje
Nie wypożyczona
Nie zarezerwowana
KONIEC
25/08/2001
Istnieje?
NIE
22
Istnieje
Wypożyczona
Nie zarezerwowana
Diagram stanów (Statechart Diagram) – STD
 Przedstawia sieć przejść między stanami klasy lub
przypadkami użycia zachodzących pod wpływem
zewnętrznych sygnałów
 Przedstawia maszynę stanów
 Pokazuje sekwencję stanów obiektu w ciągu jego
życia
 Notacja taka sama jak w diagramie czynności
25/08/2001
23
Przykład STD
Submit Application
Submit Application for New Level
AppliedForCertificationLevel
CertifiedAtLevel
Registered for Test
FailedTest
PassedTest
CompletedTest
AwaitTestResults
RegisteredForTest
25/08/2001
24
Diagram sekwencji (Sequence Diagram) –
SD
 Pokazuje sekwencje interakcji między aktorami lub
obiektami oraz komunikaty, które są wymieniane
 Pojedynczy diagram opisuje jeden przypadek użycia
25/08/2001
25
Składniki SD
Element
Opis
Symbol
Aktor
Reprezentuje zewnętrzny obiekt (np.
użytkownika) i jego rolę dla systemu. Jeden
obiekt może być reprezentowany przez wielu
aktorów.
Instructor
Obiekt
Reprezentuje klasę z diagramu klas. Musi
mieć unikalną nazwę.
Aktywność
Wyznacza czas w jakim obiekt wykonuje
pewne czynności.
Komunikat
Istnieje kilka typów komunikatów. Najczęściej
komunikat powoduje wywołanie metody klasy,
do której jest skierowany.
25/08/2001
26
Przykład SD
RegForm
ApplicantLis
PersonList
Applicant
Application
ApplicationList
findApplicant()
findPerson()
Applicant()
MakeApplication()
Application()
addApplication()
addPerson()
25/08/2001
27
Przykład SD
 Dla przykładowego systemu, na którym demonstrowano możliwości
importowania modelu w MS Visio można – na podstawie kodu aplikacji
– pokusić się o odtworzenie diagramu sekwencji
25/08/2001
28
Diagram współpracy (Collaboration Diagram) –
COD
 Opisuje współprace obiektów w ramach jednego
przypadku użycia
 Uwzględnia związki między obiektami
 Nie uwzględnia czasu tylko sekwencję wydarzeń,
dlatego komunikaty są numerowane
25/08/2001
29
Składniki COD
Element
Opis
Symbol
Obiekt
Reprezentuje klasę z diagramu klas. Musi
mieć unikalną nazwę.
regForm : RegistrationForm
Multi-obiekt
Zbiór takich samych klas.
ApplicantList
Asocjacja
Opisuje związek między elementami.
Asocjacja może opisywać związki
mnogościowe, oraz przesyłane komunikaty.
25/08/2001
30
1: findApplicant:=findApplicant()
5: addPerson:=addApplicant()
Przykład COD
1: findApplicant:=findApplicant()
5: addPerson:=addApplicant()
regForm : RegistrationForm
2:
fin
dP
er
s
ApplicantList
ant()
3: Applic
n()
pplicatio
4: MakeA
on
:=
fin
dP
e
rs
on
()
PersonList
4.1: Application()
a : Applicant
ap : Application
addApplication()
ApplicationList
25/08/2001
31
Diagram komponentów (Component Diagram)
- CPD
Przedstawia zależności pomiędzy komponentami
oprogramowania
Przedstawia typy, a nie instancje
Komponentem mogą być oprogramowanie lub
dokument biznesowy
Pokazuje zależności między komponentami
Może specyfikować interfejsy
25/08/2001
32
Składniki CPD
Element
Opis
Symbol
Komponent
Reprezentuje oprogramowanie lub dokument
biznesowy. Może zawierać w sobie klasy.
Może pozwalać na dostęp do metod lub
właściwości klas.
Interfejsy
Pokazuje metody służące do komunikacji z
komponentem.
Zależność
Opisuje zależność między komponentami.
DBBroker
«call»
25/08/2001
33
Przykład CPD
RepairEngineerApplication
«call»
DBBroker
EmployeeApplication
25/08/2001
34
Diagram Wdrożeniowy (Deployment Diagram) DPD
 Prezentuje strukturę rzeczywistego działającego systemu
 Pokazuje związki między oprogramowaniem i sprzętem
 Przypisuje komponenty do procesorów
25/08/2001
35
Składniki DPD
Element
Opis
Komponent
Reprezentuje oprogramowanie lub dokument
biznesowy. Może zawierać w sobie klasy.
Może pozwalać na dostęp do metod lub
właściwości klas.
Węzeł
Symbol
DBBroker
Reprezentuje jednostkę przetwarzającą
(procesor, komputer, człowieka)
NodeInstanc
e1
Interfejsy
Pokazuje metody służące do komunikacji z
komponentem.
Zależność
Opisuje zależność między komponentami.
«call»
25/08/2001
36
Przykład DPD #1
NeuCom Server
ClientXYZ
RepairEngineer Application
Database Broker
RetrieveStore1
25/08/2001
37
Przykład PDD #2
Serwer Beta
Serwer
Active Directory
Serwer pocztowy
Komputer w LAN
Windows
Aplikacja klienta
Baza danych
WWW
Serwer
WWW
Aplikacja klienta
Serwer Alfa
Komputer w LAN/WAN
25/08/2001
38