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 18:36]
miw
pl:miw:miw08_ardcase_cs:bankomat [2019/06/27 15:50] (aktualna)
Linia 3: Linia 3:
 ====== Introduction ====== ====== 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. 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: ==== ==== 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}}+P1: {{:​pl:​miw:​miw08_ardcase_cs:​cashpoint.pdf|Another quite good documented Cashpoint Model <local copy>}}
  
 == Pozostałe przykłady == == 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}}+P2: {{:​pl:​miw:​miw08_ardcase_cs:​uml_quickguide.pdf|Quite good documented Cashpoint Model <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}}+P3: {{:​pl:​miw:​miw08_ardcase_cs:​da_wimmel.ps.ps|One more Cashpoint Model <local copy>}}
  
 ==== Uzasadnienie wyboru i porównanie ==== ==== Uzasadnienie wyboru i porównanie ====
Linia 48: Linia 49:
  
 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. 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.
 +
  
  
Linia 55: Linia 57:
  
 Jeśli akcją jest wypłata to pozostałe reguły. Jeśli akcją jest wypłata to pozostałe reguły.
 +
 Jeśli dobry PIN -> kontynuacja Jeśli dobry PIN -> kontynuacja
 +
 Jeśli zły -> druga próba ; Jeśli dobry -> Kontynuacja ; Jeśli zły -> zabranie karty  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 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 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 Po wypłacie należy zaktualizować ilość pieniędzy w bankomacie
 +
  
 ===== Analysis ===== ===== Analysis =====
Linia 96: Linia 104:
  
  
-====== V3 ====== +===== V4 ===== 
-link do strony z plikami http://​student.agh.edu.pl/​~makamin/​MiW/​v3/​bankomat/​+ 
 + 
 ==== Directed Conceptual Design ==== ==== 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_v4.pl|Kod w PROLOGu}}
 +
 +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint_v4-ard.dot|Plik .dot ARD}}
 +
 +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint_v4-tph.dot|Plik .dot TPH}}
 +
 +
 === Full ARD Model === === Full ARD Model ===
 +
 +ARD:
 +
 +<​graphviz file="​pl:​miw:​miw08_ardcase_cs:​cashpoint_v4-ard.dot">​
 +</​graphviz>​
 +
 +TPH:
 +
 +<​graphviz file="​pl:​miw:​miw08_ardcase_cs:​cashpoint_v4-tph.dot">​
 +</​graphviz>​
 +
 ==== Refined Conceptual Design ==== ==== Refined Conceptual Design ====
  
-====== V2 ======+ 
 + 
 +===== V3 ===== 
 + 
 + 
 ==== Directed Conceptual Design ==== ==== Directed Conceptual Design ====
  
-Chwilowo ​kod tutajhttp://student.agh.edu.pl/​~makamin/​MiW/​ARD%20XTT/+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_v3.pl|Kod w PROLOGu}} 
 + 
 +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-ard_v3.dot|Plik ​.dot ARD}} 
 + 
 +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-tph_v3.dot|Plik .dot TPH}} 
  
 === Full ARD Model === === Full ARD Model ===
Linia 111: Linia 154:
 ARD: ARD:
  
-<​graphviz ​url="http://​student.agh.edu.pl/​~makamin/​MiW/​ARD%20XTT/​bankomat/​cashpoint-ard.dot">​+<​graphviz ​file="pl:​miw:​miw08_ardcase_cs:​cashpoint-ard_v3.dot">​
 </​graphviz>​ </​graphviz>​
  
 TPH: TPH:
  
-<​graphviz ​url="http://​student.agh.edu.pl/​~makamin/​MiW/​ARD%20XTT/​bankomat/​cashpoint-tph.dot">​+<​graphviz ​file="pl:​miw:​miw08_ardcase_cs:​cashpoint-tph_v3.dot">​
 </​graphviz>​ </​graphviz>​
  
-XTT:+==== 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-xtt.dot">​+<​graphviz ​file="pl:miw:​miw08_ardcase_cs:​cashpoint-ard_v2.dot">​ 
 +</graphviz>​ 
 + 
 +TPH: 
 + 
 +<​graphviz file="​pl:​miw:​miw08_ardcase_cs:​cashpoint-tph_v2.dot">​
 </​graphviz>​ </​graphviz>​
  
-Plik HQED http://​student.agh.edu.pl/​~makamin/​MiW/​ARD%20XTT/​bankomat/​xtt.svg 
  
 ==== Refined Conceptual Design ==== ==== Refined Conceptual Design ====
  
-====== V1 ======+===== V1 ===== 
  
 ==== Directed Conceptual Design ==== ==== Directed Conceptual Design ====
Linia 140: Linia 206:
  
 {{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-tph.dot|Plik .dot TPH}} {{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-tph.dot|Plik .dot TPH}}
- 
-{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-xtt.dot|Plik .dot XTT}} 
- 
-__//**TBC: Zapytac jak pisac sciezke do plikow lokalnych na wiki, bo  https://​ai.ia.agh.edu.pl/​wiki/​_media/​pl:​miw:​miw08_ardcase_cs:​cashpoint-ard.dot nie dziala - narazie wklejony kod!!!**//​__ ​ 
- 
-Kopie na studencie! http://​student.agh.edu.pl/​~makamin/​MiW/​Graph/​bankomat/​ 
  
 ARD: ARD:
  
-<​graphviz+<​graphviz ​file="pl:​miw:​miw08_ardcase_cs:​cashpoint-ard.dot">
-digraph G { +
- ​rankdir=LR +
- node [shape=box, fontsize=9, height=0.1, width=0.05 ] +
- edge [arrowsize=0.5,​ len=0.1] +
-"​cashpointActivity\n"​ +
-"​clientHasFreeFunds\n"​ +
-"​authentication\n"​ +
-"​numberOfBills\n"​ +
-"​enoughCashInCashpoint\n"​ +
-"​menuOption\n"​ +
-"​desiredAmount\n"​ +
-"​enteredPIN\n"​ +
-"​freeFunds\n"​ +
-"​pINInDatabase\n"​ +
-"​numberOfFailedAttempts\n"​ +
-"​authentication\n"->"cashpointActivity\n"​ +
-"​clientHasFreeFunds\n"​->"​cashpointActivity\n"​ +
-"​numberOfBills\n"​->"​enoughCashInCashpoint\n"​ +
-"​enoughCashInCashpoint\n"​->"​cashpointActivity\n"​ +
-"​menuOption\n"​->"​cashpointActivity\n"​ +
-"​desiredAmount\n"​->"​clientHasFreeFunds\n"​ +
-"​enteredPIN\n"​->"​authentication\n"​ +
-"​freeFunds\n"​->"​clientHasFreeFunds\n"​ +
-"​pINInDatabase\n"​->"​authentication\n"​ +
-"​numberOfFailedAttempts\n"​->"​cashpointActivity\n"​ +
-"​desiredAmount\n"​->"​enoughCashInCashpoint\n"​ +
-}+
 </​graphviz>​ </​graphviz>​
 +
  
 TPH: TPH:
  
-<​graphviz+<​graphviz ​file="pl:​miw:​miw08_ardcase_cs:​cashpoint-tph.dot">
-digraph G { +
- ​rankdir=LR +
- node [shape=box, fontsize=9, height=0.1, width=0.05 ] +
- edge [arrowsize=0.5,​ len=0.1] +
-"​Cashpoint\n"->"MenuOption\nData\nDoesCashpointHaveEnoughCash\nNumberOfFailedAttempts\nCashpointActivity\n"​ +
-"​MenuOption\nData\nDoesCashpointHaveEnoughCash\nNumberOfFailedAttempts\nCashpointActivity\n"​->"​MenuOption\n"​ +
-"​MenuOption\nData\nDoesCashpointHaveEnoughCash\nNumberOfFailedAttempts\nCashpointActivity\n"​->"​Data\n"​ +
-"​MenuOption\nData\nDoesCashpointHaveEnoughCash\nNumberOfFailedAttempts\nCashpointActivity\n"​->"​DoesCashpointHaveEnoughCash\n"​ +
-"​MenuOption\nData\nDoesCashpointHaveEnoughCash\nNumberOfFailedAttempts\nCashpointActivity\n"​->"​NumberOfFailedAttempts\n"​ +
-"​MenuOption\nData\nDoesCashpointHaveEnoughCash\nNumberOfFailedAttempts\nCashpointActivity\n"​->"​CashpointActivity\n"​ +
-"​Data\n"​->"​DesiredAmount\nEnteredPIN\nFreeFunds\nPINInDatabase\nauthentication\nclientHasFreeFunds\n"​ +
-"​DesiredAmount\nEnteredPIN\nFreeFunds\nPINInDatabase\nauthentication\nclientHasFreeFunds\n"​->"​DesiredAmount\nFreeFunds\nEnteredPIN\nPINInDatabase\n"​ +
-"​DesiredAmount\nEnteredPIN\nFreeFunds\nPINInDatabase\nauthentication\nclientHasFreeFunds\n"​->"​clientHasFreeFunds\nauthentication\n"​ +
-"​CashpointActivity\n"​->"​cashpointActivity\n"​ +
-"​clientHasFreeFunds\nauthentication\n"​->"​clientHasFreeFunds\n"​ +
-"​clientHasFreeFunds\nauthentication\n"​->"​authentication\n"​ +
-"​DesiredAmount\nFreeFunds\nEnteredPIN\nPINInDatabase\n"​->"​DesiredAmount\nFreeFunds\n"​ +
-"​DesiredAmount\nFreeFunds\nEnteredPIN\nPINInDatabase\n"​->"​EnteredPIN\nPINInDatabase\n"​ +
-"​EnteredPIN\nPINInDatabase\n"​->"​EnteredPIN\n"​ +
-"​EnteredPIN\nPINInDatabase\n"​->"​PINInDatabase\n"​ +
-"​DesiredAmount\nFreeFunds\n"​->"​DesiredAmount\n"​ +
-"​DesiredAmount\nFreeFunds\n"​->"​FreeFunds\n"​ +
-"​DoesCashpointHaveEnoughCash\n"​->"​NumberOfBills\nEnoughCashInCashpoint\n"​ +
-"​NumberOfBills\nEnoughCashInCashpoint\n"​->"​NumberOfBills\n"​ +
-"​NumberOfBills\nEnoughCashInCashpoint\n"​->"​EnoughCashInCashpoint\n"​ +
-"​NumberOfBills\n"​->"​numberOfBills\n"​ +
-"​EnoughCashInCashpoint\n"​->"​enoughCashInCashpoint\n"​ +
-"​MenuOption\n"​->"​menuOption\n"​ +
-"​DesiredAmount\n"​->"​desiredAmount\n"​ +
-"​EnteredPIN\n"​->"​enteredPIN\n"​ +
-"​FreeFunds\n"​->"​freeFunds\n"​ +
-"​PINInDatabase\n"​->"​pINInDatabase\n"​ +
-"​NumberOfFailedAttempts\n"​->"​numberOfFailedAttempts\n"​ +
-}+
 </​graphviz>​ </​graphviz>​
 +
 +==== Refined Conceptual Design ====
 +
 +===== Physical Attribute Specification =====
 +
 +===== Structuralization =====
 +
 +
 +
 +
 +
 +===== Logical design =====
 +
 +
 +
 +
 +
 +
 +==== V4 ====
 +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint_v4-xtt.dot|Plik .dot XTT}}
  
 XTT: XTT:
 +<​graphviz file="​pl:​miw:​miw08_ardcase_cs:​cashpoint_v4-xtt.dot">​
 +</​graphviz>​
  
-<​graphviz>​ +Plik HQED {{:​pl:​miw:​miw08_ardcase_cs:​cashpoint_v4-xttml.xttml|XTTML}} 
-digraph G node [shape=record,​ fontsize=9, height=0.1, width=0.05];​ edge [style=dashed,​ arrowsize=0.5,​ len=0.1]  + 
-subgraph "​cluster_Cashpoint"​ { + 
-"​[[authentication],​ [clientHasFreeFunds],​ [enoughCashInCashpoint],​ [menuOption],​ [numberOfFailedAttempts]]|[[cashpointActivity]]"​ +==== V3 ==== 
-} +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-xtt_v3.dot|Plik .dot XTT}} 
-subgraph "​cluster_Cashpoint"​ { + 
-"​[[numberOfBills],​ [desiredAmount]]|[[enoughCashInCashpoint]]"​ +XTT: 
-+<​graphviz file="pl:​miw:​miw08_ardcase_cs:​cashpoint-xtt_v3.dot">
-subgraph "​cluster_Cashpoint"​ { +
-"​[[desiredAmount],​ [freeFunds]]|[[clientHasFreeFunds]]"​ +
-+
-subgraph "​cluster_Data"​ { +
-"​[[desiredAmount],​ [freeFunds]]|[[clientHasFreeFunds]]"​ +
-+
-subgraph "​cluster_Cashpoint"​ { +
-"​[[enteredPIN],​ [pINInDatabase]]|[[authentication]]"​ +
-+
-subgraph "​cluster_Data"​ { +
-"​[[enteredPIN],​ [pINInDatabase]]|[[authentication]]"​ +
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=+
-fontname=sans +
-labeljust=+
-subgraph "​cluster_MenuOption"​ { +
-label="​MenuOption"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint" ​{ +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_Data" ​{ +
-label="​Data"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-} +
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_DoesCashpointHaveEnoughCash"​ { +
-label="​DoesCashpointHaveEnoughCash"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_NumberOfFailedAttempts"​ { +
-label="​NumberOfFailedAttempts"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_CashpointActivity"​ { +
-label="​CashpointActivity"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_menuOption"​ { +
-label="​menuOption"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_DesiredAmount"​ { +
-label="​DesiredAmount"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_FreeFunds"​ { +
-label="​FreeFunds"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_desiredAmount"​ { +
-label="​desiredAmount"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_freeFunds"​ { +
-label="​freeFunds"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_EnteredPIN"​ { +
-label="​EnteredPIN"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_PINInDatabase"​ { +
-label="​PINInDatabase"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_enteredPIN"​ { +
-label="​enteredPIN"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_pINInDatabase"​ { +
-label="​pINInDatabase"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_clientHasFreeFunds"​ { +
-label="​clientHasFreeFunds"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_authentication"​ { +
-label="​authentication"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_NumberOfBills"​ { +
-label="​NumberOfBills"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_EnoughCashInCashpoint"​ { +
-label="​EnoughCashInCashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_numberOfBills"​ { +
-label="​numberOfBills"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_enoughCashInCashpoint"​ { +
-label="​enoughCashInCashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_numberOfFailedAttempts"​ { +
-label="​numberOfFailedAttempts"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Cashpoint"​ { +
-label="​Cashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_cashpointActivity"​ { +
-label="​cashpointActivity"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_MenuOption"​ { +
-label="​MenuOption"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_menuOption"​ { +
-label="​menuOption"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Data"​ { +
-label="​Data"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_DesiredAmount"​ { +
-label="​DesiredAmount"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Data"​ { +
-label="​Data"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_FreeFunds"​ { +
-label="​FreeFunds"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Data"​ { +
-label="​Data"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_desiredAmount"​ { +
-label="​desiredAmount"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Data"​ { +
-label="​Data"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_freeFunds"​ { +
-label="​freeFunds"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Data"​ { +
-label="​Data"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_EnteredPIN"​ { +
-label="​EnteredPIN"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Data"​ { +
-label="​Data"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_PINInDatabase"​ { +
-label="​PINInDatabase"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Data"​ { +
-label="​Data"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_enteredPIN"​ { +
-label="​enteredPIN"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Data"​ { +
-label="​Data"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_pINInDatabase"​ { +
-label="​pINInDatabase"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Data"​ { +
-label="​Data"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_clientHasFreeFunds"​ { +
-label="​clientHasFreeFunds"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_Data"​ { +
-label="​Data"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_authentication"​ { +
-label="​authentication"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_DoesCashpointHaveEnoughCash"​ { +
-label="​DoesCashpointHaveEnoughCash"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_NumberOfBills"​ { +
-label="​NumberOfBills"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_DoesCashpointHaveEnoughCash"​ { +
-label="​DoesCashpointHaveEnoughCash"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_EnoughCashInCashpoint"​ { +
-label="​EnoughCashInCashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_DoesCashpointHaveEnoughCash"​ { +
-label="​DoesCashpointHaveEnoughCash"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_numberOfBills"​ { +
-label="​numberOfBills"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_DoesCashpointHaveEnoughCash"​ { +
-label="​DoesCashpointHaveEnoughCash"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_enoughCashInCashpoint"​ { +
-label="​enoughCashInCashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_NumberOfFailedAttempts"​ { +
-label="​NumberOfFailedAttempts"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_numberOfFailedAttempts"​ { +
-label="​numberOfFailedAttempts"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_CashpointActivity"​ { +
-label="​CashpointActivity"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_cashpointActivity"​ { +
-label="​cashpointActivity"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_DesiredAmount"​ { +
-label="​DesiredAmount"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_desiredAmount"​ { +
-label="​desiredAmount"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_EnteredPIN"​ { +
-label="​EnteredPIN"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_enteredPIN"​ { +
-label="​enteredPIN"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_FreeFunds"​ { +
-label="​FreeFunds"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_freeFunds"​ { +
-label="​freeFunds"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_PINInDatabase"​ { +
-label="​PINInDatabase"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_pINInDatabase"​ { +
-label="​pINInDatabase"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_NumberOfBills"​ { +
-label="​NumberOfBills"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_numberOfBills"​ { +
-label="​numberOfBills"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-subgraph "​cluster_EnoughCashInCashpoint"​ { +
-label="​EnoughCashInCashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=8 +
-fontname=sans +
-labeljust=l +
-subgraph "​cluster_enoughCashInCashpoint"​ { +
-label="​enoughCashInCashpoint"​ +
-color=blue +
-fontcolor=blue +
-fontsize=10 +
-fontname=sans +
-labeljust=l +
-+
-+
-"​[[numberOfBills],​ [desiredAmount]]|[[enoughCashInCashpoint]]"->"[[authentication],​ [clientHasFreeFunds],​ [enoughCashInCashpoint],​ [menuOption],​ [numberOfFailedAttempts]]|[[cashpointActivity]]"​ +
-"​[[desiredAmount],​ [freeFunds]]|[[clientHasFreeFunds]]"​->"​[[authentication],​ [clientHasFreeFunds],​ [enoughCashInCashpoint],​ [menuOption],​ [numberOfFailedAttempts]]|[[cashpointActivity]]"​ +
-"​[[enteredPIN],​ [pINInDatabase]]|[[authentication]]"​->"​[[authentication],​ [clientHasFreeFunds],​ [enoughCashInCashpoint],​ [menuOption],​ [numberOfFailedAttempts]]|[[cashpointActivity]]"​ +
-}+
 </​graphviz>​ </​graphviz>​
  
-Wstępna wersja xtt (nie wrzucana na wiki, ponieważ jest wstępna) tutajhttp://​student.agh.edu.pl/​~makamin/​MiW/​Graph/​bankomat/​MIW-cashpoint-xtt.pdf+Plik HQED {{:pl:​miw:​miw08_ardcase_cs:cashpoint-xttml_v3.xttml|XTTML}}
  
-==== Refined Conceptual Design ​====+==== V2 ==== 
 +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint-xtt_v2.dot|Plik .dot XTT}}
  
-===== Physical Attribute Specification =====+XTT: 
 +<​graphviz file="​pl:​miw:​miw08_ardcase_cs:​cashpoint-xtt_v2.dot">​ 
 +</​graphviz>​
  
-===== Structuralization =====+Plik HQED {{cashpoint_v2.xttml|XTTML}}
  
 +==== 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 }}
  
 +XTT:
  
-===== Logical design =====+<​graphviz file="​pl:​miw:​miw08_ardcase_cs:​cashpoint-xtt.dot">​ 
 +</​graphviz>​ 
 + 
 +==== V0 - opis ogólny ​====
 Wynikowe działanie bankomatu zależy od następujących rzeczy: Wynikowe działanie bankomatu zależy od następujących rzeczy:
 - czy klient podał prawidłowy PIN (uwierzytelnienie) - czy klient podał prawidłowy PIN (uwierzytelnienie)
Linia 986: Linia 282:
  
 Uwierzytelnienie zależy od PINu zapisanego na karcie/w bazie banku, oraz PINu podanego przez klienta 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 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 Tak powstałe reguły powinny być opisane w taki sposób aby otrzymane tabele były zupełne
  
  
 +
 +
 +===== CASE =====
 +Ze względów projektowych trzeba było dodawać zależności ręcznie (abstrahując,​ że i tak koncepcja później została zmieniona) pojawiły się dwie tabele o identycznych warunkach (czemu nie zostały połączone?​). Fakt nie były od początku projektowane jako jedna tabela o danych warunkach i dwóch konkluzjach (ale wynikło to z projektu, gdzie jedna z konkluzji była wywiedziona od innego atrybutu)
 +
 +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint_case.pl|Kod w PROLOGu}}
 +
 +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint_case-ard.dot|Plik .dot ARD}}
 +
 +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint_case-tph.dot|Plik .dot TPH}}
 +
 +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint_case-xtt.dot|Plik .dot XTT}}
 +
 +{{:​pl:​miw:​miw08_ardcase_cs:​cashpoint_case-xttml.xttml|Plik .dot XTTML}}
 +
 +<​graphviz file="​pl:​miw:​miw08_ardcase_cs:​cashpoint_case-xtt.dot">​
 +</​graphviz>​
  
 ===== Ostatnie zmiany ===== ===== Ostatnie zmiany =====
 +26.05.2008 - dodanie case opisywanego w sprawozdaniu ; dodanie v4 - podczas dogrywania case autor zauważył brak uaktualniania atrybutu numberOfBills (o nieco mylącej nazwie - reprezentującego ilość pieniędzy w banknotach w bankomacie),​ zostało to poprawione w wersji v4
 +
 +24.05.2008 - uporządkowanie,​ usunięcie linków zewnętrznych i zastąpienie lokalnymi, drobne zmiany
 +
 28.04.2008 - drobne modyfikacje modelu, użycie nowej wersji VARDA, oraz użycie HQED 28.04.2008 - drobne modyfikacje modelu, użycie nowej wersji VARDA, oraz użycie HQED
  
-19.05.2008 - modyfikacja modelu, nowe ARD,XTT - na chwile obecna link do strony, wieczorem wklejenie localcopy etc+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, usunięcie starych uwag, dodanie nowych uwag do sprawozdania
pl/miw/miw08_ardcase_cs/bankomat.1211214979.txt.gz · ostatnio zmienione: 2019/06/27 15:59 (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