Описание процесса кодирования файла - lanit-tercom-school/grouplock GitHub Wiki

1. Диаграмма прецедентов.

Диаграмма прецедентов описывает актеров, участвующих в системе и различные функции, необходимые актерам для взаимодействия с системой. В нашем случае есть один актер (user), который скачал себе приложение. С помощью приложения актер может:

  • Загрузить файл
  • Зашифровать файл
  • Получить ключ
  • Расшифровать файл
  • Открыть файл

Рис.1 - диаграмма прецедентов

Рис.1 - диаграмма прецедентов

диаграмма прецедентов на PlantUML

``` @startuml left to right direction skinparam packageStyle rect actor user rectangle прецеденты { usecase Загрузить_файл usecase Зашифровать_файл usecase Получить_ключ usecase Расшифровать_файл usecase Открыть_файл } user -> Загрузить_файл user -> Зашифровать_файл user -> Получить_ключ user -> Расшифровать_файл user -> Открыть_файл @enduml

</p>
</details> 
<br><br><br>

###### 2. Системная диаграмма.
------

Системная диаграмма описывает, как объекты взаимодействуют между собой при конкретном сценарии.

Объектами являются:
  * user - актер, у которого есть приложение
  * OS - система устройства, на котором установлено приложение
  * App - приложение, которое выполняет кодирование и декодирование файлов
  * KeyGenerator - объект, генерирующий ключи

Взаимодействия между этими объектами описаны в диаграммах:
![Рис.2 - системная диаграмма - кодирование](http://cs633130.vk.me/v633130767/2b62e/S0VfCvk6kHw.jpg)

_Рис.2 - системная диаграмма - кодирование_
<br><br>

<details>
<summary> системная диаграмма - кодирование на PlantUML </summary> <p> 

@startuml actor user user -> OS : выбор файла OS -> App : файл (F) user -> App : кодирование файла (F) ...some time latter... App -> KeyGenerator : генерация ключей KeyGenerator -> App : сгенерированные ключи App -> OS : сохранение закодированного файла (F) OS -> user : закодированный файл @enduml

</p>
</details> 
<br><br><br>

![Рис.3 - системная диаграмма - декодирование](http://cs633130.vk.me/v633130767/2b627/H946qtLHkBI.jpg)

_Рис.3 - системная диаграмма - декодирование_
<br><br>

<details>
<summary> системная диаграмма - декодирование на PlantUML </summary> <p> 

@startuml title декодирование actor user user -> OS : выбор файла OS -> App : файл (F) user -> App : декодирование файла (F) user -> App : ввести ключи ...some time latter... App -> OS : сохранение раскодированного файла (F) OS -> user : раскодированный файл @enduml

</p>
</details>
<br><br><br>
Диаграммы построены с помощью PlantUML Server:
http://plantuml.com/plantuml/
⚠️ **GitHub.com Fallback** ⚠️