Файл: Применение объектно–ориентированного подхода при проектировании информационной системы.pdf
Добавлен: 25.04.2023
Просмотров: 59
Скачиваний: 2
СОДЕРЖАНИЕ
1. Объектно–ориентированный подход
1.1. Характеристика объектно–ориентированного подхода
1.2. Понятия объектно–ориентированного подхода
2. Применение объектно–ориентированного подхода при проектировании
2.1. Анализ достоинств и недостатков объектно–ориентированного подхода
2.2. Методологии, применяемые в процессе реализации объектно–ориентированного подхода
ВВЕДЕНИЕ
Современные технологии многогранны и сложны, и их применение и эффективное использование не было бы возможно даже представить без современного пользовательского интерфейса. Так, сегодня аппаратные и программные средства обработки информации становятся все более совершенными, одновременно предлагая все большую функциональность и все большую направленность на пользователя.
Также сегодня важно, что упрощается и сам процесс программирования – программные среды и продукты, предназначенные для создания новых программ становятся все более универсальными, благодаря чему и навыки специалистов в некоторой степени унифицируются. Этому, в частности, способствовал объектно–ориентированный подход к проектированию информационной системы, который позволяет не просто создавать максимально удобные и интуитивно понятные программные продукты (в частности – автоматизированные информационные системы), но и сделать сам процесс проектирования более приятным, интуитивно понятным и простым.
Как и любой другой подход к проектированию информационной системы, объектно–ориентированный подход обладает некоторыми характеристиками, особенностями, достоинствами и недостатками, которые следует проанализировать перед тем, как отдавать предпочтение данному или любому другому подходу.
Таким образом, цель исследования: рассмотрение особенностей применения объектно–ориентированного подхода при проектировании информационной системы. Для достижения поставленной цели необходимо выполнить следующие задачи:
- охарактеризовать объектно–ориентированный подход;
- рассмотреть основные понятия объектно–ориентированного подхода;
- проанализировать достоинства и недостатки объектно–ориентированного подхода;
- осуществить краткий обзор методологий, применяемых в процессе реализации объектно–ориентированного подхода.
Структура работы включает в себя две главы, каждая из которых содержит два параграфа. Кроме того, в структуру работы включены такие элементы, как оглавление, введение, заключение и список источников.
Теоретической базой работы выступили источники, перечисленные в списке литературы – работы авторов, завоевавших упорным трудом и глубокими публикациями уважение и доверие в научном сообществе. В частности, в контексте данной работы используются публикации, освещающие проблему процесса проектирования информационной системы, различных систем, программ и подходов к программированию.
1. Объектно–ориентированный подход
1.1. Характеристика объектно–ориентированного подхода
Как следует из названия, объектно-ориентированный подход к проектированию программного обеспечения и, в частности, информационных систем, в первую очередь характеризуется применением объектно-ориентированных моделей и методологий. Так, в понятие объектно-ориентированного подхода входят две основных характеристики:
- объектно–ориентированные методологии (технологии) разработки программных систем;
- инструментальные средства, поддерживающие эти технологии [12].
Известно, что при разработке того или иного программного продукта формируется определенный тип жизненного цикла проекта. Так, применение объектно-ориентированного подхода к разработке может быть осуществлено с самого начала – на первом этапе жизненного цикла. При этом важно отметить, что объектно-ориентированная разработка не связывается конкретно с языком программирования, который планируется использовать для реализации программного продукта. Иначе говоря, при разработке объекты являются только определенными формальными конструкциями, на данном этапе никаким образом не связанные с их будущей реализацией.
Также одной из важнейших характеристик объектно-ориентированного подхода является методология. Объектно-ориентированная методология, как правило, поддерживается специализированными программными средствами. Тем не менее, их применение и без подобных средств остается полезным – изучение объектно-ориентированных методологий дает возможность как следует изучить разные стороны, характеристики и свойства программы, которая должна быть реализована. И, как следствие, упрощается и сам процесс реализации, тестирования, отладки и исправления ошибок, а также всех последующих этапов разработки продукта.
В объектно-ориентированном подходе к проектированию информационной системы есть несколько базовых характеристик. В частности, это такие составляющие как:
- унифицированный процесс;
- унифицированный язык моделирования;
- шаблоны проектирования.
Унифицированный процесс представляет собой процесс разработки программного обеспечения (ПО), обеспечивающий наиболее стройный и структурированы подход к распределению задач и функций между исполнителями. Унифицированный процесс касается всего жизненного цикла ПО полностью – от определения требований и до сопровождения. Так, унифицированный процесс является некоторым каркасом, фундаментом, применяемым для разработки и сопровождения не одного продукта, а целой группы систем [9].
UML – язык, применяемый для определения, визуализации и конструирования моделей системы в виде диаграмм и документов на основе объектно–ориентированного подхода. [9].
Нa cтaдиях aнaлизa и проектирования часто используются так называемые шаблоны (пaттeрны) прoeктирoвaния. Шaблoн – это именованная пара «проблема/решение», содержащая готовое oбoбщeннoe рeшeниe типичнoй проблемы [7]. Как правило, шаблон помимо текстового oпиcaния coдeржит тaкжe одну или несколько диаграмм UML (например, диаграммы клaccoв, пocлeдoвaтeльнocти и/или коммуникации), графически иллюстрирующих состав и структуру классов, a тaкжe ocoбeннocти их взаимодействия при решении поставленной проблемы. Шаблоны рaзрaбaтывaютcя oпытными прoфeccиoнaлaми и являются проверенными, эффективными (порой оптимальными) решениями [7].
1.2. Понятия объектно–ориентированного подхода
Термин «объект» или эквивалентные ему понятия появились практически независимо в различных областях, связанных с компьютерами, в процессе разработки [11]:
- архитектуры компьютеров (Burroughs 5000, Plessey 250, IBM System/38, Intel 432);
- объектно–ориентированных операционных систем (Plessey/System 250, Secure UNIX, StarOS, iMax);
- объектно–ориентированных языков программирования (Simula, Smalltalk, Modula);
- теории баз данных (модели «сущность–связь»);
- систем искусственного интеллекта (фреймы).
При разработке программного обеспечения термин «объект» впервые был введен Оле–Джоаном Далем, Бьорном Мюрхогом и Кристеном Ныгардом из Норвежского вычислительного центра (г. Осло). Они разработали язык Simula 67, созданный на основе языка Algol–60 и предназначенный для моделирования и описания сложных систем. Однако по–настоящему широкое внедрение этой идеи произошло при разработке языка SmallTalk в 1990 г. Аланом Кейем из Исследовательского центра фирмы Xerox (г. Пало–Альто). В SmallTalk использовались только объектно–ориентированные конструкции.
Объект – это абстракция реальной или воображаемой сущности с четко выраженными концептуальными границами, индивидуальностью (идентичностью), состоянием и поведением [7].
Абстракция – форма познания, основанная на мысленном выделении существенных свойств и связей предмета и отвлечении от других, частных его свойств и связей [3]. При этом «существенное» и «частное» должны рассматриваться с точки зрения решаемой задачи (предметной области). В объектно–ориентированном подходе абстракция – это модель сущности, описывающая ее свойства и поведение.
Примерами реальных (физических, осязаемых) сущностей могут служить поезд, стрелочный перевод или инженер службы пути, а воображаемых – технология проведения капитального ремонта пути или оптимальная траектория движения поезда (режимы и скорость в зависимости от текущего положения поезда на участке). Индивидуальность – это свойство сущности, с помощью которого ее можно отличить от других.
Для концептуальной группировки однотипных объектов в объектно–ориентированном подходе используется понятие «класс». Класс – это множество объектов, имеющих общую структуру и поведение [14]. Таким образом, класс – это шаблон, на основе которого генерируются (создаются) однотипные объекты. В качестве синонима понятия «объект» часто употребляют понятие «экземпляр класса».
Каждый класс и соответственно объект характеризуются строго определенным набором атрибутов и методов. Текущие значения атрибутов четко определяют текущее состояние объекта. Набор методов и их алгоритмическая реализация определяют поведение объекта (класса объектов).
Говоря об объектно–ориентированном подходе, в первую очередь отмечают наследование, инкапсуляцию и полиморфизм. Эти механизмы и принципы проектирования более естественно и полно реализованы в объектно–ориентированном подходе по сравнению со структурным.
Наследование – принцип, в соответствии с которым знание об общей категории разрешается применять для более узкой. Применительно к классам это означает, что дочерний класс (узкая категория) полностью включает в себя (наследует) все (разрешенные) атрибуты и методы, определенные в родительском классе (общей категории). При этом в дочернем классе могут быть определены дополнительные атрибуты и методы [6].
Инкапсуляция (информационная закрытость) – принцип, в соответствии с которым содержание внутреннего устройства элементов системы должно быть скрыто друг от друга. Этот принцип предписывает обмен информацией между объектами системы только в минимально необходимом объеме, ограничение доступа к атрибутам и методам объектов (классов) со стороны других объектов (классов) и полное скрытие алгоритмической реализации методов от других объектов (классов).
Полиморфизм – принцип построения элементов модели так, чтобы они могли принимать различные внешние формы или функциональность (поведение) в зависимости от обстоятельств. Например, методы draw() (нарисовать) или calculateS() (рассчитать площадь) для классов «круг» и «ромб», определенных путем наследования атрибутов и методов родительского класса «фигура», алгоритмически должны быть реализованы по–разному [6].
С учетом приведенных выше определений сущность объектно–ориентированного подхода к анализу и проектированию информационных систем заключается в декомпозиции системы на классы, которые соответствуют однотипным объектам предметной области, и построении из них иерархии в виде ориентированного графа с использованием отношений композиции и наследования.
2. Применение объектно–ориентированного подхода при проектировании
2.1. Анализ достоинств и недостатков объектно–ориентированного подхода
Оценим объектно–ориентированный подход в соотношении с не менее известным структурным подходом.
Главный недостаток структурного подхода заключается в следующем: процессы и данные существуют отдельно друг от друга (как в модели деятельности организации, так и в модели программной системы), причем проектирование ведется от процессов к данным. Таким образом, помимо функциональной декомпозиции, существует также структура данных, находящаяся на втором плане.
В объектно–ориентированном подходе основная категория объектной модели – класс – объединяет в себе на элементарном уровне как данные, так и операции, которые над ними выполняются (методы). Именно с этой точки зрения изменения, связанные с переходом от структурного к объектно–ориентированному подходу, являются наиболее заметными. Разделение процессов и данных преодолено, однако остается проблема преодоления сложности системы, которая решается путем использования механизма компонентов.
Данные по сравнению с процессами являются более стабильной и относительно редко изменяющейся частью системы. Отсюда следует главное достоинство объектно–ориентированного подхода, которое Гради Буч сформулировал следующим образом: объектно–ориентированные системы более открыты и легче поддаются внесению изменений, поскольку их конструкция базируется на устойчивых формах. Это дает возможность системе развиваться постепенно и не приводит к полной ее переработке даже в случае существенных изменений исходных требований [1].