- •Тема 1. Введение. Основы методологии проектирования информационных систем 5
- •Жизненный цикл программного обеспечения
- •Модели жизненного цикла программного обеспечения
- •Макетирование
- •Спиральная модель жизненного цикла
- •Компонентно-ориентированная модель
- •Тема 2. Структурный анализ и проектирование Определение структурного анализа
- •Средства структурного анализа
- •Моделирование потоков данных
- •Контекстная диаграмма
- •Построение иерархии диаграмм потоков данных
- •Методология функционально стоимостного анализа
- •Методология функционального моделирования sadt (Structured Analysis and Design Technique)
- •Состав функциональной модели sadt
- •Иерархия диаграмм
- •Словарь данных
- •Тема 3. Построение информационной модели системы. Проектирование баз данных Диаграммы сущность-связь (erd)
- •Сущности, отношения и связи в нотации Чена
- •Типы связей в нотации Чена
- •Ассоциативная связь
- •Диаграммы атрибутов в классической модели Чена
- •Диаграмма категоризации
- •Нотация Баркера. Модель сущность- связь в нотации Баркера
- •Методология idef1x
- •Тема 4. Методика построения информационной модели данных (модели «сущность-связь»)
- •Идентификация отношений между сущностями
- •Разрешение неспецифических отношений
- •Использование средств и техники структурного системного анализа
- •Основные виды работ, рекомендуемые при построении логической и физической моделей программной системы
- •Подход Мартина (ie–методология)
- •Тема 5. Методология rad (Rapid Application Development)
- •Основные принципы методологии rad
- •Состав, структура и функциональные особенности case-средств
- •Поддержка графических моделей
- •Требования к современному диаграммеру
- •Тема 6. Структурное тестирование программного обеспечения Основные понятия и принципы тестирования программного обеспечения
- •Особенности тестирования белого ящика
- •Способ тестирования базового пути
- •Потоковый граф
- •Цикломатическая сложность
- •Шаги способа тестирования базового пути
- •Способы тестирования условий
- •Тестирование ветвей и операторов отношения
- •Способ тестирования потоков данных
- •Тестирование циклов
- •Тема 7. Функциональное тестирование программного обеспечения Особенности тестирования черного ящика
- •Способы разбиения на эквивалентности
- •Способ анализа граничных значений
- •Способ диаграмм причин–следствий
- •Тема 8. Организация процесса тестирования программного обеспечения
- •Методика тестирования программных систем
- •Тестирование элементов
- •Тестирование итераций
- •Восходящее тестирование интеграции
- •Тестирование правильности
- •Системное тестирование
Средства структурного анализа
Существует три группы средств структурного анализа, которые иллюстрируют:
функции, которые система должна выполнить;
описание отношений между данными;
поведение системы, зависящей от времени.
В методологии структурного анализа наиболее популярными являются следующие средства:
диаграмма потоков данных (Data Flow Diagram), которые используются для иллюстрации функций, которые система должна выполнить, и информационных потоков, связывающих процессы в системе. DFD используются совместно со спецификациями процессов и словарями данных;
диаграмма сущность-связь (Entity Relationship Diagram). Эти диаграммы используются для иллюстрации отношений между данными;
диаграммы перехода в состояние (State Transition Diagram).
Перечисленные средства содержат графические и текстовые инструменты моделирования. Графические инструменты предназначены для демонстрации основных компонентов системы. Текстовые инструменты позволяют точно определить компоненты системы и связи между моделями.
Логические диаграммы потоков данных показывают внешние по отношению к системе источники данных и адресаты, а также идентифицируют логические функции или процессы.
Группы элементов данных, связывающие одну логическую функцию с другими, называются потоками данных. Кроме того, на DFD идентифицируются хранилища или накопители, к которым осуществляется доступ.
Структура потоков данных и описывающие их компоненты хранятся в словаре данных. Каждый процесс на диаграмме потоков данных может быть детализирован с помощью DFD нижележащего уровня. Когда степень детализации процессов становится достаточной, переходят к определению логики процессов с помощью спецификации процессов. Кроме того, в словаре данных описывается также содержимое каждого хранилища.
Моделирование потоков данных
В основе методологии моделирования потоков данных лежит построение модели – анализируемой информационной системы. Модель системы определяется как иерархия диаграмм потоков данных, описывающих асинхронный процесс при образовании иерархии от ее ввода в систему до выдачи пользователю.
Диаграмма верхнего уровня иерархии определяет основные процессы внешними входами и выходами. Они детализируются при помощи диаграмм более низкого уровня. Декомпозиция продолжается до тех пор, пока не будет достигнут такой уровень детализации, на котором процесс становится элементарным. Результатом декомпозиции является многоуровневая иерархия диаграмм. Источники информации, которыми часто являются внешние сущности, порождают информационные потоки, которые переносят информацию к основным процессам или подсистемам. Процессы в свою очередь преобразуют информацию и порождают новые потоки, которые переносят информацию к другим процессам, к накопителям данных или к внешним сущностям потребителя информации.
Таким образом, структура информационной системы представляется в виде сети или графов, узлами которых являются процессы, а связями – потоки данных.
Основными элементами диаграмм потоков данных являются внешние сущности, процессы (подсистемы), хранилища (накопители информации) и потоки данных. Для изображения диаграмм потоков данных используются две нотации: нотация Йодана и нотация Гейна-Сарсона.
Йодан |
Гейн-Сарсон |
1 Потоки данных
|
1 Потоки данных
|
2 Процесс (подсистема)
|
2 Процесс (подсистема)
|
3 Хранилища (накопители данных)
|
3 Хранилища (накопители данных)
|
4 Внешние сущности
|
4 Внешние сущности
|
Поток данных используется для моделирования, передачи информации от источника к получателю. Ориентация стрелки указывает направление движения информации. В некоторых случаях информация передается в одном направлении, обрабатывается и возвращается к источнику. Такая ситуация может моделироваться двумя встречными потоками или одной двунаправленной стрелкой.
Процесс выполняет преобразование входных потоков данных в выходные в соответствии с действием, которое определяется именем процесса. Имя процесса должно содержать глагол в неопределенной форме или отглагольное существительное и возможно дополнения, например, выдать информацию о текущих расходах, проверить кредитоспособность и т.д. Использование глаголов подобных обработать, отредактировать, организовать и т.д. означает, что данный процесс требует дальнейшего анализа. Физически, процесс может быть реализован программой, аппаратными средствами, некоторым подразделением организаций, выполняющих обработку информации и т.д. Каждый процесс на диаграмме имеет уникальный номер для ссылки на него внутри диаграммы. Номер процесса совместно с номером диаграммы образуют уникальный индекс процесса во всей модели.
Хранилище (накопитель данных) определяет данные, которые сохраняются между процессами. Накопитель данных представляет собой абстрактное устройство для хранения информации. Информацию можно в любой момент поместить в накопитель и через некоторое время извлечь, причем в любом порядке. Физически, накопитель может быть реализован в виде картотеки, массива в оперативной памяти, файла на диске, базы данных и т.д. В общем случае, накопитель является прообразом базы данных информационной системы и служит для описания данных и их увязывания с информационной моделью. Имя хранилища идентифицирует его содержимое и должно быть существительным. Если поток данных входит и выходит из хранилища и его структура соответствует структуре хранилища, то поток данных должен иметь то же самое имя, что и хранилище.
Внешняя сущность – это объект объектной области не входящей в контекст предметной области информационной системы и являющейся источником или получателем данных, например, заказчики, поставщики, клиенты. Определение объекта предметной области в качестве внешней сущности указывает на то, что этот объект находятся за пределами границ информационной системы и в обработке не участвует. Имя внешней сущности должно быть существительным. В процессе анализа некоторые внешние сущности могут быть перенесены внутрь информационной системы или наоборот часть процессов информационной системы может быть вынесена за пределы диаграммы и представлена внешними сущностями.