Структурный системный анализ
Анализ программных систем, основанный на принципах и идеях структурной методологии, получил название структурного системного анализа.
Его цель — создать структурные спецификации, определяющие модель системы. В процессе анализа выявляются требования пользователя и определяются свойства, которыми должен обладать программный продукт, чтобы отвечать этим требованиям. Кроме того, определяются системные ограничения и требования к характеристикам продукта. Результат анализа — создание функциональных спецификаций продукта.
Практически процесс анализа распространяется на весь ЖЦПИ, поскольку, по мере создания программного изделия, разработчик и пользователь углубляют свои знания о решаемой проблеме и могут изменять и уточнять свои требования к изделию.
Информация о программной системе (системная спецификация), полученная в результате анализа, должна включать описания:
§
выходных отчетов;
§ структур данных и базы данных;
§ внешних файлов и внутренних массивов;
§ функциональных компонент с разной степенью детализации и связей между ними.
Спецификация должна быть точной, проверяемой и формальной. Важнейшее требование к структурному системному анализу — понятность спецификаций и для пользователя, и для разработчика на всех уровнях детализации.
Полнота и корректность спецификаций — критический фактор в разработке программного изделия, т.к. допущенные при анализе ошибки оказываются особенно дорогостоящими, если не будут обнаружены и исправлены на ранних стадиях проектирования. Вот почему структурный анализ возник как эффективное средство коммуникации между пользователем и разработчиком, сближающее их представления о разрабатываемой системе. Графические средства структурного анализа могут рассматриваться в качестве языка их общения при проектировании системы.
Существует несколько близких версий структурного анализа, объединенных рядом общих принципов:
1. Нисходящая иерархическая организация модели системы.
2. "Разделяй и побеждай".
3. Графические средства общения и документирования.
Системные спецификации, создаваемые исходя из структурного анализа, представляют собой графическую модель системы, разделенную на отдельные части в результате использования нисходящей функциональной декомпозиции. Такая модель проста для понимания, пользователь может знакомиться с системой задолго до ее создания, корректировать возможные ошибки или свои требования, поскольку она представлена в виде совокупности небольших частей. Модель является хорошей основой для дальнейшего проектирования благодаря использованию общей структурной методологии.
Структурный системный анализ обеспечивает описание спецификаций системы, объединяя:
§ схемы потоков данных;
§ словарь данных;
§ описания процессов обработки данных.
Схемы потоков данных (СПД) — сетевое представление процессов (функций и процедур) в системе и данных, соединяющих эти процессы между собой. СПД показывают что делает система (процедура), но не рассматривает как это делается. В СПД используются четыре блока для графического представления:
§ источников (приемников) данных;
§ процессов обработки данных;
§ потоков данных;
§ хранилищ данных.
СПД представляют систему с разной степенью детализации, обеспечивая ее многоуровневое описание. Все элементы описания СПД включаются в словарь данных.
Словарь данных
представляет собой множество формальных описаний всех типов данных, появляющихся либо в потоках данных, либо в хранилищах данных в СПД.При описании данных принята иерархическая структура описания агрегатов данных, компонентами нижнего уровня иерархии являются элементы, дальнейшая детализация которых не имеет логического смысла.
Словарь данных — каталог всех типов данных системы, организованный в виде специальной словарной базы метаданных, которые используются на всех этапах ЖЦПИ.
Описание процессов — блоков обработки данных, соответствует функциям программного изделия, т.е. поясняет, как входные данные преобразуются в выходные.