- •Письменные лекции по дисциплине «Разработка и анализ требований»
- •Лекция 1. Основы работы с требованиями к по
- •1.1. Что такое требования
- •1.2. Классификация программного обеспечения
- •1.3. Разработка требований в модели жизненного цикла по
- •1.4. Участники разработки требований
- •1.4.1. Аналитик требований
- •1.5. Типы требований
- •1.6. Этапы сбора и анализа требований с точки зрения rup
- •1.7. Процесс разработки требований
- •1.7. Разработка концепции продукта
- •1.13. Обзор конкурентов
- •1.13.1. Пример списка возможностей конкурентов
- •1.14. Документ о концепции и границах проекта
- •1.14.1. Положение о концепции
- •1.15. Бизнес-риски
- •1.16. Ограничения проекта и их выявление
- •1.17. Профили заинтересованных лиц
- •1.18. Пример бизнес-требований разных групп пользователей
- •1.19. Приоритеты проекта
- •Лекция 2. Методы выявления требований к по
- •2.1. Сбор требований пользователей
- •2.2. Определение классов пользователей
- •2.3. Характеристики классов пользователей
- •2.4. Представление системных событий и реакции на них
- •2.5.1. Пример crc-карточки
- •2.6. Прототипы (макеты) по
- •2.7. Представление требований пользователя на основе варианта использования
- •2.8. Процессы обработки данных варианта использования
- •2.9. Нефункциональные требования
- •2.10. Уточнение нефункциональных требований
- •2.11. Стандарты практичности (usability)
- •2.12. Бизнес-правила
- •2.12.1. Примеры бизнес-правил
- •Лекция 3. Анализ и моделирование требований к по
- •3.1. Атрибуты качества требований
- •3.2. Статус требования
- •3.3. Полный набор требований по
- •3.4. Представление вводов и выводов по
- •3.5. Полнота нефункциональных требований
- •3.6. Пример трассировки требований.
- •3.6.1. Дочерние требования
- •3.10.1. Оценки разработчиков возможности проверки требований
- •3.11. Определение приоритетов
- •4.3. Диаграммы uml (uml 2.5)
- •4.8. Предметы поведения uml
- •4.9. Отношения uml
- •4.10. Диаграмма Use Case
- •4.11. Диаграмма Use Case (2)
- •4.12. Диаграмма (видов) деятельности
- •5.5. Методики моделирования бизнес-процессов
- •5.6. Программное обеспечение для моделирования бизнес-процессов
- •5.7. Построение модели бизнес-процесса на основе вариантов использования
- •3) Используемые средства
- •5.8. Пример построения спецификации требований
- •5.9. Заинтересованные лица
- •5.10. Эксперты
- •5.11. Словарь (глоссарий)
- •5.12. Бизнес-процессы
- •5.13. Бизнес-правила
- •5.19. Класс Личное дело
- •Лекция 6. Методы структурного анализа требований к по
- •6.1. Средства структурного анализа
- •6.2. Методология sadt
- •6.3.1. Стандартизация методик моделирования в Российской Федерации
- •6.3.2. Диаграмма idef3
- •6.4. Диаграммы потоков данных dfd
- •7.2.2. Спецификация требований к по
- •7.3. Техническое задание (еспд. Гост 19.201-78)
- •7.4. Техническое задание (Информационные технологии гост 34.602-87)
- •7.5. Разработка требований к по встроенных систем
- •7.7. Спецификация требований к интерфейсам
- •7.8. Работа с требованиями в проектах гибкой разработки
- •Лекция 8. Управление требованиями к по
- •8.1. Управление требованиями
- •8.1.8. Атрибуты запроса на изменение
- •8.2. Программные средства управления требованиями
- •8.2.1. Сравнительная характеристика систем управления требованиями
- •8.2.3. Сравнение систем управления требованиями
3.10.1. Оценки разработчиков возможности проверки требований
Система должна отвечать на произвольный запрос в течение 500 миллисекунд. Все зависит от того, что подразумевается под словом произвольный, если число запросов конечно, и можно выявить наиболее сложные из них, проверка возможна;
Цифры на экране, показывающем время, должны хорошо выглядеть. Красота — дело вкуса, проверить нельзя;
Система должна быть дружественной пользователю. Требование неконкретно, в таком виде непроверяемо;
Система должна экспортировать данные для просмотра в формате, в котором в качестве разделителя используется запятая. Надо уточнить некоторые детали, например, что будет, если данные представляют пустое множество, в этом случае требование проверяемо.
3.11. Определение приоритетов
Необходимо устанавливать для того, чтобы оптимальным образом планировать выпуски ПО. Приоритеты требования устанавливаются экспертами. Самая простая методика:
Методика MoSCoW
Обязательные для выполнения (Must).
Должны быть сделаны (Should).
Могут быть сделаны (Could).
Не нужны (Won't).
Методика определения по срочности и важности
-----------------------------------------------------------------------------------
Важные Неважные
------------------------------------------------------------------------------------
Срочные Высокий приоритет Не занимайтесь им!
Не срочные Средний приоритет Низкий приоритет
3.12. Определение приоритета по полезности (ценности) функции
Методика вычисления относительной полезности функции для пользователя Quality Function Deployment (QFD).
Оценки выгоды, урона, стоимости, риска — от 1 (минимально) до 9 (максимально)
Приоритет = % ценности / (%стоимости * вес_стоимости + %риска * вес_риска).
Лекция 4. Средства анализа требований к ПО. Основы UML
4.1. Стандарты языка UML
Язык UML — Unified Modeling Language.
Авторы: Гради Буч, Джеймс Румбо, Айвар Якобсон.
UML 2.4.1 (2011) принят в качестве международного стандарта ISO/IEC 19505-1, 19505-2:2012.
Спецификации UML:
1.3 (1999 год)
1.4 (2001 год)
1.5 (2003 год)
2.0 (2005 год)
2.5 (март 2015 года)
2.5.1 (декабрь 2017)
UML движется в сторону упрощения.
Официальный сайт: www.omg.org
4.2. Назначение и элементы UML
Используется для анализа, проектирования, документирования ПО.
Модели UML могут быть переведены на языки программирования (C++, Java, Visual Basic, и др.).
Элементы UML:
диаграммы,
предметы (диаграммы строятся из предметов — сущностей; различают структурные [например, класс/компонент] и предметы поведения [например, действие]),
отношения (схематическая связь между объектами).
4.3. Диаграммы uml (uml 2.5)
Структурные диаграммы (не меняются в процессе эксплуатации):
Диаграмма классов.
Диаграмма компонентов (компонент — любой файл; например, файл с исходным кодом, исполняемый файл, файл с данными).
Диаграмма пакетов (например, с точки зрения Java, пакет — директория, которая хранит другие директории и java-файлы).
Диаграмма профилей (связано с пользователями).
Диаграмма объектов (отражает набор объектов и их взаимодействий).
Диаграмма композитной структуры (тоже показывает взаимодействия сущностей программного продукта).
Диаграмма развертывания (для иллюстрации информационной системы; компоненты инфраструктуры, компоненты оборудования).
Диаграммы поведения (могут меняться в процессе эксплуатации):
Диаграмма прецедентов (отображает основные функции ПО).
Диаграмма деятельности (отображает процесс исполнения сценария варианта использования).
Диаграмма состояний (иллюстрация объекта, который имеет ограниченное число состояний; конечный автомат).
Диаграммы взаимодействия (относятся к диаграммам поведения):
Диаграмма последовательности.
Диаграмма коммуникаций.
Диаграмма обзора взаимодействия.
Диаграмма синхронизации.
4.4. Структурные диаграммы (Structure Diagrams)
Class diagram — диаграмма классов.
Component diagram — диаграмма компонентов.
Composite structure diagram — диаграмма композитной/составной структуры.
Collaboration (UML 2.0) — диаграмма кооперации.
Deployment diagram — диаграмма развертывания.
Object diagram — диаграмма объектов.
Package diagram — диаграмма пакетов.
Profile diagram (UML 2.2) — диаграмма профилей.
4.5. Диаграммы поведения (Behavior Diagrams)
Activity diagram — диаграмма деятельности.
State Machine diagram — диаграмма состояний.
Use case diagram — диаграмма прецедентов.
4.6. Диаграммы взаимодействия (Interaction Diagrams)
Communication diagram (UML2.0) / Collaboration (UML 1.x).
Диаграмма коммуникации (UML 2.0) / диаграмма кооперации (UML 1.x).
Interaction overview diagram (UML 2.0) — диаграмма обзора взаимодействия.
Sequence diagram — диаграмма последовательности.
Timing diagram (UML 2.0) — диаграмма синхронизации.
4.7. Структурные предметы UML
Класс (помимо приведенных трех частей, может быть четвертая с примечаниями; + — public доступ, - — private доступ, # — protected доступ)
Объект (паскалевская нотация)
Кооперация (сотрудничество)
Актер (вне ПО, взаимодействующий с ним)
Прецедент (Use Case / Вариант Использования; имя прецедента лучше обозначать глаголом, например, «сохранить данные»)
Интерфейс
Активный класс (содержит в себе поток обработки сообщений)
Компонент UML 1.2
Компонент UML 2.0
Узел
Пакет
Комментарии (аннотации)
