Case study

Transkrypt

Case study
Case study - bankomat
© Piotr Ciskowski
UML diagram
diagramy UML
Structure diagram
Behavior diagram
Class diagram
Component diagram
Use case diagram
Object diagram
Deployment diagram
Activity diagram
Sequence diagram
State machine diagram
Communication
diagram
Composite structure
diagram
Package diagram
Profile diagram
Interaction diagram
Interaction
overview diagram
Timing diagram
CASE STUDY
BANKOMAT
o tworzenie systemu:
wymagania → analiza → projekt → implementacja → testowanie
o inżynieria wsteczna:
• funkcjonalność
• dziedzina
• architektura
• zachowanie
Funkcjonalność
PERSPEKTYWA PRZYPADKÓW UŻYCIA
– DIAGRAMY PRZYPADKÓW
UŻYCIA
Bankomat - funkcjonalność
o
Z jakich bankomatów korzystasz?
o
Co możesz zrobić przy ich pomocy?
o
Co inni mogą z nim zrobić?
ATM
o
klient może:
← aktor
•
podjąć gotówkę
← przypadek użycia
•
sprawdzić stan konta
sprawdzić historię
← przypadek użycia
← przypadek użycia
•
doładować telefon
← przypadek użycia
•
wykonać przelew
← przypadek użycia
o
serwisant może:
• naprawić maszynę
← aktor
← przypadek użycia
o
ochroniarz może:
• załadować gotówkę
← aktor
← przypadek użycia
Bankomat – diagramy przypadków użycia
uc ATM use case diagram
ATM
account operations
+ authorize
+ check balance
+ check history
+ purchase cellphone credit
+ transfer money
Customer
+ withdraw cash
«system»
Interbank network
maintenance
+ access machine's interior
Serviceman
+ load money
+ service the machine
Securityman
Bankomat – diagramy przypadków użycia
uc account operations
ATM
«extend»
check balance
check history
«extend»
«extend»
authorize
withdraw cash
«extend»
transfer money
Customer
«extend»
purchase
cellphone credit
Interbank network
Bankomat – diagramy przypadków użycia
uc maintenance
ATM
service the
machine
Serviceman
«include»
access
machine's
interior
«include»
load money
Securityman
Bankomat – diagramy przypadków użycia – Enterprise Architect
Bankomat – diagramy przypadków użycia – Visual Paradigm for UML
Bankomat – diagramy przypadków użycia – Visual Studio
Bankomat - scenariusze
o
Z jakich bankomatów najczęściej korzystasz?
o
Co się wtedy dzieje?
- krok po kroku…
Bankomat - scenariusze
o
Z jakich bankomatów najczęściej korzystasz?
o
Co się dzieje gdy
wypłacasz gotówkę z bankomatu?
- krok po kroku…
Dziedzina, budowa systemu (urządzenia)
PERSPEKTYWA LOGICZNA
– DIAGRAMY KLAS
Bankomat
o
Opisz bankomat używając prostego języka
o
Opisz cały kontekst: klienta, bank, kartę, ...
Bankomat - dziedzina
na podst. Wikipedii (ang.):
Bankomat jest skomputeryzowanym urządzeniem telekomunikacyjnym zapewniającym klientom
instytucji finansowych dostęp do transakcji finansowych w przestrzeni publicznej, bez potrzeby
kontaktu z kasjerem, czy konsultantem. (…)
W większości współczesnych bankomatów klient jest identyfikowany przez włożenie plastikowej karty
wyposażonej w pasek magnetyczny lub chip, posiadającej unikalny numer oraz zawierającej
dodatkowe informacje zabezpieczające, takie jak data ważności i kod CVVC (CVV).
Uwierzytelnienie odbywa się przez podanie przez klienta kodu PIN. (…)
Przy użyciu bankomatu klient może uzyskać dostęp do swojego konta w banku, aby: wypłacić
gotówkę, sprawdzić stan konta, a nawet doładować konto telefonu komórkowego.
owns
Client
1..2
Account
1..*
Plastic card
Bank
Bankomat - dziedzina
na podst. Wikipedii (ang.):
W większości współczesnych bankomatów klient jest identyfikowany przez włożenie plastikowej karty
wyposażonej w pasek magnetyczny lub chip, posiadającej unikalny numer oraz zawierającej
dodatkowe informacje zabezpieczające, takie jak data ważności i kod CVVC (CVV).
Uwierzytelnienie odbywa się przez podanie przez klienta kodu PIN. (…)
Payment card
Plastic card
Magnetic card
Chip card
Credit card
The customer is granted a credit
line, from which the money is
borrowed for payments. The
balance may be payed each month
in full or partially (in that case
an interest is charged)
Debit card
The funds are withdrawn directly
from either the account or the
remaining balance of the card
Charge card
like credit card, except that the
ba;ance must be payed in full
each month
Bankomat - dziedzina
na podst. Wikipedii (ang.):
W większości współczesnych bankomatów klient jest identyfikowany przez włożenie plastikowej karty
wyposażonej w pasek magnetyczny lub chip, posiadającej unikalny numer oraz zawierającej
dodatkowe informacje zabezpieczające, takie jak data ważności i kod CVVC (CVV).
Uwierzytelnienie odbywa się przez podanie przez klienta kodu PIN. (…)
Payment card
-
Card number :long
Cardholder's name :char
Expiration date :date
Personal Identification Number
Bankomat – urządzenie
na podst. Wikipedii (ang.):
Bankomat składa się zwykle z następujących elementów:
- CPU (do obsługi interfejsu użytkownika
i sterowania pozostałymi urządzeniami)
- czytnik kart magnetycznych i/lub chipowych
(do uwierzytelniania klienta)
- PIN Pad (…), często umieszczony w zabezpieczonej obudowie
- procesor szyfrujący, zwykle w zabezpieczonej obudowie
- wyświetlacz (używany przez użytkownika podczas transakcji)
- klawisze funkcyjne (zwykle blisko wyświetlacza)
lub ekran dotykowy (używany podczas transakcji do wyboru opcji)
- drukarka (drukująca potwierdzenia transakcji)
- „pancerna” obudowa (z ograniczonym dostępem,
a w niej szczególnie ważne
części urządzenia)
- obudowa (żeby było na czym zawiesić logo ;-)
obrazek: Wikipedia
Bankomat – urządzenie
na podst. Wikipedii (ang.):
„Pancerna” obudowa jest specjalnie zabezpieczona
przed niepowołanym dostępem, mocno przymocowana do podłoża i
zawiera szczególnie ważne elementy maszyny (…)
a są to m.in. :
- mechanizm wypłacający gotówkę
- mechanizm przyjmujący depozyty
(w bankomatach umożliwiających deponowanie gotówki):
- moduł przetwarzający czeki
- moduł przetwarzający banknoty
- czujniki bezpieczeństwa
(magnetyczny, termiczny, sejsmiczny, itp.)
- zamki (zabezpieczające dostęp do części „pancernej”)
- systemy raportujące, (…) zapewniające pełny zapis
aktywności urządzenia,
w tym: czas, dane karty, liczba wydanych banknotów itp.
obrazek: Wikipedia
Bankomat – urządzenie
na podst. Wikipedii (ang.):
Bankomat składa się zwykle z następujących elementów:
- CPU – czytnik kart - PIN Pad – procesor szyfrujący – wyświetlacz – klawisze funkcyjne
- drukarka – „pancerna” obudowa - obudowa
CPU
Card reader
PIN pad
Cryptoprocessor
ATM
Display
Function keypad
Vault
Printer
Housing
Zachowanie
PERSPEKTYWA DYNAMICZNA
–DIAGRAM
CZYNNOŚCI
Bankomat – diagram sekwencji
obrazki: Wikipedia, NCR
Zachowanie
PERSPEKTYWA DYNAMICZNA
–DIAGRAM
SEKWENCJI
Bankomat – diagram sekwencji
Chip card
Card reader
Function keypad
PIN pad
CPU
Customer
insert card()
get card data()
get card data()
get bad PIN counter()
display prompt
(language selection)
get language()
select language()
display prompt
(enter PIN)
get PIN()
enter PIN()
verify PIN()
Display
Zachowanie
PERSPEKTYWA DYNAMICZNA
–DIAGRAM
STANÓW
Bankomat – diagram stanów
stm ATM state machine diagram
Waiting
[error]
[insert card]
Transaction
[authorization successfull]
Customer authorization
out of order

Podobne dokumenty