
- •Введение
- •Основные понятия автоматизации управления
- •Краткий обзор литературы
- •Методы управления предприятиями
- •Объектно-ориентированные методы анализа
- •Структурное проектирование
- •- Кривая тестирования с использованием сато,
- •- Кривая тестирования без использования сато.
- •Подходы к автоматизации управления предприятием
- •Классификация систем автоматизации управления предприятием
- •1. Предварительное обследование и оценка состояния
- •2. Предварительная переподготовка
- •3. Техническое задание
- •5. Организация проекта
- •6. Выработка целей
- •8. Начальная переподготовка
- •9. Планирование и управление верхнего уровня
- •10. Управление данными
- •11. Одновременное внедрение различных технологий организа- ции и управления
- •12. Программное обеспечение (по)
- •13. Опытный пример
- •14. Получение результатов
- •15. Анализ текущего состояния
- •Сопровождение и доработка системы
Объектно-ориентированные методы анализа
Важное место в разработках АСУП занимают объектно-ориентированные методологии, основанные на объектной декомпозиции предметной области, представляемой в виде совокупности объектов, взаимодействующих между собой посредством передачи сообщений. Данный подход не является противопоставлением структурному подходу, более того, фрагменты методологий структурного анализа (а именно его базовые модели: DFD, ERD и STD) используются при объектно-ориентированном анализе для моделирования структуры и поведения самих объектов.
В качестве объектов предметной области могут рассматриваться конкретные предметы, а также абстрактные или реальные сущности (например, клиент, заказ, предприятие и т. п.). Каждый объект характеризуется своим состоянием (точнее, набором атрибутов, значения которых определяют состояние), а также набором операций для проверки и изменения этого состояния. Каждый объект является представителем некоторого класса однотипных объектов, определяющего их общие свойства. Все представители (экземпляры) одного и того же класса имеют один и тот же набор операций и могут реагировать на одни и те же сообщения.
Объекты и классы организуются с использованием следующих принципов:
Принцип инкапсуляции (упрятывания информации) декларирует запрещение любого доступа к атрибутам объекта, кроме как через его операции. В соответствии с этим внутренняя структура объекта скрыта от пользователя, а любое его действие инициируется внешним сообщением, вызывающим выполнение соответствующей операции.
Принцип наследования декларирует создание новых классов от общего к частному. Такие новые классы сохраняют все свойства классов-родителей и при этом содержат дополнительные атрибуты и операции, характеризующие их специфику.
Принцип полиморфизма декларирует возможность работы с объектом без информации о конкретном классе, экземпляром которого он является. Каждый объект может выбирать операцию на основании типов данных, принимаемых в сообщении, т. е. реагировать индивидуально на это (одно и то же для различных объектов) сообщение.
Таким образом, объектно-ориентированный подход заключается в представлении моделируемой системы в виде совокупности классов и объектов предметной области. При этом иерархический характер сложной системы отражается с использованием иерархии классов, а ее функционирование рассматривается как взаимодействие объектов. Жизненный цикл такого подхода содержит этапы анализа требований, проектирования, эволюции (объединяющей программирование, тестирование и отладку, а также комплексацию системы) и модификации. При этом в отличие от каскадной модели отсутствует строгая последовательность выполнения перечисленных этапов.
Известные объектно-ориентированные методологии базируются на интегрированных моделях трех типов:
объектной модели, отражающей иерархию классов, связанных общностью структуры и поведения и отражающих специфику атрибутов и операций каждого из них (при этом одной из базовых нотаций объектной модели является диалект ERD);
динамической модели, отражающей временные аспекты и последовательность операций (при этом достаточно часто используется STD);
функциональной модели, описывающей потоки данных (с использованием DFD).
В табл. 5 приведены оценки объемов продаж объектно-ориентированных методологий поданным International Data Corp. на 1995 г.
Главными недостатками перечисленных объектно-ориентированных методологий являются следующие:
отсутствие стандартизации в рассматриваемой области программотехники (конкретно, для представления объектов и взаимосвязей между ними);
отсутствие метода, одинаково хорошо реализующего этапы анализа требований и проектирования (большинство методов предназначено для объектно-ориентированного анализа, некоторые содержат слабо развитые средства проектирования, метод Booch ориентирован на проектирование).
Для преодоления этих недостатков авторы известных методологий Буч (Booch), Рамбо (Rumbaugh) и Якобсон (Jacobson) объединились с целью выработки унифицированной методологии, получившей название UML (Unified Modeling Language). При создании UML его авторы руководствовались целями ускорения эволюции наиболее популярных методологий в направлении сближения их друг с другом, обобщения накопленного опыта их использования, обеспечения стабильности проектов на основе единого целостного метода.
В UML используются следующие ключевые диаграммы:
диаграмма классов, демонстрирующая статическую структуру системы, ее содержимое — классы, объекты и отношения между ними;
диаграмма прецедентов, моделирующая набор действующих субъектов (акторов) и прецедентов использования, с помощью которых они взаимодействуют;
диаграмма взаимодействий, обеспечивающая возможность моделирования условий в диаграммах последовательности и коллективного взаимодействия, которые представляют объекты и межобъектные взаимодействия в измерениях времени и отношений, соответственно;
диаграмма состояний, моделирующая изменения (переходы) состояний вследствие взаимодействия конкретного объекта с другими объектами (т. е. в отличие от диаграммы взаимодействий описывает состояния только одного класса или объекта);
диаграмма компонентов, описывающая модули системы, в которых определены классы;
диаграмма применения (развертывания), моделирующая схему расположения процессоров и устройств, задействованных в реализации системы, а также маршрутов передачи информации между ними.
При этом первые четыре диаграммы являются логическими представлениями разрабатываемой системы, а последние две — отражают ее физическое представление.
Разработка технического задания
После построения модели, содержащей требования к будущей системе, на ее основе осуществляется разработка Технического задания на создание системы, включающего в себя:
требования к автоматизированным рабочим местам, их составу и структуре, а также способам и схемам информационного взаимодействия между ними;
разработку требований к техническим средствам;
разработку требований к программным средствам;
разработку топологии, состава и структуры локальной вычислительной сети;
•требования к этапам и срокам выполнения работ. Рассмотрим основные виды работ, которые необходимо выполнить, прежде чем приступить к проектированию (созданию проекта на разработку или адаптацию).
1) Обозначение границ реализации. Практически любая система может быть разбита на части, отражающие четыре основных типа реализации систем: ручную, пакетную, диалоговую, реального времени. Из этих четырех типов первый реализуется людьми, остальные три являются автоматическими реализациями системы. Рассмотрим критерии, с помощью которых устанавливаются наиболее приемлемые типы реализации требований для частей модели.
Ручная реализация имеет три основных преимущества перед автоматической. Во-первых, не требуется заранее точно определять процессы. По крайней мере, они могут определяться не так тщательно, как при автоматической реализации: люди хорошо знают как заполнить пробелы в спецификации. Во-вторых, ручная система может откликаться на неожидаемые запросы, а не только на заранее планируемые. Например, ручная система бронирования авиабилетов может ответить на запрос о возможности парковки автомобиля около аэропорта. В-третьих, система может быть реализована в окружении, где автоматизация невозможна по ряду причин, например психологических: хотя процесс предоставления ссуды и возможно полностью автоматизировать, люди не могут примириться с тем, что их прошения беспристрастно отклонены машиной. Безусловно, ручные системы имеют и массу недостатков. В отличие от машин люди болеют, увольняются, требуют повышения зарплаты. Однако наиболее важно, что размер и сложность ручной системы будут возрастать с увеличением числа запросов, поскольку человек может обрабатывать меньше данных, чем машина.
После определения границ ручной реализации необходимо решить, какая часть системы должна быть пакетной, а какая диалоговой. Для большинства современных предприятий вся АСУП должна быть диалоговой, если только не доказано противное. Соответствующее заключение может быть сделано на основе собранных статистических данных, например скорости поступления запросов и частоты изменения данных. В качестве примеров причин для пакетной реализации можно привести следующие:
• некоторые запросы требуют длительной работы со срезом базы данных за определенный период (годовой отчет, пересылка накопленной информации и т. п.);
• некоторые отклики (например, отчеты о продажах) содержат большое количество статичных данных, актуальность которых не изменяется в течение дней или даже недель.
Следующий шаг — выделение частей, реализуемых как подсистемы реального времени. Существует два принципиальных отличия системы реального времени от просто диалоговой системы. Первое из них связано с концептуальным уровнем: в системе реального времени время поступления события в систему само по себе несет определенную информацию, которая не может быть закодирована. Второе связано с уровнем реализации: время отклика системы реального времени является критичным и сопоставимым со скоростью выполнения технологических операций. В целом рекомендуется реализовать как подсистемы реального времени те части АСУП, из которых должен быть исключен человек, т. е. те части, в которых приоритетны следующие факторы: скорость (например, противоракетная оборона), опасность (контроль радиоактивности), утомляемость (работа авиадиспетчера).
2) Выбор подходящих технических средств. Разработав модель требований и определив границы реализации, можно начинать выбор аппаратной платформы, на которой будет функционировать система (или, по крайней мере, сужать область для такого выбора). Вопросы такого выбора не являются предметом данной книги и поэтому здесь не рассматриваются.
Проектирование
Этап проектирования дает ответ на вопрос: «Как (каким образом) система будет удовлетворять предъявленным к ней требованиям?». Задачей этого этапа является исследование структуры системы и логических взаимосвязей ее элементов, причем здесь не рассматриваются вопросы, связанные с реализацией на конкретной платформе. Проектирование определяется как «(итерационный) процесс получения логической модели системы вместе со строго сформулированными целями, поставленными перед нею, а также написания спецификаций физической системы, удовлетворяющей этим требованиям». Обычно этот этап разделяют на два подэтапа:
проектирование архитектуры системы, включающее разработку структуры и интерфейсов компонент, согласование функций и технических требований к компонентам, методам и стандартам проектирования;
детальное проектирование, включающее разработку спецификаций каждой компоненты, интерфейсов между компонентами, разработку требований к тестам и плана интеграции компонент.
Другими словами, проектирование является этапом ЖЦ, на котором вырабатывается, как реализуются требования к АСУП, порожденные и зафиксированные на этапе анализа. В результате этапа должна быть построена модель реализации, демонстрирующая, как система будет удовлетворять предъявленным к ней требованиям (без технических подробностей). Фактически модель реализации является развитием и уточнением модели требований, а само проектирование является мостом между анализом и реализацией.