Структурный подход к моделированию ЭИС
Этап проектирования системы является критическим для создания высококачественных систем любой природы, в том числе и ЭИС. На этом этапе используются подходы теории систем и системного анализа, позволяющие разбить большую систему на ряд небольших подсистем (такой процесс носит название декомпозиции системы); и тем самым привести большую неопределенность к набору более мелких.
Системное проектирование – это дисциплина, определяющая подсистемы, компоненты и способы их соединения, задающая ограничения, при которых система должна функционировать, выбирающая наиболее эффективное сочетание людей, машин и программного обеспечения для реализации системы.
В структурном подходе к разработке ИС чаще всего используются две группы средств, описывающих функциональную структуру системы и отношения между данными. Каждой из этих групп средств соответствуют определенные виды моделей (диаграмм). Наиболее распространенными из моделей являются:
· DFD (Data Flow Diagrams – «Диаграммы потоков данных»);
· SADT (Structured Analysis and Design Technique - «Методология структурного анализа и проектирования»);
· ERD (Entity-Relationship Diagrams – «Диаграммы «сущность-связь») [Вендров.А.М., 2000].
Рассмотрим более подробно одну из широко используемых методологий проектирования – методологию SADT. Данная методология возникла в конце 60-х годов в США, в ходе революции, вызванной структурным программированием. В это время большинство специалистов билось над созданием программного обеспечения, но немногие старались разрешить более сложную задачу создания крупномасштабных систем, включающих как людей и машины, так и программное обеспечение, аналогичных системам, применяемым в телефонной связи, промышленности, управлении и контроле за вооружением. С другой стороны, специалисты, традиционно занимавшиеся созданием крупномасштабных систем, стали осознавать необходимость большей упорядоченности.
В результате, под влиянием структурного подхода в программировании разработчики информационных систем предприняли попытку формализации процесса создания системы, разбив его на следующие фазы:
· Анализ требований – определение того, что система будет делать. Цели стадии состоят в том, чтобы понять процессы, которые управляют предприятием или системой, определить область деятельности системы и требования пользователя. На этой стадии очень важно взаимопонимание заказчика и разработчика, поэтому использование в проектной документации стандартной нотации, не допускающей разночтений, является большим преимуществом.
· Проектирование – определение подсистем и их взаимодействие. На этой стадии производится выбор технологии и средств разработки.
· Реализация – разработка подсистем по отдельности, объединение (соединение) подсистем в единое целое.
· Тестирование – проверка работы системы.
· Установка – введение системы в действие.
· Функционирование - использование системы.
Эта последовательность выполнялась итерационно, потому что система никогда полностью не соответствовала постоянно меняющимся требованиям пользователей. И, тем не менее, с этой моделью создания системы, ориентированной на управление, постоянно возникали сложности. Эксплуатационные расходы, возникавшие после внедрения системы, стали существенно превышать расходы на ее создание. Исследования показали, что большой процент ошибок в системе возникал в процессе анализа и проектирования, гораздо меньше их было допущено при реализации и тестировании, а цена (временная и денежная) обнаружения и исправления ошибок становилась выше на более поздних стадиях проекта.
Традиционные подходы к созданию систем приводили к возникновению многих проблем. Не было единого подхода. Результаты одного этапа не согласовывались с результатами других. Процесс с трудом поддавался оценкам, как качественным, так и количественным. Утверждалось, что когда создатели систем пользуются методологиями типа структурного программирования и проектирования сверху вниз, они решают либо не поставленные задачи, либо плохо поставленные, либо хорошо поставленные, но неправильно понятые задачи. Наиболее катастрофические ошибки допускались на ранних этапах создания системы.
Поэтому был выдвинут тезис: совершенствование методов анализа есть ключ к созданию систем, эффективных по стоимости, производительности и надежности. Для решения ключевых проблем традиционного создания систем широкого профиля требовались новые методы, специально предназначенные для использования на ранних стадиях процесса. Первой такой методологией и явилась методологией проектирования SADT. В основе данной методологии лежит подход к описанию систем с помощью не только текстовых, но и графических обозначений.
SADT - это способ уменьшить количество дорогостоящих ошибок за счет структуризации на ранних этапах создания системы, улучшения контактов между пользователями и разработчиками и сглаживания перехода от анализа к проектированию.
Автором SADT является Дуглас Т. Росс. Часть своих теорий, относящихся к методологии и языку описания систем, Росс назвал «Методология структурного анализа и проектирования» (SADT). Исходная работа над SADT началась в 1969 г. Первое ее крупное приложение было реализовано в 1973 г. при разработке большого аэрокосмического проекта, когда она была несколько пересмотрена сотрудниками SofTech, Inc. В 1974 г. SADT была еще улучшена и передана одной из крупнейших европейских телефонных компаний. Появление SADT на рынке произошло в 1975 г. после оформления в виде продукта.
Широкое распространение методологии в настоящее время в европейской, дальневосточной и американской аэрокосмической промышленности (под названием IDEF0) позволяет эти цифры существенно увеличить. Методология IDEF (Icam DEFinition) является основной частью программы ICAM (Integrated Computed Aided Manufacturing) – интегрированной компьютеризации производства – проводимой по инициативе ВВС США. В программе ICAM Министерства обороны США была признана полезность SADT, что привело к стандартизации и публикации ее части, называемой IDEF0. SADT использовалась без компьютеров, а методология IDEF используется только при компьютерной поддержке.
SADT является методологией, легко отражающей такие системные характеристики, как управление, обратная связь и исполнители. Широкое использование SADT показало, что ее можно сочетать с другими структурными методами. Это достигается использованием графических SADT-описаний в качестве схем, связывающих воедино различные методы, примененные для описания определенных частей системы с различным уровнем детализации.
Описание системы с помощью SADT называется моделью. В SADT-моделях используются как естественный, так и графический языки. Для передачи информации о конкретной системе источником естественного языка служат люди, описывающие систему, а источником графического языка – сама методология SADT. Графический язык SADT обеспечивает структуру и точную семантику естественному языку модели.
В настоящее время существует два основных подхода к изучению и моделированию предметной области: структурный (SADT, IDEF) и объектно-ориентированный (унифицированный язык моделирования UML). Эти методы могут быть дополнены возможностями имитационного моделирования и анализа затрат.