Файл: Анализ и оценка средств реализации объектно-ориентированного подхода к проектированию экономической информационной системы.pdf
Добавлен: 05.04.2023
Просмотров: 367
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1. Проектирование информационных систем.
1.2 Проектирование информационных систем
1.3 Основные принципы построения ЭИС
1.4 Подходы к проектированию экономических систем
Глава 2. Объектно-ориентированный подход
2.1 Сущность объектно-ориентированного подхода
2.2 Понятия класс и объект, основные свойства объектной модели
Глава 3. Программными средства, реализующие объектно-ориентированного подход
3.2 Унифицированный язык моделирования UML
3.3 Объектно-ориентированное проектирование и его связь с другими методами проектирования
1) каждый on уровень иерархии on обозрим и on понятен без on детального знания on нижних on уровней:
2) минимизированы on связи между on элементами на on одном on уровне иерархии;
3) не on должно быть on связей между on элементами через on 1 on уровень;
4) элемент on более высшего on уровня должен on вызывать on элемент следующего on уровня как on единое целое, on передавая ему on входную on информацию;
5) элемент on следующего уровня on после окончания on своей on работы возвращает on вызывающему его on элементу управление on и результаты on работы.
В on соответствии с on перечисленными требованиями on для on компонентов функционирования on структуры можно on установить следующую on структуру on по уровням on [В. В. on Мухортов, В. Ю. Рылов ОБЪЕКТНО- ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ, АНАЛИЗ И ДИЗАЙН Методическое пособие Новосибирск 2002 с. 99]:
1) элементы on автоматизированных on подсистем;
2) элементы on автоматизированных on функций;
Комплексы on последних уровней on - это элементы on машинных процедур on и элементы on процедур, реализуемых on персоналом управления. on В on основе разработки on типовых проектов on лежат такие on принципы как on унификация on и стандартизация. on Под унификацией on понимается реализация on при on разработке программ on принципа единообразия on в методах, on средствах и on содержании, on и формах on представления информации. on [В. В. Мухортов, В. Ю. Рылов ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ, АНАЛИЗ И ДИЗАЙН Методическое пособие Новосибирск 2002 с. 55].
Структурный on подход в on полном объеме, on основанный на on функциональном моделировании on систем (модели on SADT диаграммы on типа IDEF0) on и on на моделировании on данных и on их отношений on (модели ERD). on Такой on подход позволяет on автоматизировать разработку on информационной системы on до on более глубокого on уровня с on описанием структур on данных и on их отношений on (уровень датологического on проектирования информационной on системы).
Объектно-ориентированный on подход, позволяющий on описывать on все функции, on связи, события, on входные и on выходные данные on и процессы on их преобразований on с позиций on объектно-ориентированного on подхода on на специальном on языке UML [Буч Г., on Рамбо Д., on Якобсон И. on Язык on UML. Руководство on пользователя Издательский on дом «Вильямс», on 2010. с. 23]. При объектном on методе проектирования on в качестве on типизируемого on элемента выступает on система управления on объектом в on целом т.е. on создается типовой on проект ЭИС, on обобщенного объекта on из некоторого on класса объектов on управления.
Вывод: on В результате on работы над on первой главой on ознакомились on с определением on ЭИС, методами on проектирования ИС, on достоинствами on и недостатками on различных методов on проектирования.
Глава 2. Объектно-ориентированный подход
2.1 Сущность объектно-ориентированного подхода
Структурный анализ (Structured Analysis, SA) и структурное проектирование (Structured Design, SD) – результат появившегося в 1970-х структурного программирования, развивался из классического системного анализа. Сравнительно позже появились и стали невероятно популярны объектно-ориентированные языки. По мере нарастания их популярности была разработана методология помощи программисту в разработке приложений с использованием объектно-ориентированных языков. Эта методология стала известна как объектно-ориентированный анализ и проектирование (оbject-oriented analysis and design, OOAD) [В.В. Мухортов, В.Ю. Рылов ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ, АНАЛИЗ И ДИЗАЙН Методическое пособие Новосибирск 2002 с. 245]. OOAD – это подход к инженерии ПО, моделирующий систему как группу взаимодействующих объектов. Объектно-ориентированный анализ (Objectoriented analysis, OOA) использует методы объектного моделирования для анализа функциональных требований к системе. Объектно-ориентированное проектирование, ООП (Object-oriented design, OOD) разрабатывает аналитические модели для создания спецификаций реализации (например, ТЗ). Концептуальной основой OOП является объектная модель, которая строится с учетом принципов абстрагирования, инкапсуляции, модульности, иерархии, типизации, параллелизма, устойчивости. Основными понятиями объектно-ориентированного подхода являются объект и класс. Объект – представляет собой определенную сущность, соответствующую значимому предмету или явлению предметной области, характеризуется классом, состоянием (state (data elements)) и поведением [Буч Г., Рамбо Д., Якобсон И. Язык UML. Руководство пользователя Издательский дом «Вильямс», 2010. с. 134]. Для этих взаимодействующих (collaborating) между собой объектов можно создать различные модели, характеризующие статическую структуру, динамическое поведение и развертывание в действии (run-time deployment). Класс – это множество объектов, связанных общностью структуры и поведения. Следующую группу важных понятий объектного подхода составляют полиморфизм (способность класса принадлежать более чем одному типу) и наследование (построение новых классов, на основе существующих с возможностью добавления или переопределения данных и методов) [В.В. Мухортов, В.Ю. Рылов ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ, АНАЛИЗ И ДИЗАЙН Методическое пособие Новосибирск 2002 с. 178]. На сегодняшний день существует более тридцати объектно-ориентированных методов проектирования (например, IDEF4 – Object-Oriented Design – методология ООП, позволяющая отображать структуру объектов и принципы их взаимодействия) с множеством различных нотаций представления объектных моделей.
Преимущества объектно-ориентированных методологий:
- упрощение и ускорение программной реализации системы по сравнению со структурными методологиями;
- повторное использование кода в других проектах, благодаря независимости объектов и инкапсуляции, что сокращает стоимость проектирования, программирования и проверки; повторное использование кода может способствовать улучшению качества последующих проектов [Буч Г., Рамбо Д., Якобсон И. Язык UML. Руководство пользователя Издательский дом «Вильямс», 2010. с. 134]; отсутствие разделения между фазами анализа и разработки обеспечивает взаимодействие с пользователями до самого конца проекта; аналитики и программисты не связаны ограничениями внедрения системы, поэтому могут формулировать проекты, которые будут соответствовать различным средам исполнения; программное обеспечение устойчиво к изменениям, что обеспечивает более высокий уровень уверенности в его корректности, способствуя снижению рисков при разработке сложных систем; те преимущества, которые представляет объектно-ориентированное программирование по сравнению со структурным: при разработке объектов со сложным взаимодействием, аналитик думает на ином уровне детализации, чем это возможно в структурном коде, т.е. об атрибутах объекта; стандартизация объектов увеличивает степень понимания проекта [Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем: Учебник/; Под ред. Ю.Ф. Тельнова. - М: Финансы и статистика, 2003 с. 345]
Недостатки объектно-ориентированных методологий:
- изначальная модель слишком упрощена для того, чтобы быть адекватной;
- чрезмерная фокусировка на коде;
- не так много внимания уделяется командной работе, как в структурных методологиях;
- определение всех необходимых для системы классов и объектов – это не такая, на самом деле, простая задача;
- попытка сочетания объектного программирования с анализом различных функций системы; однако, эти функциональные методы совершенно не соответствуют OOAD [В.В. Мухортов, В.Ю. Рылов ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ, АНАЛИЗ И ДИЗАЙН Методическое пособие Новосибирск 2002 с. 179];
- преувеличение значимости и универсальности объектной методологии, когда, фактически, другой подход мог бы подойти лучше для анализа и разработки системы в зависимости от конкретных обстоятельств;
- требует новый вид управления проектами, который включает различные типы анализа, отличные от традиционного функционального подхода декомпозиции.
- функциональное описание системы в UML основано на сценариях использования, которые подходят для документирования требований, не основанных на взаимодействии с системой (таких как алгоритм или математические требования) или нефункциональных требований (такие как платформа, производительность, синхронизация, безопасность); следование шаблонам не гарантирует качества сценариев, качество зависит только от навыков создателя сценария;
- объектный подход к моделированию данных при том, что большинство ИС используют реляционные модели; [О.Г. Инюшкина Проектирование информационных систем (на примере методов структурного системного анализа) Учебное пособие Научный редактор Матвеева Татьяна Анатольевна Екатеринбург Издательство «Форт-Диалог Исеть» 2014 с. 256]. ИС чаще разрабатываются через комбинацию объектно-ориентированных языков программирования и реляционных баз данных.
В процессе объектно-ориентированного анализа основное внимание уделяется определению и описанию объектов в терминах предметной области. Основная идея объектно-ориентированного анализа и проектирования состоит в рассмотрении предметной области и логического решения задачи с точки зрения объектов [В.В. Мухортов, В.Ю. Рылов ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ, АНАЛИЗ И ДИЗАЙН Методическое пособие Новосибирск 2002].
В процессе проектирования определяются логические программные объекты, которые будут реализованы средствами объектно-ориентированного языка программирования.
В процессе конструирования обеспечивается реализация основных компонентов средствами объектно-ориентированных языков программирования.
Объектно-ориентированный подход использует объектную декомпозицию. При этом статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира.
2.2 Понятия класс и объект, основные свойства объектной модели
Понятие объект впервые было использовано около 30 лет назад в технических средствах при попытках отойти от традиционной архитектуры фон Неймана и преодолеть барьер между высоким уровнем программных абстракций и низким уровнем абстрагирования на уровне компьютеров. С объектно-ориентированной архитектурой также тесно связаны объектно-ориентированные операционные системы. Однако наиболее значительный вклад в объектный подход был внесен объектными и объектно-ориентированными языками программирования: Simula, Smalltalk, С++, Object Pascal [В.В. Мухортов, В.Ю. Рылов ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ, АНАЛИЗ И ДИЗАЙН Методическое пособие Новосибирск 2002]. На объектный подход оказали влияние также развивавшиеся достаточно независимо методы моделирования баз данных, в особенности подход сущность – связь [Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем: Учебник/; Под ред. Ю.Ф. Тельнова. - М: Финансы и статистика, 2003 с. 166].
Концептуальной основой объектно-ориентированного подхода является объектная модель. Основными ее элементами являются:
- абстрагирование;
- инкапсуляция;
- модульность;
- иерархия.
Кроме основных, имеются еще три дополнительных элемента, не являющихся в отличие от основных строго обязательными:
- типизация;
- параллелизм;
- устойчивость.
Абстрагирование – это выделение существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов и, таким образом, четко определяют его концептуальные границы относительно дальнейшего рассмотрения и анализа [Мацяшек Л.А. Анализ требований и проектирование систем. Разработка информационных систем с использованием UMLМ./ Л.А Мацяшек: Издательский дом «Вильямс», 2002. с. 349]. Абстрагирование концентрирует внимание на внешних особенностях объекта и позволяет отделить самые существенные особенности его поведения от деталей их реализации. Выбор правильного набора абстракций для заданной предметной области представляет собой главную задачу объектно-ориентированного проектирования.
Принцип абстрагирования реализуется в ряде методов при решении задач с использованием объектной модели. В литературе можно встретить разные определения и расшифровки того, что понимается под термином абстрагирование. Хорошей является такая абстракция, которая подчеркивает детали, существенные для рассмотрения и использования, и опускает те, которые на данный момент несущественны». Если объединить эти точки зрения, получим определение абстракции [Буч Г., Рамбо Д., Якобсон И. Язык UML. Руководство пользователя Издательский дом «Вильямс», 2010. с. 168]: Абстракция выделяет существенные характеристики некоторого объекта, отличающие его от всех других видов объектов и, таким образом, четко определяет его концептуальные границы с точки зрения наблюдателя. Абстрагирование концентрирует внимание на внешних характеристиках объекта и позволяет отделить наиболее существенные особенности его поведения от менее существенных. Граница между существенными и несущественными с точки зрения разрабатываемой программной системы особенностями поведения объекта называется барьером абстракции. Последний определяется исходя из принципа минимизации связей, согласно которому интерфейс объекта должен описывать только существенные аспекты поведения [Буч Г., Рамбо Д., Якобсон И. Язык UML. Руководство пользователя Издательский дом «Вильямс», 2010. с. 155]. Так же следует соблюдать принцип наименьшего удивления. Следуя ему абстракция должна охватывать только поведение описываемого ей объекта, и, соответственно, не привносит сюрпризов и побочных эффектов, лежащих вне сферы ее применимости. Выделение полного и достаточного набора абстракций при решении задачи с применением объектного подхода представляет собой главную задачу объектно-ориентированного проектирования. Во время разработки программной системы могут появляться абстракции разных категорий, начиная с объектов, которые почти точно соответствуют реалиям предметной области, и кончая объектами, целесообразность использования которых сомнительна [В.В. Мухортов, В.Ю. Рылов ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ, АНАЛИЗ И ДИЗАЙН Методическое пособие Новосибирск 2002 с. 233].