Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Структурный системный анализ

Поиск

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

Практически процесс анализа распространяется на весь ЖЦПИ, поскольку, по мере создания программного изделия, разработчик и пользователь углубляют свои знания о решаемой проблеме и могут изменять и уточнять свои требования к изделию.

Информация о программной системе (системная спецификация), полученная в результате анализа, должна включать описания:

§ выходных отчетов;

§ структур данных и базы данных;

§ внешних файлов и внутренних массивов;

§ функциональных компонент с разной степенью детализации и связей между ними.

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

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

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

1. Нисходящая иерархическая организация модели системы.

2. "Разделяй и побеждай".

3. Графические средства общения и документирования.

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

Структурный системный анализ обеспечивает описание специ­фикаций системы, объединяя:

§ схемы потоков данных;

§ словарь данных;

§ описания процессов обработки данных.

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

§ источников (приемников) данных;

§ процессов обработки данных;

§ потоков данных;

§ хранилищ данных.

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

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

Словарь данных — каталог всех типов данных системы, органи­зованный в виде специальной словарной базы метаданных, которые используются на всех этапах ЖЦПИ.

Описание процессов — блоков обработки данных, соответству­ет функциям программного изделия, т.е. поясняет, как входные дан­ные преобразуются в выходные.

Нисходящее проектирование

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

Нисходящее проектирование применимо к проектированию сис­тем, программ, отдельного модуля, а также к проектированию структур данных. Как и другие структурные методы, нисходящее проектирование имеет целью:

• систематизировать процесс проектирования;

• создать модульный проект программы;

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

• принимать те решения, которые при разделении проблемы на части обеспечивают наибольшую логическую связность внутри каждой части (подпроблемы);

• при принятии решения обязательно рассматривать альтерна­тивные проекты;

• на каждом шаге принимать как можно меньше решений;

• в первую очередь пытаться выполнять простейшие решения. Для успешного применения метода каждый проектировщик дол­жен следовать следующим основополагающим принципам:

1. Для каждого модуля (на любом уровне иерархии) должны быть определены: функция, его входы и выходы.

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

3. Для описания интерфейсов между модулями данным необхо­димо уделять такое же внимание, как и процедурам обработки.

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



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 218; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.255.198 (0.006 с.)