- •Особенности структурного анализа и проектирования информационных систем
- •Введение
- •1. Построение моделей бизнес-процессов по стандарту idef0
- •1.1. Примитивы стандарта idef0
- •1.2. Виды ресурсов стандарта idef0 и их взаимосвязь
- •1.3. Особенности построения моделей по стандарту idef0
- •1.4. Пример декомпозиции процесса
- •1.5. Пример построения диаграмм idef0
- •1.7. Особенности создания диаграмм в программах bpWin и Ramus
- •1.6. Работа с тоннелями
- •1.8. Именование объектов в bpWin
- •1.9. Решение проблем с кодировкой и автоматической проверкой
- •1.10. Варианты заданий по построению моделей бизнес-процессов
- •1.11. Контрольные вопросы
- •1.12. Варианты тестовых заданий по контролю знаний в сфере построения моделей бизнес-процессов
- •2. Построение диаграмм потоков данных
- •2.1. Общие особенности методологии dfd
- •2.2. Внешние сущности
- •2.3. Системы и подсистемы
- •2.4. Процессы
- •2.5. Накопители данных
- •2.6. Потоки данных
- •2.7. Построение иерархии диаграмм потоков данных
- •2.8. Пример построения диаграммы потоков данных в программе bpwin
- •2.9. Особенности построения диаграмм dfd в программе Ramus
- •2.9.1. Создание новой диаграммы, работа с примитивами, классификаторами, особенности декомпозиции
- •2.9.2. Подробный пример построения диаграммы dfd
- •2.10. Варианты заданий по построению диаграмм потоков данных
- •2.11. Контрольные вопросы
- •2.12. Варианты тестовых заданий по контролю знаний в сфере построения диаграмм потоков данных
- •3. Проектирование реляционных баз данных посредством стандарта idef1x
- •3.1. Особенности построения структуры баз данных
- •3.2. Виды связей между таблицами
- •3.3. Особенности стандарта idef1x
- •3.4. Особенности построения схем idef1x в программе ErWin
- •3.4.1. Общие особенности программы ErWin
- •3.4.2. Работа с панелью инструментов и сущностями
- •3.4.3. Работа со связями между таблицами
- •3.5. Особенности построения схем idef1x в программе dbDesigner
- •3.5.1. Особенности работы с программой
- •3.5.2. Необходимые для работы кнопки панели инструментов
- •3.5.3. Настройка внешнего вида схем под стандарт idef1x
- •3.5.4. Работа с таблицами
- •3.5.5. Связи между таблицами
- •3.5.6. Удаление объектов схемы
- •3.5.7. Пример схемы idef1x в dbDesigner
- •3.6. Варианты заданий по построению схем реляционных баз данных
- •3.6. Контрольные вопросы
- •3.7. Варианты тестовых заданий по контролю знаний в сфере построения схем баз данных
- •4. Проектирование диалога с пользователем посредством транзитивных сетей
- •4.1. Проектирование диалога с пользователем
- •4.2. Простая транзитивная сеть
- •4.3. Рекурсивная транзитивная сеть
- •4.4. Подсеть, не связанная с рекурсией
- •4.5. Проектирование конкурентного диалога
- •4.6. Особенности построения транзитивных сетей в программе Dia
- •4.6.1. Подготовка новой панели под создание транзитивных сетей
- •4.6.2. Основные моменты построения транзитивных сетей в программе Dia
- •4.6.3. Пример построения транзитивной сети в программе Dia
- •4.7. Варианты заданий по построению логики диалога с пользователем
- •4.8. Контрольные вопросы
- •4.9. Варианты тестовых заданий по контролю знаний в сфере построения логики диалога пользователя с системой
- •Литература
- •Особенности структурного анализа и проектирования информационных систем
2.6. Потоки данных
Поток данных определяет информацию, передаваемую через некоторое соединение от источника к приемнику. Реальный поток данных может быть информацией, передаваемой по кабелю между двумя устройствами, пересылаемыми по почте письмами, магнитными лентами или дискетами, переносимыми с одного компьютера на другой и т.д.
Поток данных на диаграмме изображается линией, оканчивающейся стрелкой, которая показывает направление потока (рисунок 2.6). Каждый поток данных имеет имя, отражающее его содержание.
Рис. 2.6. Поток данных
2.7. Построение иерархии диаграмм потоков данных
Первым шагом при построении иерархии диаграмм потоков данных является построение контекстных диаграмм. Обычно при проектировании относительно простых ИС строится единственная контекстная диаграмма со звездообразной топологией, в центре которой находится главный процесс, соединенный с приемниками и источниками информации, посредством которых с системой взаимодействуют пользователи и другие внешние системы.
Если же для сложной системы ограничиться единственной контекстной диаграммой, то она будет содержать слишком большое количество источников и приемников информации, которые трудно расположить на листе бумаги нормального формата, и кроме того, единственный главный процесс не раскрывает структуры распределенной системы. Признаками сложности (в смысле контекста) могут быть:
наличие большого количества внешних сущностей (десять и более);
распределенная природа системы;
многофункциональность системы с уже сложившейся или выявленной группировкой функций в отдельные подсистемы.
Для сложных ИС строится иерархия контекстных диаграмм. При этом контекстная диаграмма верхнего уровня содержит не единственный главный процесс, а набор подсистем, соединенных потоками данных. Контекстные диаграммы следующего уровня детализируют контекст и структуру подсистем.
Иерархия контекстных диаграмм определяет взаимодействие основных функциональных подсистем проектируемой ИС как между собой, так и с внешними входными и выходными потоками данных и внешними объектами (источниками и приемниками информации), с которыми взаимодействует ИС.
Разработка контекстных диаграмм решает проблему строгого определения функциональной структуры ИС на самой ранней стадии ее проектирования, что особенно важно для сложных многофункциональных систем, в разработке которых участвуют разные организации и коллективы разработчиков.
После построения контекстных диаграмм полученную модель следует проверить на полноту исходных данных об объектах системы и изолированность объектов (отсутствие информационных связей с другими объектами).
Для каждой подсистемы, присутствующей на контекстных диаграммах, выполняется ее детализация при помощи DFD. Каждый процесс на DFD, в свою очередь, может быть детализирован при помощи DFD или миниспецификации. При детализации должны выполняться следующие правила:
правило балансировки - означает, что при детализации подсистемы или процесса детализирующая диаграмма в качестве внешних источников или приемников данных может иметь только те компоненты (подсистемы, процессы, внешние сущности, накопители данных), с которыми имеет информационную связь детализируемая подсистема или процесс на родительской диаграмме;
правило нумерации - означает, что при детализации процессов должна поддерживаться их иерархическая нумерация. Например, процессы, детализирующие процесс с номером 12, получают номера 12.1, 12.2, 12.3 и т.д.
Миниспецификация (описание логики процесса) должна формулировать его основные функции таким образом, чтобы в дальнейшем специалист, выполняющий реализацию проекта, смог выполнить их или разработать соответствующую программу.
Миниспецификация является конечной вершиной иерархии DFD. Решение о завершении детализации процесса и использовании миниспецификации принимается аналитиком исходя из следующих критериев:
наличия у процесса относительно небольшого количества входных и выходных потоков данных (2-3 потока);
возможности описания преобразования данных процессом в виде последовательного алгоритма;
выполнения процессом единственной логической функции преобразования входной информации в выходную;
возможности описания логики процесса при помощи миниспецификации небольшого объема (не более 20-30 строк).
При построении иерархии DFD переходить к детализации процессов следует только после определения содержания всех потоков и накопителей данных, которое описывается при помощи структур данных. Структуры данных конструируются из элементов данных и могут содержать альтернативы, условные вхождения и итерации. Условное вхождение означает, что данный компонент может отсутствовать в структуре. Альтернатива означает, что в структуру может входить один из перечисленных элементов. Итерация означает вхождение любого числа элементов в указанном диапазоне. Для каждого элемента данных может указываться его тип (непрерывные или дискретные данные). Для непрерывных данных может указываться единица измерения (кг, см и т.п.), диапазон значений, точность представления и форма физического кодирования. Для дискретных данных может указываться таблица допустимых значений.
После построения законченной модели системы ее необходимо верифицировать (проверить на полноту и согласованность). В полной модели все ее объекты (подсистемы, процессы, потоки данных) должны быть подробно описаны и детализированы. Выявленные недетализированные объекты следует детализировать, вернувшись на предыдущие шаги разработки. В согласованной модели для всех потоков данных и накопителей данных должно выполняться правило сохранения информации: все поступающие куда-либо данные должны быть считаны, а все считываемые данные должны быть записаны.
