- •Тема 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. Организация процесса тестирования программного обеспечения
- •Методика тестирования программных систем
- •Тестирование элементов
- •Тестирование итераций
- •Восходящее тестирование интеграции
- •Тестирование правильности
- •Системное тестирование
Состав функциональной модели sadt
Результатом применения методологии SADT является модель, которая состоит из диаграмм, фрагментов текстов и словарей данных, имеющих ссылки друг на друга.
Диаграммы являются главными компонентами модели SADT. Все функции на диаграмме представляются в виде блоков и дуг. Соединение дуги с блоком определяет тип интерфейса между блоками. Диаграммы объединяются в иерархические структуры. Чем выше уровень диаграммы, тем она меньше детализирована.
Блоки загружают процессы моделируемой системы, а дуги – взаимодействие между блоками. Блоки изображаются прямоугольниками и сопровождаются текстами, описывающими действие. В отличие от DFD в методологии SADT каждая строка блока имеет определенное особое значение. Левая сторона блока предназначена для входных дуг, описывающих информацию, которая подвергается обработке. Верхняя сторона блока предназначена для управляющей информации, правая – для результатов (выходная информация), нижняя – для описания механизмов или исполнителей.
Рисунок 6 – Структурная схема диаграммы
Такое обозначение процесса отражает следующие принципы методологии SADT:
входы преобразуются в выходы с помощью функций;
управляющая информация предписывает условия выполнения процесса;
механизмы или исполнители описывают, за счет чего выполняется преобразование.
Иерархия диаграмм
Построение модели SADT начинается с построения всей системы в виде одного блока и дуг, изображающих интерфейсы с функциями вне системы, т.к. единственный блок представляет всю систему как единое целое, имя этого блока является общим. Интерфейсные дуги также представляют полный набор внешних интерфейсов системы в целом. Далее блок, который представляет систему в виде единого модуля, детализируется в виде нескольких блоков, соединенных интерфейсными дугами. Вообще, каждая подфункция может содержать только те потоки, которые входят в исходную функцию. Дуги, входящие в блок и выходящие из него, на диаграмме верхнего уровня те же самые, что и на диаграмме нижнего уровня, т.к. и блок, и диаграмма представляют одну и ту же часть системы.
Блоки на диаграмме размещаются по ступенчатой схеме в соответствии с их доминированием. Под доминированием понимают влияние, оказываемое одним блоком на другие. Блоки должны быть пронумерованы в соответствии с их доминированием. Номера блоков служат номерами идентификаторов для процессов и автоматически организуют эти процессы и иерархию моделей. Взаимное влияние блоков может выражаться:
в пересылке выхода к другому процессу для дальнейшего преобразования;
выработка управляющей информации, предписывающей, что должен делать другой процесс.
В методологии SADT используется пять типов связей между блоками для описания их отношений:
управление;
вход;
управленческая обратная связь;
входная обратная связь;
выход исполнителя.
Отношения управления и входа являются простейшими, т. к. отражают очевидные прямые воздействия. Отношения управления возникают тогда, когда выход одного блока непосредственно влияет на блок с меньшим доминированием.
Обратные связи это более сложные отношения, т. к. они отражают итерации. Выходы одной активности влияют на выполнение другой активности, что впоследствии влияет на исходную активность или процесс. В частности управленческая обратная связь возникает, когда выход некоторого блока влияет на блок с большим доминированием, а входная обратная связь имеет место, когда выход одного блока становится входом другого блока с большим доминированием. Отношение вход-исполнитель встречаются редко и отражают ситуацию, при которой выход одной активности становится средством достижения цели другой активности.
Рисунок 7 – Прямая связь (вход-выход)
Рисунок 8 – Связь с типовым управлением
Рисунок 9 – Обратная связь
Рисунок 10 – Обратная связь по управлению
Рисунок 11 – Отношение выход-исполнитель
Дуги в методологии SADT изображают наборы предметов, поэтому они могут разветвляться и соединяться вместе. Разветвление дуги означает, что часть ее содержимого или весь набор процессов может появиться в каждом ответвлении дуги. Дуга всегда помечается до разветвления. Каждая ветвь дуги может быть помечена по следующим правилам:
Считается, что непомеченная ветвь содержит все предметы, указанные в метке перед разветвлением. Каждая ветка ветви уточняет, что именно содержит эта ветвь.
Слияние дуг указывает, что содержимое каждой ветви участвует в формировании объединенной дуги. После слияния дуга всегда помечается для указания нового набора. Перед слиянием каждая ветвь может помечаться в соответствии со следующими правилами:
непомеченные ветви содержат все предметы, указанные в общей метке после слияния;
каждая метка ветви уточняет, что именно содержит эта ветвь.