Принципы работы с требованиями к ПО. Леффингуэлл (2002) (1186169), страница 69
Текст из файла (страница 69)
ння отношений между двумя элсментамп жизненного цикла. Мы интенсивно использовали в своей практике предлагаемое компанией Влцопа1 3ойжаге средство Кеоп|мгерго и Глава 31. Использование трассировки для поддержки верификации 317 выбрали его для иллюстрации возможностей инструментальных средств в данной книге. Вы можете выбрать другое средство, ио конечный результат будет аналогичен. (Более подробное описание артефактов проекта НОЫЯ, используемых в следукнпих примерах, содержится в приложении А.) ри . 31З. дз эмл ме к ф ир Используя автоматическое средство, можно получить множество дополнительных сведений о проекте.
Например, после того кзк определены отношения между функциями и требованиями к программному обеспечению системы НОЫ$, можно отобразить мзт ричную версию этих отношений, как показано на рис. 31.4. Интерпретация представленной на рис. 31.4 матрицы трассировки достаточно очевидна.
1'ассмотрим пересечение РЕА1 (" Легко программир>еыые станции управления") н 3К3 ("НОЫ3 должна поддерживать до..."). Стрелочка в соответствующей ячейке указывает, что РЕА1 трассируется к $К3; это означает, что $К3 некоторым образом осуществляет функцию РЕА1. $18 Часть 6. Построенне правнльной снстемы Рве.
31.4. Матрива втяошений трассировки После того как с помощью автоматического средства заданы все нзвестные отноше. ния, обязательным действием (выполпення которого требуют не только инструкции, но и наш собственный опыт) является проверка матрицы трассировки на нэлнчне двух воз. можных ннднкаторов ошибок. 1. Если прн просмотре некой свфохи не удается обнаружить никаких отношений трасснровкн ("стрелок" нет), вероятно, еще не определено требование к програмчному обеспечению, отвечающее функции документа-концепции. Такая ситуация допустима, еслн функция не имеет отношення к программе ("1(пробка должна быть нз небькнцегося пластика"). Тем не менее пустые строки являются индикаторами возможных опшбок н нуждаются в тщательной проверке.
Современные ннструментальные средства управления требованиями должны предоставлять возможность автоматического проведения такой проверки. 2. Если в некотором свюлбке не оказывается отношений трассировки, вероятно, было создано требование к программному обеспечению, для которого пет требующей его функции продукта.
Это может указывать на неправильное понимание роли програмьшого требовання, недостаток исходного документа. концепции, а также на то, что код неправнльпый, пе соответствует системному требованню нлн является "сюрпрнэом" программиста, н в таком случае его следует немедленно удалить. (Мы будем более подробно обсуждать сюрпризы в главе 34.) В любом случае необходнма тщательная проверка.
Поддержка отношений трассировки Автоматнческое средство разработки должно обеспечивать возможность производить опрос заданных отношений трассировки, а также запоминать этн запросы н вьшывать нх Глава 31. Использование трассировки для поддержки верифыкации 31э впоследствии. Это позволит повторно обращаться к отношениям в будущем (например, после внесения изменений) и быстро проводить их повторную проверку, чтобы обнаружить точки, в которых могли возникнуть нескютветствия, Как будет показано в главе 34, в процессе внесения изменений появление таких точек практически неизбежно. Простое и очевидное применение этих методов позволяет связать многие элементы проекта.
Следует рассматривать связывание следующих элементов. ° Программных требований и прецедентов с планами тестов/спецификациями тестов/результатами тестов ° Потребностей пользователей с функциями продукта ° Функций продукта с программными требованиями и прецедентами ° Программных требований и прецедентов с компонентами реализации, такими как функции, модули, ооьекты и кооперации ° Компонеытов реализации с планами/спецификациями/результатаии тестов После связывания различных элементов различных документов, получится схема отношений, аналогичная изображенной на рис.
31.5. Потребности пальзопателп ! Дакуыент- 1 1 ~ ЗЯЗ-пекет к ,з * Прецеденты пеыф анализ требоезннн «-т — рисков 3 ! Коыпаненты реализации функции, резднззции прецедентов, Результаты тестов Протоколы тестов 1тукс. 91 5. Отношения)ьззвичнын донузтвнтвв и элементов Инструментальное средство управления требованиялти должно также предоставлять возможность отобразить полное множество отношений трассировки внутри проекта. На рис. 31.6 изображено такое "древовидное" представление.
Заметим, что оно позволяет рассматривать одновременно все заданные к настоящему времени связи. Например, из рис. 31.6 видно, что РЕА5 ("Установка режима длительного отсутствия") связана с 6К1, БКЗ и ()С1. После того как установлены связи между элементами, инструментальное средство должно осуществлять поддержку этих связей. Это позволит использовать возможности данною средства для выборочной проверки отношений между элементами проекта. Возможно, вы уже догадались, что эти отношения трассировки можно применять для поддержки верификации. 820 Часть 6. Построение правильной системы >>З Ьв.
ГЕА1 Еавусе ргощат сопке! в1авопв П Еь Внз нООВ впаи варрон ир 1е 255 езепм>те-вспевщев гдйо ЕЕА2 Еаву!е твгаи ЕЬ 885 ТПе ССО !сиз!Паве по Капут Ие!ее!в Ша! аге. >В Вп ГЕАЗ гп!в>Гасе !о По>по веси!Из вув1агп ш Еь884 меввадерюсосогугогпсопсго18м!си еаспьииоп .
83 ЕЬОс2 1мьа!е егпегьепсуВелиепсе Э ьо ееА4 Вии1.>п весип!у!еамгев. Иьмв, а!арпа, ьеив й ЕЬггС2 1пжасвЕтещепсувеииепсе 18 Ьв- ИИМЖИШШ . ЕЬ Ври Вумет шоск тпе вув!его впаи егор!сувои гпа>п!агп а, ш ЕЬВнз моыВ впав вирроп ир со 255 егепс ьгпе.вспееи!ев т ЕЬ гзс!.
Оп!ОВО>гп Е>ЬЬ ГЕА6 100У> геиаЬИИУ 2>ггс. З1.6. СРРагмент "д1>оеооядггосо" оРедетоооснол Работа без автоматических средств трассировки Как действовать, сели в нагнем распоряжении нет автоматического средства, специально ра >раооташп>го для поддержки определенных в предыдущем разделе операций? В тс времена, когда подобных средств сщс нс существовало, мы испольэовали для поддержки г>тношсний з расснровкн элслтроппые таблицы и ожзы данных. Мнопге матричные отношения ыг>лог>> легко оорагштывать с помощью простой электронной таблицы.
В 1980 .90-е годлг мы активно пользовалнсь электронными т>блицами н считаем их весьма полезными. Для реализации трассировки можно использовать алектронные таблицы и базы ланных. Однако поддержка электронных таблиц прсдстаэляст опрслслснную проблему, особенно прп огнннрных иерархиях отношений. Например, мы обнаружилн, что изменение однон связи может оказать воздействие как па непосредственно затрагиваемые отношения, так н на отношения нз других частей иерархии. г!естно говоря, если нужно бьшо выполнить масгптабпые изменения связей, это было настоящим кошмаром. Из-за того, что было настолько сложно вручную отглежнвать изменения и их "г>озьпзг!акнцсс воздействие", мы прин!ли к выволу, что надо вьюрать одни из двух вариантов.
° Сопротивляться всем предложениям изменить отношения ° Отказш ься от матриц, так как работа становится просто невьнюси мой Какой бы вариант мы нн выбрали, неизбежно возникалн проблемы в проектс. Представьтс ссбс, с кагогм восторгом мы вогпрннялн появление современных инструментальных срсЛств, которые стали помогать пам в проведении этих действий! Еще одной альтернативой оыло использование баз данных.
Мы широко применяли реляционные оазы дапньш н пршнлн к выводу, что создавать их и вводить в них данные !гсвг!гого проще. До появления современньш средств мы испольэовали пх прн работе над проскталш разработки мелнцинскнх приборов, от которых зависела человеческая жизнь. Реляцпон!гые базы данных зареколгендовали себя достаточно хорошо. Несмотря иа то что оыло сложно расширить приложение базы данных, чтобы отслеживать возмущающее Глава 31.
Использование трасенравки для поддержки верификации 321 воздействие изменений, все же сделать это было возможно. Но проблема состояла в том, что мы слишком много времени уделяли совершенствованию возможностей нашего вспомогательного средства. Это отрицательно сказывалось на других участниках проекта, которым приходилось делать что-то др)тое. Итак. для поддержки отношений трассировки можно использовать электронные таблицы или базы данных, хотя это совсем непросто. Если ваш проект небольшой, неудобства будут минимальны, и, может бызь, имеет смаки рассматривать эти, более простые, средства. С дру. той стороны, мы ие рекомендуем браться за более крупный проект, если в вашем распоряже. нии иет специализированных автоматических средств управления требованиями.
Пропущенные отношения Чтобы обнаружить пропущенные отцов~ения, надо искать ст)гахн матрицы трассировки, которые показывают, что некая функция не связана ни с одним программным тре. бованием (прецедентом). Например, исследование матрицы, изображенной иа рис. 31.7. показывает, что функция РЕА4 ие связана ни с одним программным требованием. (Хотя это и ие отражено иа рисунке. ио она также ие связана ни с каким прецедентом (()С).) )Ъс. 31.7. Исяаяыааанне трассиравки аяя абнаруасення ира иуззптмя атнаииннй При обнаружении "дыры" в отношениях нужно вернуться к исходному набору гребо.