МДК 02.01 Разработка, внедрение и адаптация ПО отраслевой направленности
Оценка 4.8

МДК 02.01 Разработка, внедрение и адаптация ПО отраслевой направленности

Оценка 4.8
doc
08.05.2020
МДК 02.01 Разработка, внедрение и адаптация ПО отраслевой направленности
Методология структурного анализа и проектирования.doc

Лекция 3

Методология структурного анализа и проектирования

 

Использование экспертных систем, языков четвертого поколения и систем автоматизированного производства постоянно расширяется. Успех этих систем непосредственно зависит от нашей способности предварить их разработку и внедрение описанием всего комплекса проблем, которые необходимо разрешить, указанием того, какие функции системы должны быть автоматизированы, определением точек интерфейса человек-машина и того, как взаимодействует система со своим окружением. Иными словами, этап проектирования системы является критическим для создания высококачественных систем.

Исследования показывают, что большой процент ошибок в системах возникает в процессе анализа и проектирования, гораздо меньше их допускается при реализации и тестировании, а цена (временная и денежная) обнаружения и исправления ошибок становилась выше на более поздних стадиях проекта. Например, исправление ошибки на стадии проектирования стоит в 2 раза, на стадии тестирования - в 10 раз, а на стадии эксплуатации системы - в 100 раз дороже, чем на стадии анализа. На обнаружение ошибок, допущенных на этапе анализа и проектирования, расходуется примерно в 2 раза больше времени, чем на ошибки, допущенные на более поздних стадиях. Кроме того, ошибки анализа и проектирования обнаруживались часто самими пользователями, что вызывало их недовольство.

Системное проектирование - это дисциплина, определяющая подсистемы, компоненты и способы их соединения, задающая ограничения, при которых система должна функционировать, выбирающая наиболее эффективное сочетание людей, машин и программного обеспечения для реализации системы. SADT (Structured Analysis & Design Technique - методология структурного анализа и проектирования) - одна из самых известных и широко используемых систем проектирования, разработанная более 30 лет назад.

Некоторые из областей эффективного применение SADT: программное обеспечение телефонных сетей, системная поддержка и диагностика, долгосрочное и стратегическое планирование, автомати­зированное производство и проектирование, конфигурация компьютерных систем, обучение персонала, встроенное программное обеспечение для оборонных систем, управление финансами и материально-техническим снабжением.

Полезность технологии SADT привела к стандартизации ее части, называемой IDEF0.

 

 

 

Универсальной единицей в данной технологии является SA-блок:

Вход при наличии управления преобразуется в выход с помощью "механизма" (исполнителя).

Выходы одного блока могут быть входами или управлениями (или исполнителями) для других блоков. (Блоки именуются, а дуги помечаются с использованием естественного языка.) Дуги могут разветвляться и соединяться, а каждый блок может быть подвергнут декомпозиции, т. е. разделен как целое на свои составляющие на более детальной диаграмме. Входы, управления и выходы определяют интерфейсы между блоками, а исполнители позволяют при необходимости в определенной степени объединять объекты. Границы блоков и диаграмм должны  быть согласованы, а возникающая иерархическая, взаимосвязанная совокупность диаграмм является моделью.

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

Во одних случаях важно рассмотрение динамики системы, а в других требуется получить распределенную базу знаний. Как соотносится SA с имитационным моделированием и базами данных? Ориентация модели (ее контекст, точка зрения и цель) может быть направлена так, что результирующие структурные описания дадут исходные данные для методологий имитационного моделирования, проектирования баз данных или структурного программного проектирования. Существует два основных направления в SA-моделировании: функциональные модели выделяют события в системе, модели данных выделяют объекты системы, которые связывают функции между собой и с их окружением. В обоих случаях используется один и тот же графический язык блоков и дуг (хотя это использование двойственно: блоки и дуги меняются ролями).

Каков "послужной список" SA? За очень немногими исключениями SA успешно применялся либо в виде методологии структурного анализа и проектирования (SADT) компании SofTech, либо как только функциональный вариант в правительственной версии (IDEFO). Его применяли тысячи людей при работе над сотнями проектов во многих областях, начиная с 1973 года. Большинство применений было связано с системами "человек-машина-компьютер" в бизнесе, производстве, обороне, связи и организации проектирования.

 

С точки зрения SADT модель может быть сосредоточена либо на функциях системы, либо на ее объектах. SADT-модели, ориентированные на функции, принято называть функциональными моделями, а ориентированные на объекты систе­мы - моделями данных, функциональная модель представляет с требуемой степенью детализации систему функций, которые в свою очередь отра­жают свои взаимоотношения через объекты системы. Модели данных дуальны к функцио­нальным моделям и представляют собой подроб­ное описание объектов системы, связанных системными функциями. Полная методология SADT поддерживает создание множества моделей для более точного описания сложной системы.

 

Целью модели является получение ответов на некоторую совокупность вопросов. Эти вопросы неявно присутствуют (подразумеваются) в процессе анализа и, следовательно, они руководят созданием модели и направляют его. Это означает, что сама модель должна будет дать ответы на эти вопросы с заданной степенью точности. Если модель отвечает не на все вопросы или ее ответы недостаточно точны, то мы говорим, что модель не достигла своей цели. Определяя модель таким образом, SADT закладывает основы практического моделирования.

Обычно вопросы для SADT-модели формулируются на самом раннем этапе проектирования, при этом основная суть этих вопросов должна быть выражена в одной-двух фразах. На рис. 1-1 показана работа автора модели, использующего SADT для определения цели модели экспериментального механического цеха (ЭМЦ). Обратите внимание на то, что, познакомившись с постановкой задачи и кратким описанием процесса, автор составил список вопросов и свел этот список в одно предложение. Это предложение становится целью модели, а список вопросов сохраняется как детализация этого предложения. После завершения работы над моделью информация, содержащаяся в модели, будет отвечать на поставленные вопросы.

Какая степень точности приемлема для модели экспериментального механического цеха? Поскольку модель будет использована для под­готовки учебного руководства, разумная степень точности будет достигнута, если каждая описан­ная в модели функция экспериментального цеха будет изложена в одном абзаце текста. Такая точность достижима и измерима. Другие методы анализа систем (альтернативные пути описания системы) не учитывают этот критический мо­мент определения основной цели модели. Только поняв, насколько хорошо нужно ответить на поставленные вопросы, можно определить,

Рис 1-1. Определение цели и точки зрения модели ЭМЦ

 

когда процесс моделирования можно считать завершенным (т.е. когда модель будет соответ­ствовать поставленной цели).

 

У модели может быть только одна точка зрения

С определением модели тесно связана позиция, с которой наблюдается система и соз­дается ее модель. Поскольку качество описания системы резко снижается, если оно не сфокуси­ровано ни на чем, SADT требует, чтобы модель рассматривалась все время с одной и той же позиции. Эта позиция называется "точкой зре­ния" данной модели. На рис. 1-1 показано, как автор модели экспериментального механического цеха перечисляет претендентов (механик, кон­тролер), с точки зрения которых можно было бы описывать механический цех.

"Точку зрения" лучше всего представлять себе как место (позицию) человека или объекта, в которое надо встать, чтобы увидеть систему в действии. С этой фиксированной точки зрения можно создать согласованное описание системы так, чтобы модель не дрейфовала вокруг да около, и в ней не смешивались бы несвязанные описа­ния. Например, если в модели эксперименталь­ного механического цеха не зафиксировать определенную точку зрения, то легко можно смешать проблему обслуживания станков цеха с тем, как будет обработана деталь. Если это про­изойдет, то читатель модели столкнется с труд­ностями при определении конкретных обязан­ностей персонала.

Иногда только одна из множества возмож­ных точек зрения может дать описание, удовлет­воряющее цели модели. Например, для создания согласованной модели механического цеха можно встать на точку зрения как мастера, так и меха­ника или контролера, но ни одна из них сама по себе не даст модели, которая позволила бы напи­сать учебное руководство для всего персонала. Только с позиции начальника цеха можно уви­деть все виды работ, выполняемых в цехе. Имен­но с его точки зрения, как указано в замечании на рис. 1-1, можно проследить взаимосвязи обя­занностей различных работников. Точка зрения начальника цеха позволяет создателю модели определить роль каждого работника в изготов­лении отдельных деталей и описать координацию обязанностей персонала.

SADT-модель объединяет и организует диаграммы в иерархические структуры, в которых диаграммы наверху модели менее детализированы, чем диаграммы нижних уровней. Другими словами, модель SADT можно представить в виде древо­видной структуры диаграмм, где верхняя диа­грамма является наиболее общей, а самые ниж­ние наиболее детализированы. На рис. 1-2 пред­ставлены две диаграммы из модели эксперимен­тального механического цеха. Верхняя диаграмма (на вершине модели) описывает механический цех как функцию, в основе которой лежит пре­образование входящих рабочих комплектов (заготовок, сырья, документации) в детали при определенном контроле качества. Нижняя диа­грамма детализирует верхнюю, указывая на три главные функции механического цеха: управле­ние выполнением заданий, выполнение задания и контроль качества выполнения. Таким образом, общая функция, указанная на верхней диаграм­ме, детализируется с помощью трех функций на нижней диаграмме. Это пример того, как SADT организует описание системы, создавая иерархию добавляющихся на каждом уровне деталей.

На рис. 1-2 показано также взаимное влия­ние трех функций нижней диаграммы, обозначе­нное дугами, которые символизируют объекты механического цеха. Если вы внимательно по­смотрите на диаграмму, то заметите, что некото­рые дуги доходят до ее границы. Посмотрите еще внимательнее и вы увидите, что имена этих дуг совпадают с теми, что указаны на дугах верхней диаграммы. Это пример того, как SADT соединяет диаграммы в модели через объекты системы. Такая схема соединения требует согла­сованного наименования и учета объектов сис­темы с тем, чтобы две диаграммы можно было рассматривать как связанные между собой. Например, функциональный блок на верхней диаграмме имеет семь дуг, и каждая из них может быть найдена среди дуг, идущих к грани­це или от границы диаграммы на следующем уровне.

 

2.1. Диаграммы содержат блоки и дуги

Каждая SADT-диаграмма содержит блоки и дуги. Блоки изображают функции моделируемой системы. Дуги связывают блоки вместе и отобра­жают взаимодействия и взаимосвязи между ними (рис.2-1). Диаграмме дается название, которое располагается в центре нижней части ее бланка. На каждой диаграмме написана стандартно идентифицирующая ее информация: автор диа­граммы, частью какого проекта является работа, дата создания или последнего пересмотра диа­граммы, статус диаграммы. Вся идентифицирую­щая информация располагается в верхней части бланка диаграммы.

2.2. Блоки представляют функции

Функциональные блоки на диаграммах изо­бражаются прямоугольниками. Блок представляет функцию или активную часть системы, поэтому названиями блоков служат глаголы или глаголь­ные обороты. Например, названиями блоков диаграммы выполнить задание являются: определить степень выполнения задания, вы­брать инструменты, подготовить рабочее место, обработать на станке и собрать, как показано на рис. 2-1.

Кроме того, SADT требует, чтобы в диа­грамме было не менее трех и не более шести блоков. Эти ограничения поддерживают слож­ность диаграмм и модели на уровне, доступном для чтения, понимания и использования. Други­ми словами, SADT-диаграммы и SADT-модели наглядны.

В отличие от других графических методов структурного анализа в SADT каждая сторона блока имеет особое, вполне определенное наз­начение. Левая сторона блока предназначена для входов, верхняя - для управления, правая - для выходов, нижняя - для механизмов. Такое обо­значение отражает определенные системные принципы: входы преобразуются в выходы, управление ограничивает или предписывает ус­ловия выполнения преобразований, механизмы показывают, кто, что и как выполняет функция. Например, четвертый блок диаграммы выпол­нить задание может быть интерпретирован сле­дующим образом: детали, сырье и брак, обра­батываются на станке и собираются в резуль­таты обработки с использованием оборудован­ного рабочего места.

2.3. Блоки имеют доминирование

Блоки SADT никогда не размещаются на диаграмме случайным образом. Они размещаются по степени важности, как ее понимает автор диаграммы. В SADT этот относительный порядок называется доминированием. Доминирование понимается как влияние, которое один блок оказывает на другие блоки диаграммы. Напри­мер, самым доминирующим блоком диаграммы может быть либо первый из требуемой последо­вательности функций, либо планирующая или контролирующая функция, влияющая на все

2.4. Дуги изображают объекты

Дуги на SADT-диаграмме изображаются одинарными линиями со стрелками на концах. Для функциональных SADT-диаграмм дуга пред­ставляет множество объектов. Мы вынуждены использовать здесь общее понятие "объекты", поскольку дуги в SADT могут представлять, на­пример, планы, данные в компьютерах, машины и информацию. Дуги диаграммы выполнить задание на рис. 2-1 представляют материалы, написанные на бумаге (например, следующий шаг задания), физические материалы (например, сырье и заготовки), инструменты (например, на­бор инструментов), рабочие чертежи (напри­мер, чертежи и указания), рабочую среду (на­пример, оборудованное рабочее место) и управ­ленческую информацию (например, статус за­дания). Однако в системном анализе вместо тер­мина "объекты" часто употребляют термин "дан­ные". Это объясняется тем, что системному ана­лизу ранее подвергались, как правило, системы программного обеспечения.

Так как в SADT дуги изображают объекты, они описываются (помечаются) существитель­ными или существительными с определениями, располагающимися достаточно близко к линии дуги. Мы настоятельно рекомендуем размещать описания дуг, называемые метками, как можно ближе к линиям дуг, не нарушая, однако, чита­бельность диаграмм. Это устраняет неопределен­ность в том, к какой дуге относится метка, и исключается необходимость в дополнительных графических связях (например, в "зигзагах", см. главу 19). Обратите внимание на то, что все метки дуг на диаграмме выполнить задание расположены вплотную к соответствующим дугам. Мы рекомендуем принять этот стиль описания дуг для того, чтобы ваши диаграммы были упорядоченными и простыми для чтения.

2.5. Дуги изображают взаимосвязи между блоками

Между объектами и функциями возможны четыре отношения: вход, управление, выход, механизм. Каждое из этих отношений изобража­ется дугой, связанной с определенной стороной блока. По соглашению левая сторона блока пред­назначена для входных дуг, верхняя сторона - для управленческих дуг, правая сторона - для выход­ных дуг, нижняя сторона - для дуг механизмов. Таким образом, стороны блока чисто графически сортируют объекты, изображаемые касающимися блока дугами.

Входные дуги изображают объекты, исполь­зуемые и преобразуемые функциями. Например, в процессе изготовления детали сырье трансфор­мируется функцией обработать на станке и собрать. Управленческие дуги представляют ин­формацию, управляющую действиями функций. Обычно управляющие дуги несут информацию, которая указывает, что должна выполнять функ­ция. Например, следующий шаг задания опреде­ляет, какие нужно выбрать инструменты, какие потребуются станки и цеха и как инструменты и станки должны использоваться при изготовлении детали. Выходные дуги изображают объекты, в которые преобразуются входы. Например, обра­ботать на станке и собрать преобразует сырье и брак в результаты обработки, которые в ко­нечном итоге становятся деталями. Дуги меха­низмов отражают, по крайней мере частично, как функции (т.е. функции системы) реализуют­ся. Например, подготовить рабочее место орга­низует инструменты и станки в эффективное пространство для следующего шага задания. Это - рабочая среда, называемая оборудованным рабочим местом. Она обозначает место, где рабочий изготавливает деталь, реализуя функцию обработать на станке и собрать. Таким образом, механизмы изображают физические аспекты функции (склады, людей, организации, приборы).

Итак, SADT-диаграмма составлена из бло­ков, связанных дугами, которые определяют, как блоки влияют Друг на друга. Это влияние может выражаться либо в передаче выходной информа­ции к другой функции для дальнейшего преобра­зования, либо в выработке управляющей инфор­мации, предписывающей, что именно должна выполнять другая функция. Например, блок обработать на станке и собрать влияет на блок определить степень выполнения задания, выдавая ему результаты обработки для оценки, а блок определить степень выполнения задания влияет на очередную операцию блока обработать на станке и собрать с помощью следующего шага задания. Другими словами, существует сильная управляющая связь блока определить степень выполнения задания с блоком обработать на станке и собрать и наряду с ней более слабая связь по входу-выходу от блока обработать на станке и собрать к блоку определить степень выполнения задания. Таким образом, SADT-диаграммы не являются ни блок-схемами, ни просто диаграммами потоков данных. Это предписывающие диаграммы, представляющие входные-выходные преобразования и указываю­щие правила этих преобразований. Дуги на них изображают интерфейсы между функциями сис­темы, а также между системой и ее окружающей средой.

Достоинства и недостатки SADT-моделей

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

Резюме

SADT-диаграмма содержит от трех до шес­ти блоков, связанных дугами, и имеет при по­строении модели несколько версий. Для того чтобы различать версии одной и той же диаграм­мы, используются С-номера. Блоки на диаграмме изображают системные функции, а дуги изобра­жают множество различных объектов системы. Блоки обычно располагаются на диаграмме в соответствии с порядком их доминирования, т.е. их важностью относительно друг друга. Дуги, связывающие блоки, изображают наборы объек­тов и могут разветвляться и соединяться различ­ными сложными способами. Однако, разветвля­ясь и соединяясь, дуги должны во всех случаях сохранять представляемые ими объекты.

Процесс мо­делирования может быть разделен на несколько этапов: опрос экспертов, создание диаграмм и моделей, распространение документации, оценка адекватности моделей и принятие их для дальнейшего использования.


Скачано с www.znanio.ru

Лекция 3 Методология структурного анализа и проектирования

Лекция 3 Методология структурного анализа и проектирования

Универсальной единицей в данной технологии является

Универсальной единицей в данной технологии является

Большинство применений было связано с системами "человек-машина-компьютер" в бизнесе, производстве, обороне, связи и организации проектирования

Большинство применений было связано с системами "человек-машина-компьютер" в бизнесе, производстве, обороне, связи и организации проектирования

Рис 1-1. Определение цели и точки зрения модели

Рис 1-1. Определение цели и точки зрения модели

Если это про­изойдет, то читатель модели столкнется с труд­ностями при определении конкретных обязан­ностей персонала

Если это про­изойдет, то читатель модели столкнется с труд­ностями при определении конкретных обязан­ностей персонала

или от границы диаграммы на следующем уровне.

или от границы диаграммы на следующем уровне.

Диаграммы содержат блоки и дуги

Диаграммы содержат блоки и дуги

В отличие от других графических методов структурного анализа в

В отличие от других графических методов структурного анализа в

Обратите внимание на то, что все метки дуг на диаграмме выполнить задание расположены вплотную к соответствующим дугам

Обратите внимание на то, что все метки дуг на диаграмме выполнить задание расположены вплотную к соответствующим дугам

Таким образом, SADT -диаграммы не являются ни блок-схемами, ни просто диаграммами потоков данных

Таким образом, SADT -диаграммы не являются ни блок-схемами, ни просто диаграммами потоков данных
Скачать файл