- •Архитектура ПО
- •Архитектура ПО
- •То есть архитектура – это сквозная концепция или набор таковых для преодоления энтропии
- •При разработке архитектуры ПО важным оказывается совмещение множества точек зрения. ПО оказывается настолько
- •Причина множественности точек зрения при разработке ПО
- •Это происходит, прежде всего, из-за разных видов деятельности процесса разработки ПО (см. рис.
- •Разные виды деятельности – разные взгляды на систему
- •Далее, в разработку/использование ПО вовлечено большое количество очень разных специалистов: программисты, инженеры, тестеры,
- •Разные специалисты – разные взгляды на систему
- •Множественность точек зрения происходит также от того, что нет единых стандартов и норм
- •Точка зрения (viewpoint) —
- •Часто понятие архитектуры сильно сужают, понимая под ним лишь описание основных, важных аспектов
- •Диаграмма классов
- •Пример диаграмм размещений
- •Пример диаграмм компонент
- •Управление
- •Требования можно разделить на 2 группы – функциональные и нефункциональные.
- •Свойства требований
- •Свойства требований (продолжение)
- •Варианты формализации требований
- •1.Неформальная постановка требований в переписке по электронной почте.
- •2.Требования в виде документа – описание предметной области и ее свойств, техническое задание
- •3.Требования в виде графа с зависимостями в одном из средств поддержки требований (IBM
- •1.Формальная модель требований для верификации, модельно-
- •Цикл работы с требованиями
- •2.Анализ требований (requirements analysis), целью которого обнаружение и устранение противоречий и неоднозначностей в
- •4.Валидация требований (requirements validation), которая решает задачу оценки понятности сформулированных требований и их
Варианты формализации требований
Вообще говоря, требования как таковые – это некоторая абстракция. В реальной практике они всегда существуют в виде какого-то представления – документа, модели, формальной спецификации, списка и т.д.
Рассмотрим варианты формализации требований:
21
1.Неформальная постановка требований в переписке по электронной почте.
Хорошо работает в небольших проектах, при вовлеченности заказчика в разработку (например, команда выполняет субподряд). Хорошо также при таком стиле, когда есть взаимопонимание между заказчиком и командой, то есть лишние формальности не требуются.
22
2.Требования в виде документа – описание предметной области и ее свойств, техническое задание как приложение к контракту, функциональная спецификация для разработчиков и т.д.
23
3.Требования в виде графа с зависимостями в одном из средств поддержки требований (IBM Rational RequisitePro, и др.). Такое представление удобно при частом изменении требований, при отслеживании выполнения требований, при организации «привязки» к требованиям задач, людей, тестов, кода.
24
1.Формальная модель требований для верификации, модельно-
ориентированного тестирования и т.д.
25
Цикл работы с требованиями
В своде знаний по программной инженерии SWEBOK определяется следующие виды деятельности при работе с требованиями:
1.Выделение требований (requirements elicitation), нацеленное на выявление всех
возможных источников требований и ограничений на работу системы и извлечение требований из этих источников.
26
2.Анализ требований (requirements analysis), целью которого обнаружение и устранение противоречий и неоднозначностей в требованиях, их уточнение и систематизация.
3.Описание требований (requirements specification). В результате этой деятельности требования должны быть оформлены в виде структурированного набора документов и моделей, который может систематически анализироваться, оцениваться с разных позиций и в итоге должен быть утвержден как официальная формулировка требований к системе.
27
4.Валидация требований (requirements validation), которая решает задачу оценки понятности сформулированных требований и их характеристик, необходимых, чтобы разрабатывать ПО на их основе, в первую очередь, непротиворечивости и полноты, а также соответствия корпоративным стандартам на техническую документацию.
28
