Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PiRIS_mobile.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.45 Mб
Скачать

13. Преимущества объектной модели от моделей структурного анализа, проектирования и программирования.

Во-первых, объектная модель позволяет в полной мере использовать выразительные возможности объектно-ориентированных языков программирования.

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

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

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

Вычислительна платформа .NET развивает и расширяет идеи компонентного программирования, заложенные в основу архитектуры СОМ. В рамках платформы .NET выделяют три фундаментальные компонентные модели:

  • Модель взаимодействия управляемых моделей, исполняющихся в среде CLR. Эта модель в наибольшей степени близка к СОМ, поскольку при ее реализации основной акцент делается на преодолении ряда проблем, присущих именно СОМ.

  • Модель взаимодействия компонентов Web-приложений на основе архитектуры ASP .NET (Active Server Pages).

  • Модель распределенного компонентного программирования, ориентированного на XML Web-сервисы. В рамках этой модели реализуется взаимодействие удаленных компонентов, исполняющихся на разных платформах, на базе протокола SOAP.

14. Природа классов и объектов объектной модели, взаимоотношения между ними; состояние, поведение и идентичность объектов на примере Вашей курсовой работы.

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

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

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

Идентичность – это такое свойство объекта, которое отличает его от всех других объектов.

Объект – это переменная абстрактного типа данных, которая состоит из приватных данных и из процедур, которые оперируют этими данными.

Объект – абстракция данных, имеющая интерфейс в виде именованных операций и собственные данные с ограничением доступа к ним.

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

Объект типа – содержит ссылку на класс, который реализует данный тип (интерфейс).

Объект-экземпляр. Объект – это экземпляр (instance) некоторой сущности. Он может быть одним из множества экземпляров одной и той же сущности. Общее описание «сущности» называется классом.

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

Рис. 4.1. Спецификация объекта

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

Рис. 4.2 иллюстрирует потоки сообщений между четырьмя объектами. Сообщение – это имя операции объекта – приемника, причем сообщение может принимать параметры. Объект Заказ предписывает объекту Поставка доставить заказ. Для этого объект Поставка инструктирует объект Склад о необходимости вычесть соответствующее количество товаров. Затем объект Склад анализирует новый уровень Запаса и, если он оказывается ниже определенного значения, предписывает объекту Покупка сделать повторный заказ дополнительного объема товаров.

Рис. 4.2. Кооперация объектов

В сценариях взаимодействия объектов выделяются объекты – клиенты и объекты – сервера, которые выполняют роли Актора, Агента и Сервера. Возможны пять видов операций объекта – клиента над объектом – сервер:

1) Модификатор – изменяет состояние объекта – сервера.

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

3) Селектор – произвольный доступ к состоянию объекта – сервера без изменения его состояния.

4) Конструктор – создает объект и инициализирует его состояние.

5) Деструктор – разрушает объект и освобождает занимаемую им память.

Примеры следующих сообщений: УменьшитьКоличествоТовара() – это модификатор; ПоказатьУровеньЗапаса() –это селектор; ПоказатьАссортиментТоваров () – это итератор; СоздатьОбъект(параметры) – это конструктор; УничтожитьОбъект() – это деструктор.

Отношения между объектами

Сами объекты не представляют никакого интереса: только в процессе взаимодействия объектов реализуется система (Самолет, по определению – совокупность элементов, каждый из которых по своей природе стремится упасть на землю, но за счет совместных, непрерывных и согласованных усилий всех своих компонентов, он летит [3]). Отношения двух любых объектов основываются на предположениях, которыми один обладает относительно другого: об операциях, которые можно выполнять, и об ожидаемом поведении. Особый интерес для объектно-ориентированного анализа и проектирования представляют два типа иерархических отношений объектов:

  • Связи.

  • Агрегация.

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

  • Актор. Объект – Актор может воздействовать на другие объекты, но сам никогда не подвергается воздействию других объектов; в определенном смысле это соответствует понятию активный объект. Актор – это исполнитель ролей (Actor – это просто деятель, исполнитель).

  • Сервер. Объект – сервер может подвергаться воздействию со стороны других объектов, но он никогда не выступает в роли воздействующего объекта.

  • Агент. Такой объект - агент может выступать как в активной, так и в пассивной роли; как правило, объект–агент создается для выполнения операций в интересах какого-либо объекта - актора или агента.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]