Учебное пособие ТОАУ Ч.3 (Учебное пособие по ТАУ), страница 11
Описание файла
Файл "Учебное пособие ТОАУ Ч.3" внутри архива находится в папке "Учебное пособие по ТАУ". Документ из архива "Учебное пособие по ТАУ", который расположен в категории "". Всё это находится в предмете "теория автоматического управления (тау)" из 3 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "теория автоматического управления (тау)" в общих файлах.
Онлайн просмотр документа "Учебное пособие ТОАУ Ч.3"
Текст 11 страницы из документа "Учебное пособие ТОАУ Ч.3"
Если предложенное изменение не настолько важно, чтобы заинтересованное в проекте лицо потратило пару минут на передачу его через стандартные, простые каналы, то стоит задуматься о его ценности вообще. Процесс управления должен быть тщательно задокументирован, максимально прост и, что важнее всего, эффективен.
После регистрации запроса на изменение необходимо принять решение о его дальнейшей судьбе. Совет по управлению изменениями (change control board, CCB) (иногда его называют советом по управлению конфигурацией) был признан лучшим практическим решением при разработке ПО . На практике функции Совета могут быть делегированы и одному человеку (в зависимости от размеров проекта).
Запрос на изменение может быть принят, либо отклонен. В первом случае его необходимо включить в план работ над проектом, во втором - сформулировать мотивированный отказ. При принятии решения по запросу необходимо исходить:
а) из степени важности запроса для Заказчика и
б) из его стоимости для Разработчика. Стоимость определяется на основании анализа влияния изменения.
Анализ влияния изменения
Анализ влияния обеспечивает точное понимание подтекста предложенного изменения, что помогает команде принимать информированные бизнес-решения о том, какое изменение одобрить. Анализ позволяет выявить компоненты, которые может понадобиться создать, изменить или отклонить, и оценить затраты, связанные с реализацией изменения. До того, как разработчик ответит: "Конечно, без проблем", он должен потратить время на анализ результата изменения.
Председатель совета по управлению изменениями обычно просит опытного разработчика выполнить анализ определенного результата.
Анализ результатов изменений затрагивает три аспекта [13.1].
Определите возможные последствия изменения. Часто они вызывают значительный волновой эффект. Включение множества функций в продукт может снизить его производительность до неприемлемого уровня, например, когда системе, запускаемой ежедневно, потребуется 24 часа для завершения одного запуска.
Определите все файлы, модели и документы, которые, возможно, придется изменить, если команда включит все запрошенные изменения.
Определите задачи, необходимые для реализации изменения, и оцените усилия, необходимые для выполнения этих задач.
Трассируемость требований
Связи трассируемости помогают следить за развитием требования в обоих направлениях- от первоисточника к реализации и наоборот. Трассируемость представляет собой одну из качеств хороших требований.
Для осуществления анализа трассируемости каждое требование должно быть уникально идентифицировано.
Рис.
Требования пользователей отслеживаются в направлении к формально специфицированным функциям системы, чтобы понять, которые требования будут затронуты, если потребности клиентов изменятся. Это также позволяет убедиться в том, что в спецификации требований отражены все потребности клиента. Можно осуществить анализ и в обратном направлении, чтобы определить происхождение каждого требования к ПО.
В процессе анализа, проектирования и реализации компонент системы можно отслеживать связи, ведущие от требований к артефактам (документам, моделям, программным модулям и т.п.) системы. Этот тип связи гарантирует, что каждое требование удовлетворено, поскольку вы знаете, какой компонент соответствует каждому требованию.
Четвертый тип связи контролирует отдельные артефакты в направлении к требованиям для того, чтобы вы знали причину создания каждого из них.
Предположим, тестировщик обнаружит незапланированную функциональность при отсутствии соответствующего требования. Этот фрагмент кода может свидетельствовать, что разработчик реализовал официальное требование, которое аналитик теперь может добавить к спецификации. Или же это может быть код-"сирота", украшающий фрагмент, который не относится к продукту. Связи трассируемости помогут вам отсортировать подобные ситуации и получить более полное представление о том, как именно фрагменты вашей системы составляют одно целое. И наоборот, варианты тестирования, которые созданы на основе отдельных требований и которые можно проследить до этих требований, также представляют собой механизм выявления нереализованных требований, поскольку ожидаемой функциональности не будет.
Наиболее типичный способ представления связей между требованиями и другими элементами системами - матрица трассируемости требований, которую также называют матрицей отслеживания требований или таблицей трассируемости (requirements traceability matrix). В таб. показана иллюстрация части такой матрицы из [13.1].
Таблица.
Пользовательское требование | Функциональное требование | Элемент дизайна | Модуль кода | Вариант тестирования |
UC-28 | catalog.query.sort | Каталог класса | catalog.sort() | search.7 search.8 |
UC-29 | catalog.query.import | Каталог класса | catalog.import() catalog.validate() | search.12 search.13 search.14 |
Другая форма представления связей трассируемости - дерево трассировок [13.2].
Парадигма управления качеством, как способ организации производства, появилась давно. Идеи, заложенные в группе стандартов ISO9000 1), уходят корнями, в частности, и в такие "советские" изобретения, как поддержка рационализаторских предложений, наставничества и др.
В современной концепции процессно-ориентированной организации бизнеса процесс непрерывного совершенствования качества занимает одну из ключевых позиций.
Применительно к софтверной индустрии, помимо серии ISO9000, наиболее успешно себя зарекомендовавшими стандартами качества являются SEI CMM, SEI CMMI, ISO/IEC 15504 (SPICE), Bootstrap, TickIT.
Совершенствование процессов работы с требованиями
Модели совершенствования
ISO9000
Активное внедрение методов управления качеством на Западе началось в начале 1960-х годов. В основу стандартов серии ISO9000 легла философия подходов CPI (Continuous Process Improvement) и TQM (Total Quality Management) [14.1]. Подъем экономики послевоенной Японии во многом был обусловлен идеями, заложенными в TQM.
Качество - термин, который для одних означает необходимость делать то, что желает потребитель, для других - то, что отвечает его потребностям. Менеджмент качества, как он определен в ИСО 9001:2000, исходит прежде всего из того, что люди работают лучше, если им известно то, чем они занимаются. [14.1].
Поэтому прежде, чем приступить к какому-либо действию, следует получить ответы на вопросы: что нужно делать, кто будет проверять сделанное, как это нужно делать и как определить, что работа завершена? Необходимо также продумать, как вы собираетесь управлять данным процессом и как его можно усовершенствовать.
Основные принципы ISO9000:
-
Концентрация на потребностях заказчика;
-
Активная лидирующая роль руководства;
-
Вовлечение исполнителей в процессы совершенствования;
-
Реализация процессного подхода;
-
Системный подход к управлению;
-
Обеспечение непрерывных улучшений;
-
Принятие решений на основе фактов;
-
Взаимовыгодные отношения с поставщиками.
Безусловное достоинство стандартов этой группы связано с тем, что они апробированы на множестве предприятий мира. Однако рекомендации данных стандартов носят достаточно общий характер и не учитывают специфику предприятий отрасли IT. Для этого были разработаны специализированные подходы, рассмотренные ниже.
SEI-CMM, SEI-CMMI
Стандарт СММ (the Capability Maturity Model) разработан институтом инженерии программного обеспечения (SEI) при университете Карнеги-Меллон.
Назначение стандарта - оценка уровня "зрелости" (maturity levels) организации - разработчика программного обеспечения. Выделяются пять уровней: начальный, повторяемый, определенный, управляемый и оптимизирующий (подробнее см. в [14.2-14.3]). Данный стандарт получил широкую известность, значительное количество западных IT-компаний сертифицировано по CMM.
В 2000 г. SEI выпустил CMMI-SE/SW, интегрированную модель совершенствования как ПО, так и возможностей конструирования систем [14.3].
CMMI-SE/SW имеет две формы. Ступенчатое представление (the staged representation) соответствует структуре SW-CMM с небольшими уточнениями наименований уровней. Пять уровней зрелости содержат 22 области технологических процессов, показанных в таблице 14.1. (CMU/SEI, 2000а). Непрерывное представление (continuous representation), содержит другой взгляд: те же 22 области структурируются по 4 категориям: управление процессами, управление проектами, конструирование и поддержка (CMU/SEI, 2000b).
В непрерывном представлении вместо уровней зрелости определяются шесть уровней способностей (capability levels) для каждой области технологических процессов. Это представление позволяет каждой организации решать, какой уровень способностей ей соответствует в каждой из 22 областей технологических процессов.
Как и в CMM, в рассматриваемом стандарте на уровне 2 имеется область, именуемая "Управление требованиями", но, в отличие от предыдущего стандарта, на уровне 3 есть и отдельная область "Разработка требований". Размещение этой области на уровне 3 не подразумевает, что требования для проектов организации, не достигших уровня 2, собирать и документировать не нужно. Управление требованиями рассматривается как способ, помогающий создавать более предсказуемые и менее хаотичные проекты, что составляет сущность уровня 2 СММ. Приняв порядок управления изменениями и проверки статуса требований, организация может больше внимания уделять разработке высококачественных требований [14.3].
Таблица
Уровень зрелости | Название | Области процессов |
1 | Начальный | (нет) |
2 | Управляемый | Управление требованиями Планирование проекта Мониторинг и контроль проекта Управление соглашениями с поставщиками Измерения и анализ Обеспечение качества процессов и продуктов Управление конфигурацией |
3 | Определенный | Разработка требований Техническое решение Интеграция продуктов Верификация Валидация Концентрация внимания на процессе Определение процесса организацией Организационное обучение Интегрированное управление проектом Управление риском Анализ и разрешение вопросов |
4 | Количественно управляемый | Производительность организационных процессов Количественное управление проектом |
5 | Оптимизирующий | Организационные нововведения и их развертывание Случайный анализ и разрешение |
Область процессов "Управление требованиями"
Ключевые темы включают в себя то, как команда разработчиков должна приобретать понимание требований и разрешать вопросы с клиентами, вовлекать участников проекта в работу с требованиями и управлять изменениями. В отличие от SW-CMM, трассирование (одно из ключевых свойств требований) включено в рассматриваемую область процессов. В стандарте обсуждаются следующие качества трассирования:
обеспечение записи источников низкоуровневых или вторичных требований;
трассирование каждого требования вниз, к вторичным требованиям, и его размещение по функциям, объектам, процессам и исполнителям;
установка горизонтальных связей между требованиями, принадлежащими к одному типу.
Область процессов "Разработка требований"
В CMMI-SE/SW описаны три набора приемов разработки требований:
приемы, определяющие полный набор требований клиентов, которые затем используются для разработки требований для продукта (выявить нужды заинтересованных в проекте лиц; преобразовать нужды и ограничения в требования клиентов);
приемы, определяющие полный набор требований для продукта (установить компоненты продукта; разместить требования по компонентам продукта; определить требования к интерфейсу);
приемы получения вторичных требований, понимания требований и их подтверждения (установить оперативные концепции и сценарии; определить требуемую функциональность системы; проанализировать вторичные требования; оценить стоимость, сроки и риск создания продукта; утвердить требования).
Как в СММ, так и в CMMI формулируются цели, к которым проект или организация по разработке ПО должны стремиться в различных областях процессов. В них также рекомендуются технические приемы, помогающие достичь этих целей.
CMMI-SE/SW регламентирует взаимосвязи между управлением требованиями, разработкой требований и другими областями процессов (рис. 14.1).
Рис.
Принципы совершенствования
В [14.3] сформулированы следующие принципы совершенствования качества программных систем:
поэтапность,