---
# System prepended metadata

title: 3.UML
tags: [UML]

---

---
title: 3.UML
tags: UML
---

![](https://i.imgur.com/woghIIp.png)
[TOC]

# Master
```uml=
---
+StartService()
+StopService()
```
## Timer
```uml=
-time
---
+PublishTime()
```
## Scoreboard
```uml=
-ScoreTable
-FlagCollection
---
-JudIfServiceBlock()
-ScoreCollect()
+SubscribeTime()
+SubscribeChannelListener()
+SubscribeFlagState()
+RoundCalculation()
+GenerateNewFlagCollection()
```
### CalcKernel
```uml=
-ScoreTable
---
+SetScoreTable()
+CalcAttackScore()
+CalcDefendScore()
+CalcTotalScore()

```
### View
```uml=
-ScoreTable
---
+UpdateScoreTable()
+PublishCurrentScoreTable()
+GetCurrentScoreTable()
+CheckStatus()
```
#### WebAPI
```uml=
+BindIP
+BindPort
---
+StartListen()
+StopListen()
-RestfulAPI()
```
### DataBaseOperator
```uml=
+ScoreRecord: string
+DBRecord: string
---
+ConvertScoreRecordToDBRecord()
+ConvertDBRecordToScoreRecord()
```
#### MysqlOperation
```uml=
---
```
### Database
```uml=
+Stmt
---
+ExecMysqlQuery()
```
#### MySQL
```uml=
+UserName
+Host
+IP
+Port
---
+Connect()
+DisConnect()
+CheckStatus()
```
## ServiceChecker
```uml=
-serviceState
---
+PublishServiceState()
-callServiceNormalCheck()
-callServicePatchedCheck()
```
### ExternalFile
```uml=
+IsAlive
+IsPatched
---
+checkAlive()
+checkPatched()
```
## VpnSpyMonitor
```uml=
---
```
### VpnSpyMonitorMicroWorker
```uml=
---
```
#### Channel
```uml=
---
```
## FlagOperator
```uml=
---
```
#### Channel
```uml=
---
```
##### NetChannel
```uml=
---
```
# FlagAgent
```uml=
---
```
## Channel
```uml=
---
```
### NetChannel
```uml=
---
```
# VpnSpy
```uml=
---
```
## Channel
```uml=
---
```
### NetChannel
```uml=
---
```