Описание процесса кодирования файла - lanit-tercom-school/grouplock GitHub Wiki
Диаграмма прецедентов описывает актеров, участвующих в системе и различные функции, необходимые актерам для взаимодействия с системой. В нашем случае есть один актер (user), который скачал себе приложение. С помощью приложения актер может:
- Загрузить файл
- Зашифровать файл
- Получить ключ
- Расшифровать файл
- Открыть файл
Рис.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 - системная диаграмма - кодирование_
<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 - системная диаграмма - декодирование_
<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/