Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен. Вопросы. Майданюк.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
812.17 Кб
Скачать
  1. Оо Аналіз.

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

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

Классические подходы

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

Таблица 1.

Осязаемые предметы

Автомобили, телеметрические данные, датчики давления

Роли

Мать, учитель, политик

События

Посадка, прерывание, запрос

Взаимодействие

Заем, встреча, пересечение

Таблица 2

Люди

Человеческие существа, выполняющие некоторые функции

Места

Области, связанные с людьми или предметами

Предметы

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

Организации

Формально организованная совокупность людей, ресурсов, оборудования, которая имеет определенную цель и существование которой в целом не зависит от индивидуумов

Концепции

Принципы и идеи, сами по себе неосязаемые, но предназначенные для организации деятельности и/или общения, или же для наблюдения за ними

События

Нечто случающееся с чем-то в заданное время или последовательно

Таблица 3

Структуры

Отношения «целое – часть» и «общее – частное»

Другие системы

Внешние системы, с которыми взаимодействуют приложения

Устройства

Устройства, с которыми взаимодействует приложение

События

Происшествия, которые должны быть запомнены

Разыгрываемые роли

Роли, которые выполняют пользователи, работающие с приложением

Места

Здания, офисы и другие места, существенные для работы приложения

Организационные структуры

Группы, к которым принадлежат пользователи. Единицы.

ВЫПОЛНЕНИЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО АНАЛИЗА

Зная терминологию, можно поэтапно выполнить системный анализ для проекта фирмы торгующей пищевыми продуктами.

Шаги системного анализа:

Рассмотрим работу аналитика над нашим проектом. Перед началом работы он должен составить для себя список основных задач:

  • Составить список всех абстрактных существительных, применяемых для описания системы

  • Повторно рассмотреть составленный список, выделив в нем возможные классы

  • Там, где это возможно, выделить иерархию классов

Рассмотрим работу аналитика над нашим проектом. Перед началом работы он должен составить для себя список основных задач:

  • Составить список всех абстрактных существительных, применяемых для описания системы

  • Повторно рассмотреть составленный список, выделив в нем возможные классы

  • Там, где это возможно, выделить иерархию классов

Создание списка возможных классов

  • Программист-аналитик, работающий над нашим проектом, встречается со следующим списком предметов, характеризующих систему и являющихся кандидатами на роль классов:

  • Компания.

  • Центральный офис

  • Склад

  • Товар

  • Продавец

  • Служащий отдела доставки

  • Заказы

  • Клиенты

  • Поставщики

  • Работник

  • Начальник

  • Количество товара

  • Цена

Определение действительных классов и их иерархии

Приведенный выше список можно сократить по следующим причинам:

  • Склад и Центральный офис являются просто местами положения и поэтому не имеют отношения к классам.

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

  • Аналогично, Цена является не более чем свойством Товара.

  • Начальник, возможно, будет использоваться как свойство Работника.

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

Определение методов и свойств класса

После определения основных классов требуется более подробная информация о каждом из классов. Эта информация в объектно-ориентированных терминах описана ниже:

Отдельные классы характеризуются свойствами и методами.

  • Свойство является характеристикой класса. В предложении "У людей есть руки", "руки" являются свойством класса "люди".

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

Работник

Продавец

Служащий

Имя

Пароль

Имя

Регион продаж

Имя

Имеет разрешение на доступ к данным

Принимает звонок клиента

Записывает заказ

Пересылает его в отдел доставки

Устанавливает клиенту скидки

Получает заказ

Проверяет наличие товара

Комплектует заказ

Корпорация

Перевозчик

Поставщик

Имя

Имя

Имя

Получает заказ и доставляет клиенту

Получает и выполняет заказы от компании

Клиент

Товар

Заказ

Имя

Регион продаж

Скидки

Макс/мин заказ

Имя поставщика

Название товара

Наличие

Мин. Количество

Клиент

Дата

Общая сумма

Звонит в отдел продаж и делает заказ

Получает заказ от перевозчика

Количество, поддерживаемое на складе

Сообщается перевозчику о необходимости пополнения

Вводится продавцом

Комплектуется в отделе продаж

Сообщается продавцу об отсутствии товара

Метод описывает действия класса. В предложении "люди работают", "работают" метод класса "люди".

Методология OSA (Object-Oriented System Analysis) обеспечивает объектно-ориентированный анализ программных систем и не содержит возможностей, связанных с поддержкой этапа разработки.

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

Методология OSA сосредоточена только на проблемах анализа, предлагая ряд интересных соображений, связанных с объектно-ориентированным анализом систем и специально исключая из рассмотрения особенности, характерные для разработки. Предлагая удобные и тонкие методы анализа систем, методология OSA обеспечивает интерпретацию моделей на компьютере на самых ранних этапах анализа системы: OSA реализована в системе программирования C++ на рабочей станции Hewlett-Packard 700 под управлением ОС HP-UX 9.01.

Методология OSA, как и другие методологии, поддерживает три взаимно-ортогональных представления (модели) проектируемой системы:

  • модель зависимостей между объектами;

  • модель поведения объектов;

  • модель взаимодействия объектов.