Объект как фундаментальное понятие объектно-ориентированных методов. Дайте определение состояния, поведения и уникальной идентичности объектов.



Объектно-ориентированные методы. Дайте определение объектно-ориентированного программирования, объектно-ориентированного проектирования и объектно-ориентированного анализа.

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

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

Объектно-ориентированный анализ — это методология, при которой требования к системе воспринимаются с точки зрения классов и объектов, выявленных в предметной области.

Эволюция объектно-ориентированных языков программирования.

Вегнер сгруппировал некоторые из наиболее известных языков высокого уровня в четыре поколения в зависимости от того, какие языковые конструкции впервые в них появились:

a) Simula 67, Pascal. Моделирование дискретных событий. Классы, абстрактные данные. 

b) Smalltalk – «абсолютное воплощение объектно-ориентированного идеала». Smalltalk 80, Smalltalk V.

c) C++. Параметрический полиморфизм.

d) Java, C#. Сборка мусора. Библиотеки объектов.

В каждом следующем поколении менялись поддерживаемые языками механизмы абстракции. Языки первого поколения ориентировались на научно-инженерные применения, и словарь этой предметной области был почти исключительно математическим. Такие языки, как Simula 67, были созданы для упрощения программирования математических формул, чтобы освободить программиста от трудностей ассемблера и машинного кода. Также главной задачей стало инструктировать машину, что делать: сначала прочти эти анкеты сотрудников, затем отсортируй их и выведи результаты на печать. Появилась возможность решать все более сложные задачи, но это требовало умения обрабатывать самые разнообразные типы данных, т.е абстрактные данные. Такие языки как Pascal стали поддерживать абстракцию данных. Программисты смогли описывать свои собственные типы данных.

70-е годы знаменовались безумным всплеском активности: было создано около двух тысяч различных языков и их диалектов. Неадекватность более ранних языков написанию крупных программных систем стала очевидной, поэтому новые языки имели механизмы, устраняющие это ограничение. Таким образом, мы получили языки Smalltalk (переработанное наследие Simula), Ada (Pascal с элементами Simula, Alphard и CLU), C++ (возникший от брака С и Simula) и Eiffel (произошел от Simula и Ada). Наибольший интерес для дальнейшего изложения представляет класс языков, называемых объектными и объектно-ориентированными/

Третье и четвертое поколение – дальнейшее развитие объектных методов.

Эволюция методов объектно-ориентированного проектирования.

a) Метод Буча (1980): Метод Буча использует логическую модель (класс и объектная структура) и физическую модель (модуль и архитектура процесса), включая как статические, так и динамические компоненты, в ней применяются многочисленные графические символы.

b) Методы Кода, OMT, OOSE, ROD (1990):

Метод Кода первоначально был направлен на воплощение идей структурного анализа. Он включает в себя пять этапов: поиск классов и объектов, исходя из предметной области и на основе анализа функций системы, идентификация структур путем поиска отношений "обобщение-специализация" и "общее-частное", определение "субъектов" (групп класс-объект), определение атрибутов; определение сервисов.

Метод OMT (Object Modeling Technique) объединяет концепции объектной технологии и моделирования, основываясь на понятии "сущность-отношение" (entity-relation). Метод включает статическую и динамическую модели. Статическая модель базируется на концепциях класса, атрибута, операции, отношения и агрегирования, динамическая - на основе диаграмм "событие-состояние" позволяет дать абстрактное описание предполагаемого поведения системы.

Метод OOSE (Object-Oriented Software Engineering), также известный как метод Jacobson, основан на использовании сценариев для выявления классов. Рассматривается пять моделей сценариев: доменная модель исходной области приложения и четыре модели этапов разработки - анализа, проектирования, реализации, тестирования.

Метод OOIE (Object-Oriented Information Engineering) разделяется на две части. В первой части анализируется объектная структура, идентифицируются типы объектов, их состав, отношения наследования. Вторая часть анализирует поведение объектов, определяемое динамической моделью, учитывающей состояния объектов и события, которые могут изменить эти состояния.

c) Нотация UML (1997): объединяет в себе методы Буча, Якобсона и OMT.

Объект как фундаментальное понятие объектно-ориентированных методов. Дайте определение состояния, поведения и уникальной идентичности объектов.

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

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

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

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

Метод определяется как процедура или функция, которая изменяет состояние объекта или заставляет объект отправить сообщение.

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

Идентичность (уникальная идентичность, объектная идентичность) - это такое свойство объекта, которое отличает его от всех других объектов


Дата добавления: 2018-04-15; просмотров: 436; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!