Файл: Применение объектно-ориентированного подхода при проектировании информационной системы..pdf
Добавлен: 24.04.2023
Просмотров: 418
Скачиваний: 3
СОДЕРЖАНИЕ
1.1 ЭТАПЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ ПРОГРАММНЫХ КОМПЛЕКСОВ
1.2 ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ
1.2.1 ГРАФИЧЕСКИЕ МОДЕЛИ БЛОК СХЕМЫ
1.3 ЭТАПЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
1.3.1 ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД
2.2 ИСПОЛЬЗОВАНИЕ UML ДЛЯ РАЗРАБОТКИ ПРОГРАММНОЙ МОДЕЛИ
2.3 ИСПОЛЬЗОВАНИЕ ЯЗЫКА С++ ДЛЯ РЕАЛИЗАЦИИ ПРОГРАММНОЙ СИСТЕМЫ
ВВЕДЕНИЕ
На этапе объектно-ориентированного проектирования строится архитектура программной системы и описываются её компоненты. Данный этап помогает избежать в дальнейшем проблем, связанных с логикой программы. Объектно-ориентированное проектирование позволяет:
- Реализовать декомпозицию программной системы;
- Выстроить логическую и физическую структуру компонентов программы и программной системы в целом;
- Провести анализ программной системы, и выстроить связь между всеми ее компонентами;
- Построить гибкую и эффективную архитектуру программы, в которую можно интегрировать новые модули программы;
Язык унифицированного моделирования (UML) позволяет качественно описать как разрабатываемую систему в целом, так и отдельные объекты и их поведение. ER-моделирование (построение моделей сущность - связь) позволяет разработать схему сущностей программы, спроектировать связи между сущностями.
Использование подхода, основанного на представлении программной системы в виде схемы, состоящей из совокупности блоков определенной структуры, позволяет описывать алгоритмы и процессы.
Объектно-ориентированное программирование позволяет объединить в один объект определенные методы и атрибуты. Дает возможность создавать экземпляры данного объекта. Использовать объект в различных однотипных задачах. Данный подход позволяет уменьшить сложность больших программных систем, уменьшить количество кода, сделать программную системы более понятной, используя классы. Во многих современных языках программирования содержится реализация объектно-ориентированного программирования, в таких как С++, Java, Delphi, Visual Basic, C#. Различаются они только по реализации данного метода программирования.
Предметом исследования курсовой работы (КР) являются методы проектирования и разработки объектно-ориентированных программных систем.
Объектом КР является применение методов ООП для моделирования ИС с использованием языка моделирования UML.
Целью КР является проектирование программной системы информационной системы лифтового обслуживания на языке объектно-ориентированного программирования UML, моделирующей работу технического устройства (лифта), а также рассмотрение основных проблем объектно-ориентированного проектирования и объектно-ориентированного программирования.
Для достижения поставленной цели в КР решаются следующие задачи:
- Определить этапы объектно-ориентированного проектирования.
- Проанализировать инструментальные средства объектно-ориентированного проектирования.
- Определить этапы объектно-ориентированного проектирования.
- Провести анализ сред разработки объектно-ориентированного проектирования и объектно-ориентированного программирования.
- Спроектировать программную модель ИС ПО лифтового обслуживания, используя UML.
Курсовая работа состоит из аналитической и проектной частей. В аналитической части рассматриваются общие вопросы объектно-ориентированного проектирования и объектно-ориентированного программирования, а также обсуждаются соответствующие инструментальные средства и среды разработки. В проектной части дается описание разрабатываемой программной системы, включающее этап ее проектирования с использованием UML, и этап объектно-ориентированной разработки, рассматривается эксперимент с разработанной программной системой, описывается работа с программой.
АНАЛИТИЧЕСКАЯ ЧАСТЬ
1.1 ЭТАПЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ ПРОГРАММНЫХ КОМПЛЕКСОВ
Рассмотрим основные этапы проектирования с позиций технологии обработки информации.
Традиционно проектирование сложных технических систем подразделяют на следующие этапы или стадии проектирования:
- Техническое задание на проектируемый объект [3. c. 43].
- Научно-исследовательская работа [4. c. 50].
- Эскизный проект [7. c. 56].
- Технический проект [21. c. 78].
- Рабочий проект [32 c 100].
1.2 ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ
Проектирование программного обеспечения — процесс создания структуры программы, описания всех её компонентов и взаимосвязей компонентов внутри программы. Проектирование ПО является частным случаем проектирования продуктов и процессов.
Целью проектирования является определение внутренних свойств системы и детализация её внешних (видимых) свойств на основе выданных заказчиком требований к ПО (исходные условия задачи). Эти требования подвергаются анализу. Первоначально программа рассматривается как чёрный ящик. Ход процесса проектирования и его результаты зависят не только от состава требований, но и выбранной модели процесса, опыта проектировщика.
Модель предметной области накладывает ограничения на бизнес-логику и структуры данных [25. c. 209].
В зависимости от класса, создаваемого ПО, процесс проектирования может обеспечиваться как «ручным» проектированием, так и различными средствами его автоматизации. В процессе проектирования ПО для выражения его характеристик используются различные нотации — блок-схемы, ER-диаграммы, UML-диаграммы, DFD-диаграммы [23, c. 265], а также макеты.
Проектированию обычно подлежат:
1) Архитектура ПО;
2) Устройство компонентов ПО;
3) Пользовательские интерфейсы.
В российской практике проектирование ведется поэтапно в соответствии со стадиями, регламентированными ГОСТ 2.10368 [39.c. 309]:
- Техническое задание (по ГОСТ 2.10368 к стадиям разработки не относится).
- Техническое предложение.
- Эскизный проект.
- Технический проект.
- Рабочий проект.
На каждом из этапов формируется свой комплект документов, называемый проектом (проектной документацией). В зарубежной практике регламентирующими документами, например, являются Software Architecture Document, Software Design Document [40. c. 76].
Методики проектирования излагаются в виде описаний проектных процедур и проектных операций.
Под проектной процедурой понимают формализованную совокупность действий, выполнение которых оканчивается проектным решением. Например, проектной процедурой являются процедуры раскрытия проектной ситуации и разработки структуры программы.
Действие или формализованную совокупность действий, составляющих часть проектной процедуры, алгоритм которых остается неизменным для ряда проектных процедур, называют проектной операцией. Например, вычерчивание схемы, дифференцирование функции.
Проектные процедуры могут включать другие проектные процедуры и т.д. до проектных операций. Проектные процедуры могут представлять собой алгоритмы (только для тривиальных нетворческих операций) и эвроритмы (которыми излагаются эвристические операции) [33. c. 214].
На этапе объектного проектирования разрабатывается логическое решение на основе объектно-ориентированной парадигмы. Основной задачей этого этапа является создание диаграмм взаимодействия (interaction diagram), иллюстрирующих взаимодействие объектов в процессе выполнения системных требований.
После создания диаграмм взаимодействия (или параллельно с ними) можно построить диаграммы классов, отражающие определения программных классов и интерфейсов, реализованных в программе.
На практике создание диаграмм взаимодействия и диаграмм классов происходит параллельно, поскольку эти процессы тесно взаимосвязаны.
Алгоритм — строго однозначно определенная для исполнителя последовательность действий, приводящих к решению задачи.
Современное значение слова «алгоритм» во многом аналогично таким понятиям, как рецепт, процесс, методика, способ. Согласно Д. Кнуту, алгоритм имеет пять следующих важных свойств.
- Конечность. Алгоритм всегда должен заканчиваться после выполнения конечного числа шагов.
- Определенность. Каждый шаг алгоритма должен быть точно определен.
- Наличие входных данных. Алгоритм имеет некоторое число входных данных, задающихся до начала его работы или определяющихся динамически во время его выполнения.
- Наличие выходных данных. Алгоритм имеет одно или несколько выходных данных, имеющих определенную связь с входными данными.
- Эффективность. Алгоритм обычно считается эффективным, если его операторы достаточно просты для того, чтобы их можно было точно выполнить при помощи карандаша и бумаги в течение конечного промежутка времени.
1.2.1 ГРАФИЧЕСКИЕ МОДЕЛИ БЛОК СХЕМЫ
Схема – это абстракция какого-либо процесса или системы, наглядно отображающая наиболее значимые их части [2, c. 83]. Схемы широко применяются с древних времен до настоящего времени – чертежи древних пирамид, карты земель, принципиальные электрические схемы. Очевидно, древние мореплаватели хотели обмениваться картами и поэтому выработали единую систему обозначений и правил их выполнения. Аналогичные соглашения выработаны для изображения схем алгоритмов и закреплены ГОСТ и международными стандартами.
На территории Российской Федерации действует единая система программной документации (ЕСПД), частью которой является Государственный стандарт – ГОСТ 19.70190 “Схемы алгоритмов программ, данных и систем”. Несмотря на то, что описанные в стандарте обозначения могут использоваться для изображения схем ресурсов системы, схем взаимодействия программ и т.п.
Ниже рассматривается ГОСТ, который практически полностью соответствует международному стандарту ISO 5807:1985
1.2.2 ER-МОДЕЛЬ
Модель сущность-связь (ER-модель) это модель данных, которая описывает концептуальные схемы предметной области [22, c. 365]. Модель сущность-связь используется для проектирования баз данных, бизнес процессов, программных систем. Данные в модели представлены компонентами, которые соединены связями.
Множества сущностей в ER-модели представлены в виде прямоугольников, а множества отношений представлены в виде ромбов. Если сущность принимает участие в отношении, то они соединены линией. Линия является пунктирной, если эти отношения не являются обязательными. Атрибут связываться с одним отношением или сущностью линией и изображается в виде овала.
Сущности изображаются в виде прямоугольников, в которых содержится имя сущности. Имя выражается существительным. Оно должно быть уникальным для всей модели. Также оно представляет собой имя типа. Экземпляром данной сущности называют конкретным представителем данной сущности.
Связь показывается линией, которая соединяет две сущности, которые учувствуют в этом отношении. Концы связей указываются графически, множественность связи изображается в виде «вилки» на конце связи. Модальность связи так же показывается графически — необязательность связи изображается кружком на конце связи. Название обычно выражается глаголом в изъявительном наклонении настоящего времени: «Имеет», «Принадлежит» и т.д.; или глаголом, который поясняет: «Включит в себя», и т.п. Название может быть одно для всей связи или два для каждого из концов связи. Во втором случае, наименование левого конца связи указывается над линией связи, а правого – под линией. Каждое из наименования располагаются рядом с сущностью, к которой оно относится.
Атрибуты сущности записываются внутри прямоугольника, изображающего сущность, и выражаются существительными в единственном числе (возможно, с уточняющими словами). Среди атрибутов выделяется ключ сущности — не избыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности [29, c 75]. На рисунке 11 показан пример ER-диаграммы.
Рисунок 11 – ER-диаграмма
1.2.3 UML
Язык UML (unied modeling language — унифицированный язык моделирования) — это универсальный визуальный язык моделирования, используемый для спецификации, визуализации, конструирования и документирования артефактов программной системы [6, c. 83]. Он описывает решения и представления о конструируемых системах и используется для понимания, анализа, просмотра, конфигурирования, поддержки и контроля информации о системе. Этот язык предназначен для использования в сочетании с любыми методами разработки, на любых стадиях жизненного цикла проекта, в любых предметных областях и в любых средах.