Файл: Применение объектно-ориентированного подхода при проектировании информационных систем.pdf
Добавлен: 28.03.2023
Просмотров: 100
Скачиваний: 2
СОДЕРЖАНИЕ
1. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД ПРИ ПРОЕКТИРОВАНИИ ИС
1.2 Принципы объектно-ориентированного проектирования ИС
2. ОБЗОР СРЕДСТВ РАЗРАБОТКИ ИС С ПОДДЕРЖКОЙ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА
2.1 Унифицированный язык моделирования UML
2.1.2. Диаграммы вариантов использования
2.1.3. Диаграммы последовательности
2.2 Использование CASE-средств при разработке ИС
2.2.1. CASE-технология. Общие сведения
2.2.2. CASE-средство Rational Rose
ВВЕДЕНИЕ
Актуальность исследования по данной теме обусловлена широким распространением и высокой эффективностью объектно-ориентированного подхода в разработке современных информационных систем (ИС). Данный подход к проектированию ИС весьма близок к человеческому восприятию окружающего мира, подразумевающего наличие множества объектов, взаимодействующих друг с другом. Вся система может быть единовременно представлена в виде объектной декомпозиции, представляющей собой логически связанные абстракции в виде объектов и классов. Такая визуализация ИС способствует ускорению и упрощению процесса разработки, а также помогает эффективнее распределить задачи проектирования между разработчиками.
Объектом исследования курсовой работы являются информационные системы.
Предметом исследования является объектно-ориентированный подход в проектировании информационных систем.
Задачи исследования:
- Изучение основных понятий и принципов объектно-ориентированного проектирования информационных систем
- Обзор программных средств, используемых для реализации объектно-ориентированного проектирования ИС.
В качестве основного теоретического материала для исследования предмета, были использованы следующие источники:
Федеральный закон Российской Федерации от 27 июля 2006 г. N 149-ФЗ. Об информации, информационных технологиях и о защите информации, содержит термины и определения, относящиеся информации, к информационным системам [1];
ГОСТ 34.003-90, устанавливающий основные термины и определения основных понятий в области ИС [2];
ГОСТ 34.601-90, устанавливающий и описывающий содержание работ этапов жизненного цикла ИС [3].
Учебник А.М. Вендрова, кандидата технических наук, описываются особенности использования CASE-технологий, частые ошибки разработчиков, а также излагается суть проектирования ИС с применением CASE-средств [4].
Учебное пособие «Проектирование информационных систем на примере методов структурного системного анализа» в авторстве кандидата физико-математических наук Инюшкиной О.Г. содержит основные понятия, относящиеся к общей теории систем, проектирования, жизненного цикла проекта по разработке ИС, а также описывает объектно-ориентированную парадигму (ООП) [5].
Учебное пособие «Основы проектирования информационных систем» И.Ю. Коцюбы, в соавторстве с Чунаевым А.В. и Шиковым А.Н. излагает основные сведения о проектировании современных ИС, описывает CASE-технологии и унифицированный язык моделирования UML [6].
Учебное пособие «Основы объектно-ориентированного моделирования с использованием языка UML» Лариной Ю.А. содержит основы объектно-ориентированного моделирования с использованием языка UML [7].
В учебном пособии кандидата технических наук Сартасова Евгения Михайловича подробно рассмотрены вопросы разработки программ с применением объектно-ориентированного программирования [8].
Учебное пособие Токмакова Г.П. изложены основные понятия ИС, приводятся примеры разработки ИС с применением CASE-технологий и UML [9].
Электронный ресурс «www.omg.org» (Официальный сайт консорциума «Object Management Group») содержит спецификацию технологии UML [10].
Официальный сайт «Sparx Systems» (электронный ресурс) содержит руководство по изучению CASE-средства Enterprise Architect [11].
1. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД ПРИ ПРОЕКТИРОВАНИИ ИС
1.1 Основные понятия
Информация – некоторые сведения, либо сообщения, имеющие произвольную форму представления [1].
Система – совокупность элементов, взаимосвязанных друг с другом, зависящая от поведения каждого отдельного элемента, при этом, целостность системы разрушается при расчленении этой взаимосвязи. [5, c.8].
Данные – разновидность информации, представленная в цифровой форме на электронном носителе, предназначенной для обработки электронными вычислительными машинами и комплексом средств автоматизации [3, c.3].
Комплекс средств автоматизации (КСА) – совокупность компонентов автоматизированной системы. Пользователи и обслуживающий персонал не являются частью КСА [2].
База данных (БД) – набор данных, упорядоченных по определенным критериям и заранее организованным правилам [3, с.3].
Автоматизированная система (АС) – система, представляющая собой совокупность средств автоматизации, выполняющую установленные функции [2].
Информационная система (ИС) – разновидность АС, выполняющая сбор и хранение информации посредством баз данных, ее обработку, посредством автоматизированных функций, а также ее предоставление и распространение неопределенному кругу пользователей [1].
Архитектура информационной системы – концепция, которая устанавливает правила моделирования и структурирования ИС, а также определяет ее функции и способ взаимосвязи объектов [6, c.10].
Жизненный цикл ИС – последовательность стадий разработки, изменения состояния, эксплуатации, сопровождения и утилизации информационной системы [2] [3, c.4]. Жизненный цикл ИС состоит из 7 этапов: подготовка, проектирование, реализация, внедрение, эксплуатация, сопровождение и снятие с эксплуатации [5, c.57] [3, c.8–9].
Техническое задание на АС – документ, определяющий технические и экономические требования к АС организационные и проектные решения по созданию АС [2].
Программное обеспечение (ПО) – комплекс упорядоченных инструкций, выполненных в определённой последовательности, предназначенных для осуществления операций с данными на основе алгоритмов [3, c.4].
Объектно-ориентированное программирование – методология программирования, в основе которой лежит идея объектов, взаимодействующих друг с другом.
Объектно-ориентированное проектирование (ООП) – методология проектирования информационных систем, основанная на объектной декомпозиции, представляющей собой совокупность методов построения иерархических моделей, состоящих из объектов [7 c.6].
1.2 Принципы объектно-ориентированного проектирования ИС
Базовым понятием объектно-ориентированного проектирования является объект – набор данных и функций, принадлежащих друг к другу, объединенный в одну сущность в пространстве информационной системы. Объект – это реальная конструкция, экземпляр класса, на основе которого он создается. Класс – абстрактный тип данных, позволяющий одновременное объявление свойств (полей) и методов (функций), на основе которого строятся объекты – экземпляры класса (рисунок 1) [7, c.7] [8, c.28].
Рисунок 1. Класс
Объектно-ориентированное проектирование подразумевает объектно-ориентированную декомпозицию, в отличие от структурного проектирования, использующего поэтапную декомпозицию системы в виде иерархично структурированных процедур [5, c.159].
Объектно-ориентированное программирование базируется на трех принципах – инкапсуляции, наследования и полиморфизма [5, c.76].
В основе инкапсуляции лежит принцип, согласно которому, каждая часть системы должна изменяться только с помощью ее внутренних функций (методов) [7, c.7-8]. В объектно-ориентированном программировании важна устойчивость к изменению к коде программы, чтобы внешние объекты были не способны изменять внутреннее состояние (совокупность значений всех его свойств) какого-либо объекта. Особенно это важно при повторно используемом коде, когда классы или библиотеки, написанные одним разработчиком, используются другими. Как правило, инкапсуляция реализуется при помощи модификаторов доступа, определяющих различные уровни доступа для элементов состояния объекта (рисунок 2) [8, c.28].
Рисунок 2. Инкапсуляция. Модификаторы доступа
Класс может происходить от другого класса, включая все его основные свойства и элементы. Такой принцип построения классов называется наследованием [8, c.38] [7, c.8]. Существующий класс, на основе которого создается другой класс, называется базовым классом или суперклассом, а класс, происходящий от него, называется производным классом или дочерним классом. Данный подход позволяет существенно сократить время разработки программного обеспечения и повышает совместимость программных продуктов. Классическим примером наследования классов служит пример с геометрическими фигурами (рисунок 3).
Рисунок 3. Наследование
Если класс «фигура» представляется как базовый класс, то наследуемые фигуры представляют собой уже конкретные разновидности фигур: треугольник, окружность, куб и т.д. Свойства базового класса – расположение, цвет, размер и размерность, наследуются дочерними классами, но к этим свойствам, также, могут быть добавлены индивидуальные свойства, например, переменные для определения значений углов треугольника. Аналогично свойствам, к производным классам также возможно добавление индивидуальных функций. К примеру, вращение треугольника может происходить только в двумерной системе координат, в отличие от куба, вращение которого реализуется в трехмерном пространстве
Часто встречается ситуация, когда один и тот же метод, вызываемый у различных дочерних классов, имеет разную реализацию. К примеру, если рассматривать базовый класс «животные», то метод «дыхание» у таких производных классов, как «рыба», «кошка» и «червь» осуществляется по-своему.
Точно также классы «куб» и «шар», произведенные от класса «фигура», имеют разные методы вычисления объема. Принцип полиморфизма позволяет единообразно вызывать один и тот же метод различных по типу классов, скрытых путем инкапсуляции, когда интерфейс класса абстрагирован от способа исполнения функции. В объектно-ориентированных языках программирования полиморфизм реализуется посредством переопределения унаследованных функций дочерних классов (рисунок 4) [8, c.38-43].
Рисунок 4. Полиморфизм
2. ОБЗОР СРЕДСТВ РАЗРАБОТКИ ИС С ПОДДЕРЖКОЙ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА
2.1 Унифицированный язык моделирования UML
Unified Modeling Language (UML) – Унифицированный язык моделирования – средство объектного моделирования, поддерживаемое большинством объектно-ориентированных CASE-средств, предназначенное для графической визуализации различных систем в процессе их моделирования, в том числе ИС, [9, c.41] [6, c.184]. Данный язык был разработан консорциумом OMG (Object Management Group) в 1994г [10, c.2] [9, c.41].
Для проектирования на языке UML на основе ООП используется три модели, определяющие уровень функционирования ИС:
- Модель классов;
- Модель состояний;
- Модель взаимодействий;
Модель классов служит для описания объектов, которые являются элементами информационной системы, а также их взаимодействия. Изображается на диаграммах классов.
Модель состояний служит для описания жизненного цикла объектов, состоящего из последовательности событий и состояний данных объектов. Изображается на диаграммах состояний.
Модель взаимодействий служит для описания взаимодействий объектов между собой на протяжении всего жизненного цикла. Изображается на диаграммах прецедентов [7, c.9].
Все элементы проектируемой ИС при помощи средства UML имеют графическое представление в виде диаграмм (рисунок 5). Для объектно-ориентированного моделирования, чаще всего, используется следующий набор диаграмм [7 c.16] [6, c.195]:
- Use case diagram (Диаграммы вариантов использования);
- Class diagram (Диаграммы классов);
- Sequence diagram (Диаграммы последовательности);
- Statechart (Диаграммы состояний);
- Activity diagram (Диаграммы деятельности);
- Deployment diagram (Диаграммы развертывания).
Рисунок 5. Типы диаграмм UML
2.1.1. Диаграммы классов
Диаграммы классов – графическое представление статических элементов структуры системы. Содержит информацию о классах, их состояниях, интерфейсах, методах и отношениях с другими классами. Изображается в виде прямоугольника, разделенного внутри при помощи горизонтальных линий на отдельные секции, где указывается имя класса (рисунок 6, а), а также могут быть добавлены атрибуты класса (рисунок 6, б) и его операции (рисунок 6, в) [7, c.20-21] [10, c.75].