@startuml
skinparam backgroundColor #EEEBDC
skinparam sequenceArrowColor DeepSkyBlue
skinparam sequenceParticipantBorderColor DeepSkyBlue
skinparam sequenceActorBorderColor DeepSkyBlue
skinparam sequenceLifeLineBorderColor blue
actor User
participant "First Class" as A
participant "Second Class" as B
participant "Last Class" as C
User -> A: DoMoreWork
activate A
@enduml
@startuml
'/Relaciones/'
Group "1" o-- "1..*" Member
Member *-- MemberData
Member *-- Membership
User *-- Membership
Group "1" o-- "0..*" Project : has
Project "1" o-- "0..*" Solution
Solution "1" o-- "0..*" Fix
Project o-- "2" DeadLine
'/Atributos y metodos/'
class User {
String userName
}
class Membership {
-String userName
-String groupName
+String key
}
class Solution {
-List<Score> atomicScores
String creatorsName
Score average
}
class Project {
String objective
Visibility visibility
State state
}
class Fix {
-List<Score> atomicScores
String creatorsName
Score average
}
class Group {
String name
-Member admin
-List<Member> collaborator
}
class DeadLine {
String description
Time endTime
}
@enduml
CLASS DIAGRAM
6001046686007296
General Architecture - WidgetClientServerMYSQLtablesGoogleindex.htmlEditorAPI.phpEditor1.phpEditor2.phpEditor3.phpCATEGORY_REQUESTSEDITOR_REQUESTSBOOK_REQUESTSEditora1 webserviceEditora2 webserviceEditora3 webserviceGoogle APIBDLayer.phpAJAXHTTPAJAXJSONHTTPXMLHTTPXMLHTTPXMLXMLGETXMLGETJSONGET
COMPONENT DIAGRAM
6003942567706624
General Architecture - WidgetClientServerMYSQLtablesGoogleindex.htmlEditorAPI.phpEditor1.phpEditor2.phpEditor3.phpCATEGORY_REQUESTSEDITOR_REQUESTSBOOK_REQUESTSEditora1 webserviceEditora2 webserviceEditora3 webserviceGoogle APIBDLayer.phpAJAXHTTPAJAXJSONHTTPXMLHTTPXMLHTTPXMLXMLGETXMLGETJSONGET
@startuml
interface "Admin Web UI"
component "HTTP Service (jetty)"
component "Admin UI Backend"
@enduml
COMPONENT DIAGRAM
6005788329902080
Przyk³adowa sekwencja ¿ycia systemuUIUIkontrolerkontrolermonitormonitorcheckercheckerhosthost1get probles2no problems3CPU service for host4chceck cpu565%6OK 65%7zapisuje do bazy8get problem9no problems10CPU service for host11check cpu1296%13CRITICAL 96%14zapisuje do bazy15problem16synchronizacja17dane18zapisz w bazie19zapisane od <timestamp>20wyczysc baze21get problem22CPU problem on host23get service details, CPU on hostalt[jeœli wiêcej ni¿ 30 sekund od ostatniej synchronizacji]24synchronizacja25dane26zapis do bazy27zapisane do <timestamp>28wyczyœæ bazê29details30CPU service for host31chceck cpu3235%33OK 35%34zapisuje do bazy35dodaj service memory do hsot36zapisz w bazie37dodaj service do host38zapisz do bazy39dodane40get problem41no problems42CPU service for host43chceck cpu44memory service for host45chceck memory4635%47100MB/512MB48OK 35%49OK 128MB/512MB, 25%50zapisuje do bazy51zapisuje do bazyRR52CPU service for host53chceck cpu54memory service for host55chceck memory5695%57500MB/512MB58get problem59no problems60CRITICAL 95%61CRITICAL 500MB/512MB, 95%62zapisuje do bazy63zapisuje do bazy64problem65synchronizacjatutaj be³kot synchronizacyjny66poblembrak synchronizacji poniewa¿ < 30 sekund od ostatniej67get problem68CPU problem on host,memory problem on host69CPU problem acknolwdge70get problem71memory problem on hostbrak aktywnoœci u¿ytkownika przez 5 minut72wymuszenie synchronizacjibe³kot synchronizacyjny
SEQUENCE DIAGRAM
6008745683320832
Przyk³adowa sekwencja ¿ycia systemuUIUIkontrolerkontrolermonitormonitorcheckercheckerhosthost1get probles2no problems3CPU service for host4chceck cpu565%6OK 65%7zapisuje do bazy8get problem9no problems10CPU service for host11check cpu1296%13CRITICAL 96%14zapisuje do bazy15problem16synchronizacja17dane18zapisz w bazie19zapisane od <timestamp>20wyczysc baze21get problem22CPU problem on host23get service details, CPU on hostalt[jeœli wiêcej ni¿ 30 sekund od ostatniej synchronizacji]24synchronizacja25dane26zapis do bazy27zapisane do <timestamp>28wyczyœæ bazê29details30CPU service for host31chceck cpu3235%33OK 35%34zapisuje do bazy35dodaj service memory do hsot36zapisz w bazie37dodaj service do host38zapisz do bazy39dodane40get problem41no problems42CPU service for host43chceck cpu44memory service for host45chceck memory4635%47100MB/512MB48OK 35%49OK 128MB/512MB, 25%50zapisuje do bazy51zapisuje do bazyRR52CPU service for host53chceck cpu54memory service for host55chceck memory5695%57500MB/512MB58get problem59no problems60CRITICAL 95%61CRITICAL 500MB/512MB, 95%62zapisuje do bazy63zapisuje do bazy64problem65synchronizacjatutaj be³kot synchronizacyjny66poblembrak synchronizacji poniewa¿ < 30 sekund od ostatniej67get problem68CPU problem on host,memory problem on host69CPU problem acknolwdge70get problem71memory problem on hostbrak aktywnoœci u¿ytkownika przez 5 minut72wymuszenie synchronizacjibe³kot synchronizacyjny
@startuml
autonumber
title Przyk³adowa sekwencja ¿ycia systemu
actor UI #red
control kontroler
control monitor
entity checker
entity host
UI -> kontroler: get probles
kontroler -> UI: no problems
monitor -> checker: CPU service for host
checker -> host: chceck cpu
host --> checker: 65%
checker --> monitor: OK 65%
monitor -> monitor: zapisuje do bazy
UI -> kontroler: get problem
kontroler -> UI: no problems
monitor -> checker: CPU service for host
checker -> host: check cpu
host --> checker: 96%
checker --> monitor: CRITICAL 96%
monitor -> monitor: zapisuje do bazy
monitor -> kontroler: problem
kontroler -> monitor: synchronizacja
monitor -> kontroler: dane
kontroler -> kontroler: zapisz w bazie
kontroler --> monitor: zapisane od <timestamp>
monitor -> monitor: wyczysc baze
UI -> kontroler: get problem
kontroler --> UI: CPU problem on host
UI -> kontroler: get service details, CPU on host
alt jeœli wiêcej ni¿ 30 sekund od ostatniej synchronizacji
kontroler -> monitor: synchronizacja
monitor -> kontroler: dane
kontroler -> kontroler: zapis do bazy
kontroler -> monitor: zapisane do <timestamp>
monitor -> monitor: wyczyœæ bazê
end
kontroler --> UI: details
monitor -> checker: CPU service for host
checker -> host: chceck cpu
host --> checker: 35%
checker --> monitor: OK 35%
monitor -> monitor: zapisuje do bazy
UI -> kontroler: dodaj service memory do hsot
kontroler -> kontroler: zapisz w bazie
kontroler -> monitor: dodaj service do host
monitor -> monitor: zapisz do bazy
kontroler -> UI: dodane
UI -> kontroler: get problem
kontroler --> UI: no problems
monitor -> checker: CPU service for host
checker -> host: chceck cpu
monitor -> checker: memory service for host
checker -> host: chceck memory
host --> checker: 35%
host --> checker: 100MB/512MB
checker --> monitor: OK 35%
checker --> monitor: OK 128MB/512MB, 25%
monitor -> monitor: zapisuje do bazy
monitor -> monitor: zapisuje do bazyRR
monitor -> checker: CPU service for host
checker -> host: chceck cpu
monitor -> checker: memory service for host
checker -> host: chceck memory
host --> checker: 95%
host --> checker: 500MB/512MB
UI -> kontroler: get problem
kontroler --> UI: no problems
checker --> monitor: CRITICAL 95%
checker --> monitor: CRITICAL 500MB/512MB, 95%
monitor -> monitor: zapisuje do bazy
monitor -> monitor: zapisuje do bazy
monitor -> kontroler: problem
kontroler -> monitor: synchronizacja
note right of kontroler
tutaj be³kot synchronizacyjny
end note
monitor -> kontroler: poblem
note right of kontroler
brak synchronizacji poniewa¿ < 30 sekund od ostatniej
end note
UI -> kontroler: get problem
kontroler --> UI: CPU problem on host,\nmemory problem on host
UI -> kontroler: CPU problem acknolwdge
UI -> kontroler: get problem
kontroler --> UI: memory problem on host
== brak aktywnoœci u¿ytkownika przez 5 minut ==
kontroler -> monitor: wymuszenie synchronizacji
note right of kontroler
be³kot synchronizacyjny
end note
@enduml
@startuml
class OwnCode
OwnCode --> ThirdPartyApi
note right of ThirdPartyApi
*This API was unfortunately never designed
to be testable :-(
*This API brings too much functionality that we
do not need
end note
@enduml
@startuml
start
:收到消息;
:根据消息的协议、接口、方向、名称、收发找到特征树;
while (true)
if (子节点中,有且仅有一个节点与消息匹配) then (yes)
:遍历匹配子节点对应的子树;
elseif (没有子节点与消息匹配) then (yes)
if (当前节点是根节点) then (no)
:使用当前节点对应的脚本;
else
:异常:没有匹配的规则;
endif
:break;
else
:异常:规则有歧义;
:break;
endif
end while
stop
@enduml