
- •Структурный системный анализ
- •Место системного структурного анализа в жизненном цикле программного обеспечения
- •Этапы структурного системного анализа
- •Элементы и правила построения диаграмм потоков данных
- •Пример диаграммы потоков данных (компьютерные курсы)
- •Пример диаграммы потоков данных («КоммИнфо»)
- •Построение словаря данных
- •Способы построения структур данных
- •Описание логики процессов
- •Для определения размера скидки абонентам “КоммИнфо”
- •Стандартная форма таблицы решений
- •Стандартная форма таблицы решений для определения размера скидки абонентам “КоммИнфо”
- •Модифицированная таблица решений для определения размера скидки абонентам “КоммИнфо”
- •Расширения диаграмм потоков данных
- •Анализ диаграмм потоков данных
Структурный системный анализ
Место системного структурного анализа в жизненном цикле программного обеспечения
Структурный системный анализ проводится на начальном этапе разработки программного обеспечения – при создании спецификаций требований. Анализ предусматривает сбор и систематизацию сведений о предметной области, в которой должна функционировать разрабатываемая система. В результате проведения анализа создается система формальных спецификаций, ядром которой являются диаграммы потоков данных (ДПД).
Работы, выполняемые на этапе структурного системного анализа, осуществляются как правило, специальным лицом – системным аналитиком. Схема его взаимодействия с другими участниками разработки иллюстрирует рис. 2.1.
Системный аналитик проводит опрос будущих пользователей системы с целью выявления их потребностей и требований к системе автоматизации. Итогом исследования предметной области системным аналитиком являются диаграммы потоков данных, предоставляемые для проверки и согласования заказчику, а также будущим пользователям системы. Диаграммы потоков данных используются разработчиками системы (проектировщиками и программистами) при создании программного продукта. Системный аналитик консультирует разработчиков системы, а при необходимости проводит повторный опрос пользователей и уточняет ДПД.
При выполнении анализа, как правило, возникают проблемы, основными из которых являются следующие.
1. Аналитику сложно получить всю необходимую информацию о предметной области, так как зачастую сами пользователи затрудняются в формулировке алгоритмов, логики обработки информации и принятия решений, руководствуясь в своей практической деятельности интуитивными соображениями.
2. Пользователи будущей системы не обладают достаточными знаниями в области обработки информации, для того чтобы судить, что является выполнимым, а что нет, в каких рамках возможна и наиболее эффективна автоматизация.
3. При создании реальных систем количество понятий, выделяемых в результате проведения анализа, может достигать десятков тысяч; следовательно, аналитику необходимы средства для систематизации данных, а также возможность «рассматривать» систему как в целом, так и по частям.
4. Собранные аналитиком сведения должны быть проверены и согласованы с заказчиками и будущими пользователями системы, поэтому они должны быть представлены, с одной стороны, на языке, доступном людям, не обладающим специальными знаниями, а с другой стороны – на языке, не допускающем многозначной интерпретации фактов. Наилучшим способом разъяснения пользователям функций системы является создание ее прототипа, но эта работа может потребовать значительного времени и средств.
5. Собранные аналитиком сведения используются разработчиками системы, а следовательно, должны быть достаточно полными, формализованными и понятными специалистам в области обработки информации и создания программного обеспечения.
Методология структурного системного анализа нацелена на то, что бы помочь аналитику решить перечисленные выше проблемы. Предлагаемая методика не позволяет автоматически получать хорошие проекты, вместе с тем, она вводит некоторую «технологическую дисциплину», которая может обеспечить сокращение сроков и трудозатрат при создании качественного, а следовательно, более надежного, программного обеспечения.