Файл: Курсовая работа по дисциплине Конструирование программного обеспечения.docx
Добавлен: 22.11.2023
Просмотров: 128
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования Российской Федерации
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Факультет математики и информационных технологий
Кафедра программного обеспечения вычислительной техники и
автоматизированных систем
КУРСОВАЯ РАБОТА
по дисциплине «Конструирование программного обеспечения»
Проектирование архитектуры ИС «Мои Загрузки». Сервис инкрементального обновления конфигурации
Пояснительная записка
Руководитель старший преподаватель « » 2022 г. Студент группы « » 2022 г. |
Оренбург 2022
Аннотация
Курсовая работа представляет собой описание процесса разработки информационной системы «Мои Загрузки». Основные задачи данной работы – решение поставленного технического задания, проектировка архитектуры информационной системы, демонстрация результата работ и формирование отчета.
Курсовая работа содержит введение, 3 главы, заключение, список использованных источников и приложение, в котором представлен программный код.
Пояснительная записка содержит _страниц, 17 рисунков, 3 источника и 1 приложение.
Содержание
Введение 5
1 Техническое задание 6
1.1 Общие сведения 6
1.2 Цели и назначение создания автоматизированной системы 6
1.3 Краткие сведения об объекте автоматизации или ссылки на документы, содержащие такую информацию 7
1.4 Сведения об условиях эксплуатации объекта автоматизации и характеристиках окружающей среды 7
1.5 Разработка страницы «Сотрудники» 7
1.6 Разработка страницы «Статистика» 8
1.7 Порядок контроля и приемки автоматизированной системы 8
1.8 Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу автоматизированной системы в действие 9
1.9 Требования к документированию 9
1.10 Источники разработки 9
2 Декомпозиция поставленной задачи 10
3 Проектирование ИС «Мои загрузки» 11
3.1 Архитектура ИС 11
3.2 Разработка алгоритма решения 15
3.3 Структурная организация данных 18
3.4 Интерфейс 19
3.5 Структура выходной информации 21
Заключение 23
Список использованных источников 24
Приложение А. Текст программы 25
Введение
В настоящее время, в мире происходит весьма активный процесс автоматизации множества сфер. Именно информационные системы и играют важнейшую роль в этом процессе автоматизации.
Информационная система представляет собой совокупность средств и методов, которые используются для хранения и обработки информации для определенных целей. Такая система является хранилищем информации, включающее в себе функции поиска, размещения и выдачи информации по определенным запросам, необходимым пользователю.
Основная цель курсовой работы – разработка информационной системы «Мои Загрузки». Для достижения поставленной цели необходимо решить спектр определенных задач, а именно:
- декомпозиция поставленной задачи;
- описание общей архитектуры программного средства;
- описание функционального назначения информационной системы;
- разработка алгоритма решения задачи;
- структурная организация данных / исходного кода;
- разработка интерфейса информационной системы;
- описание структуры выходной информации.
1 Техническое задание
Любая информационная система (ИС) обладает своим жизненным циклом, который в общем случае начинается в момент принятия решения о её создании и заканчивается в момент выведения её из эксплуатации. Жизненный цикл включает в себя различные фазы:
– зарождение;
– создание;
– внедрение;
– эксплуатация;
– демонтаж.
Важнейшая фаза жизненного цикла ИС – фаза “создание”, началом которой является формирование технического задания.
Техническое задание (ТЗ) — документ, содержащий перечень задач, обязанностей и требований, которые заказчик предъявляет исполнителю.
Основные цели ТЗ являются: подтверждение целесообразности и детальное обследование возможности создания эффективной ИС с функциями и техническими характеристиками, сформулированными в виде исходных технических требований к системе.
1.1 Общие сведения
Наименование: Мои загрузки.
Сотрудничающие организации: разработчик - ООО "ВЕЙВАКСЕСС", заказчик - ООО "МОИ ЗАГРУЗКИ".
Перечень документов, на основании которых создается система, кем и когда утверждены эти документы.
Плановые сроки: 01.09.2022 - 26.12.2022.
Сведения об источниках и порядке финансирования работ: нет.
Порядок оформления и предъявления заказчику результатов работ по созданию системы (ее частей), по изготовлению и наладке отдельных средств (технических, программных, информационных) и программно-технических (программно-методических) комплексов системы:
1.2 Цели и назначение создания автоматизированной системы
Назначение системы: это транспортная платформа для грузовладельцев и перевозчиков.
Цели создания системы: объединить предприятия и перевозчиков, без участия экспедиторов.
1.3 Краткие сведения об объекте автоматизации или ссылки на документы, содержащие такую информацию
Поиск грузов. Найдите подходящие для себя грузы, отфильтровав их по городам, датам загрузки/выгрузки и параметрам груза. Выберите один из грузов и сделайте выгодное предложение, чтобы быстро получить загрузку.
Поиск тендеров. Найдите для себя подходящие тендеры и предложите ставки, по которым вы готовы перевозить данные рейсы на постоянной основе.
Автоматический документооборот. Автоматическое формирование первичных транспортных документов. Прикрепление документов строгой отчетности. ЭЦП на каждом документе. Все документы в одном месте по каждой перевозке.
Контроль местоположения груза. Поможет отследить груз на территории России, сообщать об изменении маршрута и длительных остановках. Прогнозирование времени доставки груза. Оценки эффективности процесса перевозки. Контроль процессов загрузки и разгрузки.
Система автоматизации склада. Распределите нагрузку на склад для эффективной работы подразделения. Перевозчики выбирают свободные временные слоты на загрузку и разгрузку в электронном расписании.
1.4 Сведения об условиях эксплуатации объекта автоматизации и характеристиках окружающей среды
Для того чтобы реализовать право пользования Сайтом, лицо должно пройти обязательную процедуру регистрации. По завершении процесса регистрации лицо становится Участником «Мои Загрузки» и создает Аккаунт на Сайте. Для начала работы с Сайтом Участник «Мои Загрузки» должен ввести логин и пароль на странице авторизации.
Если Участник «Мои Загрузки» в течение 180 (шестидесяти) календарных дней не пользуется Сайтом, то в его Профиле появляется отметка «удалена». Если, после появления отметки «удалена», прошло менее 360 (трехсот шестидесяти) календарных дней, то любой Участник «Мои Загрузки» может восстановить доступ к своему Аккаунту. Если, с даты появления отметки «удалена», прошло 360 (триста шестьдесят) и более календарных дней, Аккаунт участника «Мои Загрузки» будет полностью удален. Если данные Участники «Мои Загрузки» примут решение воспользоваться Сайтом по истечении указанного времени, для этого будет необходимо вновь зарегистрироваться на Сайте. При восстановлении Участником «Мои Загрузки» доступа к своему Кабинету, либо при новой регистрации на Сайте, Аккаунту присваивается новый номер «ID».
Подтвержденный Участник «Мои Загрузки» вправе внести любые изменения в «Основную информацию». После внесения любых изменений, вам потребуется пройти повторную модерацию.
1.5 Разработка страницы «Сотрудники»
На платформе предусмотрены права доступа у сотрудников: Главный аккаунт (полный доступ), Расширенные (полный доступ), Руководитель подразделения (работает только в рамках прикрепленных сотрудников у нему), Обычные (доступ только в рамках своей учетной записи). У всех, кроме обычных сотрудников добавить фильтр по сотрудникам:
1. Все сотрудники
2. Возможность выбора нескольких сотрудников или одного
1.6 Разработка страницы «Статистика»
Разработать функционал в профиле компании, который будет показывать статистику перевозок.
Обязательные поля у грузовладельца:
1. Создано грузов
2. Активные грузы
3. Удаленные
4. Грузы с назначенным перевозчиком
5. Грузы без перевозчика
6. Средняя стартовая цена
7. Средняя итоговая цена перевозки
Обязательные поля у перевозчика:
1. Активные грузы
2. Кол-во торгов за грузы
3. Отказ от перевозки/удаленные
4. Победы
5. Проигрыши
6. Средняя стартовая цена
7. Средняя итоговая цена перевозки
Общие поля фильтра:
1. Выбор периода (календарь)
2. Выбор периода («залоченные» значения)
3. По статусу груза
1.7 Порядок контроля и приемки автоматизированной системы
Приемка этапа заключается в рассмотрении и оценке проведенного объема работ и предъявленной технической документации в соответствии с требованиями настоящего технического задания. Ответственность за организацию и проведение приемки системы нести заказчик. Приемка системы должна производиться по завершению приемки всех задач системы. При этом необходимо предоставить обеспечение материальной частью (технические средства), проектной документацией и специально выделенным персоналом. Заказчик должен предъявлять систему ведомственной приемочной комиссии, при этом он обязан обеспечить нормальные условия работы данной комиссии в соответствии с принятой программой приемки. Завершающим этапом при приемке системы должно быть составление акта приемки.
1.8 Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу автоматизированной системы в действие
Для обеспечения готовности объекта к вводу системы в действие провести комплекс мероприятий: приобрести компоненты технического и программного обеспечения, заключить договора на их лицензионное использование; завершить работы по установке технических средств; провести обучение пользователей.
1.9 Требования к документированию
Для проведения обучения персонала, присутствует обучающая документация. Она находится на сайте, перейти возможно через кнопку «Подробнее», находящуюся рядом с функциональностью.
1.10 Источники разработки
При разработке системы должны использоваться следующие законодательные и нормативные правовые акты:
-
Конституция Российской Федерации; -
Гражданский кодекс Российской федерации; -
Указ Президента РФ от 06.03.1997 г. № 188 "Об утверждении перечня сведений конфиденциального характера"; -
ГОСТ 34.201-89 «Виды, комплектность и обозначение документов при создании автоматизированных систем»; -
ГОСТ 34.601-90 «Автоматизированные системы. Стадии создания»; -
ГОСТ 34.602-89 «Техническое задание на создание автоматизированной системы»; -
ГОСТ 34.603-92 «Виды испытаний автоматизированных систем»; -
РД 50-34.698-90 «Автоматизированные системы. Требования к содержанию документов».
2 Декомпозиция поставленной задачи
Декомпозиция представляет собой разделение целого на определенные части. Принцип декомпозиции заключается в том, что каждая цель делится на задачи. Подзадачи же разделяются на еще более мелкие подзадачи. Подобное разделение происходит ровно до тех пор, пока не сформируется понятный поэтапный план действий [1].
Если учитывать техническое задание информационной системы «Мои Загрузки», появляется возможность сформировать спектр более общих задач, подлежащие процессу декомпозиции, а именно:
- сформировать запросы к базам данных для ведения статистики и получения данных о сотрудниках;
- разработать веб-интерфейс;
Задачу разработки расчета на back-end можно декомпозировать в следующие подзадачи:
- создание сервиса «сотрудники», в котором формируется весь список сотрудников о компании, и отдается на front-end;
- создание сервиса «аналитика», в котором проводится анализ данных по грузовладельцам и грузоперевозчикам;
Задачу разработки UI/UX декомпозируем на такие подзадачи:
- подключение к back-end;
- разработка страницы «сотрудники»;
- разработка страницы «аналитика»;
- ограничение прав доступа в зависимости от роли сотрудника;
Задача инкрементального обновления конфигурации не подлежит процессу декомпозиции, так как уже является достаточно декомпозированной на определенные подзадачи.
В завершении имеем сервис аналитики перевозок с частью UI/UX и back-end.
3 Проектирование ИС «Мои загрузки»
3.1 Архитектура ИС
Архитектура программного обеспечения — совокупность важнейших решений об организации программной системы. Архитектура включает:
– выбор структурных элементов и их интерфейсов, с помощью которых составлена система, а также их поведения в рамках сотрудничества структурных элементов;
– соединение выбранных элементов структуры и поведения во всё более крупные системы;
– архитектурный стиль, который направляет всю организацию — все элементы, их интерфейсы, их сотрудничество и их соединение.
Архитектура программного обеспечения является основой для любой успешной программной системы и будет влиять на все, от удобства обслуживания, масштабируемости, до стабильности и безопасности на протяжении всего жизненного цикла этой системы [2].
Документирование архитектуры программного средства упрощает процесс коммуникации между разработчиками, позволяет зафиксировать принятые проектные решения и предоставить информацию о них эксплуатационному персоналу системы, повторно использовать компоненты и шаблоны проекта.
По мере того, как программные системы и веб-приложения становятся все более сложными, хорошо продуманные схемы системной архитектуры становятся критически важными для общения с другими разработчиками и заинтересованными сторонами. Первым шагом к внедрению новой программной системы является создание диаграмм.
Существует большое количество типов диаграмм, которые можно разделить на две основные категории:
– Структурные диаграммы показывают, какие объекты находятся в моделируемой системе.
– Поведенческие диаграммы показывают, как эти объекты взаимодействуют друг с другом.
Проектирование архитектуры ИС начнём с общей схемы алгоритма, представленной на рисунке 1.
Рисунок 1 – Общая схема алгоритма
Диаграмму деятельности можно отнести к поведенческим. Она описывает динамические аспекты системы[3]. По сути, блок-схема, демонстрирующая предполагаемый поток активности системы, т.е. какие действа будут совершены системой для достижения поставленной задачи. Однако это не просто блок-схемы, поскольку она имеет некоторые дополнительные возможности, такие как ветвление, параллельный потоки и т.д. Эта диаграмма представлена на рисунке 2 и рисунке 3.
Рисунок 2 – Диаграмма деятельности «аналитика»
Рисунок 3 – Диаграмма деятельности «сотрудники»
Функциональная схема представлена на рисунке 4.
Рисунок 4 – Функциональная схема
Диаграмма вариантов использования представлена на рисунке 5.
Рисунок 5 – Диаграмма вариантов использования
3.2 Разработка алгоритма решения
Для более правильной реализации программного средства, необходимо заранее продумать и разработать сам алгоритм. Для демонстрации того, как алгоритм будет выглядеть и функционировать, необходимо проработать основные схемы алгоритма.
Схема подпрограммы, отвечающей за функцию создания, представлена на рисунке 6.
Рисунок 6 – Схема алгоритма подпрограммы создания
Схема подпрограммы, отвечающей за функцию формирования отчета, представлена на рисунке 7.
Рисунок 7 – Схема алгоритма подпрограммы формирования отчета
Схема самого алгоритма решения задачи представлена на рисунке 8.
Рисунок 8 – Схема алгоритма решения задачи
3.3 Структурная организация данных
Структурную организацию данных внутри ИС можно представить с помощью даталогической модели.
Даталогическая модель БД - модель логического уровня, представляющая собой отображение логических связей между элементами данных, независимо от их содержания и среды хранения. Даталогическая модель представлена на рисунке 9.
Рисунок 9 – Даталогическая модель
3.4 Интерфейс
Разрабатывать интерфейс системы можно основываясь на этапах её работы, демонстрируемых в диаграмме деятельности.
Выходная информация выводится на экране пользователя и представляется собой таблицу с сотрудниками (рисунок 10).
Рисунок 10 – Вывод выходной информации
Модуль функционально завершен. Есть вывод информации и возможность выбора нескольких сотрудников или одного (рисунок 11). Выбор сотрудников осуществляется по двойному клику на строку с пользователем, отменяется с помощью кнопки «отмена», находящейся над таблицей справа.
Рисунок 11 – Функциональность модуля «Сотрудники»
Модуль функционально завершен. Есть вывод информации и фильтрация. Фильтрация представлена в виде нескольких полей. Первые два поля отвечают за даты (месяц, день, год) начала и конца анализируемого промежутка. Последнее отвечает за выбор «залоченного» промежутка, который динамически рассчитывается в зависимости от текущей даты. Поля фильтра представлены на рисунке 12-14.
Рисунок 12 – Поля фильтрации
Рисунок 13 – Поле выбора дня
Рисунок 14 – Поле выбора залоченного значения
3.5 Структура выходной информации
Выходной информацией служит массив объектов, состоящих из следующих свойств:
-
"id" – уникальный ключ -
"role" – роль («Аккаунт с расширенными правами», «Руководитель подразделения», «Сотрудник») -
"chief_id" – уникальный ключ руководителя сотрудника -
"chief_first_name" – имя руководителя сотрудника -
"chief_last_name" – фамилия руководителя сотрудника -
"user_info" – информация о пользователе -
"contact_email" – почта -
"contact_phone_number" – номер телефона -
"first_name" – имя -
"last_name" – фамилия -
"position_person" – должность
Структура выходной информации для страницы «сотрудники» представлен на рисунке 15.
Рисунок 15 – Структура выходной информации страницы «сотрудники»
Рисунок 16 демонстрирует саму структуру кода для front-end части проекта.
Рисунок 16 – Структура кода front-end части проекта
Рисунок 17 демонстрирует саму структуру кода для back-end части проекта.
Рисунок 17 – Структура кода back-end части проекта
Заключение
В результате выполнения курсовой работы был выполнен определенный спектр задач.
Была изучена определенная теория, связанная с разработкой информационных систем. Был изучен жизненный цикл информационной систем, а также ее архитектура.
В качестве практической части работы, была разработана собственная информационная система «Мои Загрузки», базирующаяся на сформированном и описанном техническом задании.
Была проведена декомпозиция поставленной задачи, описана общая архитектура программного средства. Также было описано функциональное назначение информационной системы и разработан алгоритм решения поставленной задачи. Проведено описание структурной организации данных и реализован интерфейс информационной системы.
К работе прилагается пояснительная записка, включающая в себя постановку задач и их реализацию.
Все поставленные задачи решены, а цель достигнута.
Список использованных источников
1 Управление разработкой информационных систем. 2014 г. [Электронный ресурс]. Режим доступа: https://samara.mgpu.ru/dzhadzha/dis/15/70.html.
2 Учебник по UML. 17.03.2019 г. [Электронный ресурс]. Режим доступа: https://coderlessons.com/tutorials/akademicheskii/uchit-uml/uchebnik-po-uml.
3 Проектирование автоматизированных систем. 2018 г. [Электронный ресурс]. Режим доступа: https://privetstudent.com/lektsii/lektsii-po-informatike/658-proektirovanie-as-lekciya-8.html.
Приложение А
(обязательное)
Программный код
from django.contrib import admin
from django.urls import path, include