ClientClientArenametriXArenametriX(1) Envoi des données billetterieTraitement et insertiondes données en base(2) Enrichissement des données(3) Analyse statistique des donnéesEstimation des ventes futuresProposition de nouvelles offres tarifairesScoring sur les abonnés
@startuml
Client -> ArenametriX: (1) Envoi des données billetterie
ArenametriX -> ArenametriX : Traitement et insertion \n des données en base
ArenametriX -> ArenametriX : (2) Enrichissement des données
ArenametriX -> ArenametriX : (3) Analyse statistique des données
ArenametriX --> Client : Estimation des ventes futures \n Proposition de nouvelles offres tarifaires \n Scoring sur les abonnés
@enduml
SEQUENCE DIAGRAM
4703262456414208
AdministratorAdministratorWatcherWatcherCreate some Audit settingscreate new Audit Template (i.e. Audit settings : goal, scope, ...)save Audit Template in databaseAudit Template UUIDLaunch a new Auditlaunch new Audit of the Openstack infrastructure resourceswith a previously created Audit TemplateAudit UUIDget the Audit stateONGOINGcompute a solution to achieve optimization goalget the Audit stateSUCCEEDEDGet the result of the Auditget Action Planrecommended Action Plan and estimated efficacyverify the recommended actionsand evaluate the estimated gain vs aggressiveness of the solutionLaunch the recommended Action Planlaunch the Action PlanAction Plan has been launchedtrigger Actions on Openstack servicesget the Action Plan stateONGOINGget the Action Plan stateSUCCEEDED
SEQUENCE DIAGRAM
4707043101376512
AdministratorAdministratorWatcherWatcherCreate some Audit settingscreate new Audit Template (i.e. Audit settings : goal, scope, ...)save Audit Template in databaseAudit Template UUIDLaunch a new Auditlaunch new Audit of the Openstack infrastructure resourceswith a previously created Audit TemplateAudit UUIDget the Audit stateONGOINGcompute a solution to achieve optimization goalget the Audit stateSUCCEEDEDGet the result of the Auditget Action Planrecommended Action Plan and estimated efficacyverify the recommended actionsand evaluate the estimated gain vs aggressiveness of the solutionLaunch the recommended Action Planlaunch the Action PlanAction Plan has been launchedtrigger Actions on Openstack servicesget the Action Plan stateONGOINGget the Action Plan stateSUCCEEDED
@startuml
actor Administrator
== Create some Audit settings ==
Administrator -> Watcher : create new Audit Template (i.e. Audit settings : goal, scope, ...)
Watcher -> Watcher : save Audit Template in database
Administrator <-- Watcher : Audit Template UUID
== Launch a new Audit ==
Administrator -> Watcher : launch new Audit of the Openstack infrastructure resources\nwith a previously created Audit Template
Administrator <-- Watcher : Audit UUID
Administrator -> Watcher : get the Audit state
Administrator <-- Watcher : ONGOING
Watcher -> Watcher : compute a solution to achieve optimization goal
Administrator -> Watcher : get the Audit state
Administrator <-- Watcher : SUCCEEDED
== Get the result of the Audit ==
Administrator -> Watcher : get Action Plan
Administrator <-- Watcher : recommended Action Plan and estimated efficacy
Administrator -> Administrator : verify the recommended actions\nand evaluate the estimated gain vs aggressiveness of the solution
== Launch the recommended Action Plan ==
Administrator -> Watcher : launch the Action Plan
Administrator <-- Watcher : Action Plan has been launched
Watcher -> Watcher : trigger Actions on Openstack services
Administrator -> Watcher : get the Action Plan state
Administrator <-- Watcher : ONGOING
Administrator -> Watcher : get the Action Plan state
Administrator <-- Watcher : SUCCEEDED
@enduml
@startuml
hide footbox
actor User
activate User
note left of User
编写测试用例
end note
User --> RF: Run
deactivate User
activate RF
note left of RF
1、将RetrieveData
翻译为测试脚本
2、将Check记录为
CheckList
end note
RF --> PSTT: SendScript
deactivate RF
PSTT --> RF: ScriptRecieved
RF --> PSTT: Start
PSTT --> RF: Started
activate PSTT
note right of PSTT
1、加载所有的获取数据的规则与方法
2、开始执行脚本
3、执行过程中,按照获取数据的规则
与方法保存数据
4、汇总获取到的数据,形成测试报告
5、获取数据的规则与方法在PSTT中
定义,RF可以按照方法名称调用
end note
PSTT --> RF: Report
deactivate PSTT
activate RF
note left of RF
1、记录各个PSTT的
测试报告
2、按照CheckList
中的检查规则,检查
测试是否每个Check
项目是否为True
3、所有检查项为True则
测试通过
end note
RF --> User: Test Result(Pass/Fail/Error)
deactivate RF
@enduml
@startuml
package TestLanguage {
class Child {
+myInt
+myString
+myBool
}
hide empty members
class Parent {
}
hide empty members
Parent o-- "0..1"ReferedTo : ref
Parent *-- "0..1" Child : child
class InterfaceConcept {
}
hide empty members
}
@enduml
CLASS DIAGRAM
4711443295371264
Funcionário:Interface:Controlador:ChamadoConsultar chamadoConsultar chamadoloop[Para cada chamado registrado]mostrartelaprincipal()Chamado registradoLista de ChamadosChamado selecionadofecharchamado(int id_chamado)Irá abrir um formulário com asinformações do chamado e com aopção de fecha-lo,isso não indicaque o chamado irá ser fechado.Informações do chamadoInformações do chamadoopt[Fechar chamado]Fechar chamado selecionadoFechar chamado selecionadofecharchamado(int id_chamado)Ok: BooleanO Chamado foi fechadoO chamado irá mudar de aba (de aberto para fechado)
SEQUENCE DIAGRAM
4713836934332416
Funcionário:Interface:Controlador:ChamadoConsultar chamadoConsultar chamadoloop[Para cada chamado registrado]mostrartelaprincipal()Chamado registradoLista de ChamadosChamado selecionadofecharchamado(int id_chamado)Irá abrir um formulário com asinformações do chamado e com aopção de fecha-lo,isso não indicaque o chamado irá ser fechado.Informações do chamadoInformações do chamadoopt[Fechar chamado]Fechar chamado selecionadoFechar chamado selecionadofecharchamado(int id_chamado)Ok: BooleanO Chamado foi fechadoO chamado irá mudar de aba (de aberto para fechado)
@startuml
hide footbox
actor "Funcionário"
activate "Funcionário"
"Funcionário" -> ":Interface" : Consultar chamado
activate ":Interface"
activate ":Controlador"
":Interface" -> ":Controlador" : Consultar chamado
activate ":Chamado"
loop Para cada chamado registrado
":Controlador" -> ":Chamado" : mostrartelaprincipal()
":Chamado" --> ":Controlador" : Chamado registrado
end
deactivate ":Chamado"
":Controlador" --> ":Interface" : Lista de Chamados
deactivate ":Controlador"
"Funcionário" -> ":Interface" : Chamado selecionado
activate ":Controlador"
":Controlador" -> ":Chamado" : fecharchamado(int id_chamado)
note right: Irá abrir um formulário com as\ninformações do chamado e com a \nopção de fecha-lo,isso não indica \nque o chamado irá ser fechado.
":Chamado" --> ":Controlador": Informações do chamado
":Controlador" -> ":Interface" : Informações do chamado
opt Fechar chamado
"Funcionário" -> ":Interface" : Fechar chamado selecionado
":Interface" -> ":Controlador" : Fechar chamado selecionado
":Controlador" -> ":Chamado" : fecharchamado(int id_chamado)
":Chamado" --> ":Controlador" : Ok: Boolean
":Controlador" -> ":Interface" : O Chamado foi fechado
note right: O chamado irá mudar de aba (de aberto para fechado)
end
deactivate ":Controlador"
deactivate ":Interface"
deactivate "Funcionário"
@enduml
sessionreviewsprofileRegisterLog inLog outReset passwordSearch a movieLeave reviewReviews feedComment review in feedEdit reviewDelete reviewView profileView other user's profileUserServerFetch movie data from OMDB
USE CASE DIAGRAM
4722539880251392
sessionreviewsprofileRegisterLog inLog outReset passwordSearch a movieLeave reviewReviews feedComment review in feedEdit reviewDelete reviewView profileView other user's profileUserServerFetch movie data from OMDB
@startuml
actor User
actor Server
rectangle session {
:User: --> (Register)
:User: --> (Log in)
:User: --> (Log out)
:User: --> (Reset password)
}
rectangle reviews {
:User: --> (Search a movie)
:User: --> (Leave review)
:User: --> (Reviews feed)
:User: --> (Comment review in feed)
:User: --> (Edit review)
:User: --> (Delete review)
}
rectangle profile {
:User: --> (View profile)
:User: --> (View other user's profile)
}
:Server: --> (Fetch movie data from OMDB)
@enduml
USE CASE DIAGRAM
4722539880251392
performing I/OServerruncommandmonitorServer starts monitoringStops at end of Server lifecommandsend command to serverfindselectselect process to find proper serverqueryencodes query and send to serverdecodes resultClientProcess uri in ClientDatabasedatabase operationsCursorstores docsretrieves new docsfetchgetmoreencodes query and send to serverdecodes resulturi-dataClientDatabasequeryserver-dataServerserverresultcursor-datadocumentnew-documents
STATE DIAGRAM
4724780511002624
performing I/OServerruncommandmonitorServer starts monitoringStops at end of Server lifecommandsend command to serverfindselectselect process to find proper serverqueryencodes query and send to serverdecodes resultClientProcess uri in ClientDatabasedatabase operationsCursorstores docsretrieves new docsfetchgetmoreencodes query and send to serverdecodes resulturi-dataClientDatabasequeryserver-dataServerserverresultcursor-datadocumentnew-documents
@startuml
title performing I/O
[*] --> Client
Client: Process uri in Client
Client -> Server : uri-data
state Server {
[*] -> monitor
monitor: Server starts monitoring
monitor: Stops at end of Server life
}
Client -> Database: Client
Database: database operations
state runcommand {
Database -> command: Database
command -> find: query
command: send command to server
monitor -> select: server-data
find --> select
select: select process to find proper server
select --> find: Server
find --> query: server
query: encodes query and send to server
query: decodes result
query --> find: result
}
find -> Cursor: cursor-data
Cursor: stores docs
Cursor: retrieves new docs
Cursor -> fetch: document
fetch --> getmore
getmore: encodes query and send to server
getmore: decodes result
getmore --> fetch: new-documents
fetch -> [*]
@enduml
@startuml
class Book {
«stdid» isbn[1] : String
title[1] : String
year[0..1] : Integer
authors[*] : Author
}
class Author {
«stdid» authorId[1] : Integer
name[1] : String
birthDate[1] : Date
deathDate[0..1] : Date
/authoredBooks[*] : Book {inverse of authors}
}
@enduml
CLASS DIAGRAM
4739150934704128
la:LoadActionzw:ZoneWriterzd_new:ZoneDatanew:MemorySegment(Mapped):b10-memmgr:b10-memmgr:ConfigurableClientList:ConfigurableClientList:CacheConfig:CacheConfig:ZoneTableSegment(Mapped):ZoneTableSegment(Mapped)existing:MemorySegment(Mapped)existing:MemorySegment(Mapped)new:MemorySegment(Mapped):ZoneTable:ZoneTablezw:ZoneWriterla:LoadActionzd_existing:ZoneDatazd_existing:ZoneDatazd_new:ZoneDatareload(zonename)getCachedZoneWriter(zone_name)isWritable()truegetLoadAction()<<construct>>la:LoadActionla<<construct>> (la)zw:ZoneWriterzwload()(funcall)<<construct>> via helperszd_new:ZoneDatazd_newinstall()addZone(zd_new)zd_existing (old data)cleanup()<<destroy>>command tomodules(datasrc_name,segmentparam)ack from allmodulesresetMemorySegment(datasrc_name,READ_WRITE,segmentparam)reset(READ_WRITE,segmentparam)<<destroy>><<construct>>new:MemorySegment(Mapped)(repeat thesame sequencefor loading to theother segment)getCachedZoneWriter(zone_name)
SEQUENCE DIAGRAM
4741445520982016
la:LoadActionzw:ZoneWriterzd_new:ZoneDatanew:MemorySegment(Mapped):b10-memmgr:b10-memmgr:ConfigurableClientList:ConfigurableClientList:CacheConfig:CacheConfig:ZoneTableSegment(Mapped):ZoneTableSegment(Mapped)existing:MemorySegment(Mapped)existing:MemorySegment(Mapped)new:MemorySegment(Mapped):ZoneTable:ZoneTablezw:ZoneWriterla:LoadActionzd_existing:ZoneDatazd_existing:ZoneDatazd_new:ZoneDatareload(zonename)getCachedZoneWriter(zone_name)isWritable()truegetLoadAction()<<construct>>la:LoadActionla<<construct>> (la)zw:ZoneWriterzwload()(funcall)<<construct>> via helperszd_new:ZoneDatazd_newinstall()addZone(zd_new)zd_existing (old data)cleanup()<<destroy>>command tomodules(datasrc_name,segmentparam)ack from allmodulesresetMemorySegment(datasrc_name,READ_WRITE,segmentparam)reset(READ_WRITE,segmentparam)<<destroy>><<construct>>new:MemorySegment(Mapped)(repeat thesame sequencefor loading to theother segment)getCachedZoneWriter(zone_name)
@startuml
User -> (View Start Game Menu)
User -> (View Options Menu)
'note left of (User)
'A note can also
'be on several lines
'end note
'note "This note is connected\nto several objects." as N2
'(Start) .. N2
@enduml
COMPONENT DIAGRAM
4745611639259136
stringstream buffer will be replaced with somethingdifferent. New class RobotBuffer may be.SocketServerboost::asio::io_service io_service;tcp::endpoint endpoint;tcp::iostream socketStream;tcp::acceptor * acceptor;stringstream * buffer;SocketServer (string address, unsigned short port, stringstream * buf)~SocketServer ()void start ()SocketServerListenervoid start ()SocketServerSendervoid start ()Difference only in start() functionSocketClienttcp::iostream socketStream;stringstream * buffer;string address;unsigned short port;SocketClient (string address, unsigned short port, stringstream * buf)void start ()SocketClientListenervoid start ()SocketClientSendervoid start ()Difference only in start() function
CLASS DIAGRAM
4748892725837824
stringstream buffer will be replaced with somethingdifferent. New class RobotBuffer may be.SocketServerboost::asio::io_service io_service;tcp::endpoint endpoint;tcp::iostream socketStream;tcp::acceptor * acceptor;stringstream * buffer;SocketServer (string address, unsigned short port, stringstream * buf)~SocketServer ()void start ()SocketServerListenervoid start ()SocketServerSendervoid start ()Difference only in start() functionSocketClienttcp::iostream socketStream;stringstream * buffer;string address;unsigned short port;SocketClient (string address, unsigned short port, stringstream * buf)void start ()SocketClientListenervoid start ()SocketClientSendervoid start ()Difference only in start() function