Ieee 830-1993 Методика составления спецификаций требований к программному



страница2/4
Дата02.06.2018
Размер0,76 Mb.
1   2   3   4

3. Определения

В целом, определения терминов, используемых в данной рекомендуемой методике, соответствует определениям, приведенным в стандарте IEEE 610.12-1990. Определения, данные ниже, являются ключевыми терминами, поскольку они используются в данной методике.

  1. контракт: обязательный официальный документ, согласованный заказчиком и поставщиком. Он включает технические и организационные требования, стоимость и план создания изделия. Контракт может также содержать неофициальную, но полезную информацию, такую как обязательства или ожидания участвующих сторон.

  2. заказчик: лицо или лица, которые оплачивают изделие и обычно (но не обязательно) принимают решения относительно требований. В контексте данной рекомендуемой методики заказчик и поставщик могут быть членами одной и той же организации.

  3. поставщик: лицо или лица, которые производят изделие для заказчика. В контексте данной рекомендуемой методики заказчик и поставщик могут быть членами одной и той же организации.

3.4 пользователь: лицо или лица, которые работают с изделием или непосредственно взаимодействуют с ним. Пользователь(-и) и заказчик(-и) часто не являются одним и тем же лицом(- ми).

4. Критерии создания качественной SRS

В этом разделе представлена предварительная информация, которую необходимо рассмотреть при составлении SRS. Она включает следующее:

а) Сущность SRS;

б) Среда SRS;

в) Характеристики качественной SRS;

г) Совместная подготовка SRS;

д) Развитие SRS;

е) Макетирование;

ж) Внедрение структуры в SRS;

з) Внедрение требований проекта в SRS.

4.1 Сущность SRS

SRS - это спецификация для определенного программного изделия, программы или набора программ, которые выполняют определенные функции в специфической среде. SRS может составляться одним или более представителями поставщика, одним или более представителями заказчика, или обоими. Подраздел 4.4 рекомендует участие обоих.

Основными вопросами, которые должны рассматривать составитель (-ли) SRS, являются следующие:

а) Функциональные возможности. Каковы предполагаемые функции программного обеспечения?

б) Внешние интерфейсы. Как программное обеспечение взаимодействуют с пользователями, аппаратными средствами системы, другими аппаратными средствами и другим программным обеспечением?

в) Рабочие характеристики. Каково быстродействие, доступность, время отклика, время восстановления различных функций программного обеспечения и т.д.?

г)- Атрибуты. Каковы мобильность, правильность, удобство сопровождения, защищенность программного обеспечения и другие критерии?

д) Проектные ограничения, налагаемые на реализацию изделия. Существуют ли требуемые стандарты на эффективном языке реализации, политика по сохранению целостности баз данных, ограничения ресурсов, операционная среда(-ы) и т.д.?

Составителю(-ям) SRS следует избегать размещения в SRS требований к разработке или проекту. Рекомендуемое содержание SRS см. в Приложении 5.

Авторское право © 1998 IEEE. Все права сохранены.

Стандарт IEEE 830-1998 Методика составления спецификаций требований к программному обеспечению



(Пересмотр стандарта IEEE 830-1993)

4.2 Среда SRS

Важно рассмотреть ту роль, которую SRS играет в общем плане проекта, определяемого в стандарте IEEE 610.12-1990. По существу, программное обеспечение может содержать все функциональные возможности проекта или может являться частью большей системы. В последнем случае обычно имеется SRS, которая будет устанавливать интерфейсы между системой и частью ее программного обеспечения, и будет распространять внешние требования к характеристикам и функциям на эту часть программного обеспечения. Конечно, в этом случае SRS должна быть согласована и расширена в соответствии с этими системными требованиями.

Стандарт IEEE 1074-1997 описывает стадии жизненного цикла программного обеспечения и соответствующие входные данные для каждой стадии. Другие стандарты, такие как перечисленные в Разделе 2, относятся к другим частям жизненного цикла программного обеспечения и могут дополнять требования к программному обеспечению.

Так как SRS играет определенную роль в процессе разработки программного обеспечения, составителю (-ям) SRS следует проявлять осторожность, чтобы не выйти за пределы этой роли. Это означает, что SRS:



а) Должна правильно определять все требования к программному обеспечению. Причиной существования какого-либо требования к программному обеспечению может являться характер решаемой задачи или особая характеристика проекта.

б) Не должна описывать детали разработки или реализации. Они должны быть описаны на этапе разработки проекта.

в) Не должна налагать дополнительные ограничения на программное обеспечение. Эти ограничения надлежащим образом определяются в других документах, таких как план обеспечения качества программных средств.

Следовательно, правильно составленная SRS ограничивает диапазон допустимых проектов, но не определяет какой-либо конкретный проект.



4.3 Характеристики правильно составленной SRS

SRS должна быть:



а) Корректной;

б) Однозначной;

в) Полной;

г) Непротиворечивой;

д) Упорядоченной по ее значимости и/или устойчивости;

е) Проверяемой;

ж) Модифицируемой;

з) Отслеживаемой.

4.3.1 Корректность

SRS является корректной, если, и только, если каждое требование, изложенное в ней, является требованием, которому должно удовлетворять программное обеспечение.

Не существует какого-либо средства или процедуры, которые гарантирует корректность. SRS должна сравниваться с любой качественной применимой спецификацией, такой как спецификация требований к системе, с другой документацией проекта и с другими применимыми стандартами, и должна гарантировать согласованность. В качестве альтернативы заказчик или пользователь может определить, правильно ли SRS отражает фактические потребности. Отслеживаемость делает эту процедуру более простой и менее подверженной ошибкам (см. 4.3.8).

4.3.2 Однозначность

SRS является однозначной, если и только, если каждое изложенное в ней требование может интерпретироваться только однозначно. Как минимум, для этого требуется, чтобы каждая характеристика конечного продукта была описана с использованием одного уникального термина.

4 Авторское право © 1998 IEEE. Все права сохранены.

рекомендуемая Институтом Инженеров по Электротехнике и Радиоэлектронике (IEEE) Стандарт IEEE 830-1998



(Пересмотр стандарта IEEE 830-1993)

В тех случаях, когда термин, используемый в специфическом контексте, может иметь множественные значения, этот термин должен быть включен в глоссарий, в котором его значение описывается более конкретно.

SRS является важной частью процесса составления требований или жизненного цикла программного обеспечения и используется в разработке, реализации, мониторинге проекта, верификации и проверке правильности, а также в обучении, как описано в стандарте IEEE 1074-1997. SRS должна быть однозначной как для тех, кто составляет ее, так и для тех, кто ее использует. Однако, эти группы часто не имеют одинаковую квалификацию и, следовательно, не имеют тенденции к описанию требований к программному обеспечению одним и тем же образом. Способы представления требований, которые улучшают спецификацию требований для разработчика, могут оказаться неэффективными в том, что они уменьшают их понимание пользователем, и наоборот.

В подразделах с 4.3.2.1 по 4.3.2.3 даются рекомендации, как избежать неоднозначности.

4.3.2.1 "Ловушки" естественного языка

Требования часто пишутся на естественном языке (например, английском). Естественный язык по существу является неоднозначным. Естественный язык SRS должен анализироваться независимой стороной с целью идентификации неоднозначного использование так, чтобы эту неоднозначность можно было скорректировать.

4.3.2.2 Языки спецификаций требований

Один из способов избежать неоднозначности, свойственной естественному языку, состоит в том, чтобы составлять SRS на особом языке спецификаций требований. Языковые процессоры автоматически обнаруживают многие лексические, синтаксические и семантические ошибки.

Одним из недостатков использования таких языков является длительность их изучения. К тому же, многие пользователи, не имеющие отношения к технике, считают их непонятными. Кроме того, эти языки имеют тенденцию к улучшению при точном выражении некоторых типов требований и обращении к некоторым типам систем. Таким образом, они могут влиять на требования неуловимым образом.

4.3.2.3 Инструменты представления требований

В целом, методы составления требований и языки, а также инструменты, которые их поддерживают, разделяются на три основных категории - объект, процесс и поведенческие характеристики.. При использовании объектно-ориентированных методов, требования классифицируются языком реальных объектов, их атрибутов и функций, выполняемых этими объектами. Методы, ориентированные на процесс, классифицируют требования по иерархии функций, которые сообщаются через потоки данных. Поведенческие подходы описывают внешнее поведение системы языком неких абстрактных понятий (таких как исчисления предикатов), математических функций или конечных автоматов.

Степень, до которой такие средства и методы могут быть полезны в подготовке SRS, зависит от объема и сложности программы. В данном документе не делается никаких попыток описать или одобрить какой-либо специфический инструмент.



При использовании любого из этих подходов самым оптимальным будет придерживаться описания на естественном языке. При этом заказчики, незнакомые с перечисленными понятиями, будут в состоянии понять SRS.

4.3.3 Завершенность

SRS является полной, если и только, если она включает следующие элементы:



а) Все существенные требования, независимо от того, относятся ли они к функциональным возможностям, рабочим характеристикам, проектным ограничениям, атрибутам или внешним интерфейсам. В частности, должны быть подтверждены и обработаны любые внешние требования, налагаемые спецификацией системы.

Авторское право © 1998 IEEE. Все права сохранены.

Стандарт IEEE 830-1998 Методика составления спецификаций требований к программному обеспечению

(Пересмотр стандарта IEEE 830-1993)

б) Определение откликов программного обеспечения на все классы входных данных, которые могут быть реализованы, во всех возможных ситуациях. Следует заметить, что важно определить отклики, как на допустимые, так и недопустимые входные значения.

в) Полные обозначения и ссылки на все рисунки, таблицы и схемы в SRS и определение всех терминов и единиц измерения.

4.3.3.1 Использование условия TBD

Любая SRS, в которой используется фраза "должно быть определено" (условие TBD), не является полной SRS. Однако, иногда условие TBD необходимо и должно сопровождаться:



а) Описанием условий, являющихся причиной возникновения условия TBD (например, почему ответ не известен) так, чтобы ситуацию можно было разрешить;

б) Описанием того, что должно быть сделано, чтобы исключить условие TBD, кто ответственен за его устранение и когда оно должно быть устранено.

4.3.4 Непротиворечивость

Непротиворечивость обозначает внутреннюю непротиворечивость. Если SRS не согласовывается с каким-то документом более высокого уровня, таким как, например, спецификации системных требований, то она является некорректной (см. 4.3.1).



4.3.4.1 Внутренняя непротиворечивость

SRS является внутренне непротиворечивой, если и только, если никакой набор отдельных требований, описанных в ней, не находится в противоречии с ней. Тремя типами вероятных конфликтов в SRS являются следующие:



а) Могут входить в конфликт заданные характеристики реальных объектов. Например,

1) Формат отчета о выходных данных может быть описан в одном требовании в табличном виде, а в другом - в текстовом.

2) Одно требование может устанавливать, что все индикаторы должны быть зелеными, в то время как в другом может быть указано, что все индикаторы должны быть синими.

б) Между двумя заданными действиями может существовать логический или временной конфликт. Например,


  1. Одно требование может устанавливать, что программа будет добавлять два входа, а другое может указывать, что программа будет умножать их.

  2. Одно требование может устанавливать, что "А" должно всегда следовать за "Б", в то время как другое может требовать, чтобы события "А" и "Б" происходили одновременно.

в) Два или более требований могут описывать один и тот же реальный объект, но использовать для этого объекта различные условия. Например, запрос программы о вводе пользователем может называться "подсказкой" в одном требовании и "репликой" в другом. Использование стандартной терминологии и определений поддерживает непротиворечивость.

4.3.5 Упорядочивание по значимости и/или устойчивости

SRS является упорядоченной по значимости и/или устойчивости, если каждое требование в ней имеет идентификатор, указывающий или значимость или устойчивость этого конкретного требования.



Как правило, все требования, которые касаются программного изделия, не являются важными в равной степени. Некоторые требования могут быть необходимыми, особенно для приложений, критичных в течение жизненного цикла, в то время как другие могут быть желательными.

Авторское право © 1998 IEEE. Все права сохранены.

рекомендуемая Институтом Инженеров по Электротехнике и Радиоэлектронике (IEEE) Стандарт IEEE 830-1998

(Пересмотр стандарта IEEE 830-1993)

Каждое требование в SRS должно быть идентифицировано, чтобы сделать эти различия четкими и явными. Идентификация требований следующим образом помогает:



а) заказчикам более тщательно рассмотреть каждое требование, что часто позволяет разъяснить любые скрытые допущения, которые могут быть заключены в них.

б) разработчикам принять правильные проектные решения и приложить соответствующие усилия к различным составляющим программного изделия.

4.3.5.1 Степень устойчивости

Один метод идентификации требований использует величину устойчивости. Устойчивость может быть выражена с точки зрения числа ожидаемых изменений для любого требования, основанных на опыте или знании предстоящих событий, которые влияют на организацию, функции, и пользователей, поддерживаемых системой программного обеспечения.

4.3.5.2 Степень необходимости

Другой способ упорядочения требований состоит в том, чтобы различать классы требований как необходимые, условные и необязательные.

а) Необходимые. Подразумевают, что программное обеспечение не будет пригодным, если эти требования не будут обеспечены согласованным образом.

б) Условные. Подразумевают, что эти требования расширяют программное изделие, но не сделают его непригодным при их отсутствии.

в) Необязательные. Подразумевают класс функций, которые могут заслуживать или не заслуживать внимания. Это дает поставщику возможность предложить что-либо, что выходит за пределы SRS.

4.3.6 Проверяемость

SRS является проверяемой, если и только, если каждое требование, изложенное в ней, может быть проверено. Требование являются проверяемым, если и только, если существует некий конечный эффективный процесс, используя который пользователь или машина могут убедиться, что программное изделие удовлетворяет этому требованию. В целом, любое неоднозначное требование не проверяемо.



Непроверяемые требования включают формулировки типа "работает хорошо", "хороший интерфейс с пользователем" и "обычно должно происходить". Эти требования не могут быть проверены, так как невозможно определить термины "хороший", "хорошо" или "обычно". Утверждение о том, что "программа никогда не должна зацикливаться" является непроверяемым, так как тестирование этого свойства теоретически невозможно.

Примером проверяемого утверждения является следующее:



Выходные данные программы должны вырабатываться в пределах 20 секунд в течение 60 % временного интервала события; и должны вырабатываться в пределах 30 секунд в течение 100 % временного интервала события.

Это утверждение может быть проверено, так как в нем используются конкретные термины и измеримые величины.

Если нельзя изобрести метод, чтобы определить, отвечает ли программное обеспечение определенному требованию, то это требование следует исключить или пересмотреть.

Авторское право © 1998 IEEE. Все права сохранены.

Стандарт IEEE 830-1998 Методика составления спецификаций требований к программному обеспечению

(Пересмотр стандарта IEEE 830-1993)

4.3.7 Модифицируемость

SRS является модифицируемой, если и только, если ее структура и стиль таковы, что любые изменения требований могут быть выполнены легко, полностью и непротиворечивым образом при сохранении структуры и стиля. Как правило, модифицируемость требует, чтобы SRS:



а) Имела связанную и легкую в использовании структуру с оглавлением, алфавитным указателем и явно выраженными перекрестными ссылками;

б) Не была избыточной (то есть, одно и то же требование не должно появляться в SRS более чем в одном месте);

в) Выражала каждое требование раздельно, не смешивая его с другими требованиями.

Избыточность сама по себе не является ошибкой, но она легко может привести к появлению ошибок. Иногда избыточность может помочь сделать SRS более читаемой, но тогда могут возникнуть проблемы при модификации избыточного документа. Например, требование может быть изменено только в одном из тех мест, где оно появляется. Тогда SRS становится противоречивой. Каждый раз, когда избыточность необходима, SRS должна включать явные перекрестные ссылки, чтобы сделать ее модифицируемой.

4.3.8 Отслеживаемость

SRS является отслеживаемой, если четко прослеживается источник каждого из ее требований и если она облегчает обращение к каждому из требований при дальнейшей разработке или модернизации документации. Рекомендуются следующие два типа отслеживаемости:



а) Обратная отслеживаемостъ (то есть, к предыдущим стадиям разработки). Зависит от каждого требования, которое в явном виде ссылается на его источник в более ранних документах.

б) Прямая отслеживаемостъ (то есть, ко всем документы, порождаемым SRS). Зависит от каждого требования в SRS, имеющего однозначно определенное имя или номер ссылки.

Прямая отслеживаемость SRS особенно важна, когда программное изделие вступает в стадию функционирования и сопровождения. По мере изменения кода и проектных документов необходимо иметь возможность определить полный набор требований, на которые могут повлиять эти изменения.



4.4 Совместная подготовка SRS

Процесс разработки программного обеспечения должен начинаться с соглашения между поставщиком и заказчиком по вопросу о том, что должно выполнять завершенное программное обеспечение. Это соглашение в форме SRS должно быть подготовлено совместно. Это важно, так как обычно ни заказчик, ни поставщик не имеют достаточной квалификации, чтобы составить качественную SRS по отдельности.

а) Заказчики обычно не понимают в достаточной степени процесс проектирования и разработки программного обеспечения, чтобы составить SRS, пригодную для использования.

б) Поставщики обычно не понимают в достаточной степени проблемы заказчика и поле приложения усилий, чтобы определить требования для системы, которая удовлетворит заказчика.

Следовательно, заказчик и поставщик должны работать вместе, чтобы создать хорошо написанную и полностью понятную SRS.

Особая ситуация возникает, когда система и программное обеспечение определяются одновременно. Тогда функциональные возможности, интерфейсы, рабочие характеристики и другие атрибуты и ограничения программного обеспечения не предопределяются, а задаются совместно и подлежат согласованию и изменению. При этом более трудно, но не менее важно сделать так, чтобы SRS удовлетворяла характеристикам, изложенным в пункте 4.3. В частности, SRS, которая не соответствует требованиям спецификации ее родительской системы, является не корректной.

8 Авторское право © 1998 IEEE. Все права сохранены.

рекомендуемая Институтом Инженеров по Электротехнике и Радиоэлектронике (IEEE) Стандарт IEEE 830-1998

(Пересмотр стандарта IEEE 830-1993)

Данная методика специально не обсуждает стиль, исполнение языка или методы качественного написания. Однако весьма важно, чтобы SRS была хорошо написана. В качестве руководства могут использоваться технические книги по общим методам написания.

4.5 Развитие SRS

По мере разработки программного изделия может возникнуть необходимость в развитии SRS. Может оказаться невозможным определить некоторые детали во время начала разработки проекта (например, может оказаться невозможным определить все форматы экрана для интерактивной программы на стадии выработки требований). В результате в SRS обнаруживаются неточности, недостатки и погрешности, являющиеся результатом дополнительных изменений.



Двумя главными критериями в этом процессе являются следующие:

а) Требования должны быть определены в том объеме и с той тщательностью, как они известны на текущий момент, даже если эволюционные изменения могут быть предсказаны как неизбежные. Должен быть отмечен тот факт, что они не являются полными.

б) Должен быть инициализирован формальный процесс изменений, чтобы идентифицировать, управлять, прослеживать и составлять отчет о запроектированных изменениях. Утвержденные изменения требований должны быть включены в SRS таким образом, чтобы:

  1. Обеспечить точную и полную проверку изменений;

  2. Обеспечить анализ текущих и замененных частей SRS..


Поделитесь с Вашими друзьями:
1   2   3   4


База данных защищена авторским правом ©grazit.ru 2017
обратиться к администрации

    Главная страница