Revert "delete"

This reverts commit 88589fa6ad.
This commit is contained in:
shaaqu 2021-02-02 12:36:44 +01:00
parent 255d2b6146
commit 1a2673ebbd
37 changed files with 2591 additions and 0 deletions

8
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/../../../../../:\IntelliJ_IDEA\IntelliJ projects\APO\.idea/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

9
.idea/APO.iml Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -0,0 +1,3 @@
<component name="ProjectDictionaryState">
<dictionary name="Paweł Łukaszewicz" />
</component>

6
.idea/misc.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="15" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/APO.iml" filepath="$PROJECT_DIR$/.idea/APO.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

0
README.md Normal file
View File

9
models/121.session Normal file
View File

@ -0,0 +1,9 @@
window_sizes 1920 1001 466 1448 811 128
show_stereotypes
selected sequencediagram_ref 128761 // 3-6-potwierdzeniePrzelewu
open
classview_ref 128002 // domain
classview_ref 134530 // design
end
end

13
models/122.session Normal file
View File

@ -0,0 +1,13 @@
window_sizes 1920 1001 450 1464 811 128
diagrams
active classdiagram_ref 128002 // domain-model
1464 811 90 B-Landscape 0 0
end
show_stereotypes
selected classrelation_ref 131458 // <association>
open
class_ref 128002 // Bankomat
class_ref 129026 // Serwisant
end
end

193
models/128002.diagram Normal file
View File

@ -0,0 +1,193 @@
format 224
classcanvas 128130 class_ref 128002 // Bankomat
classdiagramsettings member_max_width 0 end
xyzwh 869.4 434.54 2000 167 114
end
classcanvas 128258 class_ref 128130 // Gotówka
classdiagramsettings member_max_width 0 end
xyzwh 1180.79 436.25 2005 104 110
end
classcanvas 128386 class_ref 128258 // Karta
classdiagramsettings member_max_width 0 end
xyzwh 297.65 26.73 2005 149 109
end
classcanvas 128514 class_ref 128386 // BLIK
classdiagramsettings member_max_width 0 end
xyzwh 324.16 784.07 2000 95 127
end
classcanvas 128642 class_ref 128514 // Wyplata
classdiagramsettings member_max_width 0 end
xyzwh 61.51 792.01 2000 107 112
end
classcanvas 128770 class_ref 128642 // Wplata
classdiagramsettings member_max_width 0 end
xyzwh 530.23 805.86 2000 123 77
end
classcanvas 128898 class_ref 128770 // Klient
classdiagramsettings member_max_width 0 end
xyzwh 587.15 206.05 2000 209 148
end
classcanvas 129026 class_ref 128898 // Konwojent
classdiagramsettings member_max_width 0 end
xyzwh 1143.36 215.83 2000 170 75
end
classcanvas 129154 class_ref 129026 // Serwisant
classdiagramsettings member_max_width 0 end
xyzwh 852.97 217.93 2000 190 100
end
classcanvas 129282 class_ref 129154 // Bank
classdiagramsettings member_max_width 0 end
xyzwh 62.19 234.51 2000 127 114
end
classcanvas 129410 class_ref 129282 // Konto
classdiagramsettings member_max_width 0 end
xyzwh 299.53 232.71 2000 145 104
end
classcanvas 129538 class_ref 129410 // Przelew
classdiagramsettings member_max_width 0 end
xyzwh 40.7 513.46 2000 129 80
end
classcanvas 129666 class_ref 129538 // System_Transakcji
classdiagramsettings member_max_width 0 end
xyzwh 274.05 425.49 2000 195 113
end
classcanvas 129794 class_ref 129666 // Potwierdzenie
classdiagramsettings member_max_width 0 end
xyzwh 294.47 942.17 2000 147 100
end
classcanvas 129922 class_ref 129794 // PIN
classdiagramsettings member_max_width 0 end
xyzwh 588.12 40.37 2000 101 76
end
classcanvas 130050 class_ref 129922 // Transakcja
classdiagramsettings member_max_width 0 end
xyzwh 287.61 579.83 2000 181 136
end
classcanvas 130178 class_ref 130050 // Ekran_Bankomatu
classdiagramsettings member_max_width 0 end
xyzwh 862.25 642.9 2005 173 99
end
relationcanvas 128762 relation_ref 128122 // posiada
from ref 130178 z 2006 label "posiada" italic max_width 255 xyz 916 572 2006 to ref 128130
no_role_a no_role_b
multiplicity_a_pos 926 556 3000 multiplicity_b_pos 925 613 3000
end
relationcanvas 130042 relation_ref 128250 // wplaca
from ref 129026 z 2006 label "wplaca" italic max_width 255 xyz 1198 341 2006 to ref 128258
no_role_a no_role_b
multiplicity_a_pos 1206 407 3000 multiplicity_b_pos 1203 299 3000
end
relationcanvas 132610 relation_ref 128770 // posiada
geometry HV unfixed
decenter_begin 537
from ref 129410 z 2001 label "posiada" italic max_width 255 xyz 481 262 2001 to point 584 285
line 130298 z 2001 to ref 128898
no_role_a no_role_b
multiplicity_a_pos 570 294 3000 multiplicity_b_pos 454 297 3000
end
relationcanvas 132738 relation_ref 128898 // daje_dostep
from ref 128386 z 2006 label "daje_dostep" italic max_width 255 xyz 332 160 2006 to ref 129410
no_role_a no_role_b
multiplicity_a_pos 351 204 3000 multiplicity_b_pos 348 144 3000
end
relationcanvas 132866 relation_ref 129026 // posiada
decenter_begin 532
decenter_end 537
from ref 129282 z 2001 label "posiada" italic max_width 255 xyz 210 269 2001 to ref 129410
no_role_a no_role_b
multiplicity_a_pos 278 297 3000 multiplicity_b_pos 201 305 3000
end
relationcanvas 132994 relation_ref 129154 // posiada
from ref 129922 z 2006 label "posiada" italic max_width 255 xyz 482 55 2006 to ref 128386
no_role_a no_role_b
multiplicity_a_pos 457 86 3000 multiplicity_b_pos 563 85 3000
end
relationcanvas 133122 relation_ref 129282 // posiada
from ref 129794 z 2001 label "posiada" italic max_width 255 xyz 170 967 2001 to point 111 987
line 138754 z 2001 to ref 128642
no_role_a no_role_b
multiplicity_a_pos 90 912 3000 multiplicity_b_pos 269 999 3000
end
relationcanvas 133250 relation_ref 129410 // posiada
decenter_begin 456
decenter_end 430
from ref 129794 z 2001 label "posiada" italic max_width 255 xyz 479 965 2001 to point 583 983
line 138626 z 2001 to point 582 889
line 139138 z 2001 to ref 128770
no_role_a no_role_b
multiplicity_a_pos 561 890 3000 multiplicity_b_pos 452 996 3000
end
relationcanvas 133506 relation_ref 129666 // naprawia
from ref 128130 z 2001 label "naprawia" italic max_width 255 xyz 912 352 2001 to ref 129154
no_role_a no_role_b
multiplicity_a_pos 924 324 3000 multiplicity_b_pos 931 405 3000
end
relationcanvas 134402 relation_ref 130562 // posiada
from ref 128130 z 2006 label "posiada" italic max_width 255 xyz 1073 467 2006 to ref 128258
no_role_a no_role_b
multiplicity_a_pos 1157 500 3000 multiplicity_b_pos 1046 500 3000
end
relationcanvas 134530 relation_ref 130690 // posiada
from ref 128514 z 2001 label "posiada" italic max_width 255 xyz 214 825 2001 to ref 128642
no_role_a no_role_b
multiplicity_a_pos 180 856 3000 multiplicity_b_pos 300 856 3000
end
relationcanvas 134658 relation_ref 130818 // posiada
from ref 128514 z 2001 label "posiada" italic max_width 255 xyz 440 822 2001 to ref 128770
no_role_a no_role_b
multiplicity_a_pos 506 852 3000 multiplicity_b_pos 430 855 3000
end
relationcanvas 134914 relation_ref 131074 // obsluguje
from ref 129666 z 2001 label "obsluguje" italic max_width 255 xyz 334 370 2001 to ref 129410
no_role_a no_role_b
multiplicity_a_pos 348 345 3000 multiplicity_b_pos 351 396 3000
end
relationcanvas 135042 relation_ref 131202 // posiada
geometry HV unfixed
decenter_end 458
from ref 129666 z 2001 label "posiada" italic max_width 255 xyz 164 470.5 2001 to point 118 478
line 130170 z 2001 to ref 129282
no_role_a no_role_b
multiplicity_a_pos 102 355 3000 multiplicity_b_pos 255 488 3000
end
relationcanvas 136706 relation_ref 131330 // nadzoruje
decenter_end 465
from ref 129666 z 2001 label "nadzoruje" italic max_width 255 xyz 332 535 2001 to ref 130050
no_role_a no_role_b
multiplicity_a_pos 351 551 3000 multiplicity_b_pos 352 546 3000
end
relationcanvas 137218 relation_ref 131586 // posiada
decenter_end 85
from ref 129538 z 2001 label "posiada" italic max_width 255 xyz 193 559 2001 to ref 130050
no_role_a no_role_b
multiplicity_a_pos 263 602 3000 multiplicity_b_pos 180 584 3000
end
relationcanvas 137346 relation_ref 131714 // posiada
geometry HV unfixed
decenter_begin 532
from ref 130050 z 2001 label "posiada" italic max_width 255 xyz 166 627 2001 to point 112 649
line 128634 z 2001 to ref 128642
no_role_a no_role_b
multiplicity_a_pos 91 762 3000 multiplicity_b_pos 263 661 3000
end
relationcanvas 137474 relation_ref 131842 // autoryzuje
decenter_begin 465
from ref 130050 z 2001 label "autoryzuje" italic max_width 255 xyz 331 725 2001 to ref 128514
no_role_a no_role_b
multiplicity_a_pos 347 755 3000 multiplicity_b_pos 348 725 3000
end
relationcanvas 137602 relation_ref 138370 // posiada
decenter_begin 536
from ref 130050 z 2001 label "posiada" italic max_width 255 xyz 494 631 2001 to point 586 654
line 137730 z 2001 to point 586 754
line 137858 z 2001 to ref 128770
no_role_a no_role_b
multiplicity_a_pos 566 776 3000 multiplicity_b_pos 480 662 3000
end
relationcanvas 139010 relation_ref 138498 // obsluguje
from ref 129666 z 2001 label "obsluguje" italic max_width 255 xyz 630 462 2001 to ref 128130
no_role_a no_role_b
multiplicity_a_pos 850 496 3000 multiplicity_b_pos 481 490 3000
end
end

3
models/128005.diagram Normal file
View File

@ -0,0 +1,3 @@
format 224
end

3
models/134530.diagram Normal file
View File

@ -0,0 +1,3 @@
format 223
end

3
models/134533_5.d Normal file
View File

@ -0,0 +1,3 @@
format 224
end

21
models/134661.diagram Normal file
View File

@ -0,0 +1,21 @@
format 224
classinstancecanvas 128005 classinstance_ref 134533 //
xyz 59 4 2005 life_line_z 2000
end
classinstancecanvas 128133 classinstance_ref 134917 //
xyz 162 4 2005 life_line_z 2000
end
durationcanvas 128261 classinstance_ref 128005 // :Klient
xyzwh 75 82 2010 11 40
end
durationcanvas 128389 classinstance_ref 128133 // :Bankomat
xyzwh 197 82 2010 11 25
end
msg 128517 synchronous
from durationcanvas_ref 128261
to durationcanvas_ref 128389
yz 82 2015 explicitmsg "wybierzWyplata()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 85 65
end

21
models/134661_5.d Normal file
View File

@ -0,0 +1,21 @@
format 224
classinstancecanvas 128005 classinstance_ref 134533 //
xyz 59 4 2005 life_line_z 2000
end
classinstancecanvas 128133 classinstance_ref 134917 //
xyz 162 4 2005 life_line_z 2000
end
durationcanvas 128261 classinstance_ref 128005 // :Klient
xyzwh 75 82 2010 11 40
end
durationcanvas 128389 classinstance_ref 128133 // :Bankomat
xyzwh 197 82 2010 11 25
end
msg 128517 synchronous
from durationcanvas_ref 128261
to durationcanvas_ref 128389
yz 82 2015 explicitmsg "wybierzWyplata()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 85 65
end

21
models/134789.diagram Normal file
View File

@ -0,0 +1,21 @@
format 224
classinstancecanvas 128005 classinstance_ref 135045 //
xyz 81 4 2005 life_line_z 2000
end
classinstancecanvas 128133 classinstance_ref 135173 //
xyz 227 4 2005 life_line_z 2000
end
durationcanvas 128389 classinstance_ref 128005 // :Klient
xyzwh 97 98 2010 11 40
end
durationcanvas 128517 classinstance_ref 128133 // :Bankomat
xyzwh 262 98 2010 11 25
end
msg 128645 synchronous
from durationcanvas_ref 128389
to durationcanvas_ref 128517
yz 98 2015 explicitmsg "wyborKwoty()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 141 81
end

90
models/134917.diagram Normal file
View File

@ -0,0 +1,90 @@
format 224
classinstancecanvas 128005 classinstance_ref 135429 //
xyz 68 4 2005 life_line_z 2000
end
classinstancecanvas 128133 classinstance_ref 135557 //
xyz 224 4 2005 life_line_z 2000
end
classinstancecanvas 128261 classinstance_ref 135685 //
xyz 345 4 2005 life_line_z 2000
end
classinstancecanvas 128389 classinstance_ref 135813 //
xyz 553 4 2005 life_line_z 2000
end
classinstancecanvas 129669 classinstance_ref 136581 //
xyz 722 4 2005 life_line_z 2000
end
durationcanvas 128517 classinstance_ref 128133 // :Bankomat
xyzwh 259 85 2010 11 40
end
durationcanvas 128645 classinstance_ref 128261 // :System_Transakcji
xyzwh 410 85 2010 11 25
end
durationcanvas 128901 classinstance_ref 128261 // :System_Transakcji
xyzwh 410 115 2010 11 40
end
durationcanvas 129029 classinstance_ref 128389 // :Transakcja
xyzwh 591 115 2010 11 25
end
durationcanvas 129285 classinstance_ref 128005 // :Klient
xyzwh 84 65 2010 11 41
end
durationcanvas 129413 classinstance_ref 128133 // :Bankomat
xyzwh 259 65 2010 11 26
end
durationcanvas 129797 classinstance_ref 128389 // :Transakcja
xyzwh 591 149 2010 11 40
end
durationcanvas 129925 classinstance_ref 129669 // :BLIK
xyzwh 741 149 2010 11 25
end
durationcanvas 130181 classinstance_ref 129669 // :BLIK
xyzwh 741 205 2010 11 40
end
durationcanvas 130309 classinstance_ref 128389 // :Transakcja
xyzwh 591 205 2010 11 25
end
durationcanvas 130565 classinstance_ref 128389 // :Transakcja
xyzwh 591 253 2010 11 40
end
durationcanvas 130693 classinstance_ref 128261 // :System_Transakcji
xyzwh 410 253 2010 11 25
end
msg 128773 synchronous
from durationcanvas_ref 128517
to durationcanvas_ref 128645
yz 85 2015 explicitmsg "wyplata(kwota)"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 292 68
msg 129157 synchronous
from durationcanvas_ref 128901
to durationcanvas_ref 129029
yz 115 2015 explicitmsg "newWyplata(kwota, kod)"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 427 98
msg 129541 synchronous
from durationcanvas_ref 129285
to durationcanvas_ref 129413
yz 65 2015 explicitmsg "podanieKodu()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 129 51
msg 130053 synchronous
from durationcanvas_ref 129797
to durationcanvas_ref 129925
yz 149 2015 explicitmsg "potwierdzKod(kod)"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 610 132
msg 130437 synchronous
from durationcanvas_ref 130181
to durationcanvas_ref 130309
yz 205 2015 explicitmsg "potwierdzenieKodu"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 609 188
msg 130821 synchronous
from durationcanvas_ref 130565
to durationcanvas_ref 130693
yz 253 2015 explicitmsg "wykonajTransakcje(potwierdzenieKodu)"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 377 236
end

36
models/135045.diagram Normal file
View File

@ -0,0 +1,36 @@
format 224
classinstancecanvas 128005 classinstance_ref 135941 //
xyz 22 4 2005 life_line_z 2000
end
classinstancecanvas 128133 classinstance_ref 136069 //
xyz 169 4 2005 life_line_z 2000
end
classinstancecanvas 128645 classinstance_ref 136709 //
xyz 304 4 2005 life_line_z 2000
end
durationcanvas 128773 classinstance_ref 128645 // :System_Transakcji
xyzwh 369 82 2010 11 40
end
durationcanvas 128901 classinstance_ref 128133 // :Bankomat
xyzwh 204 82 2010 11 25
end
durationcanvas 129157 classinstance_ref 128133 // :Bankomat
xyzwh 204 133 2010 11 40
end
durationcanvas 129285 classinstance_ref 128005 // :Klient
xyzwh 38 133 2010 11 25
end
msg 129029 synchronous
from durationcanvas_ref 128773
to durationcanvas_ref 128901
yz 82 2015 explicitmsg "potwierdzenieTransakcji(status)"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 189 65
msg 129413 synchronous
from durationcanvas_ref 129157
to durationcanvas_ref 129285
yz 133 2015 explicitmsg "wyplata(kwota)"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 78 116
end

21
models/141573.diagram Normal file
View File

@ -0,0 +1,21 @@
format 224
classinstancecanvas 128005 classinstance_ref 134661 //
xyz 56 4 2005 life_line_z 2000
end
classinstancecanvas 128133 classinstance_ref 134789 //
xyz 188 4 2005 life_line_z 2000
end
durationcanvas 128261 classinstance_ref 128005 // :Klient
xyzwh 72 91 2010 11 40
end
durationcanvas 128389 classinstance_ref 128133 // :Bankomat
xyzwh 223 91 2010 11 25
end
msg 128517 synchronous
from durationcanvas_ref 128261
to durationcanvas_ref 128389
yz 91 2015 explicitmsg "wybierzBlik()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 112 74
end

21
models/141573_5.d Normal file
View File

@ -0,0 +1,21 @@
format 224
classinstancecanvas 128005 classinstance_ref 134661 //
xyz 56 4 2005 life_line_z 2000
end
classinstancecanvas 128133 classinstance_ref 134789 //
xyz 188 4 2005 life_line_z 2000
end
durationcanvas 128261 classinstance_ref 128005 // :Klient
xyzwh 72 91 2010 11 40
end
durationcanvas 128389 classinstance_ref 128133 // :Bankomat
xyzwh 223 91 2010 11 25
end
msg 128517 synchronous
from durationcanvas_ref 128261
to durationcanvas_ref 128389
yz 91 2015 explicitmsg "wybierzBlik()"
show_full_operations_definition default show_class_of_operation default drawing_language default show_context_mode default
label_xy 112 74
end

10
models/2.session Normal file
View File

@ -0,0 +1,10 @@
window_sizes 1800 901 450 1344 715 128
diagrams
active classdiagram_ref 134530 // 2-1-wlozKarte
1171 648 100 A4 0 0
end
show_stereotypes
selected
package_ref 129 // models
end

8
models/4.session Normal file
View File

@ -0,0 +1,8 @@
window_sizes 1920 1017 450 1465 860 104
show_stereotypes
selected class_ref 129154 // Bank
open
class_ref 128002 // Bankomat
end
end

9
models/5.session Normal file
View File

@ -0,0 +1,9 @@
window_sizes 1278 1368 450 823 1187 128
show_stereotypes
selected sequencediagram_ref 134661 // 5-2-wybranieOpcjiWyplata
open
classview_ref 128002 // domain
classview_ref 134530 // design
end
end

13
models/cpp_includes Normal file
View File

@ -0,0 +1,13 @@
// "a type" "needed cpp_includes"
"vector" "#include <vector>
using namespace std;"
"list" "#include <list>
using namespace std;"
"map" "#include <map>
using namespace std;"
"string" "#include <string>
using namespace std;"

332
models/generation_settings Normal file
View File

@ -0,0 +1,332 @@
java_default_defs
cpp_h_extension "h" cpp_src_extension "cpp" cpp_h_add_extensions "" cpp_src_add_extensions "" java_extension "java" php_extension "php" python_extension "py" idl_extension "idl"
cpp_inline_dont_force_incl_in_h
type_forms 15 // uml cpp java idl cpp_in cpp_out cpp_inout cpp_return
"void" "void" "void" "void" "${type}" "${type} &" "${type}" "${type}"
"any" "void *" "Object" "any" "const ${type}" "${type}" "${type} &" "${type}"
"bool" "bool" "boolean" "boolean" "${type}" "${type} &" "${type} &" "${type}"
"char" "char" "char" "char" "${type}" "${type} &" "${type} &" "${type}"
"uchar" "unsigned char" "char" "octet" "${type}" "${type} &" "${type} &" "${type}"
"byte" "unsigned char" "byte" "octet" "${type}" "${type} &" "${type} &" "${type}"
"short" "short" "short" "short" "${type}" "${type} &" "${type} &" "${type}"
"ushort" "unsigned short" "short" "unsigned short" "${type}" "${type} &" "${type} &" "${type}"
"int" "int" "int" "long" "${type}" "${type} &" "${type} &" "${type}"
"uint" "unsigned int" "int" "unsigned long" "${type}" "${type} &" "${type} &" "${type}"
"long" "long" "long" "long" "${type}" "${type} &" "${type} &" "${type}"
"ulong" "unsigned long" "long" "unsigned long" "${type}" "${type} &" "${type} &" "${type}"
"float" "float" "float" "float" "${type}" "${type} &" "${type} &" "${type}"
"double" "double" "double" "double" "${type}" "${type} &" "${type} &" "${type}"
"string" "string" "String" "string" "${type}" "${type} &" "${type} &" "${type}"
relations_stereotypes 5 // uml cpp java pythonidl
"sequence" "vector" "Vector" "list" "sequence"
"vector" "vector" "Vector" "list" "sequence"
"list" "list" "List" "list" "sequence"
"set" "set" "Set" "set" "sequence"
"map" "map" "Map" "dict" "sequence"
classes_stereotypes 17 // uml cpp java php python idl
"class" "class" "class" "class" "class" "valuetype"
"trait" "class" "class" "trait" "class" "valuetype"
"interface" "class" "interface" "interface" "class" "interface"
"exception" "class" "class" "class" "class" "exception"
"enum" "enum" "enum" "enum" "enum" "enum"
"enum_class" "enum_class" "enum" "enum" "enum" "enum"
"enum_pattern" "enum" "enum_pattern" "enum" "enum" "enum"
"struct" "struct" "class" "class" "class" "struct"
"union" "union" "class" "class" "class" "union"
"typedef" "typedef" "ignored" "ignored" "ignored" "typedef"
"template_typedef" "template_typedef" "ignored" "ignored" "ignored" "ignored"
"boundary" "class" "class" "class" "class" "interface"
"control" "class" "class" "class" "class" "valuetype"
"entity" "class" "class" "class" "class" "valuetype"
"actor" "ignored" "ignored" "ignored" "ignored" "ignored"
"@interface" "ignored" "@interface" "ignored" "ignored" "ignored"
"stereotype" "ignored" "ignored" "ignored" "ignored" "ignored"
cpp_enum_default_type_forms "${type}" "${type} &" "${type} &" "${type}" // in out inout return
other_cpp_types_default_type_forms "const ${type} &" "${type} &" "${type} &" "${type}" // in out inout return
cpp_default_h_content "#ifndef ${NAMESPACE}_${NAME}_H
#define ${NAMESPACE}_${NAME}_H
${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
cpp_default_src_content "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
cpp_default_class_decl "${comment}${template}class ${name}${inherit} {
${members}};
${inlines}
"
cpp_default_external_class_decl "${name}
#include <${name}.h>
"
cpp_default_struct_decl "${comment}${template}struct ${name}${inherit} {
${members}};
${inlines}
"
cpp_default_union_decl "${comment}${template}union ${name} {
${members}};
${inlines}
"
cpp_default_enum_decl "${comment}enum ${name} {
${items}};
"
cpp_default_enumclass_decl "${comment}enum class ${name} {
${items}};
"
cpp_default_typedef_decl "${comment}typedef ${type} ${name};
"cpp_default_template_typedef_decl "${comment}${template}using ${name} = ${inherit};
"
cpp_default_attribute_declaration " ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} ${name}${value};
" // multiplicity 1
" ${comment}${static}${thread_local}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
" // multiplicity * a..b
" ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
" // multiplicity [..]
cpp_default_enum_item_declaration " ${name}${value},${comment}"
cpp_association_aggregation_declaration
" ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} * ${name}${value};
" // multiplicity 1
" ${comment}${static}${thread_local}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
" // multiplicity * a..b
" ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
" // multiplicity [..]
cpp_aggregation_by_value_declaration
" ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} ${name}${value};
" // multiplicity 1
" ${comment}${static}${thread_local}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
" // multiplicity * a..b
" ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
" // multiplicity [..]
cpp_get "get_${name}" inline const value_const public
cpp_set "set_${name}" public
cpp_default_operation_declaration " ${comment}${friend}${static}${inline}${virtual}${typeprefix}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
"
cpp_default_operation_definition "${comment}${inline}${typeprefix}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
${body}}
"
cpp_indent_visibility " " cpp_indent_friendclass " " cpp_indent_subclass " "
java_default_src_content "${comment}
${package}
${imports}
${definition}"
java_default_class_decl "${comment}${@}${visibility}${static}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
java_default_external_class_decl "${name}"
java_default_interface_decl "${comment}${@}${visibility}${static}interface ${name}${extends} {
${members}}
"
java5_default_enum_decl "${comment}${@}${visibility}${static}${final}${abstract}enum ${name}${implements} {
${items};
${members}}
"
java_default_enum_decl "${comment}${@}${visibility}${static}$final class ${name} {
${members}
private final int value;
public int value() {
return value;
}
public static ${name} fromInt(int value) {
switch (value) {
${cases} default: throw new Error();
}
}
private ${name}(int v) { value = v; };
}
"
java_default_attribute_declaration " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
" // multiplicity 1
" ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value};
" // multiplicity * a..b
" ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
" // multiplicity N
java5_default_enum_item_declaration " ${@}${name}${value},${comment}"
java_default_enum_item_declaration " ${comment}${@}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
java_default_enum_case " case _${name}: return ${name};
"
java_association_aggregation_declaration
" ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
" // multiplicity 1
" ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value};
" // multiplicity * a..b
" ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
" // multiplicity N
java_get "get${Name}" final public
java_set "set${Name}" public
java_default_operation_definition " ${comment}${@}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
php_default_src_content "<?php
${comment}
${namespace}
${require_once}
${use}
${definition}
?>
"
php_default_class_decl "${comment}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
php_default_enum_decl "${comment}${visibility}final class ${name} {
${items}}
"
php_default_external_class_decl "${name}"
php_default_interface_decl "${comment}interface ${name}${extends} {
${members}}
"
php_default_trait_decl "${comment}trait ${name} {
${members}}
"
php_default_attribute_declaration " ${comment}${visibility}${const}${static}${var}${name}${value};
"
php_default_enum_item_decl " const ${name}${value};${comment}
"
php_default_relation_declaration" ${comment}${visibility}${const}${static}${var}${name}${value};
"
php_get "get${Name}" final
php_set "set${Name}"
php_default_operation_definition " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}${type}
{
${body}}
"
php_param_typed php_out_inout_by_ref python_2_2
python_indent_step " "
python_default_src_content "${comment}
${import}
${definition}"
python_default_class_decl "class ${name}${inherit}:
${docstring}${members}
"
python_default_enum_decl "class ${name}:
${docstring}${members}
"
python_default_external_class_decl "${name}"
python_default_attribute_declaration "${comment}${self}${name} = ${value}
" // multiplicity 1
"${comment}${self}${name} = ${stereotype}()
" // multiplicity != 1
python_default_enum_item_decl "${comment}${self}${name} = ${value}
"
python_default_relation_declaration"${comment}${self}${name} = ${value}
" // multiplicity 1
"${comment}${self}${name} = ${stereotype}()
" // multiplicity != 1
python_default_composition_declaration"${comment}${self}${name} = ${type}()
" // multiplicity 1
"${comment}${self}${name} = ${stereotype}()
" // multiplicity != 1
python_default_operation_definition "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
python_default_initoperation_definition "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}:
${docstring}super(${class}, ${p0}).__init__()
${body}
"
python_get "get${Name}"
python_set "set${Name}"
idl_default_src_content "#ifndef ${MODULE}_${NAME}_H
#define ${MODULE}_${NAME}_H
${comment}
${includes}
${module_start}
${definition}
${module_end}
#endif
"
idl_default_interface_decl "${comment}${abstract}${local}interface ${name}${inherit} {
${members}};
"
idl_default_valuetype_decl "${comment}${abstract}${custom}valuetype ${name}${inherit} {
${members}};
"
idl_default_struct_decl "${comment}struct ${name} {
${members}};
"
idl_default_typedef_decl "${comment}typedef ${type} ${name};
"
idl_default_exception_decl "${comment}exception ${name} {
${members}};
"
idl_default_union_decl "${comment}union ${name} switch(${switch}) {
${members}};
"
idl_default_enum_decl "${comment}enum ${name} {
${items}};
"
idl_default_external_class_decl "${name}
#include \"${name}.idl\"
"
idl_default_attribute_declaration " ${comment}${readonly}${attribute}${type} ${name};
" // multiplicity 1
" ${comment}${readonly}${attribute}${stereotype}<${type}> ${name};
" // multiplicity * a..b
" ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name};
" // multiplicity N
idl_default_valuetype_attribute_declaration " ${comment}${visibility}${type} ${name};
" // multiplicity 1
" ${comment}${visibility}${stereotype}<${type}> ${name};
" // multiplicity * a..b
" ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name};
" // multiplicity N
idl_default_const_declaration " ${comment}const ${type} ${name}${value};
" // multiplicity 1
" ${comment}const ${stereotype}<${type}> ${name}${value};
" // multiplicity * a..b
" ${comment}const ${stereotype}<${type},${multiplicity}> ${name}${value};
" // multiplicity N
idl_default_enum_item_declaration " ${name},${comment}"
idl_default_union_item_declaration " ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1
" ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b
" ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N
idl_association_aggregation_declaration
" ${comment}${readonly}${attribute}${type} ${name};
" // multiplicity 1
" ${comment}${readonly}${attribute}${stereotype}<${type}> ${name};
" // multiplicity * a..b
" ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name};
" // multiplicity N
idl_valuetype_association_aggregation_declaration
" ${comment}${visibility}${type} ${name};
" // multiplicity 1
" ${comment}${visibility}${stereotype}<${type}> ${name};
" // multiplicity * a..b
" ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name};
" // multiplicity N
idl_union_association_aggregation_declaration
" ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1
" ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b
" ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N
idl_get "get_${name}"
idl_set "set_${name}" twoways
idl_default_operation_declaration " ${comment}${oneway}${type} ${name}${(}${)}${raisesnl}${raises};
"
mysqldefault_src_content "${comment}CREATE DATABASE IF NOT EXISTS ${name};
use ${name};
${definition}"
mysql_default_table_decl "DROP TABLE IF EXISTS ${name};
CREATE TABLE ${name} ${definition}${comment};
"
mysql_default_column_decl " ${name} ${type}${notnull}${default}${autoincr}${comment}"
mysql_default_key_decl " ${constraint}${modifier}KEY${name}${type} (${columns})${ref}${comment}"
uml_get_name uml uml_set_name uml
end

1
models/idl_includes Normal file
View File

@ -0,0 +1 @@
// "a type" "needed idl_includes"

1
models/java_imports Normal file
View File

@ -0,0 +1 @@
// "a type" "needed java_imports"

1253
models/models.prj Normal file

File diff suppressed because it is too large Load Diff

1
models/python_imports Normal file
View File

@ -0,0 +1 @@
// "a type" "needed python_imports"

63
models/stereotypes Normal file
View File

@ -0,0 +1,63 @@
package_stereotypes 6 "facade" "framework" "model library" "stub" "toplevel" "profile"
-_-> 3 "access" "import" "from"
end
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}"
o--- 4 "list" "set" "vector" "map"
*--- 4 "list" "set" "vector" "map"
o--> 4 "list" "set" "vector" "map"
*--> 4 "list" "set" "vector" "map"
-_-> 5 "friend" "from" "import" "instantiate" "use"
-_-|> 1 "bind"
end
rolepart_stereotypes 0
use_case_stereotypes 2 "realization" "realization"
---|> 4 "{complete,disjoint}" "{incomplete,disjoint}" "{complete,overlapping}" "{incomplete,overlapping}"
-_-> 2 "include" "extend"
end
artifact_stereotypes 8 "database" "document" "executable" "file" "library" "script" "source" "text"
-_-> 4 "deploy" "manifest" "import" "from"
end
attribute_stereotypes 4 "list" "set" "vector" "map"
operation_stereotypes 0
state_stereotypes 3 "machine" "submachine" "top"
activity_stereotypes 0
flow_stereotypes 3 "interrupt" "multicast" "multireceive"
interruptibleactivityregion_stereotypes 0
pseudostate_stereotypes 0
stateaction_stereotypes 2 "send-signal" "receive-signal"
parameter_stereotypes 0
activityvariable_stereotypes 0
parameterset_stereotypes 0
activitynode_stereotypes 0
activityaction_stereotypes 0
activityobject_stereotypes 2 "datastore" "centralBuffer"
expansionregion_stereotypes 0
activitypartition_stereotypes 0
pin_stereotypes 0
port_stereotypes 0
component_stereotypes 6 "buildComponent" "entity" "implement" "process" "service" "subsystem"
deploymentnode_stereotypes 3 "cpu" "device" "executionEnvironment"
classview_stereotypes 0
usecaseview_stereotypes 0
componentview_stereotypes 0
deploymentview_stereotypes 0
classdiagram_stereotypes 0
classcompositediagram_stereotypes 0
seqdiagram_stereotypes 0
msg_stereotypes 0
coldiagram_stereotypes 0
usecasediagram_stereotypes 0
statediagram_stereotypes 0
activitydiagram_stereotypes 0
componentdiagram_stereotypes 0
deploymentdiagram_stereotypes 0
end

18
models/tools Normal file
View File

@ -0,0 +1,18 @@
// 'tool' "the executable" "displayed string" {target}+
tool "HTML documentation" "ghtml" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue Port RolePart Connector ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ClassCompositeDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
tool "HTML doc. (flat)" "ghtml -flat" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue Port RolePart Connector ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ClassCompositeDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
tool "HTML doc. (svg)" "ghtml -svg" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue Port RolePart Connector ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ClassCompositeDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
tool "HTML doc. (flat, svg)" "ghtml -flat -svg" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue Port RolePart Connector ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ClassCompositeDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
tool "Generate .pro" "gpro" Artifact
tool "Import Rose" "irose" Project Package
tool "C++ utilities" "cpp_util" Class
tool "Generate XMI 1.2" "gxmi" Project
tool "Generate XMI 2.x" "gxmi2" Project
tool "Import XMI 2.x" "ixmi2" Project Package
tool "C++ state machine" "stmgen" State
tool "Use case wizard" "usecasewizard" UseCase
tool "Check-in" "file_control ci" Project Package
tool "Check-out" "file_control co" Project Package
tool "Deploy classes" "deplcl" ClassView
tool "Global Change" "global_change" Class Project Package ClassView DeploymentView
tool "Uml projection" "uml_proj" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue Project Package ClassView

35
system-events.md Normal file
View File

@ -0,0 +1,35 @@
# Zdarzenia systemowe
## Use case 2: Wypłata
1. Włożenie karty do bankomatu.
2. Wprowadzenie PINu.
3. Wybranie opcji 'Wypłata'.
4. Wprowadzenie kwoty.
5. Wybranie czy wydrukować potwierdzenie.
6. Odebranie karty.
7. Odebranie pieniędzy.
## Use case 3: Przelew
1. Włożenie karty do bankomatu.
2. Wprowadzenie PINu.
3. Wybranie opcji 'Przelew'.
4. Podanie kwoty.
5. Podanie numeru rachunku odbiorcy.
6. Potwierdzenie przelewu.
## Use case 4: Sprawdzenie stanu konta
1. Włożenie karty do bankomatu.
2. Wprowadzenie PINu.
3. Wybranie opcji 'Sprawdź stan konta'.
4. Wyjęcie karty z bankomatu.
## Use case 5: Wyplata za pomocą BLIKa
1. Wybranie opcji BLIK
2. Wybranie opcji 'Wypłata'.
3. Podanie kwoty.
4. Wprowadzenie kodu BLIK.
5. Odebranie pieniędzy.

101
use-case-2.md Normal file
View File

@ -0,0 +1,101 @@
Use Case 2: Wypłata
=====================
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Klient: Zostaje mu wypłacona żądana kwota.
- Bank: Kwota wypłaty została poprawnie naliczona na koncie Klienta.
Warunki wstępne:
----------------
- W bankomacie jest gotówka.
Warunki końcowe:
----------------
- System przestaje przetwarzać dane.
- Na ekranie wyświetla się ekran główny.
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Klient wkłada kartę do bankomatu.
2. System prosi o podanie pinu.
3. Klient wprowadza pin.
4. Klient wybiera opcje "Wypłać".
5. Klient wprowadza kwotę.
6. System prosi o potwierdzenie wybranej kwoty.
7. System pyta, czy wydrukować potwierdzenie.
8. Klient wybiera czy chce potwierdzenie.
9. Bankomat drukuje potwierdzenie.
10. Klient odbiera potwierdzenie.
11. Bankomat zwraca kartę.
12. Klient odbiera kartę.
13. Bankomat wypłaca pieniądze.
14. Klient odbiera gotówkę.
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. Bankomat zawiesza się.
1. Bankomat anuluje transakcję.
2. Bankomat informuje Klienta o zajściu błędu.
3. Bankomat wraca do strony głównej.
1a. Bankomat nie rozpoznaje karty.
1. Bankomat informuje, że karta nie została rozpoznana.
2. Bankomat zwraca kartę Klientowi.
3. Klient Odbiera kartę.
3a. Nieprawidłowy pin.
1. Bankomat informuje Klienta, że PIN jest niepoprawny.
2. Bankomat zwraca kartę Klientowi.
3b. Klient wprowadza za krótki PIN.
1. Bankomat czeka określony czas, aż Klient wprowadzi pozostałe cyfry PINu.
2. Po czasie oczekiwania Bankomat wraca do strony głównej.
5a. Klient wprowadził kwotę, która jest większa niż stan gotówki w Bankomacie.
1. Bankomat informuje Klienta, że nie jest w stanie wypłacić żądanej kwoty.
2. Bankomat informuje Klienta o maksymalnej kwocie, jaką może wypłacić.
3. Bankomat pyta się Klienta, czy chce wypłacić maksymalną kwotę, czy anulować opercję.
4. Klient wybiera, czy chcę wypłacić maksymalną kwotę.
6a. Klient nie potwierdza wybranej kwoty.
1. Bankomat wraca do kroku 5.
8a. Klient wybiera, że nie chce potwierdzenia.
1. Bankomat przechodzi do kroku 11.
12a. Klient nie odbiera karty.
1. Bankomat po określonym czasie chowa kartę.
14a. Klient nie odbiera gotówki.
1. Bankomat po określonym czasie chowa gotówkę.
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
1a. Karta powinna być aktualna.
1b. Karta jest przypisana do jakiegoś konta.
3a. Pin składa się z 4 cyfr.
Kwestie otwarte:
----------------
- Czy dopuszczamy autoryzację z wykorzystaniem technologii NFC?
- Jaki jest czas oczekiwania?

65
use-case-3.md Normal file
View File

@ -0,0 +1,65 @@
Use Case 3: Przelew
=====================
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Klient: Przesyła żądaną kwotę
Warunki wstępne:
----------------
Została przeprowadzona autoryzacja klienta.
Warunki końcowe:
----------------
Informacja o przelewie jest zapisana w SOT.
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Klient wprowadza dane przelewu (kwota, odbiorca, rodzaj przelewu)
2. Klient potwierdza przelew
3. Bankomat potwierdza, że wprowadzone dane są prawidłowe
4. Informacja o przelewie zostaje zapisana w SOT, kwota pieniędzy na koncie klienta pomniejsza się o kwotę przelewu, natomiast ilość pieniędzy na koncie odbiorcy powiększa się o tą kwotę
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. Bankomat się zawiesza
1. Bankomat anuluje transakcję.
2. Bankomat informuje o zajściu błędu.
3. Bankomat wraca do strony głównej.
3a. Nieprawidłowa kwota
1. Bankomat informuje Klienta, że nie może przelać żądanej kwoty.
2. Bankomat informuje Klienta o maksymalnej kwocie, jaką może wypłacić.
3. Bankomat pyta się Klienta, czy chce wypłacić maksymalną kwotę, czy anulować operację.
3b. Nieprawidłowy odbiorca
1. Bankomat informuje Klienta, że wybrany odbiorca nie istnieje.
2. Bankomat pyta się Klienta, czy chce zmienić odbiorcę, czy anulować operację.
Wymagania specjalne:
--------------------
- Interfejs użytkownika musi być dostępny w języku polskim i angielskim.
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
1a. Kwota nie jest większa niż stan środków na koncie
1b. Podany odbiorca istnieje w SOT
Kwestie otwarte:
----------------
- Czy dopuszczamy autoryzację z wykorzystaniem rozpoznawania twarzy?

59
use-case-4.md Normal file
View File

@ -0,0 +1,59 @@
Use Case 4: Sprawdzenie stanu konta
=====================
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Klient: Poznaje stan swojego konta
Warunki wstępne:
----------------
- Bankomat jest sprawny
- Została przeprowadzona autoryzacja klienta
Warunki końcowe:
----------------
- Na ekranie wyświetla się ekran główny
- Stan konta się nie zmienił
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Klient w bankomacie wybiera opcję sprawdzenia stanu konta
2. Bankomat wyświetla na ekranie bieżący stan konta użytkownika
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. Bankomat zawiesza się.
1. Bankomat informuje o zajściu błędu
2. Bankomat wraca do strony głównej
2a. Suma wyświetlona na ekranie jest nieczytelna
1. Klient przerywa operacje
2. Bankomat wraca do strony głównej
Wymagania specjalne:
--------------------
1. Interfejs użytkownika musi być dostępny w języku polskim i angielskim
2. Wyświetlona kwota na końcu powinna posiadać odpowiednią walutę
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
2a. Ekran wyświetla wyraźną kwotę do odczytania
Kwestie otwarte:
----------------
1. Przez jaki czas ma być wyświetlony stan konta

82
use-case-5.md Normal file
View File

@ -0,0 +1,82 @@
Use Case 5: Wyplata za pomoca BLIKa
=====================
**Aktor podstawowy:** Klient
Główni odbiorcy i oczekiwania względem systemu:
-----------------------------------------------
- Bank: oczekuje poprawnej operacji wypłaty gotówki z bankomatu
Warunki wstępne:
----------------
Bankomat musi posiadać gotówkę.
Warunki końcowe:
----------------
Bank zanotowuje dane o transakcji.
Scenariusz główny (ścieżka podstawowa):
---------------------------------------
1. Klient w bankomacie wybiera opcję wypłaty gotówki za pomocą BLIK'a
2. Bankomat prosi klienta o podanie kwoty do wypłacenia.
3. Bankomat prosi klienta o podanie 6 cyfrowego kodu BLIK.
4. Klient w czasie 60 sekund wpisuje kod z telefonu do bankomatu.
5. Bankomat potwierdza zgodność kodu oraz wydaje gotówkę klientowi.
Rozszerzenia (ścieżki alternatywne):
------------------------------------
*a. Bankomat zawiesza się
1. Bankomat anuluje transakcję.
2. Bankomat informuje klienta o zajściu błędu.
3. Bankomat wraca do strony głównej.
2a. Klient wprowadza kwotę lub wybiera kwotę proponowaną przez bankomat
4a. Nieprawidłowy kod BLIK
1. Bankomat informuje klienta o niezgodności kodu BLIK.
2. Bankomat anuluje transakcję oraz wraca do strony głównej.
4b. Kod BLIK jest za krótki
1. Bankomat po czasie oczekiwania informuje o błędzie i anuluje transakcje.
2. Bankomat wraca do strony głównej.
5a. Brak wystarczającej kwoty na koncie
1. Bankomat informuje o braku wystarczającej kwoty na koncie klienta i anuluje transakcje.
2. Bankomat wraca do strony głównej.
2-4. Klient rezygnuje z transakcji
1. Bankomat po ustalonym czasie informuje o braku aktywności.
2. Bankomat anuluje transakcję oraz wraca do strony głównej.
Wymagania specjalne:
--------------------
- Interfejs użytkownika musi być dostępny w języku polskim i angielskim.
- Program posiada trigger dla zacięcia się systemu.
Wymagania technologiczne oraz ograniczenia na wprowadzane dane:
---------------------------------------------------------------
4a. Kod BLIK składa się z 6 cyfr.
Kwestie otwarte:
----------------
-Jaki czas ustalić na oczekiwanie aktywności klienta?

45
use-cases.md Normal file
View File

@ -0,0 +1,45 @@
# Opis skrócony przypadków uzycia
## Aktorzy procesu i ich cele
Aktor | Cel
------|-----
Klient | Wplata, wyplata, przelew.
Serwisant | Naprawa bledow systemu.
Konwojent | Uzupelniene zawartosci (banknotow) bankomatu.
## Slownik
Haslo | Opis
----- | ----
ST | System transakcji - system nadzorujacy przeplyw pieniedzy.
BLIK | System platnosci mobilnych umozliwiajacy wplaty i wyplaty w bankomacie.
## Przypadki uzycia
### Use case 1: Wplata
Klient wpłaca pięniądze w gotówce, a stan jego konta zwiększa się o tę sumę, którą wpłacił.
### Use case 2: Wyplata
Klient wypłaca pięniądze w gotówce z bankomatu, a stan jego konta zmniejsza się o sumę, którą chce wypłacić, o ile stan jego konta jest większy od kwoty, którą chce wypłacić.
### Use case 3: Przelew
Klient przelewa wybraną kwotę na konto innego kienta, o ile stan jego konta jest większy od kwoty, którą chce przelać innemu klientowi. Konto klienta do, którego ten przelew został wysłany zwiększa się o kwote wysłaną.
### Use case 4: Sprawdzenie stanu konta
Klient ma możliwośc sprawdzenia swojego stanu konta.
### Use case 5: Wyplata za pomoca BLIKa
Klient ma możliwość wypłacenia pieniędzy w gotówce za pomocą kodu BLIK, czyli bez numeru konta bankowego, a za pomocą 6 cyfrowego kodu ważnego 60 sekund wygenerowanego przez klienta, w celu weryfikacji tożsamości. Konto klienta zmiejsza się o kwotę, którą chce wypłacić.
### Use case 6: Wplata za pomoca BLIKa
Klient ma możliwość wpłacenia pieniędzy w gotówce za pomocą kodu BLIK, czyli bez numeru konta bankowego, a za pomocą 6 cyfrowego kodu ważnego 60 sekund wygenerowanego przez klienta, w celu weryfikacji tożsamości. Konto klienta zwiększa się o kwotę, którą chce wpłacić