Файл: Объектно-ориентированные методы анализа и проектирования ПО.pdf
Добавлен: 15.05.2023
Просмотров: 344
Скачиваний: 3
СОДЕРЖАНИЕ
1. Объектно-ориентированные методы анализа и проектирования ПО
1.1 Основные принципы построения объектной модели
1.2 Основные элементы объектной модели
1.3 Преимущества и недостатки объектно-ориентированного подхода к проектированию
2. Методология объектного проектирования на языке UML
2.1 Унифицированный язык моделирования UML
2.2 Диаграмма вариантов использования (use case diagram)
2.3 Диаграмма классов (use case diagram)
2.4 Диаграммы взаимодействия (interaction diagrams)
3. Средства реализации объектно-ориентированного моделирования информационных систем
3.2 Sparx Systems Enterprise Architect
Введение
Рост спроса на программные системы в наше время является следствием того, что по мере удешевления, повышения надежности и увеличения объема производства компьютеров автоматизация труда человека с помощью компьютера становится все более выгодной. Из года в год возрастает сложность и разнообразие систем, получивших в международной научно-технической практике название систем, интенсивно использующих программное обеспечение (Software Intensive Systems, SIS). Для разработок SIS типичны крупномасштабные проекты: десятки или сотни разработчиков, месяцы или годы разработки, огромные денежные средства.
Производство программного обеспечения в наше время является крупнейшей отраслью мировой экономики, в которой заняты миллионы специалистов, непосредственно производящих программные продукты или участвующие в этом процессе [20., с.11].
Накопленный к настоящему времени опыт создания программного обеспечения информационных систем показывает, что это сложная и трудоемкая работа, связанная с масштабами разработки, изменяющимися условиями внешних и внутренних факторов предметной области разработки, требующая высокой квалификации участвующих в ней специалистов.
Целью проектирования информационных систем (ИС) является обеспечение эффективного функционирования систем, а также взаимодействия пользователей и разработчиков ИС. Именно качественное проектирование обеспечивает создание такой системы, которая способна функционировать при постоянном совершенствовании ее технических, программных, информационных составляющих и расширять спектр реализуемых управленческих функций [19., с.37].
При проектировании информационных систем используется 2 подхода: функционально-модульный, являющийся частью более общего структурного подхода и объектно-ориентированный, использующий объектную декомпозицию. При этом структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами [10., с.106].
С появлением объектно-ориентированного программирования представление программ получило наиболее удобный для понимания программистов вид - иерархия классов объектов. Такое представление отчасти соответствует способу человеческого мышления, что привело к созданию объектно-ориентированного анализа и проектирования как способа изучения предметных областей для их дальнейшего описания с помощью CASE- средств. Развитие и широкое применение средств объектно-ориентированного анализа обусловило выбор и актуальность темы курсовой работы.
Целью курсовой работы является изучение объектно-ориентированного подхода и средств его реализации при проектировании информационных систем.
Задачи курсовой работы:
- рассмотреть основные понятия и принципы построения объектных моделей;
- изучить объектно-ориентированные методы анализа и проектирования программных систем;
- рассмотреть основы унифицированного языка моделирования UML и построения диаграмм UML;
- проанализировать средства реализации объектно-ориентированного подхода при проектировании информационных систем.
1. Объектно-ориентированные методы анализа и проектирования ПО
1.1 Основные принципы построения объектной модели
Информационная система — взаимосвязанная совокупность средств, методов и персонала, используемых для сбора, хранения, обработки и выдачи информации в целях решения поставленных задач. Информационные системы необходимы в процессе принятия решений, они помогают анализировать проблемы и создавать новые продукты [10, с.15].
«Автоматизированная система — система, состоящая из персонала и комплекса средств автоматизации его деятельности, реализующая информационную технологию выполнения установленных функций» (ГОСТ 34.003-90) [11.].
Индустрия разработки автоматизированных информационных систем управления зародилась в 1950 -1960-х гг. и к концу века приобрела вполне законченные формы. На первом этапе основным подходом в проектировании систем был метод «снизу-вверх», когда система создавалась как набор приложений, наиболее важных в данный момент для поддержки деятельности предприятия. Следующий этап связан с тем, что системы начали проектироваться «сверху-вниз», т.е. в предположении, что одна программа должна удовлетворять потребности многих пользователей [23., с.17].
Проектирование информационной системы — это процесс создания и внедрения проектов комплексного решения задач предметной области по новой технологии. В проектирование включается детальная разработка отдельных проектных решений, их анализ, апробация и внедрение [24., с.24].
В основе проектирования информационной системы лежит моделирование некоторой предметной области. Чтобы получить адекватный предметной области проект в виде системы корректно работающих программ, необходимо иметь целостное, системное представление модели, отражающее все аспекты функционирования будущей ИС. При этом под моделью предметной области понимается некоторая система, которая имитирует структуру или функционирование исследуемой предметной области и отвечающая основному требованию — быть адекватной этой области. Предварительное моделирование предметной области позволяет сократить время и сроки проведения проектировочных работ и получить более эффективный и качественный проект. [23, с.93].
Методологии, технологии и инструментальные средства проектирования (CASE-средства) составляют основу проекта любой системы. Методология реализуется через определенные технологии и их поддерживающие стандарты, методики и инструментальные средства, которые обеспечивают выполнение всех процессов жизненного цикла ИС.
Процесс бизнес-моделирования предметной области ИС может быть реализован в рамках различных методик, отличающихся своим подходом к тому, что представляет собой предметная область. Методики моделирования ИС принято делить на объектные и функциональные (структурные).
Функциональные методики, наиболее известной из которых является методика IDEF, рассматривают организацию как набор функций, преобразующий поступающий поток информации в выходной поток. Основное отличие от объектной методики заключается в четком отделении функций (методов обработки данных) от самих данных.
Объектные методики рассматривают моделируемую организацию как набор взаимодействующих объектов – производственных единиц. Объект определяется как осязаемая реальность – предмет или явление, имеющие четко определяемое поведение. Целью применения данной методики является выделение объектов, составляющих организацию, и распределение между ними ответственностей за выполняемые действия [3., с.114].
С точки зрения моделирования бизнес-процессов каждый из данных подходов обладает своими преимуществами. Объектный подход позволяет построить более устойчивую к изменениям систему, которая лучше соответствует существующим в организации структурам. Функциональное моделирование хорошо показывает себя в тех случаях, когда организационная структура находится в процессе изменения или слабо оформлена [6., с.206].
Концептуальной основой объектно-ориентированного подхода является объектная модель, которая строится с учетом следующих основополагающих принципов: абстрагирование; модульность; инкапсуляция; иерархия; параллелизм; типизация; устойчивость.
Важным преимуществом объектного подхода является согласованность модели деятельности организации и модели проектируемой информационной системы от стадии формирования требований до стадии реализации. По объектным моделям может быть отслежено отображение реальных сущностей моделируемой предметной области в объекты и классы ИС [7., с.134].
В основе объектно-ориентированного подхода (ООП) анализа и проектирования информационных систем лежит объектная декомпозиция, при этом статическая структура ИС описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира.
Среди проблем, стимулировавших развитие ООП, можно выделить:
- необходимость увеличения производительности разработки ИС за счет многократного (повторного) использования программных кодов;
- необходимость упрощения сопровождения и модификации разработанных программных средств;
- облегчение проектирования ИС за счет сокращения семантического разрыва между структурой решаемой задачи и структурой программного обеспечения [8., с.163].
1.2 Основные элементы объектной модели
Объектный подход был создан почти 50 лет назад, значительный вклад был внесен ООП-языками программирования: Simulа (1967), Smalltаlk (1970-е гг.), C++ (1980-е гг.), с развитием языка моделирования UML (1990-е гг.). На объектный подход также оказали влияние развивавшиеся достаточно независимо методики моделирования данных, в особенности модель «сущность-связь» [24., с.96].
В центре ООП находятся понятие объекта и класса. Объект — это сущность, которой можно посылать сообщения, и которая может на них реагировать, используя свои данные. К основным понятиям объектно-ориентированного подхода (элементам объектной модели) относятся также следующие (таблица 1) [12., с.28].
Таблица 1 - Основные понятия в ООП
|
Понятие |
Определение |
|
Объекты |
Определенный предмет, блок или сущность (реальная или абстрактная), имеющая важное функциональное назначение в данной предметной области |
|
Класс |
Подмножество объектов с одинаковыми свойствами, методами, поведением |
|
Состояние объекта |
Одно из возможных условий, в которых может существовать объект, оно изменяется со временем. Свойства объекта (атрибуты) - переменные, которые влияют на состояние объекта |
|
Поведение объекта |
Определяет действия объекта и его реакцию на запросы от других объектов. Поведение характеризует воздействие объекта на другие объекты, изменяющее их состояние. Поведение представляется с помощью набора сообщений, воспринимаемых объектом (операций). |
|
Атрибут |
Поименованное свойство класса, определяющее диапазон допустимых значений, которые могут принимать экземпляры данного свойства |
|
Полиморфизм |
Свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта |
Концептуально объектно-ориентированная методология опирается на следующие основные принципы.
1) Абстрагирование - выделение таких существенных характеристик объектов, которые отличают его ото всех других объектов и которые четко определяют особенности данного объекта с точки зрения дальнейшего рассмотрения и анализа. Минимальной единицей абстракции в является класс.
2) Инкапсуляция определяет явные барьеры между различными абстракциями, скрывает внутреннее устройство объекта и не позволяет объектам-пользователям различить (и использовать) особенности его внутреннего устройства. Абстракция определяет интерфейс объектов класса. Инкапсуляция определяет реализацию объектов класса
3) Ограничение доступа – это процесс защиты отдельных элементов объекта, не затрагивающий существенных характеристик объекта, как целого.
4) Модульность - свойство системы, связанное с возможностью декомпозиции на ряд тесно связанных частей (модулей). Модульность опирается на дискретное программирование объектов, которые можно модернизировать или заменять, не воздействуя на другие объекты и систему в целом.
5) Существование иерархий – это ранжирование, упорядочивание по некоторым правилам объектов системы.
Кроме основных, имеется три дополнительных элемента:
- Типизация - описание в тексте системы типов всех объектов;
- Параллелизм - свойство объектов находиться в активном, либо пассивном состоянии.
- Сохраняемость или устойчивость (persistence) - свойство объектов сохранять свое состояние и принадлежность к какому-то классу [23.19., с.185].
Для создания моделей анализа и проектирования объектно-ориентированных программных систем используют языки визуального моделирования, самым популярным из которых на сегодняшний день является язык UML. Спецификация разрабатываемого программного обеспечения при использовании UML объединяет несколько моделей: логическую, использования, реализации, процессов, развертывания [9., с.133].
1.3 Преимущества и недостатки объектно-ориентированного подхода к проектированию
Достоинства объектно-ориентированного подхода (ООП) к проектированию ИС заключаются в следующем:
- объектная декомпозиция дает возможность создавать программные системы меньшего размера путем использования общих механизмов, обеспечивающих необходимую экономию выразительных средств. Использование ООП существенно повышает уровень унификации разработки и пригодность для повторного использования не только ПО, но и проектов, что в конце концов ведет к сборочному созданию ПО;