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

Системное проектирование

CASE. Структурный системный анализ (автоматизация и применение).

CASE
структурный системный анализ
(автоматизация и применение)
Г.Н.Калянов
(c) Издательство «ЛОРИ», 1996
ISBN 5-85582-011-4
«бета-версия» от 00:38 9-12-97
отсутствуют рисунки и почти все таблицы (рука со сканером дрожала), и
присутствует «ужас на крыльях ночи» в виде неотформатированных приложений
(неуспел).
любые возникшие замечания и предложения в адрес текста рассмотрятся.
с интересом.
ПРЕДИСЛОВИЕ
Лавинообразное расширение областей применения ЭВМ, возрастающая
сложность программного обеспечения и повышающиеся к нему требования
привели к необходимости индустриализации производства программной
продукции, а именно: необходимости применения высокоэффективных технологий
создания программного обеспечения

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

При этом они используются не только как комплексные
технологические конвейеры для производства программных систем, но и как
мощный инструмент решения исследовательских и проектных задач, таких как
структурный анализ предметной области, спецификация проектов средствами
языков программирования четвертого поколения, выпуск проектной
документации, тестирование реализаций проектов, планирование и контроль
разработок, моделирование деловых приложений с целью решения задач
оперативного и стратегического планирования и управления ресурсами и т.п.
Предлагаемая книга представляет собой достаточно полное изложение
методологических основ области CASE-технологий. Она содержит описание
основных методов структурного анализа и проектирования программного
обеспечения
систем обработки информации, в частности, описание наиболее
распространенных диаграммных техник, таких как диаграммы потоков данных,
диаграммы «сущность-связь», диаграммы переходов состояний, структурные
карты, диаграммы Насси-Шнейдермана и др. Применение методов
демонстрируется на содержательных примерах, существенно облегчающих
понимание изложенного материала.
Книга написана на основе оригинального семестрового курса лекций по
CASE-технологиям, подготовленного и читаемого автором в Высшей
компьютерной школе при НИВЦ МГУ им. Ломоносова в течение четырех последних
лет. Она предназначена прежде всего для аналитиков предметной области,
руководителей программных проектов, системных аналитиков, проектировщиков
и разработчиков информационных систем и систем реального времени.
Сделанный в книге акцент на последовательное рассмотрение наиболее важных
аспектов системного
структурного анализа делает эту книгу особенно
полезной для пользователей, которые выбирают CASE-системы в качестве
инструмента для решения прикладных задач, а также для студентов,
начинающих постигать основы современных информационных технологий.
Профессор, доктор технических наук В.А.Сухомлин
СОДЕРЖАНИЕВведение
Часть 1
Методы и средства структурного
системного анализа и проектированияГлава 1: Понятие структурного анализаГлава 2: Диаграммы потоков данныхГлава 3: Словарь данныхГлава 4: Методы задания спецификаций процессовГлава 5: Диаграммы «сущность-связь»Глава 6: Спецификации управленияГлава 7: Средства структурного проектированияГлава 8: Использование средствЧасть 2
Методологии структурного системного анализа
и проектированияГлава 9: Классификация структурных методологийГлава 10: Примеры структурных методологий
Часть 3
CASE-средства автоматизации методологии
структурного системного анализа и
проектированияГлава 11: Концептуальные основы CASE-технологийГлава 12: Классификация CASE-средствГлава 13: Пример реализации — пакет «CASE.Аналитик»Приложение A
Проект АИС паевого фондаПриложение B
Проект АИС ведения уставного
фонда в паевом коммерческом банкеПриложение C
Функциональная модель
деятельности с ценными бумагами
в коммерческом банкеСписок рекомендуемой литературы

Рис. 2.9. Процедурная связность

(4) Тип коммуникационной связности. Диаграммы демонстрируют коммуникационные связи, когда блоки группируются вследствие того, что они
используют одни и те же входные данные и/или производят одни и те же выходные данные (рисунок 2.10).

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

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

Рис. 2.12. Функциональная связность

Значимость Тип связности Для функций Для данных
Случайная Случайная Случайная
1 Логическая Функции одного и того же множества или типа (например, «редактировать все входы») Данные одного и того же множества или типа
2 Временная Функции одного и того же периода времени (например, «операции инициализации») Данные, используемые в каком-либо временном интервале
3 Процедурная Функции, работающие в одной и той же фазе или итерации (например, «первый проход компилятора») Данные, используемые во время одной и той же фазы или итерации
4 Коммуникационнная Функции, использующие одни и те же данные Данные, на которые воздействует одна и та же деятельность
5 Последовательная Функции, выполняющие последовательные преобразования одних и тех же данных Данные, преобразуемые последовательными функциями
6 Функциональная Функции, объединяемые для выполнения одной функции Данные, связанные с одной функцией

Рис. 2.6. Пример механизма

Каждый блок на диаграмме имеет свой номер. Блок любой диаграммы может быть далее описан диаграммой нижнего уровня, которая, в свою очередь, может быть
далее детализирована с помощью необходимого числа диаграмм. Таким образом, формируется иерархия диаграмм.

Для того, чтобы указать положение любой диаграммы или блока в иерархии, используются номера диаграмм. Например, А21 является диаграммой, которая
детализирует блок 1 на диаграмме А2. Аналогично, А2 детализирует блок 2 на диаграмме А0, которая является самой верхней диаграммой модели. На рисунке 2.7
показано типичное дерево диаграмм.

Рис. 2.4. Соответствие должно быть полным и непротиворечивым

Некоторые дуги присоединены к блокам диаграммы обоими концами, у других же один конец остается неприсоединенным. Неприсоединенные дуги соответствуют
входам, управлениям и выходам родительского блока. Источник или получатель этих пограничных дуг может быть обнаружен только на родительской диаграмме.
Неприсоединенные концы должны соответствовать дугам на исходной диаграмме. Все граничные дуги должны продолжаться на родительской диаграмме, чтобы она была
полной и непротиворечивой.

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

Рис. 2.1. Функциональный блок и интерфейсные дуги

На рисунке 2.2, где приведены четыре диаграммы и их взаимосвязи, показана структура SADT-модели. Каждый компонент модели может быть декомпозирован на
другой диаграмме. Каждая диаграмма иллюстрирует «внутреннее строение» блока на родительской диаграмме.

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

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

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

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

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

Рис. 2.8. Случайная связность

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

(2) Тип временной связности. Связанные по времени элементы возникают вследствие того, что они представляют функции, связанные во времени, когда
данные используются одновременно или функции включаются параллельно, а не последовательно.

(3) Тип процедурной связности. Процедурно-связанные элементы появляются сгруппированными вместе вследствие того, что они выполняются в
течение одной и той же части цикла или процесса. Пример процедурно-связанной диаграммы приведен на рисунке 2.9.

Метод структурного анализа и проектирования как средство построения функциональной модели процесса обучения информатике

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

«Моделирование — исследование каких-либо объектов (конкретных или абстрактных) на моделях» (73, с.312).

«Под моделью понимается такая мысленно представляемая или материально реализованная система, которая, отображая или воспроизводя объект исследования, способна замещать его так, что ее изучение дает нам новую информацию об этом объекте» (159, с. 19).

Проблеме применения моделей в педагогических исследованиях посвящено немало работ. В своих исследованиях авторы стремятся найти закономерности процесса научения знаниям.

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

Анализ классической схемы процесса познания, включающей в себя два компонента — объект познания и познающий субъект, показывает, что эффективность познавательной деятельности человека может быть увеличена двумя путями:

1) путем усиления его естественных возможностей, используемых в акте познания;

2) путем замещения объекта познания другим объектом, имеющим определенные преимущества.

Первому пути соответствует создание приборов, а второму — использование моделей. Опосредованное познание обладает рядом преимуществ по сравнению с непосредственным, т.к. посредники позволяют:

? отражать такие объекты и их свойства, которые человеку непосредственно не даны;

? ускорять процесс познания и осуществлять познание быстро изменяющихся объектов;

? устранять возможную необъективность субъекта при оценке состояния объекта;

? экономно эффективно расходовать физические, чувственные и мыслительные возможности человека (129).

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

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

В основе функционального описания лежит положение о том, что любая система выполняет некоторые функции — просто существует, имея свое назначение, служит областью существования другой системы, обслуживает систему более высокого порядка, является контрольной для некоторого класса систем, служит средством или исходным материалом для создания более совершенной системы. Система может быть однофункциональной или многофункциональной, описание ее иерархично.

Функциональная модель процесса обучения информатике есть многофункциональная педагогическая система, в основе которой лежит проектирование педагогических функций системы «Обучение информатике студентов гуманитарных факультетов». Обучение, как составная часть учебно-воспитательного процесса является сложным процессом, в основе которого лежат деятельности преподавателя и учащегося. Обучение характеризуется как деятельность преподавателя и деятельность учащихся, как двусторонний процесс их взаимодействия, как процесс передачи знаний учителем (преподавание) и процесс усвоения знаний учащимся (учение), как руководство процессом учения.

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

Рис. 2.7. Иерархия диаграмм

Одним из важных моментов при проектировании ИС с помощью методологии SADT является точная согласованность типов связей между функциями. Различают по
крайней мере семь типов связывания:

Тип связи Относительная значимость
Случайная
Логическая 1
Временная 2
Процедурная 3
Коммуникационная 4
Последовательная 5
Функциональная 6

Ниже каждый тип связи кратко определен и проиллюстрирован с помощью типичного примера из SADT.

(0) Тип случайной связности: наименее желательный.

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

Оцените статью