Добавлен: 31.03.2023
Просмотров: 111
Скачиваний: 1
ВВЕДЕНИЕ
Во многих современных языках программирования содержится программные средства реализации клиентских программ через реализацию объектно-ориентированного программирования, в таких как С++, Java, Delphi, Visual Basic, C#. Различаются они только по реализации данного метода программирования.
Предметом исследования курсовой работы (КР) являются методы проектирования и средства разработки объектно-ориентированных клиентских программных систем.
Объектом КР является применение методов ООП и программных средств для разработки и моделирования ИС клиентской системы.
Целью КР является проектирование программной клиентской системы информационной системы лифтового обслуживания на языке объектно-ориентированного программирования UML, моделирующей работу технического устройства (лифта), а также рассмотрение основных проблем объектно-ориентированного проектирования и объектно-ориентированного программирования.
Для достижения поставленной цели в КР решаются следующие задачи:
- Определить этапы объектно-ориентированного проектирования.
- Проанализировать инструментальные средства объектно-ориентированного проектирования.
- Определить этапы объектно-ориентированного проектирования.
- Провести анализ сред программных средств разработки объектно-ориентированного проектирования и объектно-ориентированного программирования.
- Спроектировать программную модель клиентской части ИС ПО лифтового обслуживания.
1. АНАЛИТИЧЕСКАЯ ЧАСТЬ
1.1 Этапы объектно-ориентированного проектирования программных комплексов
Рассмотрим основные этапы проектирования с позиций технологии обработки информации.
Традиционно проектирование сложных технических систем подразделяют на следующие этапы или стадии проектирования:
- Техническое задание на проектируемый объект [3. c. 43].
- Научно-исследовательская работа [4. c. 50].
- Эскизный проект [7. c. 56].
- Технический проект [21. c. 78].
- Рабочий проект [32 c 100].
1.2 СРЕДЫ РАЗРАБОТКИ
1.2.1 Embarcadero Rad Srudio
Embarcadero RAD Studio – среда разработки программных систем для операционных систем Windows. Данная среда позволяет быстро разработать программные системы для Windows, Mac, Android, IOS, интернет вещей (IoT) [11, c 54]. Среда позволяет писать приложения на С++ и Object Pascal. Главное окно Embarcadero RAD Studio показано на рисунке 1.
В состав Embarcadero RAD Studio входят Delphi, C++Builder.
Рисунок 1. Главное окно среды Embarcadero RAD Studio
Embarcadero RAD Studio включает следующие основные новые возможности:
А) Поддержка Windows 10. С помощью Delphi и C++Builder можно разрабатывать VCL и FMX-приложения, которые поддерживают компоненты Windows 10 и API системы, компоненты WinRT\UWP;
Б) Компилятор C++11, основанный на архитектуре CLANG. В C++Builder используется компилятор c++, который основан на CLANG. Компилятор используется для Windows и мобильных платформ. Данный компилятор работает с VCL и кроссплатформенными структурами FMX;
В) Удвоенный размер проектов в IDE. Позволяет увеличить размер проектов, что позволяет разрабатывает большие, комплексные решения;
1.2.2 Visual Studio
Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода [9, c. 154]. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как, например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметноориентированных языках программирования) или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server)[27, c. 57]. Главное окно Visual Studio показано на рисунке 2.
Рисунок 2. Главное окно среды Visual Studio
Visual Studio имеет множество возможностей:
-
- Современный C++. Visual Studio позволяет использовать последние стандарты языка С++.
- Создание универсальных программ для Windows. Используя C++ (либо C#, JavaScript или VB), вы можете создать единое универсальное приложение для Windows, способное работать на всех устройствах Windows 10.
- Мощные инструменты программирования. Среда имеет множество средств для редактирования, просмотра и рефакторинга, отладки, диагностики.
1.2.3 MonoDevelop
MonoDevelop — свободная среда разработки, предназначенная для создания приложений C#, Java, Boo, Nemerle, Visual Basic .NET, Vala, CIL, C и C++. MonoDevelop позволяет разработчикам разрабатывать настольные и веб-приложения на Linux, Windows и Mac OS X. Среда предоставляет возможность .NET программы, сделанные в Visual Studio, портировать на Linux и Mac OS X; при этом сохраняется единый базовый код для всех платформ [26, c. 705]. Главное окно MONODEVELOP показано на рисунке 3.
Рисунок 3. Главное окно среды MonoDevelop
2. ПРОЕКТНАЯ ЧАСТЬ
2.1 Постановка Задачи
В ходе практики нужно было спроектировать и разработать программное средство для моделирования работы лифта. Лифт должен работать в многоэтажном доме. Программа отсчитывает время с тактами в одну секунду. Появление пассажира случайно. Также существует таймер отсчета для появления нового пассажира на любом этаже. Пассажир появляется на любом этаже, нажимает кнопку вызова лифта, если лифта на этом же этаже, то он открывает двери лифта. После этого кнопка лифта отжимается, и пассажир заходит в лифт. Далее пассажир нажимает кнопку случайного этажа, и лифт закрывает двери, затем начинает движение к заданному этажу. Когда лифт прибывает на нужный этаж, кнопка этажа отжимается, двери лифта открываются, и пассажир выходит из лифта. Затем лифт закрывает двери, и пассажир уходит.
UML (Unified Modeling Language) — унифицированный язык моделирования — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML – это мощный инструмент для проектирования программ или программных систем. Он помогает спроектировать полностью рабочие элементы программы. Предоставляет возможность описать работу программы во всех ситуациях. Что помогает выявить слабые и сильные стороны проектируемых компонентов, алгоритмов программы. Построить архитектуру программной системы. UML дает возможность разобраться в работе сложной системы. На рисунке 15 показаны этапы UML проектирования. Язык UML применим не только на стадии проектирования программного средства, но и на всех этапах разработки программы, так как на всех этапах нужен последовательный план действий, который упорядочивает разработку программного средства.
Рисунок 4. Этапы UML проектирования
UML помогает заложить фундамент в проектировании программы и предоставляет возможность построить структуру классов. UML не зависит от конкретного языка программирования. Это дает возможность при программировании использовать любой язык. Ниже описывается логика разработки программы в нотации UML.
Кнопка Запуск (рисунок 5) запускает главную функцию main. Затем проверяются параметры программы. Если не было ввода параметров, то выставляются параметры по умолчанию. Инициализируются объекты классов. Затем начинается цикл, пока последний пассажир не проедет. Пассажир появляется на первом этаже, затем он нажимает на кнопку лифта. К счетчику времени прибавляется параметр времени нажатия кнопки. На форме программы появляется информация о положении лифта и пассажира. Если лифта на том же этаже, то он открывает двери и к счетчику времени прибавляется параметр времени открытия дверей. Если этаж другой, то лифт начинает движение к пассажиру и к счетчику времени прибавляется параметр времени передвижения лифта. Когда лифт прибывает на этаж с пассажиром, двери лифта открываются, и кнопка вызова лифта выключается. К счетчику времени прибавляется время работы кнопки и дверей. Далее, пассажир заходит в лифт и нажимает на кнопку с случайным этажом. К счетчику времени прибавляется время работы кнопки. Двери лифта закрываются. К счетчику времени прибавляется время работы дверей. Лифта поднимается или опускается на заданный этаж. Когда лифт меняет своё положение, цифра над лифтом меняется. Пока лифт не прибудет на нужный этаж, стрелки будут показывать направление лифта. К счетчику времени прибавляется время работы лифта. После прибытия лифта на нужный этаж, кнопка в лифте выключается и двери лифта открываются. К счетчику времени прибавляется время работы кнопки и дверей. Пассажир выход из лифта, и двери лифта закрываются. К счетчику времени прибавляется время на вход/выход пассажира и время работы дверей. Пассажир исчезает. Производится отсчет времени до нового пассажира. Если пассажир был последним, то функция прекращает работу.
На рисунке 5 показана диаграмма активности лифта. Она показывает работу лифта в программе.
Рисунок 5. Диаграмма лифта
На рисунке 6 показана диаграмма активности пассажира. Диаграмма показывает взаимодействие пассажира c лифтом в программе.
Рисунок 6. Диаграмма пассажира
На рисунке 7 показана диаграмма активности кнопки. На диаграмме показаны состояния кнопки. При выполнении событий, которые показаны на диаграмме, меняется состояние кнопки.
Рисунок 7. Диаграмма работы кнопки
Ниже описывается процесс проектирования главной функции класса. На первом этапе мы инициализируем все необходимые переменные и объекты класса. Загружаем значения полей формы, сохраняемых в глобальных переменных, присваиваем значения переменным в функции, отвечающей за процесс моделирования работы лифта. чтобы была возможность изменять эти значения в процессе ее работы. Проверяем эти значения. Если они пустые, то присваиваем переменным значение, равное единице. На рисунке 8 показана диаграмма проектирования первого этапа.
Рисунок 8. Проектирование первого этапа
На втором этапе мы выводим количество этажей и пассажиров на форму программы. Устанавливаем метку. По метке будет осуществляться переход, если количество пассажиров, которые уже проехали, не будет равно установленному значению. На рисунке 9 показана диаграмма проектирования второго этапа.
Рисунок 9. Проектирование второго этапа
На третьем этапе проинициализируем класс man. Выведем на форму программы пассажира, номер этажа с пассажиром и номер этажа с лифтом. На рисунке 10 показана диаграмма проектирования третьего этапа.
Рисунок 10. Проектирование третьего этапа
На четвертом этапе выполним обработку вызова лифта. В переменную времени заложим время на нажатие кнопки. Отобразим процесс действия на форму. На рисунке 11 показана диаграмма проектирования четвертого этапа.
Рисунок 11. Проектирование четвертого этапа
На пятом этапе выполним обработку движения лифта. В переменную времени заложим время на передвижение лифта. Отобразим процесс действия на форму. На рисунке 12 показана диаграмма проектирования пятого этапа.
Рисунок 12. Проектирование пятого этапа
На шестом этапе выполним выключение кнопки вызова лифта. В переменную времени заложим время, которое необходимо на срабатывание кнопки лифта. Отобразим процесс действия на форму. На рисунке 13 показана диаграмма проектирования шестого этапа.