Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Unified Modeling Language.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.55 Mб
Скачать

1.3. Основные понятия объектно-ориентированного анализа и проектирования информационных систем

Модель (model) – абстракция физической системы, рассматриваемая с определенной точки зрения и представленная на некотором языке или в графической форме.

С точки зрения общих принципов системного анализа одна и та же физическая система может быть представлена несколькими моделями.

Назначение отдельной модели системы определяется характером решаемой проблемы.

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

Объектно-ориентированное программирование (ООП) (Object-Oriented Programming) – совокупность принципов, технологий, инструментальных средств для создания программных систем на основе архитектуры взаимодействия объектов.

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

Абстракция (abstraction) – характеристика сущности, которая отличает ее от других сущностей.

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

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

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

Наследование (inheritance) – принцип, в соответствии с которым знание о наиболее общей категории разрешается применять для более частной категории.

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

Инкапсуляция (encapsulation) характеризует сокрытие отдельных деталей внутреннего устройства классов от внешних по отношению к нему объектов или пользователей.

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

Полиморфизм (polymorphism) (греч. Poly – много, morfos – форма) – свойство объектов принимать различные внешние формы в зависимости от обстоятельств, т.е. действия, выполняемые одноименными методами, могут различаться в зависимости от того, к какому из классов относится тот или иной метод.

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

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

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

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

Объектно-ориентированный анализ и проектирование (ООАП) (Object-Oriented Analysis/Design) – технология разработки программных систем, в основу которых положена объектно-ориентированная методология представления предметной области в виде объектов, являющихся экземплярами соответствующих классов.

Методология ООАП тесно связана с концепцией автоматизированной разработки программного обеспечения (Computer Aided Software Engineering – CASE).

Для более углубленного изучения вопросов изложенных в данном разделе рекомендуется обратиться к [3].

Контрольные вопросы

  1. Дайте определение понятию модель.

  2. Какое требование к модели программной системы является основным?

  3. Назовите основные принципы объектно-ориентированного программирования. Дайте определение каждому из них.

  4. В чем отличие объекта от класса?

  5. Приведите пример наследования.

  6. Приведите пример полиморфных операций.

  7. Какие задачи позволяет решить методология объектно-ориентированного анализа и проектирования?

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