- •Лабораторная работа № 1 Выделение высокоуровневых требований к программной системе
- •1. Теоретическая часть
- •1.1. Классификация и уровни требований
- •1.2. Свойства требований
- •1.3. Анализ требований
- •1.4. Модель вариантов использования
- •1.7. Вопросы для самоконтроля
- •2. Практическая часть
- •2.1. Задание на лабораторную работу
- •2.2. Порядок выполнения работы
- •2.3. Контрольные вопросы
- •Лабораторная работа №2 Построение диаграммы потоков данных
- •1. Теоретическая часть
- •1.1. Диаграмма потоков данных
- •1.2. Детализация процессов и контекстная диаграмма
- •1.3. Нотации изображения диаграммы потоков данных и основные элементы
- •1.4. Вопросы для самоконтроля
- •2. Практическая часть
- •2.1. Задание на лабораторную работу
- •2.2. Описание входной и выходной информации
- •2.3. Построение диаграммы потоков данных
- •2.4. Контрольные вопросы
- •Лабораторная работа №3 Проектирование информационного обеспечения с использованием семантических моделей
- •1. Теоретическая часть
- •1.1. Семантические модели данных
- •1.2 Диаграммы «Сущность-связь»
- •1.3. Основные компоненты диаграммы «Сущность–связь»
- •1.4. Вопросы для самоконтроля
- •2. Практическая часть
- •2.1. Задание на лабораторную работу
- •2.2. Разработка er–модели
- •2.3. Прямая и обратная инженерия базы данных информационной системы
- •2.4. Контрольные вопросы
- •Приложение 1
- •Приложение 2
- •1. Введение
- •2. Позиционирование
- •3. Описания пользователей
- •4. Краткий обзор изделия
- •5. Возможности продукта
- •6. Ограничения
- •7. Показатели качества
- •8. Другие требования к изделию
- •9. Требования к документации
- •10. Маркировка и пакетирование
- •Библиографический список
1.2. Свойства требований
Основные свойства требований к программным системам:
полнота — свойство, означающее, что текст требования не требует дополнительной детализации, то есть в нем предусмотрены все необходимые нюансы, особенности и детали;
ясность (недвусмысленность, определенность, однозначность спецификаций) — сходность восприятия требования всеми совладельцами системы;
корректность и согласованность — непротиворечивость требованиям своего уровня иерархии и требованиям «родительского» уровня;
верифицируемость — пригодность требования к проверке;
необходимость — свойства, без которых невозможно, либо затруднено выполнение автоматизированных бизнес-функций пользователей;
полезность при эксплуатации — любые свойства, повышающие эргономические качества продукта;
осуществимость (выполнимость) — на практике определяется разумным балансом между ценностью (степенью необходимости и полезности) и требуемыми ресурсами;
модифицируемость — возможность переработки требований и, при необходимости, поддерживание истории изменений для каждого положения;
трассируемость — возможностью отследить связь между требованием и другими объектами информационной системы;
упорядоченность по важности и стабильности — количественная оценка степени значимости (важности) требования и прогнозная оценка неизменности требований во времени;
наличие количественной метрики (например, запрос должен отрабатываться не более чем ___ секунд).
1.3. Анализ требований
Анализ требований — один из основных рабочих потоков (workflow) программной инженерии.
В процессе анализа требований выделяют следующие составляющие:
Requirements Elicitation (Извлечение требований);
Requirements Analysis (Анализ требований в узком смысле);
Requirements Specification (Специфицирование требований);
Requirements Validation (Проверка требований).
RUP предлагает выделить в основном потоке анализа требований такие компоненты, как:
Analyze the Problem (Анализ проблемы);
Understand Stakeholder Needs (Понимание потребностей совладельцев);
Define the System (Определение системы);
Manage the Scope of the System (Управление контекстом системы);
Refine the System Definition (Уточнение определения системы).
1.4. Модель вариантов использования
В настоящее время существует множество методик, языков, визуальных представлений, позволяющих моделировать требования к системе. При создании информационных систем стандартом де-факто является универсальный язык моделирования (UML).
Самым популярным и весьма эффективным способом повышения информативности требований является оформление их в виде вариантов использования (use case), предложенный И.Якобсоном.
Актер — это некто или нечто, обладающее активностью по отношению к программной системе. Актером может быть пользователь, работающий с системой. Помимо пользователя в качестве актера может рассматриваться другая программная система, аппаратное устройство, в ряде случаев — активная компонента самой системы. Поиск актеров корпоративной информационной системы обычно сводится к анализу ролей различных пользователей.
Вариант использования в первом приближении можно рассматривать, просто, как функцию, реализуемую системой.
Актер обозначается значком человечка, а вариант использования — овалом. Дополнительно в диаграммы могут быть добавлены комментарии.
Диаграмма задумана так, чтобы дать наиболее общее представление о функциональности системы (ее компоненты), не вдаваясь в детали взаимосвязей функций. Поэтому основной вид отношения, используемый в диаграмме — ассоциация между актером и вариантом использования.
Рис. 1.1. Пример ассоциации между актером и вариантом использования
Другие виды отношений — отношение включения (include), расширения (extend) и обобщения/генерализации.
Включение служит для обозначения подчиненных вариантов использования (когда один или более вариантов использования содержат вызовы одной и той же функциональности).
Рис. 1.2. Отношение включения
Расширение соответствует точке расширения, используемой при описании варианта использования — задание альтернатив, привязанных к шагу основного сценария.
Рис. 1.3. Отношение расширения
Отношение обобщения может применяться как к актерам, так и к вариантам использования, с целью указания специализации одних относительно других.
Рис. 1.4. Отношение обобщения