@startuml
title Modifier workshop
(*) --> "Page liste des ateliers"
-->[clic sur modifier] "Page modification d'workshop"
--> "Remplir les champs"
if "Informations correctes" then
-->[true] "Page liste des ateliers"
--> (*)
else
-->[false] "Page modification d'workshop"
@enduml
@startuml
:user: as u
(User Interface) as ui
(Script Pool) as sp
u -- ui : 新建消息及响应:\n定义消息特征,\n描述默认响应
u -- ui : 删除消息及响应:\n删除指定名称的消息
u -- ui : 修改消息及响应:\n修改指定名称的消息中,\n消息的特征和响应
ui -- sp : 操作指定的消息
@enduml
@startuml
skinparam backgroundColor #EEEBDC
skinparam sequence {
ArrowColor DeepSkyBlue
ActorBorderColor DeepSkyBlue
LifeLineBorderColor blue
LifeLineBackgroundColor #A9DCDF
ParticipantBorderColor DeepSkyBlue
ParticipantBackgroundColor DodgerBlue
ParticipantFontName Impact
ParticipantFontSize 17
ParticipantFontColor #A9DCDF
ActorBackgroundColor aqua
ActorFontColor DeepSkyBlue
ActorFontSize 17
ActorFontName Aapex
}
actor User
participant "First Class" as A
participant "Second Class" as B
participant "Last Class" as C
User -> A: DoWork
activate A
A -> B: Create Request
activate B
B -> C: DoWork
activate C
C --> B: WorkDone
destroy C
B --> A: Request Created
deactivate B
A --> User: Done
deactivate A
@enduml
SEQUENCE DIAGRAM
4908691547488256
Automatic placement of classesdoesn't look good. This diagramhas to be improved.AuthConfigurableClientListDataSourceClientZoneWriterZoneTableAccessorDataSourceStatusZoneTableIteratorDataSourceInfoZoneTableSegmentCacheConfigZoneTableAccessorCacheZoneTableIteratorCacheZoneDataZoneTableHeaderMemorySegmentLoadActionZoneDataLoaderZoneDataUpdaterRdataSetZoneTableLoadFromFileIteratorLoaderMemorySegmentMappedMemorySegmentLocalZoneTableSegmentMappedZoneTableSegmentLocal1*1*«reset»«create»«create»«create»1*1*1*«create»«create»add/replace1111createcreateadd111111
CLASS DIAGRAM
4914368688947200
Automatic placement of classesdoesn't look good. This diagramhas to be improved.AuthConfigurableClientListDataSourceClientZoneWriterZoneTableAccessorDataSourceStatusZoneTableIteratorDataSourceInfoZoneTableSegmentCacheConfigZoneTableAccessorCacheZoneTableIteratorCacheZoneDataZoneTableHeaderMemorySegmentLoadActionZoneDataLoaderZoneDataUpdaterRdataSetZoneTableLoadFromFileIteratorLoaderMemorySegmentMappedMemorySegmentLocalZoneTableSegmentMappedZoneTableSegmentLocal1*1*«reset»«create»«create»«create»1*1*1*«create»«create»add/replace1111createcreateadd111111
@startuml
actor "Funcionário/Cliente" as func
activate func
func -> ":Interface" : Informa usuário e senha
activate ":Interface"
activate ":Controlador"
":Interface" -> ":Controlador" : Informa usuário e senha
activate ":Logon"
":Controlador" -> ":Logon" : do_logon()
":Logon" --> ":Controlador" : Login Ok
deactivate ":Logon"
":Controlador" --> ":Interface" : Login Ok
deactivate ":Controlador"
deactivate ":Interface"
deactivate func
opt
group ref Manter chamados
end
end
@enduml
SEQUENCE DIAGRAM
4916319409405952
Mobile AppMobile AppUserUserReseller UIReseller UIDatabaseDatabase1Send me the password resetlink2Password reset link sent toyour email address3Visit the password reset link4Ask for password and TOTP5Input the new password6Get the TOTP7Input the TOTP8Validate the TOTPalt[If TOTP valid]9Update the user's password[Otherwise]10Ask the user to input thecorrect TOTP
SEQUENCE DIAGRAM
4918105042059264
Mobile AppMobile AppUserUserReseller UIReseller UIDatabaseDatabase1Send me the password resetlink2Password reset link sent toyour email address3Visit the password reset link4Ask for password and TOTP5Input the new password6Get the TOTP7Input the TOTP8Validate the TOTPalt[If TOTP valid]9Update the user's password[Otherwise]10Ask the user to input thecorrect TOTP
@startuml
autonumber
participant "Mobile App" as token
actor User as user
participant "Reseller UI" as reseller_ui
participant "Database" as db
user -> reseller_ui : Send me the password reset \nlink
user <- reseller_ui : Password reset link sent to \nyour email address
user -> reseller_ui : Visit the password reset link
user <- reseller_ui : Ask for password and TOTP
user -> reseller_ui : Input the new password
token <- user : Get the TOTP
user -> reseller_ui : Input the TOTP
reseller_ui -> reseller_ui : Validate the TOTP
alt If TOTP valid
reseller_ui -> db : Update the user's password
else Otherwise
user <- reseller_ui : Ask the user to input the \ncorrect TOTP
end
@enduml
@startuml
actor User
rectangle system {
User -> (ChangeDifficulty)
User -> (AddHighScore)
User -> (StartGame)
User -> (ReturnToMainMenu)
User -> (SpawnCar)
}
@enduml
USE CASE DIAGRAM
4919592442920960
ElevatorStoppedMovingNext StopNo More StopsHas More Stops
STATE DIAGRAM
4920323661103104
ElevatorStoppedMovingNext StopNo More StopsHas More Stops
@startuml
actor User
User->App:reset forgotten password
App->Server:makeGetRequest()
Server->Database:resetPasssword()
Database-->Server:ResultSet
alt email exists
Server->Email:Reset password link
Server-->App:HTTP Response(success:true)
opt user clicks the link
Email-->Server:resetpassword=true
Server->Database:reset password
end
else else
Server-->App:HTTP Response(success:false)
end
@enduml
@startuml
class Test
Test : id: int
Test : name: String
class OtherTest
Test <|--|> OtherTest
OtherTest -|> ThirdTest
@enduml
CLASS DIAGRAM
4921442097430528
Card Application RecordT24 OperatorT24 OperatorCardDirector UICardDirector UIFDD/SDD CheckerFDD/SDD CheckerCard Application Record1Upload the KYC fileand specify the type2Validate the KYC file uploaded3Ask to confirm theupload4Confirm5Create record for each applicationCard Application RecordKYC Checkalt[NDD file]6Mark success7Returns KYC check in progressalt[SDD file][FDD file]8Ask to upload KYCproof images for allapplicationsloop[Until all images uploaded or user cancel]9Upload KYC proofimages10Check all images uploadedalt[If all images uploaded]11List the images notyet upload and waitfor more images12Send the application to check13Returns KYC check in progressalt[SDD]14Mark submitted15KYC result[FDD]16KYC request received17Mark submittedAfter the manual KYC is done18KYC resultalt[KYC Pass]19KYC pass20Mark success[KYC Fail]21KYC failed22Mark failed
SEQUENCE DIAGRAM
4921815893803008
Card Application RecordT24 OperatorT24 OperatorCardDirector UICardDirector UIFDD/SDD CheckerFDD/SDD CheckerCard Application Record1Upload the KYC fileand specify the type2Validate the KYC file uploaded3Ask to confirm theupload4Confirm5Create record for each applicationCard Application RecordKYC Checkalt[NDD file]6Mark success7Returns KYC check in progressalt[SDD file][FDD file]8Ask to upload KYCproof images for allapplicationsloop[Until all images uploaded or user cancel]9Upload KYC proofimages10Check all images uploadedalt[If all images uploaded]11List the images notyet upload and waitfor more images12Send the application to check13Returns KYC check in progressalt[SDD]14Mark submitted15KYC result[FDD]16KYC request received17Mark submittedAfter the manual KYC is done18KYC resultalt[KYC Pass]19KYC pass20Mark success[KYC Fail]21KYC failed22Mark failed
@startuml
autonumber
actor "T24 Operator" as t24_opr
participant "CardDirector UI" as cd_ui
participant "FDD/SDD Checker" as kyc_checker
t24_opr -> cd_ui : Upload the KYC file \n and specify the type
cd_ui -> cd_ui : Validate the KYC file uploaded
t24_opr <- cd_ui : Ask to confirm the \n upload
t24_opr -> cd_ui : Confirm
create entity "Card Application Record" as app_record
cd_ui -> app_record : Create record for each application
==KYC Check==
alt NDD file
cd_ui -> app_record : Mark success
t24_opr <- cd_ui : Returns KYC check in progress
else
alt SDD file
else FDD file
t24_opr <- cd_ui : Ask to upload KYC \n proof images for all \n applications
loop Until all images uploaded or user cancel
t24_opr -> cd_ui : Upload KYC proof \n images
cd_ui -> cd_ui : Check all images uploaded
alt If all images uploaded
else
t24_opr <- cd_ui : List the images not \n yet upload and wait \n for more images
end
end
end
cd_ui -> kyc_checker : Send the application to check
t24_opr <- cd_ui : Returns KYC check in progress
alt SDD
cd_ui -> app_record : Mark submitted
cd_ui <- kyc_checker : KYC result
else FDD
cd_ui <- kyc_checker : KYC request received
cd_ui -> app_record : Mark submitted
...After the manual KYC is done...
cd_ui <- kyc_checker : KYC result
end
alt KYC Pass
cd_ui <- kyc_checker : KYC pass
cd_ui -> app_record : Mark success
else KYC Fail
cd_ui <- kyc_checker : KYC failed
cd_ui -> app_record : Mark failed
end
end
@enduml