Структурные технологии анализа ИС
В 70 - 80-х гг. при разработке ИС была разработана структурная методология, предоставляющая в распоряжение разработчиков строгие формализованные методы описания ИС и принимаемых технических решений. Она основана на наглядной графической технике: для описания различного рода моделей ИС используются схемы и диаграммы.
Под структурным анализом принято называть метод исследования системы, который начинается с её общего обзора и затем детализируется, приобретая иерархическую структуру со всё большим числом уровней. Суть его в разбиении системы на функциональные подсистемы, которые, в свою очередь, делятся на подфункции, подразделяемые на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны. При разработке системы "снизу-вверх" от отдельных задач ко всей системе целостность теряется, возникают проблемы при информационной стыковке отдельных компонентов. Для таких методов характерно разбиение на уровни абстракции с ограничением числа элементов на каждом из уровней; ограниченный контекст, включающий лишь существенные на каждом уровне детали; использование строгих формальных правил записи; последовательное приближение к конечному результату,
Все методологии структурного анализа базируются на ряде общих принципов, в качестве двух базовых принципов используются следующие:
· декомпозиции системы, который является принципом решения трудных задач путём разбиения их на множество меньших независимых задач, лёгких для решения; и
· принцип иерархического упорядочивания, который заключается в организации составных частей задачи в иерархические структуры.
Кроме того, важными принципами являются:
· принцип абстрагирования - заключается в выделении существенных аспектов системы и отвлечения от несущественных;
· принцип формализации - заключается в необходимости строгого методического подхода к решению проблемы;
· принцип непротиворечивости - заключается в обоснованности и согласованности элементов;
· принцип структурирования данных - заключается в том, что данные должны быть структурированы и иерархически организованы.
В структурном анализе используются в основном две группы средств, иллюстрирующих функции, выполняемые системой и отношения между данными.
Перечисленные средства в совокупности дают полное описание ИС независимо от того, является ли она существующей или вновь разрабатываемой.
CASE-средства
Наглядность и строгость средств структурного анализа позволяла разработчикам и будущим пользователям системы с самого начала неформально участвовать в её создании, обсуждать и закреплять понимание основных технических решений. Однако широкое применение этой методологии и следование её рекомендациям при разработке конкретных ИС встречалось достаточно редко, поскольку при неавтоматизированной (ручной) разработке это практически невозможно. Действительно, вручную очень трудно разработать и графически представить строгие формальные спецификации системы, проверить их на полноту и непротиворечивость и тем более изменить. Если всё же удаётся создать строгую систему проектных документов, то её переработка при появлении серьёзных изменений практически неосуществима. Ручная разработка обычно порождала следующие проблемы:
· неадекватную спецификацию требований;
· неспособность обнаруживать ошибки в проектных решениях;
· низкое качество документации, снижающее эксплуатационные характеристики;
· затяжной цикл и неудовлетворительные результаты тестирования.
С другой стороны, разработчики ИС исторически всегда стояли последними в ряду тех, кто использовал компьютерные технологии для повышения качества, надёжности и производительности в своей собственной работе (феномен "сапожника без сапог").
Перечисленные факторы способствовали появлению программно-технологических средств специального класса – СASE - средств (ComputerAidedSoftwareEngineering), реализующих CASE - технологию создания и сопровождения ИС.
CASE - технология представляет собой методологию проектирования ИС, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационными потребностями пользователей. Большинство существующих CASE - средств основано на методологиях структурного (в основном) или объектно-ориентированного анализа и проектирования, использующих спецификации в виде диаграмм или текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств.
Каждой группе средств соответствуют определённые виды моделей (диаграмм), наиболее распространёнными среди которых являются следующие:
SADT (StructuredAnalysisandDesignTechnique) модели и соответствующие функциональные диаграммы;
DFD (DataFlowDiagrams) диаграммы потоков данных;
ERD (Entity-Relationship Diagrams) диаграммы "сущность-связь".
Структурные модели
SADT - модель даёт полное, точное и адекватное описание системы, имеющее конкретное назначение. Это назначение, называемое целью модели, вытекает из формального определения модели в SADT. В SADT - моделях используются как естественный, так и графический языки. Для передачи информации о конкретной системе источником естественного языка служат люди, описывающие систему, а источником графического языка - сама методология SADT. Графический язык SADT обеспечивает структуру и точную семантику естественному языку модели. Графический язык SADT организует естественный язык вполне определённым и однозначным образом.
С точки зрения SADT, модель может описывать либо на функции системы, либо её объекты. SADT-модели, ориентированные на функции, принято называть функциональными моделями, а ориентированные на объекты системы - моделями данных, функциональная модель представляет с требуемой степенью детализации систему функций, которые, в свою очередь, отражают свои взаимоотношения через объекты системы. Модели данных дуальны к функциональным моделям и представляют собой подробное описание объектов системы, связанных системными функциями. Полная методология SADT поддерживает создание множества моделей для более точного описания сложной системы.
Диаграммы потоков данных
Диаграммы потоков данных (DFD) являются основным средством функционального моделирования проектируемой системы. Для изображения DFD традиционно используются две различные нотации: Йордана (Yourdon) и Гейна-Сарсона (Gane-Sarson).
В соответствии с методологией модель системы определяется как иерархия диаграмм потоков данных, описывающих процесс преобразования информации от её ввода в систему до выдачи пользователю. С помощью этих диаграмм система разбивается на функциональные компоненты (процессы) и представляются в виде сети, связанной потоками данных. Главная цель таких средств — продемонстрировать, как каждый процесс преобразует входные данные в выходные, а также выявить отношения между этими процессами. Диаграммы верхних уровней иерархии (контекстные диаграммы) определяют основные процессы или подсистемы ИС с внешними входами и выходами. Они детализируются при помощи диаграмм нижнего уровня. Такая декомпозиция продолжается, создавая многоуровневую иерархию диаграмм, до тех пор, пока не будет достигнут такой уровень декомпозиции, на котором процесс становятся элементарными и детализировать их далее невозможно. Внешняя сущность - информационная структура вне контекста системы, являющуюся источником или приёмником данных. Данные, при помощи потоков данных, являющиеся механизмами, для моделирования передачи информации из одной части системы в другую. Продуцирование выходных потоков из входных осуществляется информационными процессами. Хранилище данных позволяет на определённых участках определять данные, которые будут сохраняться в памяти между процессами.
Задача множества DFD заключается в том, чтобы осуществить правильную декомпозицию системы, с целью показать функционирование системы ясными и понятными на каждом уровне детализации (рис.3).
Рис. 3.Потоки данных в DFD
Процесс построения модели разбивается на следующие этапы:
· Расчленение множества требований и организация их в основные функциональные группы.
· Идентификация внешних объектов, с которыми система должна быть связана.
· Идентификация основных видов информации, циркулирующей между системой и внешними объектами.
· Формирование DFD первого уровня на базе процессов предварительной контекстной диаграммы.
· Проверка основных требований по DFD первого уровня.
Декомпозиция каждого процесса текущей DFD с помощью детализирующей диаграммы или спецификации процесса. Проверка основных требований по DFD соответствующего уровня. Добавление определений новых потоков в словарь данных при каждом их появлении на диаграммах.
После построения двух-трёх уровней проведение ревизии с целью проверки корректности и улучшения понимаемости модели.
Модели данных
Диаграммы "сущность – связь" (ERD) предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними. С помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области сущностей, свойств этих объектов (атрибутов) и их отношений с другими объектами.
Объектно-ориентированные методы анализа
Важное место в разработках АСУП занимают объектно-ориентированные методологии, основанные на объектной декомпозиции предметной области, представляемой в виде совокупности объектов, взаимодействующих между собой посредством передачи сообщений. Авторы известных методологий Буч (Booch), Рамбо (Rumbaugh) и Якобсон (Jacobson) объединились с целью выработки унифицированной методологии, получившей название UML (UnifiedModelingLanguage). При создании UML его авторы руководствовались целями ускорения эволюции наиболее популярных методологий в направлении сближения их друг с другом, обобщения накопленного опыта их использования, обеспечения стабильности проектов на основе единого целостного метода.
Эвристические методы
Эвристические методы получили в АСУП достаточно широкое распространение, и дальнейший прогресс в этом направлении связан с разработкой и внедрением экспертных систем. Экспертные системы позволяют накапливать базы знаний о производственном процессе, об эффективных управляющих решениях и на этой основе предлагать рациональные решения задач, слабо поддающихся формализации.
Круг экономико-математических моделей и методов чрезвычайно широк. Их применение сдерживается затрудненностью адекватного описания производственного процесса, получения решений в условиях высокой размерности задач, а также отсутствием необходимой для этого случая квалификации управленческого персонала.
Ниже перечислены модели и методы решения частных задач управления предприятиями, включаемые в базовые системы типа ЕКР:
· для решения задач стратегического планирования применяются модели линейного программирования;
· оперативное планирование построено, как правило, на базе сетевых моделей. В этом случае используются методы расчёта критического пути ПЕРТ;
· для решения задач прогнозирования спроса и других экономических процессов применяются методы регрессионного анализа, анализа временных рядов, процедуры обработки экспертных оценок;
· при решении задач планирования объёмов продаж и производства используются методы линейного программирования; задача формирования графика выпуска продукции может быть сформулирована как задача минимизации совокупного производственного цикла при ограничениях по мощностям, где в качестве переменных выступают сроки запуска (выпуска). В базовых системах типа ЕКР имеются процедуры, позволяющие решить эту задачу путём генерирования, анализа и отсеивания вариантов с одновременным сокращением числа переменных на каждой итерации;
· задача расчёта материальных потребностей на обеспечение графика выпуска продукции решается на основе модели разузлования, в ходе которого выполняется обсчёт сетевой структуры, описывающей состав изделия.
Оперативное управление производством в ERP базируется на применении приоритетов и эвристических методов для построения расписаний работ. Нормативная база может формироваться с применением статистических методов.