Здавалка
Главная | Обратная связь

Объектно-ориентированный подход к анализу и проектированию информационной системы. Унифицированный язык моделирования UML.



 

В основе ООП лежит объектная декомпозиция, статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира. Проблемы, стимулировавшие развитие ООП:

1) Повышения производит-ти разработки за счет многократного использования ПО;

2)необходимость упрощения сопровождения и модификации разработанных систем;

3)облегчение проектирования систем.

Основой ООП является объектная модель. Основными принципами ее построения являются: 1)абстрагирование; 2)инкапсуляция; 3)модульность; 4)иерархия.

Абстрагирование - это выделение важных, существенных характеристик объекта, которые отличают его от других видов объектов и определяют его концептуальные границы с точки зрения дальнейшего рассмотрения и анализа, и игнорирование незначительных деталей. Аб-е позволяет управлять сложностью системы, концентрируясь на существенных свойствах объекта. Аб-е концентрирует внимание на внешних особенностях объекта и определяет самые существенные особенности его поведения от деталей их реализации. Выбор правильного набора абстракций для заданной предметной области представляет собой главную задачу ООП.

Инкапсуляция - физическая локализация свойств и поведения в рамках единственной абстракции, скрывающая их реализацию за общедоступным интерфейсом. Это процесс отделения друг от друга отдельных элементов объекта, определяющих его устройство и поведение. Инк-я служит для изолирования интерфейса объекта, отражающего его внешнее поведение, от внутренней реализации объекта. Объектный подход предполагает, что собств-е ресурсы, кот-ми могут манипулировать только операции самого объекта, скрыты от внешней среды.

Модульность - это св-во системы, связанное с возможностью ее декомпозиции на ряд внутренне сцепленных, но слабо связанных между собой подсистем (модулей). Мод-ть снижает сложность системы, позволяя выполнять независимую разработку отд. модулей. Инкапсуляция и мод-ть создают барьеры между абстракциями.

Иерархия - это упорядоченная система абстракций, расположение их по уровням. Основными видами иерархических структур применительно к сложным системам являются структура классов и структура объектов.

Основные понятия:

Объект(осязаемая сущность) - предмет или явление, имеющие четко определяемое поведение. Объект может представлять собой абстракцию некоторой сущности предметной области или программной сис-мы. Объекты так же обладает состоянием.

Состояние объекта - одно из возможных условий, в которых он может существовать, оно изменяется со временем. Характеризуется перечнем всех возможных свойств данного объекта и текущими значениями каждого из этих свойств. Состояние объекта определяется значениями его свойств и связями с другими объектами.

Поведение - определяет действия объекта и его реакцию на запросы от других объектов. Поведение характеризует воздействие объекта на другие объекты, изменяющее их состояние. Поведение объекта полностью определяется его действиями.

Класс - это множество объектов, связанных общностью свойств, поведения, связей и семантики. Класс объединяет в себе данные (атрибуты) и поведение (операции). Класс является абстрактным определением объекта и служит в качестве шаблона для создания объектов. Любой объект является экземпляром класса.

Атрибут - поименованное свойство класса, определяющее диапазон допустимых значений, которые могут принимать экземпляры данного свойства. Это элемент информации, связанный с классом.

+Public (общий, открытый). Это значение видимости предполагает, что атрибут будет виден всеми остальными классами.

-Private (закрытый, секретный). Соответствующий атрибут не виден никаким другим классом.

#Protected (защищенный). Доступен только самому классу и его потомкам в иерархии наследования.

Определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию называется операцией. Операция - это реализация услуги, которую можно запросить у любого объекта данного класса. Операции отражают поведение объекта. Результат операции зависит от текущего состояния объекта.

Полиморфизм - это способность скрывать множество различных реализаций под единственным общим интерфейсом. Интерфейс - совокупность операций, определяющих набор услуг класса или компонента. Не определяет внутреннюю структуру, все его операции имеют открытую видимость. Полиморфизм тесно связан с наследованием. Наследование-построение новых классов на основе существующих с возможностью добавления или пере определения атрибутов и операций.

Компонент - относительно независимая и замещаемая часть системы, выполняющая четко определенную функцию в контексте заданной архитектуры.

Между элементами объектной модели существуют различные виды связей. К основным типам связей относятся связи ассоциации, зависимости и обобщения.

Ассоциация - это семантическая связь между классами. Ассоциация отражает структурные связи между объектами различных классов.

Агрегация - представляет собой форму ассоциации - более сильный тип связи между целым объектом и его частями.

Композиция – составной объект может физически содержать компонентные объекты.

Обобщение – связь «тип - подтип» реализует механизм наследования.

Зависимость– один объект зависит от другого.

Мощность связи показывает сколько объектов участвует в связи.

Унифицированный язык моделирования UML – язык для определения, представления, проектирования и документирования ПО.

Структурные модели:

1)диаграммы классов (class diagrams) - для моделирования статической структуры классов системы и связей между ними;

2)диаграммы компонентов (component diagrams) - для моделирования иерархии компонентов (подсистем) системы;

3) диаграммы размещения (deployrnent diagrams) - для моделирования физической архитектуры системы.

Модели поведения:

1) диаграммы вариантов использования (use case diagrams) - для моделирования бизнес-процессов и функциональных требований к создаваемой системе;

2) диаграммы взаимодействия (interaction diagrams): диаграммы последовательности (sequence diagrams) и кооперативные диаграммы (collaboratiol1 diagrams) - для моделирования процесса обмена сообщениями между объектами;

3) диаграммы состояний (statechart diagrams) - для моделирования поведения объектов системы при переходе из одного состояния в другое;

4) диаграммы деятельности (activity diagrams) - для моделирования поведения системы в рамках различных вариантов использования, или потоков управления.

Логическая модель (описание системы). Диаграммы:

1) прецедентов; 2) классов; 3) последовательностей;4) состояний.

Физическая модель (реализация системы). Диаграммы:

1) классов; 2) компонентов; 3) развертывания.

Вариант использования - последовательность действий (транзакций), выполняемых системой в ответ на событие, инициируемое некоторым внешним объектом (действующим лицом). Вариант использования описывает типичное взаимодействие между пользователем и системой и отражает представление о поведении системы с точки зрения пользователя.

Действующее лицо (actor) - это роль, которую пользователь играет по отношению к системе. Действующие лица (пользователи системы, внешние системы, время) представляют собой роли, а не конкретных людей или наименования работ.








©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.