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