- •Глава 18. Создание программного продукта
- •18.1. Методология проектирования программных продуктов
- •Глава 18. Создание программного продукта
- •1. Составление технического задания на программирование
- •Глава 18. Создание программного продукта
- •18.1. Методология проектирования программных продуктов
- •654 Глава 18. Создание программного продукта Рис. 18.1. Структура программного продукта
- •656 Глава 18. Создание программного продукта
- •18.2. Структурное проектирование и программирование
- •18.2. Структурное проектирование и программирование
- •6 58 Глава 18. Создание программного продукта
- •18.2. Структурное проектирование и программирование
- •Глава 18. Создание программного продукта
- •18.2. Структурное проектирование и программирование
- •6 62 Глава 18. Создание программного продукта
- •18.3. Объектно-ориентированное проектирование
- •18.3. Объектно-ориентированное проектирование
- •Глава 18. Создание программного продукта
- •Вопросы для самопроверки
- •Глава 18. Создание программного продукта
18.3. Объектно-ориентированное проектирование
663
Метод рассматривается как программный код, связанный с определенным объектом; осуществляет преобразование свойств, изменяет поведение объекта.
Объект может обладать набором заранее определенных встроенных методов обработки, либо созданных пользователем или заимствованных в стандартных библиотеках, которые выполняются при наступлении заранее определенных событий, например, однократное нажатие левой кнопки мыши, вход в поле ввода, выход из поля ввода, нажатие определенной клавиши и т.п.
По мере развития систем обработки данных создаются стандартные библиотеки методов, в состав которых включаются типизированные методы обработки объектов определенного класса (аналог — стандартные подпрограммы обработки данных при структурном подходе), которые можно заимствовать для различных объектов.
С обытие — изменение состояния объекта.
Внешние события генерируются пользователем (например, клавиатурный ввод или нажатие кнопки мыши, выбор пункта меню, запуск макроса); внутренние события генерируются системой.
Объекты могут объединяться в классы (группы или наборы — в различных программных системах возможна другая терминология).
К ласс — совокупность объектов, характеризующихся общностью применяемых методов обработки или свойств.
О дин объект может выступать объединением вложенных в него по иерархии других объектов.
Схематично связь основных понятий объектно-ориентированного программирования представим следующим образом (рис. 18.5).
— методы обработки
Рис. 18.5. Соотношение основных понятий объектно-ориентированного подхода
664
Глава 18. Создание программного продукта
В объектно-ориентированном программировании используется следующий формат записи работы с объектами:
ОБЪЕКТ.МЕТОД ОБЪЕКТ.СВОЙСТВО.МЕТОД
Программный продукт, созданный с помощью инструментальных средств объектно-ориентированного программирования, содержит объекты с их характерными свойствами, для которых разработан графический интерфейс пользователя. Как правило, работа с программным продуктом осуществляется с помощью экранной формы, с объектами управления, которые содержат методы обработки, вызываемые при наступлении определенных событий. Экранные формы также используются для выполнения заданий и перехода от одного компонента программного продукта к другому. Каждый объект управления обладает определенными свойствами, значения которых могут изменяться. Для объектов управления уточняется перечень событий и создаются пользовательские методы обработки — программный код на языке программирования в виде событийных процедур.
МЕТОДИКА ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ
Существуют различные объектно-ориентированные технологии и методики проектирования программных продуктов, которые должны обеспечить выполнение важнейших принципов объектного подхода:
инкапсуляция (замыкание) свойств данных и программ в объекте;
наследование;
полиморфизм.
Инкапсуляция означает сочетание структур данных с методами их обработки в абстрактных типах данных — классах объектов.
Класс может иметь образованные от него подклассы. При построении подклассов осуществляется наследование данных и методов обработки объектов исходного класса. Механизм наследования позволяет переопределить или добавить новые данные и методы их обработки, создать иерархию классов.
Полиморфизм — способность объекта реагировать на запрос (вызов метода) сообразно своему типу, при этом одно и то же имя метода может использоваться для различных классов объектов.
Для различных методик объектно-ориентированного проектирования характерны следующие черты:
объект описывается как модель некоторой сущности реального мира;
объекты, для которых определены места хранения, рассматриваются во взаимосвязи,
и применительно к ним создаются программные модули системы.
В процессе объектно-ориентированного анализа:
осуществляется идентификация объектов и их свойств;
устанавливается перечень операций (методов обработки), выполняемых над каждым
объектом, в зависимости от его состояния (событий);
определяются связи между объектами для образования классов;
устанавливаются требования к интерфейсу с объектами.
Выделено четыре этапа объектно-ориентированного проектирования:
разработка диаграммы аппаратных средств системы обработки данных, показывающей процессоры, внешние устройства, вычислительные сети и их соединения;
КЛЮЧЕВЫЕ ПОНЯТИЯ ♦ ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ♦ ЛИТЕРАТУРА
665
разработка структуры классов, описывающей связь между классами и объектами; разработка диаграмм объектов, показывающих взаимосвязи с другими объектами; разработка внутренней структуры программного продукта.
О
КЛЮЧЕВЫЕ ПОНЯТИЯ
Ввод в действие Структура программных
продуктов Головной модуль Графический интерфейс
пользователя Диалоговый режим Информационная инженерия Класс объектов Метод обработки Модульное программирование Нисходящее проектирование Объект
Объектно-ориентированный
анализ Объектно-ориентированное
проектирование Рабочая документация Свойство Событие
Структурное программирование Структурное проектирование Технический проект Техническое задание на
программирование Управляющий модуль