Вы находитесь на странице: 1из 12

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ДОНЕЦКОЙ НАРОДНОЙ

РЕСПУБЛИКИ
ГОУ ВПО «ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ»

Факультет КНТ
Кафедра ПИ

к лабораторной работе № 3
по курсу: «Менеджмент проектов программного обеспечения»
На тему: «Разработка UML-диаграмм с использованием PlantUML»

Выполнил ст. гр. ПИ-16а


Михайлов Б.В

Проверил:
Грищенко В. И.

Донецк – 2019
Цель: Освоить базовые навыки создания UML-диаграмм с использованием
языка PlantUML.

-Рисунок 1 - Диаграмма последовательности для сценария использования


«Подписчик»

@startuml

title "Participants - Sequence Diagram"

actor User

boundary "RegistrationScreen" as RS
boundary "MainScreen" as MS
boundary "ReadLettet" as RL
boundary "WriteLetterScreen" as WL
boundary "MailBoxScreen" as MB
collections "Mail Server" as MailS

User-> RS : Регистрация
activate RS
RS-> MailS:Проверка сущестования email
MailS-->RS:Проверка пройдена успешно
RS --> User:Регистрация прошла успешно
RS-> MS:Переход на гл экран
deactivate RS

activate MS
MS -> MailS:Запрос на получение писем
MailS --> MS:Получение писем
MS --> User: Выведен список писем
User -> MS: Прочитать письмо
MS -> RL:Вывод письма
deactivate MS

activate RL
RL --> User: Выведено выбранное письмо
User -> RL: Перейти к списку писем
RL --> MS: Переход на главный экран
deactivate RL

activate MS
MS -> MailS:Запрос на получение писем
MailS --> MS:Получение писем
MS --> User: Выведен список писем
User -> MS: Выход
MS --> User:Завершение работы
deactivate MS

@enduml
Рисунок 2 - Диаграмма последовательности для сценария использования
«Обычный пользователь»

@startuml

title "Participants - Sequence Diagram"

actor User

boundary "RegistrationScreen" as RS
boundary "MainScreen" as MS
boundary "ReadLettet" as RL
boundary "WriteLetterScreen" as WL
boundary "MailBoxScreen" as MB
collections "Mail Server" as MailS

User-> RS : Регистрация
activate RS
RS-> MailS:Проверка сущестования email
MailS-->RS:Проверка пройдена успешно
RS --> User:Регистрация прошла успешно
RS-> MS:Переход на гл экран
deactivate RS
activate MS
MS -> MailS:Запрос на получение писем
MailS --> MS:Получение писем
User -> MS: Прочитать письмо
MS -> RL:Вывод письма
deactivate MS

activate RL
RL --> User: Выбранное письмо выведено на экран
User -> RL: Переход на главный экран
RL --> MS: Переход на главный экран
deactivate RL

activate MS
MS -> MailS:Запрос на получение писем
MailS --> MS:Получение писем
MS --> User: Выведен список писем
User -> MS: Новое письмо
MS -> WL:Написать письмо
deactivate MS

activate WL
WL --> User: Открыта форма написания письма
User -> WL: Написание письма
WL--> User: Вывод вводимого текста
User -> WL: Отправка письма
WL -> MailS: Запрос на отправку письма
MailS --> WL: Отправка прошла успешно
WL --> User : Письмо отправлено
WL --> MS: Переход на гл экран
deactivate WL

activate MS
MS -> MailS:Запрос на получение писем
MailS --> MS:Получение писем
User -> MS: Выход
MS --> User:Завершение работы
deactivate MS

@enduml
Рисунок 3 - Диаграмма последовательности для сценария использования
«Продвинутый пользователь»

@startuml

title "Participants - Sequence Diagram"

actor User

boundary "RegistrationScreen" as RS
boundary "MainScreen" as MS
boundary "ReadLettet" as RL
boundary "AnswerScreen" as AS
boundary "WriteLetterScreen" as WL
boundary "MailBoxScreen" as MB
collections "Mail Server" as MailS

User-> RS : Регистрация
activate RS
RS-> MailS:Проверка сущестования email
MailS-->RS:Проверка пройдена успешно
RS --> User:Регистрация прошла успешно
RS-> MS:Переход на гл экран
deactivate RS

activate MS
MS -> MailS:Запрос на получение писем
MailS --> MS:Получение писем
User -> MS: Прочитать письмо
MS -> RL:Вывод письма
deactivate MS

activate RL
RL --> User: Выбранное письмо выведено на экран
User ->RL: Ответить на письмо
RL -> AS: Ответ на письмо
deactivate RL

activate AS
AS --> User: Открыто окно ввода ответа на письмо
User -> AS: Набор сообщения
AS --> User: Отображение введенной информации
User -> AS: Отправить сообщение
AS -> MailS: Запрос на отправку сообщения
MailS --> AS: Оправка прошла успешно
AS --> User: Уведомление об отправке сообщения
AS --> MS: Переход на главный экран
deactivate AS

activate MS
MS -> MailS:Запрос на получение писем
MailS --> MS:Получение писем
MS --> User: Выведен список писем
User -> MS: Новое письмо
MS -> WL:Написать письмо
deactivate MS

activate WL
WL --> User: Открыта форма написания письма
User -> WL: Написание письма
WL--> User: Вывод вводимого текста
User -> WL: Отправка письма
WL -> MailS: Запрос на отправку письма
MailS --> WL: Отправка прошла успешно
WL --> User : Письмо отправлено
WL --> MS: Переход на гл экран
deactivate WL

activate MS
MS -> MailS:Запрос на получение писем
MailS --> MS:Получение писем
User -> MS: Выход
MS --> User:Завершение работы
deactivate MS

@enduml
Рисунок 4 – Диаграмма деятельности Добавление почтового ящика

@startuml
title Добавление почтового ящика

start

:Добавить почтовый ящик;

:Ввод параметров почтового ящика;

while (Поля заполнены?) is (Нет)


:МessageBox Вы заполнили не все поля!;
endwhile (Да)
:Проверка корректности введенного e-mail;
while (E-mail корректный?) is (Нет)
:МessageBox Введен не корретный e-mail!;
endwhile (Да)
if (Выбраны настройки SMTP по умолчанию?) then (Да)
:Установка настроек по умолчанию;
else (Нет)
while (Настройки корректны?) is (Нет)
:МessageBox Повторите ввод настроек SMTP!;
endwhile (Да)
:Установка настроект SMTP веденных пользователем;
endif
if (Выбраны настройки IMAP по умолчанию?) then (Да)
:Установка настроек по умолчанию;
else (Нет)
while (Настройки корректны?) is (Нет)
:МessageBox Повторите ввод настроек IMAP!;
endwhile (Да)
:Установка настроект IMAP веденных пользователем;
endif
:Почтовый ящик успешно добавлен;
stop
@enduml

Рисунок 5 – Диаграмма деятельности Открыть письмо

@startuml
title Открыть письмо

start

:Заполнение полей из заголовка;


if (Письмо зашифровано) then (Да)
if(Найден ключ?) then (Да)
:Расшифровать тело письма;
else(Нет)
:Письмо зашифровано ключ не найден!;
endif
else (Нет)
:Письмо не зашифровано;
endif

if(Письмо подписано?) then(Да)


if(Найден подходящий ключ для верификации?) then (Да)
:Письмо верифицировано;
if(Совпадает отправитель?) then (Да)
:Письмо верифицировано, отправитель совпадает;
else
:Подпись распознала, однако целостность письма нарушена;
endif
else
:Письмо подписано, но нет подходящего ключа для верификации;
endif
else
endif

:Отображение тела письма;


if(Есть прикрепленные файлы?) then(Да)
:Отображение прикпреплений;
endif

stop
@enduml

Рисунок 6 - Диаграмма классов


@startuml

title Classes - Диаграмма классов

class Cryptography {
-String SALT
-Encoding E
-ChiperMode DES_CHIPER_MODE
-String Sign_Hash_Algoritm_Name
+Byte[] GerMD5()
+String Encrupt()
+String Dectypt()
+Byte[] RjndaelEncrypt()
+String RjndaelDecrypt()
+Byte[] RsaEncrupt()
+String RsaDecrupt()
+String Sign()
+Bool Verify()
}

class Control {
-Account account
-MailBox currMailBox
+Void AddMailBox()
+Void EditMailBox()
+Void RemoveMailBox()
+Void CheckiotMailBox()
+Void ImapConnect()
+Void DownloadLettets()
+Void DisplayLetters()
+Void FilterLetter()
+Void SaveAttachmets()
+Void ReadLetter()
+Void WriteLetter()
}

class MailBox {
-String Name
-String Address
-String Password
-String SmtpDomain
-Int SmtpPort
-String ImapDomain
-Int ImapPort
+Bool SetSmtpServer()
+Bool SetImapServer()
+Bool ChechEMail()
+Bool CheckSmtp()
+Bool CheckImap()
}

class Letter {
-string Sender
-string Subject
-string From
-string To
+Void AttachFile()
+Void RemoveAttachments()
+Bool SendLetter()
}

class Autorization {
-String GetAccountDigest()
+Bool SignIn()
+Bool SignUp()
+Void Start()
}

class Account {
-String login
-String digest
}

Class Key {
-String PublicKey
-String PrivateKey
+Bool SelectKey()
+Bool DeletKey()
+Bool AddKey()
+Bool ImportKey()
+Bool ExportKey()
}
Cryptography -- Control
Autorization -- Control
Letter -- Control
Key -- Control
Account -- Control
MailBox -- Control

@enduml

Вам также может понравиться