Введение
1 Объектно-ориентированный анализ системы
1.1 Описание предметной области
1.2 Инструменты разработки
2 Проектирование системы
2.1 Диаграмма классов
2.2 Диаграмма вариантов использования
2.3 Диаграмма состояния
2.4 Диаграмма последовательности
ВВЕДЕНИЕ
Тема курсовой работы: «Модель программного обеспечения встроенного процессора турникета для метрополитена». Процесс разработки программного обеспечения подразумевает создания множества артефактов, одним из видов которых являются модели. Модели представляют собой абстракцию, которая описывает моделируемое программное обеспечение с определенной точки зрения и на определенном уровне абстрагирования. Модели – это абстракции программного обеспечения, которые разрабатываются архитекторами и проектировщиками и представляют законченный взгляд на систему. Для разработки моделей используются диаграммы в нотации Unified Modeling Language (UML). Актуальность данной темы заключается в необходимости разработки модели программного обеспечения встроенного процессора турникета для метрополитена. Объектная модель дает возможность создавать хорошо структурированные сложные системы. На UML можно содержательно описывать классы, объекты и компоненты в различных предметных областях, часто сильно отличающихся друг от друга Объектом исследования встроенный процессор турникета для метрополитена. Предметом исследования является модель программного обеспечения встроенного процессора турникета для метрополитена. Данная пояснительная записка состоит из следующих глав:
1. Объектно-ориентированный анализ системы. Здесь выполнено описание предметной области, и рассмотрены инструменты разработки.
2. Проектирование системы. Здесь были разработаны следующие диаграммы: диаграмма классов; диаграмма вариантов использования; диаграмма состояния; диаграмма последовательности.
3. Реализация системы. Здесь были разработаны следующие диаграммы: диаграмма компонентов и диаграмма реализации.
4. Практическое применение.
1 ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ СИСТЕМЫ
Предметной областью является модель программного обеспечения встроенного процессора турникета для метрополитена. При помощи турникета контролируется проход пассажиров в метро и взимается входная плата.
Турникет имеет:
приемник карт;
устройство для перекрывания доступа;
таймер;
три оптических датчика для определения прохода пассажира;
устройство подачи звуковых сигналов;
индикаторы «Проход» и «Стоп».
В начальном состоянии турникета зажжен индикатор «Стоп», индикатор «Проход» потушен. Если один из датчиков посылает сигнал, то проход через турникет сразу же перекрывается, и подается предупредительный звуковой сигнал. Для прохода пассажир должен поместить карту в приемник карт. Если данные не удается считать, или карта просрочена, или заблокирована, то карта возвращается пассажиру, и турникет остается в исходном состоянии. В другом случае с карты списывается одна «единица», карта возвращается из приемника, индикатор «Стоп» гаснет, зажигается индикатор «Проход», и пассажир может пройти через турникет. Получив от одного из датчиков сигнал, турникет ожидает время, отведенное на проход пассажира (5 секунд), после чего он возвращается в начальное состояние. Наличие трех датчиков в турникете гарантирует, что при проходе пассажира хотя бы один из них подаст сигнал (датчики невозможно перешагнуть, перепрыгнуть и т. д.). Во время прохода пассажира возможна ситуация, когда все три датчика посылают сигналы. В этом случае принимается только первый сигнал и от момента его приема отсчитывается положенное время. Остальные сигналы игнорируются. Турникет заносит в свою память время всех оплаченных проходов. В конце рабочего дня он передает всю информацию, накопленную за день, в АСУ метрополитена. Глоссарий для темы «Модель программного обеспечения встроенного процессора турникета для метрополитена» представлен в таблице 1.
2 ПРОЕКТИРОВАНИЕ СИСТЕМЫ
Диаграмма классов (class diagram) предназначена для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может показывать, в частности, различные взаимосвязи между отдельными сущностями предметной области. На диаграмме классов не указывается информация о временных аспектах функционирования системы. Диаграмма классов представляет собой некоторый граф, вершины у которого – элементы типа «классификатор», которые связаны разными типами структурных отношений. Диаграмму классов можно считать графическим представленном структурных взаимосвязей логической модели программного обеспечения, которые не находятся в зависимости от времени. Диаграмма классов состоит из большого количество элементов, которые в совокупности показывают декларативные знания о предметной области. Такие знания интерпретируются в базовых понятиях языка UML, таких как классы, интерфейсы и отношения между ними и их составляющими компонентами. При этом отдельные компоненты этой диаграммы могут образовывать пакеты для представления более общей модели системы. Если диаграмма классов – это часть некоторого пакета, то компоненты данной диаграммы должны соответствовать элементам этого пакета, включая все возможные ссылки на элементы из иных пакетов. В общем случае пакет статической структурной модели может быть представлен в виде одной или нескольких диаграмм классов. Декомпозиция некоторого представления на отдельные диаграммы выполняется для удобства и графической визуализации структурных взаимосвязей предметной области. При этом компоненты диаграммы должны соответствовать элементам статической семантической модели. Модель программного обеспечения, должна быть согласована с внутренней структурой классов, описываемая на языке UML [4]. Для программного обеспечения встроенного процессора турникета для метрополитена были выделены следующие классы:
Турникет;
Приемник карт;
Устройство для перекрывания доступа.
3 РЕАЛИЗАЦИЯ СИСТЕМЫ
Диаграмма компонентов позволяет определить состав программных компонентов, в роли которых может выступать исходный, бинарный и исполняемый код, а также установить зависимости между ними. При разработке диаграмм компонентов преследуются цели: спецификация исполнимого варианта системы и спецификация общей структуры исходного кода системы; Данная компонентов позволяет осуществлять согласованный переход от логического к физическому представлению системы в виде программных компонентов. Одни компоненты могут существовать только на этапе компиляции программного кода, другие – на этапе его исполнения. Основными элементами диаграммы являются компоненты, интерфейсы и зависимости между ними. Кроме этого, на ней могут отображаться ключевые классы, входящие в компоненты. Компонент (англ. component) представляет собой физическую часть системы. Компоненты, представляющие собой файлы с исходным кодом классов, библиотеки, исполняемые модули и т.п., которые должны обладать согласованным набором интерфейсов. Для их графического представления используются следующие графические символы. [8].
Компонентами разрабатываемой модели будут:
Турникет;
Приемник карт;
Устройство для перекрывания доступа;
Таймер;
Оптические датчики;
Устройство подачи звуковых сигналов;
Индикатор Проход;
Индикатор Стоп;
АСУ метрополитена.
4 ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ
Спроектированная модель программного обеспечения встроенного процессора турникета для метрополитена будет применяться в метрополитене. Метрополитен – это один из видов городского общественного транспорта, работа которого осуществляется за счет движения поездов по рельсам. Рельсовые трассы проходят, как правило, под землей. Но есть такие виды метрополитенов, в которых движение комбинированное: часть пути поезд следует в тоннеле, а часть рельсовой трассы проходит по земле. Движение в метро стабильно частое, чтобы поезда успевали справляться с нагрузкой в виде большого количества людей. В часы повышенного пассажиропотока интервалы между движением поездов сокращаются, чтобы избежать толпы. Скорость поездов может варьироваться в зависимости от страны, города и прочих факторов. Существуют как высокоскоростные поезда, так и с обычной скоростью.
Функции программного обеспечения:
контроль прохода пассажиров в метро;
считывание данных с карты;
занесение в память время всех оплаченных проходов;
в конце рабочего дня передача всей информации, накопленной за день, в АСУ метрополитена.
ЗАКЛЮЧЕНИЕ
Проектирование модели программного обеспечения встроенного процессора турникета для метрополитена осуществлялось на унифицированной языке UML. UML (англ. Unified Modeling Language – унифицированный Язык Моделирования) – это графический язык моделирования общего назначения, который предназначен для визуализации, спецификации, конструирования и документирования артефактов программных системы. UML появился как стандарт после многолетних интеллектуальных и бюрократических споров в сообществе приверженцев объектно-ориентированного проектирования. UML позволяет создавать следующие диаграммы: диаграмма классов; диаграмма объектов; диаграмма последовательности; диаграмма коммуникации; диаграмма автомата; диаграмма деятельности; диаграмма компонентов; диаграмма развёртывания; диаграмма композитной/составной структуры; диаграмма пакетов; диаграмма вариантов использования; диаграмма обзора взаимодействия; диаграмма синхронизации. Сама разработка модели осуществлялась в MS Visio 2014. Microsoft Visio представляет собой приложение для создания профессиональных схем. В приложении представлен широкий выбор фигур и наборов элементов. Разработанная модель программного обеспечения встроенного процессора турникета для метрополитена выполняет следующие функции: контроль прохода пассажиров в метро; взимание входной платы; считывание данных с карты; занесение в память время всех оплаченных проходов; в конце рабочего дня передача всей информации, накопленной за день, в АСУ метрополитена. В ходе построения модели программного обеспечения встроенного процессора турникета для метрополитена были разработаны следующие диаграммы: диаграмма классов; диаграмма вариантов использования; диаграмма состояния; диаграмма последовательности; диаграмма компонентов и диаграмма развертывания.
1. Язык моделирования UML [Электронный ресурс]. – Режим доступа : http://www.russika.ru/ef.php?s=4785.
2. Методологии разработки программного обеспечения. Часть 4. Unified Modelling Language [Электронный ресурс]. – Режим доступа : https://compress.ru/article.aspx?id=10470.
3. Microsoft Visio [Электронный ресурс]. – Режим доступа : https://startpack.ru/application/microsoft-visio.
4. Диаграмма классов [Электронный ресурс]. – Режим доступа : http://www.nnre.ru/kompyutery_i_internet/samouchitel_uml/p5.php.
5. Диаграмма вариантов использования [Электронный ресурс]. – Режим доступа : https://flexberry.github.io/ru/gpg_use-case-diagram.html.
6. Диаграмма состояний [Электронный ресурс]. – Режим доступа : https://www.intuit.ru/studies/courses/1007/229/lecture/5954?page=4.
7. Диаграмма последовательности [Электронный ресурс]. – Режим доступа : https://habr.com/ru/post/74330/.
8. Диаграмма компонентов [Электронный ресурс]. – Режим доступа : https://www.sites.google.com/site/anisimovkhv/learning/pris/lecture/tema15/tema15_2.
9. Диаграмма развертывания [Электронный ресурс]. – Режим доступа : http://bourabai.kz/dbt/uml/ch30.htm.