Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_ardcase_cs:bankomat [2008/05/19 19:01]
miw
pl:miw:miw08_ardcase_cs:bankomat [2008/05/26 22:45]
miw
Linia 1: Linia 1:
-====== Analiza bankomatu i design ====== 
- 
-====== Introduction ====== 
-Celem niniejszego opracowania jest próba zamodelowania bankomatu w ARD/XTT bazując na wiedzy ogólnej na temat budowy i zasady działania, oraz korzystania z bankomatu, dostępnych dokumentacjach,​ a przede wszystkim modelach UML systemu. Do stworzenia modelu, należy bazując na modelu UML wyszczególnić iterakcje pomiędzy zewnętrzem,​ a modelowanym systemem, wyodrębnienić wejścia i wyjścia modelowanego systemu (IMHO może to być zależne od przypadku użycia), następnie próba specyfikacji elementów wiedzy (w postaci atrybutów),​ na podstawie której działa system, oraz odnalezienia i opisania za pomocą zdefiniowanych atrybutów reguł według jakich działa system. 
- 
-==== Wybrany przykład: ==== 
-P1: [[http://​www.emn.fr/​x-info/​jroyer/​cashpoint.pdf|Another quite good documented Cashpoint Model]] {{:​pl:​miw:​miw08_ardcase_cs:​cashpoint.pdf|local copy}} 
- 
-== Pozostałe przykłady == 
-P2: [[http://​cis.paisley.ac.uk/​mcmo-ci0/​SoftDev/​Text/​UML%20QuickGuide.pdf|Quite good documented Cashpoint Model]] {{:​pl:​miw:​miw08_ardcase_cs:​uml_quickguide.pdf|local copy}} 
- 
-P3: [[http://​www4.in.tum.de/​lehre/​da/​DA_Wimmel.ps.gz|One more Cashpoint Model]] {{:​pl:​miw:​miw08_ardcase_cs:​da_wimmel.ps.ps|local copy}} 
- 
-==== Uzasadnienie wyboru i porównanie ==== 
-Wybrałem przykład P1 ponieważ zawiera stosunkowo najwięcej opisu UML i jest merytorycznie najlepszy. Przykład P2 zawiera mniej diagramów UML, mniej danych o systemie, a przedstawione diagramy w mniejszym stopniu oddają specyfikę systemu. Przykład P3 zawiera diagramy UML, ale przedstawione tam diagramy wydają się być niekompletne i dobrane tak, aby tłumaczyć myśl główną zawartą w dokumencie tj. testowanie systemów. 
- 
- 
- 
- 
-===== Description ===== 
-W przypadku podstawowym w bankomacie wyróżnić możemy dwa podstawowe przypadki użycia: 
- 
-1. Zapytanie o saldo 
- 
-2. Wypłata pieniędzy 
- 
-Użycie bankomatu ogranicza się do dwóch akcji prezentowanych na use-case. Może to być zapytanie o saldo lub wypłata środków. Dla każdej z akcji trzeba się uwierzytelnić poprzez podanie PINu. PIN jest sprawdzany w bazie, jeśli jest poprawny praca jest kontynuowana,​ jeśli nie to następują kolejne próby, jeśli są udane - dalsza praca, jeśli nie karta jest zatrzymywana. 
- 
-Dalsza praca polega na : 
- 
-- dla zapytania o saldo na wypisaniu komunikatu 
- 
-- dla wypłaty pieniędzy wybraniu z dostępnych lub podaniu niestandardowej kwoty, następnie sprawdzana jest ilość środków na koncie i jeśli są wolne środki lub limit kredytowy to sprawdzane jest, czy bankomat posiada środki, jeśli wszystko OK to wypłata i potwierdzenie,​ jeśli nie, to odpowiedni komunikat. 
- 
-Możliwe działania wynikowe bankomatu - drukowanie potwierdzenia,​ wydawanie pieniędzy, zabranie karty, prośba o ponowne wprowadzenie PINu 
- 
-===== Conceptualization ===== 
-W niniejszym rozdziale następuje próba specyfikacji wejść, wyjść, atrybutów, oraz reguł w systemie 
- 
- 
- 
-==== Vocabulary ==== 
-Wejścia: PIN, decyzje podejmowane przez użytkownika na kolejnych ekranach (akcja, pożadana kwota) 
- 
-Wyjście: Potwierdzenie/​pieniądze/​komunikat 
- 
-Stany wewnętrzne:​ Uwierzytelnienie (jeśli wpisany PIN jest zgodny z PINem w bazie), Saldo (kwota wolnych środków na koncie klienta), Możliwość wypłaty(czy bankomat ma pożądana kwotę/​banknoty) 
- 
-Elementy wiedzy: Akcja wybrana przez użytkownika (dziedzina: saldo/​wyplata),​ wpisany pin (dziedzina 0000-9999), uwierzytelnianie,​ saldo, pożądana kwota, czy istnieje możliwość wypłaty, czy bankomat posiada środki. 
- 
- 
-==== Original Rules ==== 
-Reguły: Z wybranej akcji wynika jakie reguły stosować dalej. ​ 
-Jeśli akcją jest zapytanie o saldo to najpierw należy się uwierzytelnić,​ po uwierzytelnieniu dla tej akcji następuje wypisanie na ekranie stanu konta, w przypadku błędnej autentyfikacji podejmowane mogą być kolejne próby, jednak po trzeciej nieudanej próbie karta jest zatrzymywana przez bankomat. 
- 
-Jeśli akcją jest wypłata to pozostałe reguły. 
-Jeśli dobry PIN -> kontynuacja 
-Jeśli zły -> druga próba ; Jeśli dobry -> Kontynuacja ; Jeśli zły -> zabranie karty  
-Jeśli stan konta (+ ew.prowizja) lub karta debetowa -> (autoryzowany użytkownik posiadający środki) możliwość wypłaty 
-Jeśli są pieniądze i możliwość wypłaty -> wyplata pieniędzy/​drukowanie potwierdzenia lub stan konta dla akcji sprawdzania konta 
-Po wypłacie należy zaktualizować ilość pieniędzy w bankomacie 
- 
-===== Analysis ===== 
- 
- 
- 
-===== Conceptual design ===== 
- 
-Poziom 0: Bankomat 
- 
-Poziom 1: Finalizacja Bankomatu na: Opcja menu, Autentyfikaja,​ Czy klient dysponuje środkami, Czy bankomat posiada środki, Aktywność bankomatu 
- 
-Poziom 2: Split (ustalenie zależności):​ Opcja menu -> Aktywność bankomatu, 
-Opcja menu -> Aktywność bankomatu, Autentyfikaja -> Aktywność bankomatu, Czy klient dysponuje środkami -> Aktywność bankomatu, Czy bankomat posiada środki -> Aktywność bankomatu 
- 
-Poziom 3: Finalizacja Autentyfikacji:​ Podany PIN, PINwBanku, Ilość nieudanych prób, uwierzytelnienie ​ 
- 
-Poziom 4: Split (ustalenie zależności):​ Podany PIN -> uwierzytelnienie , PINwBanku -> uwierzytelnienie , Ilość nieudanych prób -> uwierzytelnienie,​ Podany PIN -> Ilość nieudanych prób, PINwBanku -> Ilość nieudanych prób, uwierzytelnienie -> Aktywność bankomatu, Ilość nieudanych prób-> Aktywność bankomatu 
- 
-Poziom 5: Finalizacja Czy klient dysponuje środkami na: Pożądana kwota, Wolne środki, czy klient dysponuje środkami 
- 
-Poziom 6: Split: Pożądana kwota -> czy klient dysponuje środkami, Wolne środki -> czy klient dysponuje środkami, czy klient dysponuje środkami -> Aktywność bankomatu 
- 
-Poziom 7: Finalizacja Aktywność bankomatu -> aktywność bankomatu 
- 
-Poziom 8: Finalizacja Czy bankomat posiada środki na: Ilość pieniędzy w bankomacie, (znacznik) Czy bankomat ma dostatecznie dużo środków 
- 
-Poziom 9: Split: Ilość pieniędzy -> Czy bankomat ma dostatecznie dużo środków, Czy bankomat ma dostatecznie dużo środków -> Aktywność bankomatu 
- 
-Poziom 10-17: Finalizacja Ilość pieniędzy -> ilość pieniędzy, Czy bankomat ma dostatecznie dużo środków -> czy bankomat ma dostatecznie dużo środków, Opcja menu -> opcja menu, Pożądana kwota -> pożądana kwota, Podany PIN -> podany PIN, Wolne środki -> wolne środki, PIN w bazie -> PIN w bazie, Ilość nieudanych prób -> ilość nieudanych prób 
- 
-Poziom 18: Ręczne dodanie zależności (do poziomu 9) pożądana kwota -> czy bankomat ma dostatecznie dużo środków 
- 
-==== General Conceptual Design ==== 
- 
- 
- 
-====== V3 ====== 
-link do strony z plikami http://​student.agh.edu.pl/​~makamin/​MiW/​v3/​bankomat/​ 
-==== Directed Conceptual Design ==== 
-=== Full ARD Model === 
-==== Refined Conceptual Design ==== 
- 
-====== V2 ====== 
- 
- 
-==== Directed Conceptual Design ==== 
- 
-Kody w PROOGu, kod .dot i rysunki ARD/TPH i XTT wygenerowane przez VARDA dostępne dodatkowo pod linkiem poniżej 
- 
-{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint_v2.pl|Kod w PROLOGu}} 
- 
-{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-ard_v2.dot|Plik .dot ARD}} 
- 
-{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-tph_v2.dot|Plik .dot TPH}} 
- 
- 
-=== Full ARD Model === 
- 
-ARD: 
- 
-<​graphviz url="​http://​student.agh.edu.pl/​~makamin/​MiW/​ARD%20XTT/​bankomat/​cashpoint-ard.dot">​ 
-</​graphviz>​ 
- 
-TPH: 
- 
-<​graphviz url="​http://​student.agh.edu.pl/​~makamin/​MiW/​ARD%20XTT/​bankomat/​cashpoint-tph.dot">​ 
-</​graphviz>​ 
- 
- 
-==== Refined Conceptual Design ==== 
- 
-====== V1 ====== 
- 
-==== Directed Conceptual Design ==== 
- 
-=== Full ARD Model === 
-Kody w PROOGu, kod .dot i rysunki ARD/TPH i XTT wygenerowane przez VARDA dostępne dodatkowo pod linkiem poniżej 
- 
-{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint.pl|Kod w PROLOGu}} 
- 
-{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-ard.dot|Plik .dot ARD}} 
- 
-{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-tph.dot|Plik .dot TPH}} 
- 
-ARD: 
-<​graphviz file="​pl:​miw:​miw08_ardcase_cs:​cashpoint-ard.dot">​ 
-</​graphviz>​ 
- 
- 
-TPH: 
-<​graphviz file="​pl:​miw:​miw08_ardcase_cs:​cashpoint-tph.dot">​ 
-</​graphviz>​ 
- 
-XTT: 
- 
-<​graphviz file="​pl:​miw:​miw08_ardcase_cs:​cashpoint-xtt.dot">​ 
-</​graphviz>​ 
- 
-==== Refined Conceptual Design ==== 
- 
-===== Physical Attribute Specification ===== 
- 
-===== Structuralization ===== 
- 
- 
- 
- 
- 
-===== Logical design ===== 
-====== V3 ====== 
-====== V2 ====== 
-{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-xtt_v2.dot|Plik .dot XTT}} 
-XTT: 
-<​graphviz url="​http://​student.agh.edu.pl/​~makamin/​MiW/​ARD%20XTT/​bankomat/​cashpoint-xtt.dot">​ 
-</​graphviz>​ 
-Plik HQED http://​student.agh.edu.pl/​~makamin/​MiW/​ARD%20XTT/​bankomat/​xtt.svg 
- 
-====== V1 ====== 
-{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-xtt.dot|Plik .dot XTT}} 
- 
-{{:​pl:​miw:​miw08_ardcase_cs:​miw-cashpoint-xtt.pdf |Nieoficjalna (bez użycia HqEd) wersja XTT }} 
- 
- 
-Wynikowe działanie bankomatu zależy od następujących rzeczy: 
-- czy klient podał prawidłowy PIN (uwierzytelnienie) 
-- czy środki na koncie klienta są w stanie pokryć koszty transakcji (klient dysponuje środkami) 
-- życzenie klienta (wybrana akcja) 
-- fizyczna możliwość wypłaty (czy bankomat dysponuje pożądaną kwotą/​odpowiednimi banknotami) 
- 
-Uwierzytelnienie zależy od PINu zapisanego na karcie/w bazie banku, oraz PINu podanego przez klienta 
-To czy klient dysponuje środkami zależy od pożądanej przez klienta kwoty, oraz stanu jego konta 
-Tak powstałe reguły powinny być opisane w taki sposób aby otrzymane tabele były zupełne 
- 
-===== Ostatnie zmiany ===== 
-28.04.2008 - drobne modyfikacje modelu, użycie nowej wersji VARDA, oraz użycie HQED 
- 
-18.05.2008 - modyfikacja modelu, nowe ARD,XTT - na chwile obecna link do strony, wieczorem wklejenie localcopy etc 
- 
-19.05.2008 - poprawa(uaktualnienie) opisu, dodanie kopii lokalnych plików, dodanie uwag 
  
pl/miw/miw08_ardcase_cs/bankomat.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0