initial model

This commit is contained in:
Wiktor Duda 2022-11-16 18:30:24 +01:00
parent 418b2a6e93
commit c6895531db
6 changed files with 920 additions and 4 deletions

View File

@ -1,7 +1,163 @@
format 224
classcanvas 128003 class_ref 128003 // Karta
classdiagramsettings member_max_width 0 end
xyz 262 52 2000
end
classcanvas 128023 class_ref 128023 // Klient
classdiagramsettings member_max_width 0 end
xyz 98 63 2000
xyz 152 18 2000
end
classcanvas 128131 class_ref 128131 // Bankomat
classdiagramsettings member_max_width 0 end
xyz 355 132 2005
end
classcanvas 128259 class_ref 128259 // Konto
classdiagramsettings member_max_width 0 end
xyz 92 240 2000
end
classcanvas 128387 class_ref 128387 // PIN
classdiagramsettings member_max_width 0 end
xyz 43 75 2005
end
classcanvas 128515 class_ref 128515 // Home_screen
classdiagramsettings member_max_width 0 end
xyz 239 205 2000
end
classcanvas 128643 class_ref 128643 // System
classdiagramsettings member_max_width 0 end
xyz 447 69 2000
end
classcanvas 128771 class_ref 128771 // Bank
classdiagramsettings member_max_width 0 end
xyz 33 177 2005
end
classcanvas 128899 class_ref 128899 // Sesja
classdiagramsettings member_max_width 0 end
xyz 147 137 2000
end
classcanvas 129027 class_ref 129027 // Rachunek
classdiagramsettings member_max_width 0 end
xyz 548 246 2000
end
classcanvas 129155 class_ref 129155 // Piniondz
classdiagramsettings member_max_width 0 end
xyz 348 31 2005
end
classcanvas 129283 class_ref 129283 // Paragon
classdiagramsettings member_max_width 0 end
xyz 431 288 2000
end
classcanvas 129411 class_ref 129411 // Pre_Paid
classdiagramsettings member_max_width 0 end
xyz 632 161 2000
end
classcanvas 129539 class_ref 129539 // Wyplata
classdiagramsettings member_max_width 0 end
xyz 208 343 2000
end
classcanvas 129667 class_ref 129667 // Wplata
classdiagramsettings member_max_width 0 end
xyz 73 318 2000
end
classcanvas 129795 class_ref 129795 // Przelew
classdiagramsettings member_max_width 0 end
xyz 633 52 2000
end
classcanvas 130051 class_ref 130051 // Opcja
classdiagramsettings member_max_width 0 end
xyz 550 148 2000
end
classcanvas 130179 class_ref 130179 // Sejf
classdiagramsettings member_max_width 0 end
xyz 373 362 2000
end
classcanvas 130307 class_ref 130307 // Operacja
classdiagramsettings member_max_width 0 end
xyz 380 214 2005
end
classcanvas 130435 class_ref 130435 // Komunikat
classdiagramsettings member_max_width 0 end
xyz 633 365 2000
end
classcanvas 130563 class_ref 130563 // Serwisant
classdiagramsettings member_max_width 0 end
xyz 738 259 2000
end
classcanvas 130691 class_ref 130691 // Czytnik
classdiagramsettings member_max_width 0 end
xyz 197 287 2000
end
classcanvas 130819 class_ref 130819 // Wprowadzanie
classdiagramsettings member_max_width 0 end
xyz 497 388 2000
end
classcanvas 130947 class_ref 130947 // Drukarka
classdiagramsettings member_max_width 0 end
xyz 737 81 2000
end
classcanvas 131075 class_ref 131075 // Glosnik
classdiagramsettings member_max_width 0 end
xyz 280 146 2000
end
classcanvas 131331 class_ref 131331 // Awaria
classdiagramsettings member_max_width 0 end
xyz 102 404 2000
end
classcanvas 131459 class_ref 131459 // Regula_przerwania
classdiagramsettings member_max_width 0 end
xyz 510 22 2005
end
classcanvas 131587 class_ref 131587 // Ekran
classdiagramsettings member_max_width 0 end
xyz 128 80 2000
end
classcanvas 131715 class_ref 131715 // jezyk
classdiagramsettings member_max_width 0 end
xyz 48 35 2010
end
classcanvas 131843 class_ref 131843 // Kasetka
classdiagramsettings member_max_width 0 end
xyz 322 294 2000
end
classcanvas 131971 class_ref 131971 // Regula_druku
classdiagramsettings member_max_width 0 end
xyz 568 102 2000
end
classcanvas 132099 class_ref 132099 // Autoryzacja
classdiagramsettings member_max_width 0 end
xyz 445 151 2005
end
classcanvas 132227 class_ref 132227 // Papier
classdiagramsettings member_max_width 0 end
xyz 86 132 2000
end
classcanvas 132355 class_ref 132355 // Zlecenie_przelewu
classdiagramsettings member_max_width 0 end
xyz 213 94 2005
end
classcanvas 132483 class_ref 132483 // Blokada
classdiagramsettings member_max_width 0 end
xyz 650 283 2000
end
classcanvas 132611 class_ref 132611 // Reklama
classdiagramsettings member_max_width 0 end
xyz 147 203 2005
end
classcanvas 132739 class_ref 132739 // Walidacja_karty
classdiagramsettings member_max_width 0 end
xyz 272 378 2005
end
classcanvas 132867 class_ref 132867 // Alarm
classdiagramsettings member_max_width 0 end
xyz 504 221 2005
end
classcanvas 132995 class_ref 132995 // Usluga
classdiagramsettings member_max_width 0 end
xyz 774 162 2000
end
classcanvas 133123 class_ref 133123 // terminal
classdiagramsettings member_max_width 0 end
xyz 383 89 2010
end
end

12
models/3.session Normal file
View File

@ -0,0 +1,12 @@
window_sizes 1920 1016 450 1464 812 152
cleanlooks_style
diagrams
active classdiagram_ref 128023 // domain-model
1458 783 170 A4 0 0
end
show_stereotypes
selected classdiagram_ref 128023 // domain-model
open
classview_ref 128023 // domain
end
end

View File

@ -1,7 +1,7 @@
format 224
"models"
revision 1
modified_by 23 "Lenovo"
revision 2
modified_by 3 "leero"
@ -80,5 +80,497 @@ format 224
mysql_decl ""
end
class 128003 "Karta"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 128131 "Bankomat"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 128259 "Konto"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 128387 "PIN"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 128515 "Home_screen"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 128643 "System"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 128771 "Bank"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 128899 "Sesja"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 129027 "Rachunek"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 129155 "Piniondz"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 129283 "Paragon"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 129411 "Pre_Paid"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 129539 "Wyplata"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 129667 "Wplata"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 129795 "Przelew"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 129923 "Czas"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 130051 "Opcja"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 130179 "Sejf"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 130307 "Operacja"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 130435 "Komunikat"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 130563 "Serwisant"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 130691 "Czytnik"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 130819 "Wprowadzanie"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 130947 "Drukarka"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 131075 "Glosnik"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 131203 "Zasilanie"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 131331 "Awaria"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 131459 "Regula_przerwania"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 131587 "Ekran"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 131715 "jezyk"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 131843 "Kasetka"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 131971 "Regula_druku"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 132099 "Autoryzacja"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 132227 "Papier"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 132355 "Zlecenie_przelewu"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 132483 "Blokada"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 132611 "Reklama"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 132739 "Walidacja_karty"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 132867 "Alarm"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 132995 "Usluga"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
class 133123 "terminal"
visibility package
cpp_decl ""
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
mysql_decl ""
end
end
end

View File

@ -3,7 +3,7 @@
-_-> 3 "access" "import" "from"
end
class_stereotypes 22 "actor" "auxiliary" "boundary" "control" "entity" "enum" "enum_class" "enum_pattern" "exception" "focus" "implementationClass" "interface" "@interface" "metaclass" "stereotype" "struct" "table" "type" "typedef" "template_typedef" "union" "utility"
class_stereotypes 23 "actor" "auxiliary" "boundary" "control" "entity" "enum" "enum_class" "enum_pattern" "exception" "focus" "implementationClass" "interface" "@interface" "metaclass" "stereotype" "struct" "table" "type" "typedef" "template_typedef" "union" "utility" "trait"
---- 4 "list" "set" "vector" "map"
---> 4 "list" "set" "vector" "map"
---|> 4 "{complete,disjoint}" "{incomplete,disjoint}" "{complete,overlapping}" "{incomplete,overlapping}"

128
use-case-1.md Normal file
View File

@ -0,0 +1,128 @@
Use Case 8: Operacja zlecenia przelewu
=====================
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Klient : chce przesłać pieniądze, na inne konto
- Bank: chce otrzymać informację o nowym zleceniu przelewu
Warunki wstępne:
----------------
Klient posiada działającą kartę bankową i odblokowaną funkcję przelewów.
Bankomat jest sprawny, ma działające klawisze i ekran, który wyświetla ekran główny
Warunki końcowe:
----------------
Bank otrzymał zlecenie przelewu
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Klient wkłada kartę do bankomatu
2. System prosi o wprowadzenie pinu
3. Klient wprowadza pin
4. System potwierdza poprawność PINu
5. Wyświetla wyświetla okno wyboru możliwości
6. Klient wybiera opcję zlecenia przelewu
7. System prosi o wprowadzenie numeru konta, na który ma zostać zrobiony przelew
8. Klient wprowadza numer konta
9. Bank potwierdza, że podane konto jest aktywne i ma odblokowaną funckję przelewów
10. System prosi o wprowadzenie kwoty
11. Klient wprowadza kwotę
12. System wysyła do banku request przelewu
13. Bank informuje system o przyjęciu zgłoszenia
14. System informuje o powodzeniu procesu
15. System wysuwa kartę
16. Klient zabiera kartę i odchodzi
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. Przerwa w dostawie prądu<!-- zakładamy, że posiada jakąś zapasową baterię -->
1. System załącza tryb oszczędzania energii
2. Bankomat wydaje sygnał dzwiękowy
3. System załącza prodedurę awaryjną:
i. System informuje klienta o tym co nastąpi w najbliższym czasie
ii. System przerywa wszystkie trwające operację
iii. System informuje bank o zaistniałym problemie
4. System wydaje kartę klientowi
5. Klient odbiera kartę
6. System wyświetla informację o niedostępności, do odzyskania zasilania
1a. Klient wkłada kartę złą stroną
1. System wysuwa kartę i informuje o błędzie
3a. Niepoprawny PIN
1. System informuje użytkownika o nieprawidłowym PIN'ie i 2 możliwych próbach
2. Klient wprowadza PIN
3. Przejście do kroku 4 scenariusza głównego
2a. Klient wprowadził niepoprawny PIN 2 razy
1. System wysyła do banku informację o możliwej próbie nieautoryzowanego dostępu.
2. Bank blokuje kartę.
3. System informuje o blokadzie
4. Przejście do kroku 15 scenariusza głównego
9a. Wybrane konto nie isntnieje
1. System informuje Klienta o braku numeru konta w systemie
2. Przejście do kroku 5 scenariusza głównego
9b. Wybrane konto ma zablokowaną funckję przelewów
1. System informuje Klienta o zaistniałej sytuacji
2. System pyta użytkownika, czy chcę zlecić operację, mimo tego, że będzie wstrzymana do odblokowania tej funkcji na końcie odbiorcy
3. Klient akceptuje warunki
4. Przejście do kroku 10 scenariusza głównego
11a. Brak wystarczającej ilości środków na koncie
1. System informuje Klienta o braku wystarczającej liczbie środków na koncie
2. Przejście do kroku 10 scenariusza głównego
2-11a Klient chce przerwać operację
1. Klient informuje o chęci zakończenia operacji
2. System przerywa trwający proces
3. Przejście do kroku 15 scenariusza głównego
Wymagania specjalne:
--------------------
- Interfejs użytkownika musi być dostępny w języku polskim i angielskim
- Ekran dodytowy, z matrycą przeciwrefleksyjną
- Klawiatura mechaniczna z osłonką
- Głośnik
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
1a. Karta jest poprawną, nieuszkodzoną kartą bankomatową
11a. Wprowadzona kwota musi być liczbą całkowitą z zakresu ( 0, 1000000 >
3a. PIN składa się z 4 cyfr
Kwestie otwarte:
----------------
- Czy dopuszczamy inne formy uwierzytalniania?
- Czy powinna istnieć kamera, dzięki której bankomat może zablokować proces w przypadku próby interakcji osób 3

128
use-case-1.md.backup Normal file
View File

@ -0,0 +1,128 @@
Use Case 8: Operacja zlecenia przelewu
=====================
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Klient : chce przesłać pieniądze, na inne konto
- Bank: chce otrzymać informację o nowym zleceniu przelewu
Warunki wstępne:
----------------
Klient posiada działającą kartę bankową i odblokowaną funkcję przelewów.
Bankomat jest sprawny, ma działające klawisze i ekran, który wyświetla ekran główny
Warunki końcowe:
----------------
Pieniądze z jednego konta zostały przelane na drugie
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Klient wkłada kartę do bankomatu
2. System prosi o wprowadzenie pinu
3. Klient wprowadza pin
4. System potwierdza poprawność PINu
5. Wyświetla wyświetla okno wyboru możliwości
6. Klient wybiera opcję zlecenia przelewu
7. System prosi o wprowadzenie numeru konta, na który ma zostać zrobiony przelew
8. Klient wprowadza numer konta
9. Bank potwierdza, że podane konto jest aktywne i ma odblokowaną funckję przelewów
10. System prosi o wprowadzenie kwoty
11. Klient wprowadza kwotę
12. System wysyła do banku request przelewu
13. Bank informuje system o przyjęciu zgłoszenia
14. System informuje o powodzeniu procesu
15. System wysuwa kartę
16. Klient zabiera kartę i odchodzi
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. Przerwa w dostawie prądu<!-- zakładamy, że posiada jakąś zapasową baterię -->
1. System załącza tryb oszczędzania energii
2. Bankomat wydaje sygnał dzwiękowy
3. System załącza prodedurę awaryjną:
i. System informuje klienta o tym co nastąpi w najbliższym czasie
ii. System przerywa wszystkie trwające operację
iii. System informuje bank o zaistniałym problemie
4. System wydaje kartę klientowi
5. Klient odbiera kartę
6. System wyświetla informację o niedostępności, do odzyskania zasilania
1a. Klient wkłada kartę złą stroną
1. System wysuwa kartę i informuje o błędzie
3a. Niepoprawny PIN
1. System informuje użytkownika o nieprawidłowym PIN'ie i 2 możliwych próbach
2. Klient wprowadza PIN
3. Przejście do kroku 4 scenariusza głównego
2a. Klient wprowadził niepoprawny PIN 2 razy
1. System wysyła do banku informację o możliwej próbie nieautoryzowanego dostępu.
2. Bank blokuje kartę.
3. System informuje o blokadzie
4. Przejście do kroku 15 scenariusza głównego
9a. Wybrane konto nie isntnieje
1. System informuje Klienta o braku numeru konta w systemie
2. Przejście do kroku 5 scenariusza głównego
9b. Wybrane konto ma zablokowaną funckję przelewów
1. System informuje Klienta o zaistniałej sytuacji
2. System pyta użytkownika, czy chcę zlecić operację, mimo tego, że będzie wstrzymana do odblokowania tej funkcji na końcie odbiorcy
3. Klient akceptuje warunki
4. Przejście do kroku 10 scenariusza głównego
11a. Brak wystarczającej ilości środków na koncie
1. System informuje Klienta o braku wystarczającej liczbie środków na koncie
2. Przejście do kroku 10 scenariusza głównego
2-11a Klient chce przerwać operację
1. Klient informuje o chęci zakończenia operacji
2. System przerywa trwający proces
3. Przejście do kroku 15 scenariusza głównego
Wymagania specjalne:
--------------------
- Interfejs użytkownika musi być dostępny w języku polskim i angielskim
- Ekran dodytowy, z matrycą przeciwrefleksyjną
- Klawiatura mechaniczna z osłonką
- Głośnik
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
1a. Karta jest poprawną, nieuszkodzoną kartą bankomatową
11a. Wprowadzona kwota musi być liczbą całkowitą z zakresu ( 0, 1000000 >
3a. PIN składa się z 4 cyfr
Kwestie otwarte:
----------------
- Czy dopuszczamy inne formy uwierzytalniania?
- Czy powinna istnieć kamera, dzięki której bankomat może zablokować proces w przypadku próby interakcji osób 3