
- •Учреждение «университет «туран»
- •Кафедра «компьютерная и программная инженерия» учебно-методический комплекс по дисциплине «методы структурного анализа и проектирования»
- •Алматы, 2012
- •Учреждение «Университет «Туран»
- •Алматы, 2012
- •Пояснительная записка
- •Общие данные по рабочей программе
- •Краткое описание дисциплины
- •Цель преподавания дисциплины
- •Задачи изучения дисциплины
- •Уровень знаний, умений, навыков и компетенций, приобретаемый магистрантом по завершении изучения данной дисциплины:
- •Пререквизиты дисциплины
- •Постреквизиты дисциплины
- •Тематика срм
- •Список рекомендуемой литературы
- •Официальные интернет издания
- •Алматы, 2012
- •Пояснительная записка
- •Общие данные по рабочей программе
- •Краткое описание дисциплины
- •Цель преподавания дисциплины
- •Задачи изучения дисциплины
- •Уровень знаний, умений, навыков и компетенций, приобретаемый магистрантом по завершении изучения данной дисциплины:
- •Пререквизиты дисциплины
- •Постреквизиты дисциплины
- •Темы и продолжительность их изучения
- •Тематика семинарских (практических) занятий
- •График сдачи срм и время консультаций
- •Тематика срм
- •Вопросы для проведения контроля
- •Информация по оценке знаний
- •Критерии оценки знаний обучающихся (обобщенные)
- •Определение итоговой оценки по вск
- •Итоговая оценка
- •Процедура апелляции
- •Требования преподавателя Политика и процедуры курса
- •Правила поведения на аудиторных занятиях
- •График выполнения и сдачи заданий по дисциплине задания самостоятельной работы:
- •Тематика и график сдачи срмп
- •График сдачи срм и время консультаций
- •Тематика срм
- •Учреждение «Университет «Туран»
- •1.2. Идеи, лежащие в основе структурных методов
- •1.3. Принципы структурного анализа
- •1.4. Средства структурного анализа и их взаимоотношения
- •2.1. Основные символы
- •2.2. Контекстная диаграмма и детализация процессов
- •2.3. Декомпозиция данных и соответствующие расширения диаграмм потоков данных
- •2.4. Построение модели
- •2.5. Расширения реального времени
- •[Gl]Тема 3. Словарь данных. Методы задания спецификаций.[:]
- •3.1. Содержимое словаря данных
- •Методы задания спецификаций процессов
- •3.4. Таблицы и деревья решений
- •3.5. Визуальные языки проектирования спецификаций
- •3.6. Сравнение методов
- •[Gl]Тема 4. Диаграммы “сущность-связь”[:]
- •4.1. Сущности, отношения и связи в нотации Чена
- •4.2. Диаграммы атрибутов
- •4.3. Категоризация сущностей
- •4.4. Нотация Баркера
- •4.5. Построение модели
- •[Gl]Тема 5. Средства структурного проектирования [:]
- •5.1. Структурные карты Константайна
- •5.2. Структурные карты Джексона
- •5.3. Характеристики хорошей модели реализации
- •5.3.1. Сцепление
- •5.3.2. Связность
- •5.3.3. Другие принципы проектирования
- •5.4. Транзакционный и трансформационный анализ или как получить структурные карты из диаграмм потоков данных
- •6.1. Методологии структурного анализа Йодана/Де Марко и Гейна-Сарсона
- •6.2. Sadt - технология структурного анализа и проектирования
- •6.3. Сравнительный анализ sadt-моделей и потоковых моделей
- •6.4. Методология ssadm
- •6.5. Методологии, ориентированные на данные
- •6.6. Основные этапы подхода Мартина
- •8.1. Эволюция case - средств
- •8.2. Case-модель жизненного цикла по
- •8.3. Состав, структура и функциональные особенности case-средств
- •8.4. Поддержка графических моделей
- •8.5. Контроль ошибок
- •8.6. Организация и поддержка репозитария
- •8.7. Поддержка процесса проектирования и разработки
- •[Gl] тема 9. Классификация case - средств[:]
- •Среди большого числа методов оценки деятельности предприятий наибольшее распространение (по крайней мере в отечественных консалтинговых проектах) получили следующие два:
- •10.1. Динамическое моделирование с использованием сетей Петри
- •План семинарских (практических)занятий
- •Методические рекомендации по изучению дисциплины
- •«Методы структурного анализа и проектирования»
- •(По работе с учебно-методическим комплексом)
- •Основания, целевая аудитория и ориентированность учебно-методического комплекса
- •Структура, содержание и образовательные возможности учебно-методического комплекса
- •Рекомендуемый порядок работы с учебно-методическим комплексом
- •Материалы для самостоятельной работы обучающегося
- •Методические рекомендации по выполнению срм по дисциплине «методы структурного анализа и проектирования»
- •Самостоятельная внеаудиторная работа
- •Критерии оценки знаний, навыков
- •Примерная тематика исследований срм:
- •Тематика и график сдачи срмп
- •Требования к выполнению контрольных заданий по дисциплине «методы структурного анализа и проектирования»
- •Некоторые варианты самостоятельных заданий для магистрантов по дисциплине «методы структурного анализа и проектирования»
- •Тема 1. Понятие консалтинга в области информационных технологий
- •Тема 3. Методы задания спецификаций процессов
- •2. Таблицы и деревья решений
- •4.3. Визуальные языки проектирования спецификаций
- •4. Сравнение методов
- •Тема 4. Проведение обследования деятельности предприятия
- •4.1. Цели и основные этапы консалтинга
- •4.2. Проведение обследования
- •1) Положение о подразделении
- •2) Набор документальных форм без внутреннего наполнения, т.Е. Используемые формы, бланки и др. (например, карточка складского учета, отчет по форме n, наряд-задание, товарно-транспортная накладная)
- •Тема 5. Построение моделей
- •5.1. Построение и анализ моделей деятельности предприятия
- •5.2. Разработка системного проекта
- •Некоторые практические занятия
- •Формирование структурного представления системы
- •Диаграммы компонентов
- •Пример Теста промежуточного контроля
- •Программное и мультимедийное сопровождение учебных занятий по дисциплине «методы структурного анализа и проектирования»
- •Перечень специализированных аудиторий, кабинетов и лабораторий
- •Карта обеспеченности дисциплины учебной и учебно-методической литературой
3.4. Таблицы и деревья решений
Структурированный естественный язык неприемлем для некоторых типов преобразований. Например, если действие зависит от нескольких переменных, которые в совокупности могут продуцировать большое число комбинаций, то его описание будет слишком запутанным и с большим числом уровней вложенности. Для описания подобных действий традиционно используются таблицы и деревья решений.
Проектирование спецификаций процессов с помощью таблиц решений (ТР) заключается в задании матрицы, отображающей множество входных условий в множество действий.
ТР состоит из двух частей. Верхняя часть таблицы используется для определения условий. Обычно условие является ЕСЛИ-частью оператора ЕСЛИ-ТО и требует ответа "да-нет". Однако иногда в условии может присутствовать и ограниченное множество значений, например, ЯВЛЯЕТСЯ ЛИ ДЛИНА СТРОКИ БОЛЬШЕЙ, МЕНЬШЕЙ ИЛИ РАВНОЙ ГРАНИЧНОМУ ЗНАЧЕНИЮ?
Нижняя часть ТР используется для определения действий, т.е. ТО-части оператора ЕСЛИ-ТО. Так, в конструкции
ЕСЛИ ИДЕТ ДОЖДЬ ТО РАСКРЫТЬ ЗОНТ ИДЕТ ДОЖДЬ является условием, а РАСКРЫТЬ ЗОНТ - действием.
Левая часть ТР содержит собственно описание условий и действий, а в правой части перечисляются все возможные комбинации условий и, соответственно, указывается, какие конкретно действия и в какой последовательности выполняются, когда определенная комбинация условий имеет место.
Поясним вышесказанное на примере спецификации процесса выбора символов из входного потока. При выборе символов необходимо руководствоваться следующими правилами:
1) если очередной символ является управляющим, то подать звуковой сигнал и вернуть код ошибки; 2) если буфер формируемой строки заполнен, то подать звуковой сигнал и вернуть код ошибки; 3) если очередной символ не находится в заданном диапазоне, то подать звуковой сигнал и вернуть код ошибки; 4) иначе поместить символ в буфер, увеличить значение счетчика выбранных символов и вернуть новое значение счетчика. Таблица решений для данного примера выглядит следующим образом (таблица 3.1):
Таблица 3.1
|
УСЛОВИЯ |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
C1 |
isctrl(c) |
Д |
Д |
Д |
Д |
Н |
Н |
Н |
Н |
C2 |
I > max_lenght |
Д |
Д |
Н |
Н |
Д |
Д |
Н |
Н |
C3 |
out_of_range(c) |
Д |
Н |
Д |
Н |
Д |
Н |
Д |
Н |
|
ДЕЙСТВИЯ |
|
|
|
|
|
|
|
|
D1 |
beep() |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
D2 |
return(ERROR) |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
|
D3 |
return(++i) |
|
|
|
|
|
|
|
2 |
D4 |
putchar(c) |
|
|
|
|
|
|
|
1 |
Заметим, что если выполняется условие C1, то нет необходимости в проверке условий C2 и C3. Поэтому комбинации условий 1, 2, 3, 4 могут быть заменены обобщающей комбинацией (Д,-,-), где "-" означает любую из возможных альтернатив (в данном случае, Д или Н). Аналогично, комбинации условий 5 и 6 могут быть заменены обобщающей комбинацией (Н,Д,-). Редуцированная таким образом таблица решений будет иметь следующий вид (таблица 3.2):
Таблица 3.2
|
УСЛОВИЯ |
1 |
2 |
3 |
4 |
C1 |
isctrl(c) |
Д |
Н |
Н |
Н |
C2 |
I > max_lenght |
- |
Д |
Н |
Н |
C3 |
out_of_range(c) |
- |
- |
Д |
Н |
|
ДЕЙСТВИЯ |
|
|
|
|
D1 |
beep() |
1 |
1 |
1 |
|
D2 |
return(ERROR) |
2 |
2 |
2 |
|
D3 |
return(++i) |
|
|
|
2 |
D4 |
putchar(c) |
|
|
|
1 |
Отметим, что на основе таблицы решений легко осуществляется автоматическая кодогенерация. Для вышеприведенного примера соответствующий код может выглядеть следующим образом:
IF (isctrl(c)) { beep(); return(ERROR) }
ELSE {
IF (i>max_length) { beep(); return(ERROR) }
ELSE {
IF (out_of_range(c)) { beep(); return(ERROR) }
ELSE { putchar(c); return(++i) }
}
}
Построение ТР рекомендуется осуществлять по следующим шагам:
Идентифицировать все условия (или переменные) в спецификации. Идентифицировать все значения, которые каждая переменная может иметь.
Вычислить число комбинаций условий. Если все условия являются бинарными, то существует 2**N комбинаций N переменных.
Идентифицировать каждое из возможных действий, которые могут вызываться в спецификации.
Построить пустую таблицу, включающую все возможные условия и действия, а также номера комбинаций условий.
Выписать и занести в таблицу все возможные комбинации условий.
Редуцировать комбинации условий.
Проверить каждую комбинацию условий и идентифицировать соответствующие выполняемые действия.
Выделить комбинации условий, для которых спецификация не указывает список выполняемых действий.
Обсудить построенную таблицу.
Вариантом таблицы решений является дерево решений (ДР), позволяющее взглянуть на процесс условного выбора с позиции схемы. Дерево решений для вышерассмотренного примера приведено на рис. 3.1
Рис. 3.1. Дерево решений
Обычно ДР используется при малом числе действий и когда не все комбинации условий возможны, а ТР - при большом числе действий и когда возможно большинство комбинаций условий.