background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 1

   

Projektowanie systemów informacyjnych

Ewa Stemposz, Kazimierz Subieta

Instytut Podstaw Informatyki PAN, 
Warszawa

Polsko-Japońska Wyższa Szkoła
Technik Komputerowych, Warszawa

Wykład 1

Pojęcia wstępne
Model przypadków użycia

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 2

Zalecana literatura 

  E.  Stemposz,  K.  SUBIETA:  Slajdy  do  wykładu  “Projektowanie 
systemów informacyjnych”
    J.  Płodzień,  E.  Stemposz:  Analiza  i  projektowanie  systemów 
informatycznych
,  wydawnictwo  PJWSTK,  2003  i  wydanie  II-gie 
rozszerzone 2005
  M.  Śmiałek:  Zrozumieć  UML  2.0  Metody  modelowania 
obiektowego
, Helion, 2005
  S. Wrycza, B. Marcinkowski, K. Wyrzykowski:  Język UML 2.0 w 
modelowaniu systemów informatycznych
,  Helion 2005

    OMG  Unified  Modeling  Language.  Specification,  Version  1.5, 
Version 

2.0

The 

Object 

Management 

Group, 

2003, 

http://www.omg.org

M. Fowler, K. Scott: UML Distilled, Addison-Wesley 1997
    J.  Rumbaugh,  I.  Jacobson,  G.  Booch:  The  Unified  Modeling 
Language Reference Manual
, Addison-Wesley, 1999 

  T. Quatrani: Visual Modeling with Rational Rose 2000 and UML
Addison-Wesley, 2000
    K.  SUBIETA:  Obiektowość  w  projektowaniu  i  bazach  danych
Akademicka Oficyna Wydawnicza PLJ, 1998

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 3

Zagadnienia

  Notacja

  Analiza aktorów

  Analiza przypadków użycia

  Relacje między przypadkami użycia

  Związek uogólnienia między aktorami

  Określanie aktorów

  Określanie przypadków użycia

  Dokumentowanie przypadków  użycia

  Diagram interakcji dla przypadku użycia

  Podsumowanie

Model przypadków użycia:

Klasyfikatory; wystąpienia klasyfikatorów

Prezentowanie diagramów

Stereotypy; komentarze

Związki pomiędzy elementami modelowania

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 4

Prezentowanie diagramów

nagłówek

 Diagramy mogą być prezentowane w formie:
      

- nieobramowanej

      - obramowanej, gdzie diagram jest otoczony prostokątną ramą 
zawierającą
        nagłówek

nagłówek-diagramu=(rodzaj) nazwa-diagramu (parametry)

       

rodzaj – wyróżnik diagramu
nazwa – odzwierciedlająca merytoryczną zawartość
               diagramu
parametry – parametry kluczowe dla danego 
                    diagramu
 

Nazwa jest obligatoryjnym elementem składowym nagłówka;
rodzaj i parametry są elementami nieobligatoryjnymi. 

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 5

Stereotypy; komentarze

Stereotypy:  mechanizm  rozszerzalności  UML.  Stereotypy  są 
wykorzystywane do meta-klasyfikacji elementów modelu.

Notacja: 

«

nazwa stereotypu

»

 lub ikona

Przykłady stereotypów:

P1

P2

«include»

P3

P4

«extend»

Komentarze:  mechanizm  rozszerzalności  UML.  Komentarze  są 
wykorzystywane do wprowadzania do diagramu adnotacji przypisanych 
do fragmentu modelu.

tekst adnotacji

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 6

Klasyfikatory; wystąpienia klasyfikatorów

Klasyfikator:  kategoria  modelowania  UML,  stanowiąca  uogólnienie 
grupy  bytów  o  podobnych  własnościach;  pojęcie  klasyfikatora  odnosi 
się do każdego rodzaju diagramów UML.

Notacja: zależna od rodzaju diagramów

Wystąpienie  klasyfikatora  (instacja  klasyfikatora):  odpowiada 
konkretnemu  bytowi  z  grupy  bytów  charakteryzowanych  przez  dany 
klasyfikator

Notacja: zazwyczaj zgodna z notacją klasyfikatora; różnice występują głównie
w nazwach wystąpień: nazwa_własna_danego_bytu : nazwa_klasyfikatora

nazwisko : string
wiek : integer

Osoba

nazwisko = ” Nowak”
wiek = 35

O-Nowak : Osoba

klasyfikator

wystąpienie klasyfikatora

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 7

Związki pomiędzy elementami modelowania 

(1)

Na diagramach UML występują cztery rodzaje związków pomiędzy 
elementami modelowania: uogólnienieasocjacjazależnośćrealizacja.

Uogólnienie (generalizacja): występuje pomiędzy 
klasyfikatorem ogólnym a klasyfikatorem specjalizowanym

Notacja:

Asocjacja: opisuje powiązania pomiędzy wystąpieniami 
klasyfikatorów (również pomiędzy różnymi wystąpieniami tego 
samego klasyfikatora)

Notacja:

klasyfikator
ogólny

klasyfikator
specjalizowany

klasyfikator

klasyfikator

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 8

Związki pomiędzy elementami modelowania 

(2)

Zależność: jest związkiem pomiędzy takimi dwoma elementami 
modelowania, dla których zmiana jednego elementu (u dostawcy 
usług) może skutkować koniecznością wprowadzenia zmian do 
elementu drugiego (u klienta usług)

Notacja:

Realizacja: to związek pomiędzy klasyfikatorami, gdzie jeden z 
klasyfikatorów opisuje kontrakt, a drugi określa sposób realizacji 
tego kontraktu

Notacja:

dostawca
usług

klient
usług

klasyfikator określający 
sposób realizacji kontraktu

klasyfikator
opisujący kontrakt

Co?

Jak?

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 9

  

Modele wg Jacobsona

Model przypadków użycia: definiuje zarówno zewnętrze systemu 
(aktorzy ≡ systemy zewnętrzne ≡ kontekst systemu), jak i jego wnętrze 
(przypadki użycia); służy określeniu zachowań systemu w odpowiedzi 
na akcje pochodzące z otoczenia systemu.

Obiektowy model dziedziny: odwzorowywuje byty świata 
rzeczywistego (dziedziny problemowej ≡ dziedziny przedmiotowej) w 
obiekty istniejące w systemie.

Obiektowy model analityczny: podzbiór modelu dziedziny (dotyczy 
konkretnego zastosowania).

Model projektowy (logiczny):  opisuje założenia przyszłej 
implementacji.

Model implementacyjny (fizyczny):  reprezentuje implementację 
systemu.

Model testowania:  określa plan testów, specyfikuje procedury, dane 
testowe, raporty.

  Modele wymagają odpowiednich procesów do ich tworzenia
  Proces analizy wymagań, składa się z dwóch podprocesów:

proces modelowania przypadków użycia
- proces analizy związany z budową obiektowego modelu 

analitycznego

  Proces projektowania

  Proces implementacji

  Proces testowania

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 10

Model analityczny

Model analityczny z reguły wykracza poza zakres odpowiedzialności systemu. 

Zakres

odpowiedzialności

systemu

Model analityczny

Celem budowy modelu analitycznego 
może być wykrycie tych fragmentów 
dziedziny problemu, których 
wspomaganie za pomocą innego 
oprogramowania będzie szczególnie 
przydatne.

 Ujęcie w modelu pewnych elementów dziedziny problemu nie 
będących częścią systemu czyni model bardziej zrozumiałym. 
Przykładem jest ujęcie w modelu systemów zewnętrznych, z którymi 
system ma współpracować.
 Na etapie modelowania może nie być jasne, które elementy 
modelu będą realizowane przez oprogramowanie, a które w sposób 
sprzętowy lub ręcznie.

Dziedzina problemu

Dostępne środki mogą nie 
pozwolić na  realizację systemu 
w całości. 

Przyczyny:

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 11

Model wymagań

  Model przypadków użycia

  Obiektowy model analityczny 

Składowe:

Model przypadków użycia został oparty o dwa podstawowe pojęcia:

Aktor

Przypadek użycia

Reprezentuje  rolę,  którą  może  grać  w 
systemie 

jakiś 

jego 

użytkownik, 

np. 

kierownik, urzędnik, klient.
Reprezentuje sekwencję operacji 
(realizowanych przez system), niezbędnych 
do wykonania zadania zleconego przez 
aktora, np. potwierdzenie pisma, złożenie 
zamówienia, itp.

Aktorem jest dowolny byt z otoczenia systemu, który uczestniczy w 
interakcji z systemem. Każdy potencjalny aktor może wchodzić w 
interakcję z systemem na pewną liczbę jemu właściwych sposobów. 
Każdy z tych sposobów nosi nazwę przypadku użycia i reprezentuje 
przepływ operacji w systemie związany z obsługą zadania zleconego 
przez aktora w procesie interakcji.

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 12

Notacja

Przypadek użycia: Powinien mieć unikatową 
nazwę, opisującą przypadek użycia z punktu 
widzenia jego zasadniczych celów. Czy lepiej jest 
stosować nazwę opisującą czynność (“wypłata 
pieniędzy”/„wypłacanie pieniędzy”) czy polecenie 
(“wypłać pieniądze”) − zdania są podzielone.

Aktor:  Powinien mieć unikatową nazwę.

Interakcja: Ilustruje związek asocjacji zachodzący 
pomiędzy przypadkiem użycia (systemem) a 
aktorem.

Blok ponownego użycia: Wewnętrzny fragment 
systemu,  używany przez kilka przypadków użycia; 
blok ponownego użycia nie jest elementem UML.

Relacja typu 

«

include

»

 lub 

«

extend

»

Pokazuje 

związek zależności zachodzący pomiędzy dwoma 
przypadkami użycia lub przypadkiem użycia a 
blokiem ponownego użycia.  

Nazwa diagramu wraz z nagłówkiem i ramą: ud 
(ang. use case diagram) – wyróżnik diagramu.

Weryfikac

ja

klienta

Wypłata 

pieniędzy

ud Obsługa 
klienta

«include»

Klient

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 13

Aktor  kto (co) może wystąpić w roli 

aktora?

Metoda  przypadków  użycia  wymaga  od  analityka  określenia 
wszystkich 

aktorów 

związanych 

planowanym 

wykorzystywaniem  projektowanego  systemu,  innymi  słowy 
wymaga ustalenia zbioru “przyszłych użytkowników systemu”
.

 

Zazwyczaj aktorem jest osoba, ale może nim być także pewna 
organizacja (np. biuro prawne), inny system komputerowy lub 
urządzenie. Aktor modeluje grupę osób pełniących pewną rolę, a nie 
konkretną osobę. Jedna osoba może wchodzić w interakcję z systemem 
z pozycji wielu aktorów; np. być zarówno sprzedawcą, jak i klientem. I 
odwrotnie, jeden aktor może odpowiadać wielu konkretnym osobom, np. 
aktor “strażnik budynku”.

(2) Aktor jest pierwotną przyczyną napędzającą przypadki użycia. 
Jest sprawcą zdarzeń powodujących uruchomienie przypadku 
użycia, jest też odbiorcą danych  wyprodukowanych przez 
przypadek użycia. Sprawca zdarzeń? Czy np. klient, nie 
posiadający bezpośredniego dostępu do funkcji systemu jest 
aktorem?

(1) Czy system może być aktorem sam dla siebie? Aktor to 
przecież, zgodnie z definicją, byt z otoczenia systemu.

(3) Aktor pasywny a interakcja z systemem ?

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 14

Analiza aktorów

Wyjaśnienie 

różnicy 

pomiędzy 

pojęciem 

„konkretny użytkownik” a pojęciem „aktor”:

Konkretny
użytkownik

Aktor

Przypadek użycia

Może grać rolę

zleca

Jan Kowalski

Adam Malina

Konkretny 

gość

Konkretny klient

Administrator systemu

Pracownik

Osoba 

informowana 

Klient

Przeładowanie systemu

Wejście z kartą i kodem

Uzyskanie 

informacji ogólnych

Wypłata z konta

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 15

Wykorzystanie stereotypów dla aktorów

Aktor: system zewnętrzny
        

System

ubezpieczeń

Aktor: czas
        

1-szy dzień

roku

Klient

«actor»

Klient

Aktor: człowiek,
            grupa ludzi,
            organizacja

Klient

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 16

Przykład diagramu przypadków użycia (1)

Wpłata pieniędzy

Wypłata pieniędzy

Czy klient jest aktorem dla przypadku użycia: wpłata pieniędzy – to zależy 
od konkretnego systemu. W operacjach wpłaty i wypłaty pieniędzy mogą 
uczestniczyć także inni aktorzy, np. kasjer. Możemy go dołączyć jako 
kolejny element rozbudowujący nasz model.  

Klient

Klient

Kasjer

?

Wpłata pieniędzy

Wypłata pieniędzy

alternatywna notacja dla przypadków
użycia

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 17

Przykład diagramu przypadków użycia (2)

ud Automat do sprzedaży papierosów

Zakup paczki

papierosów

Uzupełnienie

towaru

Wykonanie operacji

pieniężnej

Sporządzenie

raportu

Klient

Operator

Kontroler

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 18

Liczność związków asocjacji

ud Automat do sprzedaży papierosów

Zakup paczki

papierosów

Uzupełnienie

towaru

Wykonanie operacji

pieniężnej

Sporządzenie

raportu

Klient

Operator

Kontroler

*

1

*

*

*

*

1

1

1

1

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 19

Oznaczanie kierunków interakcji

ud Automat do sprzedaży papierosów

Zakup paczki

papierosów

Uzupełnienie

towaru

Wykonanie operacji

pieniężnej

Sporządzenie

raportu

Klient

Operator

System

archiwizujący

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 20

Relacje między przypadkami użycia (1)

Przypadki użycia mogą być konstruowane w dowolnej 
kolejności, chyba że występują między nimi związki zależności 
typu 

«

include

»

 czy 

«

extend

»

.

P1

P2

«

include

»

P1

P2

«

extend

»

Przebieg podstawowy (sekwencyjny): P1 zawsze włącza (używa) 
P2
, zwane tu przypadkiem włączanym.

Przebieg opcjonalny (alternatywny): P1 jest czasami rozszerzane o 
P2
, zwane tu przypadkiem rozszerzającym (inaczej: P2 czasami 
rozszerza P1). Sformułowanie “czasami” oznacza, że warunek na 
wywołanie P2 musi być spełniony, aby P2 zostało wywołane z P1. O ile 
warunek nie został wyspecyfikowany − co jest dopuszczalne − P2 
będzie wywołane zawsze.

W obu poniższych diagramach P1, nazywane tu przypadkiem 
bazowym
, zawsze występuje jako pierwsze w kolejności działania.

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 21

Relacje między przypadkami użycia (2)

«include» wskazuje na 
wspólny fragment wielu 
przypadków użycia 
(wyłączony “przed nawias”); 
jest wykorzystywane w 
przebiegach 
podstawowych
 (przypadek 
włączany jest zawsze 
wykonywany) − strzałka jest 
skierowana w stronę 
przypadku włączanego

«extend» jest 
wykorzystywane w 
przebiegach opcjonalnych 
(przypadek rozszerzający nie 
zawsze będzie wykonywany) 
− strzałka jest skierowana w 
stronę przypadku bazowego

Naprawa

samochodu

Przegląd

samochodu

Sprzedaż

samochodu

Rejestracja

klienta

«

include

»

«

include

»

«

include

»

Umycie

samochodu

«

extend

»

Przyholowanie

samochodu

«

extend

»

«

extend

»

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 22

Relacje między przypadkami użycia (3)

Punkty rozszerzające 

(extension points)

Umożliwiają podanie 
warunków wymaganych do 
użycia przypadków 
rozszerzających 
(„opcjonalnych”).

Umycie

samochodu

«

extend

»

Przyholowanie

samochodu

«

extend

»

«exten

Naprawa

samochodu

extension points:

Samochód poza warsztatem
Samochód wymaga przeglądu

Przegląd

samochodu

extension points:

Samochód jest brudny

extension point: 
Samochód poza
warsztatem 

extension point: 
Samochód wymaga
przeglądu 

extension point: 
Samochód jest
brudny 

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 23

Relacje między przypadkami użycia (3)

Uwaga:  Zabronione  jest  łączenie  relacją  «include»  (czy  «extend») 
przypadków  użycia  występujących    w  różnych  przebiegach 
systemu
, jak np. na poniższym diagramie.

Klient

Dostawca

Złożenie zamówienia

Realizacja zamówienia

«

extend

»

Między złożeniem zamówienia a jego realizacją z reguły upływa trochę czasu.

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 24

Związek uogólnienia między aktorami (1)

Np. Pracownik administracji dziedziczy dostęp do przypadków użycia 
wyspecyfikowanych dla każdego pracownika, oraz ma dostęp do 
przypadków związanych z jego własnym, specyficznym sposobem 
wykorzystywania systemu.

Osoba

Gość

Pracownik

Księgowa

Pracownik 

administracji

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 25

Związek uogólnienia między aktorami (2)

Obsługa

konta klienta

Informowanie o 

stanie konta klienta

Inicjalizacja
karty klienta

Weryfikacja karty

i kodu klienta

ud Automat do operacji bankowych

«

include

»

«

include

»

«

include

»

Podsystem 

zarządzania bazą

danych banku

Klient

Administrator

systemu

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 26

Związek uogólnienia między aktorami (3)

Obsługa

konta klienta

Informowanie o 

stanie konta klienta

Inicjalizacja
karty klienta

Weryfikacja karty

i kodu klienta

ud Automat do operacji bankowych

«

include

»

«

include

»

«

include

»

Podsystem 

zarządzania bazą

danych banku

Klient

Administrator

systemu

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 27

Rozbudowa modelu przypadków użycia

Model 

przypadków 

użycia 

można 

rozbudowywać 

poprzez 

dodawanie  nowych  aktorów,  nowych  przypadków  użycia  czy  też 
nowych relacji pomiędzy przypadkami.

Klient
banku

Wpłać 

pieniądze

Wypłać 

pieniądze

Kasjer

Sprawdź

stan konta

Weź

pożyczkę

Zarząd

banku

Klient
banku

Wpłać 

pieniądze

Wypłać 

pieniądze

Kasjer

Sprawdź

stan konta

Weź

pożyczkę

Zarząd

banku

«include»

Uaktualnianie 

stanu konta

«include»

«extend»

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 28

Stopień szczegółowości diagramów

Model przypadków użycia dostarcza bardzo abstrakcyjnego spojrzenia na 
system − spojrzenia z pozycji aktorów, którzy go używają. Z założenia nie 
włącza zbyt wielu szczegółów, co pozwala wnioskować o funkcjonalności 
systemu na odpowiednio wysokim poziomie abstrakcji. Podstawowym 
(choć nie jedynym) zastosowaniem jest tu dialog z przyszłymi 
użytkownikami zmierzający do sformułowania poprawnych wymagań na 
system.  

Edycja

programu

Kompilacja

programu

Wykonanie

programu

Drukowanie

pliku

Programista

Użytkownik

końcowy

«

include

»

«

include

»

Tworzenie przypadków 
użycia jest 
niezdeterminowane i 
subiektywne. Na ogół, 
różni analitycy tworzą 
różne modele.

Model zbyt szczegółowy − utrudnia analizę, zbyt ogólny − nie 
pozwala na wykrycie bloków ponownego użycia.

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 29

Diagram kontekstowy

Podsystem 

zarządzania bazą

danych banku

Klient

Administrator

systemu

«system»

Automat do 

operacji 

bankowych

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 30

Przepływ zdarzeń (1)

 Jednym z najważniejszych elementów w opisie każdego 
przypadku użycia – na etapie formułowania wymagań – jest 
specyfikacja przepływu zdarzeń między aktorem a systemem. 
Specyfikację przepływu zdarzeń  należy formułować w języku  
naturalnym: prostą, spójną prozą i w oparciu o terminy zawarte w 
słowniku pojęć z dziedziny problemowej.

1. Przypadek użycia rozpoczyna  się,  gdy  klient wkłada  kartę do 

bankomatu.

     System czyta informacje  na karcie i bada ich poprawność.
2.  System pyta o PIN. Klient wprowadza PIN. System sprawdza 

poprawność.

3. System pyta o rodzaj operacji do wykonania. Klient wybiera: 

“Wypłać

    pieniądze”.
4. System pyta o wielkość kwoty. Klient wprowadza kwotę.
5.  System  komunikuje  się  z  bankiem,  żeby  sprawdzić 

poprawność ID konta, PIN i dostępność kwoty. 

Na przykład, przepływ zdarzeń między aktorem a systemem dla 
bankomatu, dla przypadku użycia “Wypłać pieniądze”, mógłby 
być opisany, jak poniżej:

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 31

Przepływ zdarzeń (2)

6. System pyta klienta czy potrzebuje potwierdzenie. 
7. System komunikuje klientowi prośbę o zabranie karty. Klient 

zabiera kartę. 

    Komunikat stanowi tu pewien mechanizm bezpieczeństwa 

chroniący klienta 

    przed nie zabraniem karty.
8.  System wydaje pieniądze.
9. System drukuje potwierdzenie (o ile klient sobie życzył) i to 

kończy 

     przypadek użycia.

 Możliwe są różne, alternatywne przepływy dla tego przypadku 
użycia:

  Dane od aktora: np. aktor może unieważnić transakcję w 
dowolnym momencie
    lub może nie chcieć potwierdzenia.

  Stan systemu: np. bankomat może nie zawierać pieniędzy, 
może brakować
    papieru, może nastąpić blokada urządzenia wydającego 
pieniądze czy też
   blokada urządzenia drukującego potwierdzenie.

  Time-out lub błędy: np. jeśli klient nie odpowie w określonym 
czasie, system 
    może unieważnić transakcję.

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 32

Scenariusze

  Każdy alternatywny przepływ nie oznacza oddzielnego 
przypadku użycia raczej grupujemy wszystkie powiązane przepływy 
w jeden przypadek użycia.

    Taką  grupę  przepływów  czasami  nazywa  się  klasą  przypadków 
użycia.

  Wystąpieniem klasy przypadków użycia jest wtedy jeden z 
pojedynczych, alternatywnych przepływów.

    Wystąpienie  klasy  przypadków  użycia  jest  także  nazywane 
scenariuszem.

  Scenariusze są używane do “ekstrahowania” z przypadku użycia 
unikatowej sekwencji akcji, inaczej: “wątków” w przypadku użycia.
 

  Na wczesnych etapach rozwoju systemu łatwiej jest rozpocząć 
prace od pewnego konkretnego scenariusza, a następnie dokładać 
przepływy alternatywne −  w ten sposób tworzy się klasę 
przypadków użycia.

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 33

Kolejne kroki w konstrukcji modelu

Konstrukcja modelu przypadków użycia opiera się na kilku krokach i 
wymaga ścisłej współpracy z przyszłym użytkownikiem, co implikuje 
zasadę: “nie opisuj przypadków użycia w sposób, który nie jest łatwo 
zrozumiały dla użytkownika”.

Jednocześnie powinien być budowany obiektowy model analityczny (schemat pojęciowy).

Krok:

Udokumentowany w:

Sporządzenie słownika 

pojęć

Słownik pojęć

Określenie aktorów

Określenie przypadków 

użycia

Tworzenie opisu każdego 
przypadku 
użycia plus:

  podział na nazwane części

  znalezienie wspólnych części 
w różnych przypadkach użycia

Dokument opisu 

aktorów

Diagram przypadków użycia +
dokument z opisem przypadków
użycia

1

2

3

4

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 34

Krok 1: sporządzenie słownika pojęć

  Słownik dotyczy dziedziny problemowej.
  Tworzenie go polega na wyłowieniu wszystkich pojęć z wymagań 
użytkownika.
  Pojęcia mogą odnosić się do aktorów, przypadków użycia, obiektów, 
operacji,    zdarzeń, itp. 
  Pojęcia w słowniku powinny być zdefiniowane w sposób precyzyjny 
i jednoznaczny.
  Posługiwanie się pojęciami ze słownika powinno być regułą przy 
opisie każdego    kolejnego problemu, sytuacji czy modelu.

Na co należy zwracać uwagę przy kwalifikowaniu pojęć do 
słownika:

  na rzeczowniki 

− 

mogą oznaczać aktorów lub byty z dziedziny 

problemowej,
  na frazy opisujące funkcje, akcje, zachowanie się 

− 

mogą 

stanowić podstawę do    wyróżniania przypadków użycia.

  Ważnym jest, by już na tym etapie rozpocząć organizowanie słownika pojęć.

Konto  służy do rejestrowania zasobów i wyników transakcji 
przeprowadzanych przez klienta, będącego właścicielem 
konta. Konta mogą być różnych typów, a w szczególności: 
konta indywidualne, małżeńskie, firmowe i inne. Każdy klient 
może posiadać więcej niż jedno konto.

Przykład:

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 35

Krok 2: określanie aktorów

Przy określaniu aktorów istotne są odpowiedzi na 
następujące pytania:

  Jaka grupa użytkowników potrzebuje wspomagania ze strony 
systemu (np. osoba
    wysyłająca korespondencję)?

  Jacy użytkownicy są konieczni do tego, aby system działał i 
wykonywał swoje
    funkcje (np. administrator systemu)?

  Z jakich elementów zewnętrznych (innych systemów, urządzeń) 
musi korzystać
     system, aby realizować swoje funkcje.

Ustalanie potencjalnych aktorów musi być powiązane z ustalaniem 
granic systemu, tj. odrzucaniem tych obszarów dziedziny 
problemowej, którymi system nie będzie się zajmował (ustalenie 
zakresu odpowiedzialności systemu).

  nazwę dla każdego aktora/roli,

  zakresy znaczeniowe dla poszczególnych nazw aktorów oraz relacje pomiędzy zakresami
   (np. sekretarka   pracownik administracji  pracownik  dowolna osoba). Niekiedy 

   warto ustalić hierarchię dziedziczenia dostępu do funkcji systemu dla aktorów.

Po wyszukaniu aktorów, należy ustalić:

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 36

Krok 3: określanie przypadków użycia (1)

 Dla każdego aktora, znajdź zadania: (1) w których system może go 
wesprzeć w działalności związanej z dziedziną przedmiotową, (2) 
niezbędne dla wspomagania   działania systemu jako takiego (np. 
zakładanie kont użytkowników).

 Staraj się powiązać w jeden przypadek użycia zespół zadań 
realizujących podobne cele.    Unikaj rozbicia jednego przypadku na zbyt 
wiele pod-przypadków. 

  Opisz  przypadki  użycia  przy  pomocy  zdań  w  języku  naturalnym, 
używając terminów ze   słownika.

 Uporządkuj aktorów i przypadki użycia w postaci diagramu. 
 Przeanalizuj zarówno wyspecyfikowane przypadki użycia (niektóre z 
nich mogą być „mutacjami” innych przypadków użycia), jak i powiązania 
aktorów z przypadkami użycia. Ustal, co jest zbędne, a co może być 
uogólnione.

 Nazwy dla przypadków użycia powinny być krótkie, ale 
jednoznacznie określające    charakter zadania zlecanego 
systemowi przez aktora. Ponadto, nazwy powinny odzwierciedlać 
czynności z punktu widzenia aktorów, a nie systemu, czyli np. 
“wpłacanie pieniędzy”, a nie “przyjęcie pieniędzy od klienta”. 

funkcja systemu ≡ zachowanie systemu ≡ zadanie zlecane systemowi ≡ przypadek użycia

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 37

Określanie przypadków użycia (2)

 W pierwszym podejściu skup się na tzw. „przypadkach krytycznych”, 
czyli takich, które stanowią istotę systemu (są normalnym, 
standardowym użyciem) lub są ważne z powodu istniejących w projekcie 
ryzyk (np. ryzyk technologicznych). Pomiń czynności wyjątkowe, 
uzupełniające lub opcjonalne; pomiń przypadki użycia typu C

reate

 R

ead

 

U

pdate

 D

elete

.

 Określ wzajemne powiązania przypadków, wyspecyfikuj rodzaj 
zależności: sekwencja  («include») czy alternatywa («extend»). 

 Dodaj zachowania wyjątkowe, uzupełniające, opcjonalne i CRUD. Ustal 
związki “przypadków krytycznych” z tego rodzaju zachowaniami. 

 Tworząc podział każdego przypadku użycia na nazwane części (bloki), 
staraj się, aby  nie były one ani zbyt ogólne ani zbyt szczegółowe. Zbyt 
szczegółowe bloki utrudniają analizę, a zbyt ogólne zmniejszają 
możliwość wykrycia fragmentów oprogramowania posiadających 
potencjał ponownego użycia. Całość diagramu nie może być ani zbyt 
duża ani zbyt złożona. 

 Przeanalizuj przypadki użycia pod kątem wyizolowania bloków 
ponownego użycia. Przeanalizuj podobieństwo nazw przypadków użycia, 
podobieństwo nazw i zachowania bloków występujących w ich 
specyfikacji. Wydzielenie bloku ponownego użycia może być powiązane z 
określeniem bardziej ogólnych zadań lub dodaniu nowych elementów do 
już istniejącego zadania. 

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 38

Krok 4: dokumentowanie przypadków użycia

1. Diagramy przypadków użycia: aktorzy, przypadki użycia i relacje 
zachodzące między 
    przypadkami. 
2. Krótki, ogólny opis każdego przypadku użycia:

Dokumentacja przypadków użycia powinna zawierać:

3. Opis szczegółowy każdego przypadku użycia:

  scenariusz(e)

  specyfikację uczestniczących obiektów,

  diagram(y) interakcji. 

    jak i kiedy przypadek użycia zaczyna się i kończy,

        opis  interakcji  przypadku  użycia  z  aktorami,  włączając  w  to 
kiedy interakcja ma 
      miejsce i co jest przesyłane,

        kiedy  i  do  czego  przypadek  użycia  potrzebuje  danych 
zapamiętanych w systemie
      oraz jak i kiedy zapamiętuje dane w systemie,

    wyjątki występujące przy obsłudze przypadku,

    specjalne wymagania, np. czas odpowiedzi, wydajność,

    jak i kiedy używane są pojęcia dziedziny problemowej.

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 39

Diagram interakcji dla przypadku użycia (1)

Przesyłanie komunikatów pomiędzy obiektami:

k1

k2

k3

k4

k5

Obiekt 1

Obiekt 2

Obiekt 3

Obiekt 4

ki

 

− komunikat, czyli polecenie wykonania operacji na obiekcie, do 

którego komunikat jest wysyłany; komunikat nosi nazwę tej operacji

czas

Aktor

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 40

Diagram interakcji dla przypadku użycia (2)

wpłata 

pieniędzy

:Formularz

:Kasa

:Konto

:Bank

wypełnij

podaj formularzaktualizuj stan

zwiększ
bilans

zwiększ
bilans

wydaj
pokwitowanie

:Klient

Uproszczony scenariusz

Wypełnij formularz wpłaty
Podaj formularz i gotówkę do 
kasy
Aktualizuj stan konta klienta
Zwiększ bilans kasy
Zwiększ bilans banku
Wydaj pokwitowanie dla 
klienta 

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 41

Szablon dokumentacji przypadku użycia

Nazwa

Nazwa przypadku

Nr id

Numer identyfikacyjny przypadku

Autor

Informacje o autorze

Priorytet

Np. wysoki, średni, itd.

Typ

Np. ogólny, szczegółowy

Aktorzy

Lista aktorów związanych z przypadkiem

Opis

Krótka charakterystyka przypadku

Warunek początkowy

Świat „przed”, czyli informacja o tym, co 

powinno być wykonane wcześniej, tak aby 

system mógł zrealizować dany przypadek

Warunek końcowy

Świat „po”

Główny przepływ zdarzeń Scenariusz główny
Alternatywne przepływy
zdarzeń

Scenariusze alternatywne

Wymagania 

niefunkcjonalne

Np. czas odpowiedzi, szybkość transakcji, itd.

Uwagi dodatkowe

Wszystko, co warte jest uwagi, a nie zostało 

omówione powyżej

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 42

Dokumentacja przypadku Wypożycz kasetę 

(1)

Nazwa

Wypożycz kasetę

Nr id

7

Autor

Jan Kowalski - analityk

Priorytet

Wysoki

Typ

Ogólny

Aktorzy

Pracownik wypożyczalni

Opis

Przypadek dotyczy rejestracji wypożyczenia kaset; 

kasety przeznaczone dla dorosłych można 

wypożyczać od 18-tego roku życia; jednocześnie 

można mieć wypożyczonych co najwyżej 5 kaset; 

nie wolno wypożyczać osobie, która aktualnie 

znajduje się w okresie karencji

Warunek początkowy

Osoba wypożyczająca powinna być zarejestrowana 

jako klient wypożyczalni

Warunek końcowy

O ile warunki wypożyczenia zostały zrealizowane, 

to powinny zostać zarejestrowane następujące 

informacje o wypożyczeniu kasety : kto 

wypożyczył, co wypożyczył i kiedy wypożyczył

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 43

Dokumentacja przypadku Wypożycz kasetę 

(2)

Główny przepływ 

zdarzeń

1. Pracownik wypożyczalni uruchamia przypadek 

Wypożycz kasetę.

2. System odpytuje o nazwisko i imię osoby 

wypożycząjącej. Pracownik wprowadza 

odpowiednie informacje.

3. System odpytuje o tytuł filmu. Pracownik 

wprowadza tytuł.

4. System rejestruje wypożyczenie kasety z filmem 

(kto, co, data wypożyczenia).

Alternatywne 

przepływy

zdarzeń

2a  O ile osoba wypożyczająca nie jest 

zarejestrowana w

      systemie, system informuje o tym aktora i 

kończy 

      przypadek użycia

2b. O ile jest zarejestrowana więcej niż jedna 

osoba o tym 

      samym nazwisku i imieniu, system wyświetla 

okno z 

      listą osób. Pracownik wybiera odpowiednią 

osobę z listy.

3a  O ile aktualnie nie ma filmu o tym tytule w 

zasobach 

      wypożyczalni, lub wszystkie kasety z filmem są

      wypożyczone, system informuje o tym aktora i 

kończy

      przypadek.

3b  O ile film jest przeznaczony dla osób dorosłych 

a osoba

      wypożyczająca nie ukończyła 18-tu lat, system 

informuje o 

      tym aktora i kończy przypadek.

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 44

Dokumentacja przypadku Wypożycz kasetę 

(3)

Alternatywne przepływy

zdarzeń, cd.

3c  Jeśli osoba wypożyczająca ma już aktualnie 

co najmniej pięć wypożyczonych kaset na 

koncie, system informuje o tym aktora i 

kończy przypadek.

3d   Jeśli osoba wypożyczająca znajduje się 

aktualnie w okresie karencyjnym, system 

informuje o tym aktora i kończy przypadek.

Wymagania 

niefunkcjonalne

Brak

Uwagi dodatkowe

Brak

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 45

Podsumowanie

Główne zadanie modelu przypadków użycia to określenie 
poprawnych wymagań

 

funkcjonalnych

 

na projektowany system, 

co jest uznawane za jeden z podstawowych problemów w procesie 
budowy systemu. 

Przypadki użycia powinny odwzorowywać strukturę 
systemu tak, jak tę strukturę widzą przyszli 
użytkownicy systemu.

 lepsze zrozumienie możliwych sposobów wykorzystania 

projektowanego systemu (przypadków użycia), lepsze zrozumienie 
jego funkcjonalności − co w efekcie oznacza zwiększenie stopnia 
świadomości uczestników projektu co do celów systemu,

 umożliwienie interakcji zespołu projektowego z przyszłymi 

użytkownikami systemu,

 ustalenie praw dostępu do zasobów,

 zrozumienie strukturalnych własności systemu, a przez to ustalenie 

składowych  systemu i związanego z nimi planu budowy systemu,

 dostarczenie podstawy do sporządzenia harmonogramu prac, 

 dostarczenie bazy do budowy planu testów systemu, 

 dostarczenie środków umożliwiających weryfikację poprawności i 

kompletności projektu.

Ponadto, model przypadków użycia pozwala na:

background image

Analiza i Projektowanie Systemów Informatycznych, Wykład 1, 
Slajd 46

Przypadki użycia w analizie

Eksperci

Użytkownicy

Doświadczenie

w dziedzinie 

przedmiotowej

Przypadki

użycia

Model

dziedziny

Model

zastosowania

Model

analityczny

mocny wpływ
słaby wpływ


Document Outline