Skip to content

vivatgeorge/nikitin

Repository files navigation

Курсовой проект по дисциплине "Проектирование информационных систем"

ФИО, ИДБ-17-06

1. Определение требований к модели

Тема ВКР: Разработка интеллектуальной информационной системы обработки сообщений пользователей для мессенджера Telegram

Объект исследований: системы электронно-информационных коммуникаций.

Предмет исследований: средства мгновенного обмена сообщениями.

Процессы верхнего уровня:

  • **А1 ** Управлять коммуникациями.
  • **А2 ** Подготовить коммуникации.
  • **А3 ** Провести коммуникации.
  • **А4 ** Оценить качество коммуникаций.
  • **А5 ** Выявить проблемы.

Точка зрения: Проректор универсистета.

Цель моделирования: Определение автоматизируемых функций.

2. Функциональное моделирование процессов (IDEF0)

  • A-0 (контекстная диаграмма)

A-0

  • A0 (диаграмма верхнего уровня)

A0

  • A2 (декомпозиция процесса/процессов внутренней среды)

A2

  • A3 (декомпозиция процесса/процессов внутренней среды)

A3

  • A4 (декомпозиция процесса/процессов внутренней среды)

A4

3. Функциональное моделирование программных и информационных средств (DFD)

Конфигурация технических средств: Рабочие станции (ПК).

Конфигурация программных средств: Многоуровневые.

Допустимые виды хранилищ и их размещение: Почтовый сервер, сервер Amazon AWS, запоминающее устройство ПК.

  • A32 Автоматизация процесса А32

A32

  • A33 Автоматизация процесса А33

A33

4. Описание выбранного процесса в формате прецедента (Use Case)

Диаграмма UML Use Case p4

4.1 Идентификатор прецедента: А33

4.2 Название прецедента: Отправка сообщения пользователям Telegram

4.3 Контекст: А3

4.4 Участники (actors) и цели (goals):

Участник Категория Цель (goal)
Подключение к IMAP Инструмент Обеспечить работоспособность системы
Преподаватель Внешний Произвести отправку сообщения
Бот Инструмент Предоставить средства для получения сообщения
Telegram API Инструмент Обеспечить работоспособность системы

4.5 Предусловия (pre-conditions):

  • Выполненное подключение компонентов системы

  • Преподаватель

  • Бот

4.6 Постусловия (post-conditions):

  • Полученное в чате сообщение

4.7 Основной поток выполнения (main flow):

Участник Действие (activity) Ожидаемый результат
Пользователь Управляет программой Вхождение в telegram
Пользователь Запускает программу Заходит в telegram бот
Пользователь Нажимает необходимую кнопку Включение бота
Telegram Bot Отображает полученные сообщения Отображенные сообщения
Пользователь Читает сообщение Полученная информация
Пользователь Выходит из Telegram Завершает работу с ботом

4.8 Исключения (exceptions):

Условие (риск) Последствия Реакция
Бот не реагирует на нажатие кнопки Пользователь не получает отчет Обратиться к разработчкику

4.9 Альтернативы (alternates):

Не предусмотрено.

4.10 Временные параметры:

  • Триггер (событие, стартующее прецедент): Необходимость получить сообщение в Telegram.
  • Номинальная частота повторения прецедента: 1-2 раза в день.
  • Продолжительность прецедента: 3 минуты.

5. Описание структуры объекта в формате ERD (Class)

  • Описываемый объект: telegram bot.

  • Диаграмма UML Class:

p5

6. Описание алгоритма в формате UML (Sequence)

  • Описываемые процессы и потоки данных: А33

  • Диаграмма UML Sequence:

p6

7. Описание состава в формате UML (Component)

  • Описываемый объект: Струкрутра программных средств системы

  • Диаграмма UML Component: p7

8. Демонстрация реализации (личная страница)

https://vivatgeorge.github.io/vivatgeorge/#!/topics/1

9. Подготовка к интерпретации построенных моделей

9.1 Используемые паттерны проектирования и разработки :

9.1.1 Процессная модель для сравнения: Задача: Необходимость в автоматизированной системе отправки сообщений пользователям в telegram Способ решения: при помощи методологии PDCA:

  1. Этап Plan (планирование) Выявление проблемы:
  • Процесс пересылки сообщений пользователям является время затратным по времени.
  • Цель: автоматизация процесса пересылки сообщений с помощью telegram бота
  • Требования: повысить производительность и эффективность без увеличения трудозатрат
  • Ожидаемый результат: разработано автоматизированное средство пересылки сообщений в telegram
  • Ресурсы, необходимые для достижения ожидаемого результата: разработанные требования для состава письма электронной почты, наличие сервера, ПК или мобильного телефона, хранилище данных
  • Процессы (запланированные действия):
  • Разработать telegram бота
  • Привязать почтовый сервер к Telegram
  • Создать необходимые процедуры, которые будут формировать состав входящего электронного письма
  • Разработать кнопки (функционал), отвечающие за работу с фильтрами
  1. Этап Do (Выполнение) Разработчики-аналитики выполняют поставленные задачи
  2. Этап Check (Проверка): По итогу разработки произвести апробацию, и в случае успеха, произвести внедрение
  3. Act (Улучшение): При успешной работе системы она внедряется в учебное учреждение с дальнейшей возможностью доработки.
  • Используемые в разработке паттерны и фреймворки:
  • Паттерн Посредник - это поведенческий паттерн проектирования, который позволяет уменьшить связанность множества классов между собой, благодаря перемещению этих связей в один класс-посредник

9.2 Используемые паттерны выявления проблем :

  • Муда: трата времени на пересылку сообщений вручную
  • Мура: неправильно сформированный формат содержания сообщений
  • Мури: единовременное использование функций бота многими пользователями

9.3 Возможные антипаттерны :

Категория Антипаттерн (риск) Действие по избежанию
Разработка Spaghetti code. Спагетти-код —Ход выполнения программы похож на спагетти, т.е извилистый и очень запутанный код. изучение правил написания кода, переписывание кода
Архитектура Большой комок грязи (Big ball of mud) разработать "читаемую" архитектуру системы
Организация Аналитический паралич. Неоправданно большие затраты на анализ и проектирование. проанализировать приоритеты
Среда Чрезмерное усложнение стараться упростить систему

10. Интерпретация построенных моделей

10.1 Определение числовых показателей для поставленной цели моделирования:

Выявление процессов, нуждающихся в повышении качества.

1

Способ получения: извлечение из диаграмм IDEF0 и DFD.

10.2 Определение числовых показателей для цели потенциального проекта автоматизации:

Числовыми показателями являются время и трудозатраты.

10.3 Расчет потенциального эффекта от автоматизации:

Староста группы в любом учебном заведении в случае ожидания сообщения от преподавателя, в среднем, тратит 3 минут на проверку почты и пересылку необходимых сообщений. Таких проверок в день (8 часов) насчитывается около 5 штук, каждый раз при этом ему нужно зайти в почту. Этот процесс отнимает драгоценное время, в связи с этим, было принято разработать интеллектуальную систему обработки сообщений в приложении Telegram.

После внедрения системы старосте не придется отправлять сообщения, так как это сделает система за него. Итого экономия: 0.25Ч в день, в месяц (0.25) * 30 = 7.5 часов. При наличии 1 старосты в каждой из 200 групп и при их активности в 8 часов в день, ежемесячная экономия времени составит 7.5 * 200 ~ 1500 чел/мес.

10.4 Определение числовых показателей и расчет затрат на реализацию проекта автоматизации:

Расчет сложности разработки методом FPA IFPUG:

3

Расчет трудозатрат на разработку «с нуля» методом COCOMO II:

4

10.5 План-факт сравнение для затрат на реализацию: 💻

4

Из расчета:

SLOC = 7056 строк кода

PM (Трудозатраты) = 18.5 человеко-месяцы

TDEV (Полный срок разработки, месяцы) = 8.4 месяцев

Исходя из значений по факту:

SLOC = 5000 строк кода

PM (Трудозатраты) = 800 человеко-часы

TDEV (Полный срок разработки) = 8 месяцев

Готовность = 80%

ВЫВОДЫ

Исходя из результатов таблицы п.10.5 можно сделать вывод, что за счет использования готовых функций и библиотек удалось сократить строки кода (языки программирования Python) в 3.1 раза. Также, за счет сокращения тестирования, объема документации, и использования CASE, удалось сократить срок разработки с 8.4 месяцев до 8. Срок окупаемости разработки сократился в 3.1 раза. На данный момент работа выполнена на 100%.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published