Смекни!
smekni.com

Неправильный перевод информации как причина ошибок в программных средствах (стр. 4 из 7)

В определении внешнего описания сразу бросаются в глаза две са­мостоятельные его части. Описание поведения ПС определяет функции, которые должна выполнять ПС, и потому его называют функциональ­ной спецификацией ПС. Функциональная спецификация определяет до­пустимые фрагменты программ, реализующих декларированные функ­ции. Требования к качеству ПС должны быть сформулированы так, чтобы разработчику были ясны цели [35], которые он должен стремить­ся достигнуть при разработке этого ПС. Эту часть внешнего описания будем называть спецификацией качества ПС (ее часто называют не­функциональной спецификацией [65], но в этом случае она включает и требования к технологическим процессам). Она, в отличие от функцио-

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

Обычно разработка спецификации качества предшествует разра­ботке функциональной спецификации ПС, так как некоторые требова­ния к качеству ПС могут предопределять включение в функциональную спецификацию специальных функций, например, функции защиты от несанкционированного доступа к информационной среде. Таким обра­зом, структуру внешнего описания ПС можно выразить формулой: внешнее описание ПС = определение требований к ПС + спецификация качества ПС + функциональная спецификация ПС

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

4.2. Определение требований к программному средству

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

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

Неправильное понимание требований заказчиком, пользователями и разработчиками связано обычно с различными взглядами на роль тре­буемого ПС в среде его использования [65]. Поэтому важной задачей при создании определения требований является установление контекста использования ПС, включающего связи между этим ПС, аппаратурой и людьми. Лучше всего этот контекст в определении требований предста­вить в графической форме (в виде диаграмм) с добавлением описаний сущностей используемых объектов (блоков ПС, компонент аппаратуры, персонала и т. п.) и характеристики связей между ними.

Известны три способа разработки определения требований к ПС [35]:

• управляемая пользователем разработка,

• контролируемая пользователем разработка,

• независимая от пользователя разработка.

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

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

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

В независимой от пользователя разработке, требования к ПС оп­ределяются без какого-либо участия пользователя (на полную ответст­венность разработчика). Это происходит обычно тогда, когда разработ­чик решает создать ПС широкого применения в расчёте на то, что раз­работанное им ПС найдёт спрос на рынке программных средств.

С точки зрения обеспечения надёжности ПС наиболее предпочти­тельным является контролируемая пользователем разработка.

4.3. Спецификация качества программного средства

Разработка спецификации качества сводится, по существу, к построению своеобразной модели качества требуемого ПС [22, 35]. В этой модели должен быть перечень всех тех свойств, которые необходимо обеспечить в этом ПС и которые в совокупности образуют приемлемое для пользователя качество ПС. При этом каждое из этих свойств должно быть в достаточной мере конкретизировано с учётом определения требований к ПС, а также с учётом возможности оценки его наличия у разработанного ПС или оценки степени, в которой ПС обладает этим свойством.

Для конкретизации качества ПС по каждому из критериев исполь­зуется стандартизованный набор достаточно простых свойств ПС, раз­работанных ISO [7, 22, 59, 63], однозначно интерпретируемых разра­ботчиками. Такие свойства мы будем называть примитивами качества ПС. Некоторые из примитивов могут использоваться по нескольким критериям. Ниже приводится зависимость критериев качества от при­митивов качества ПС.

Функциональность: завершённость.

Надёжность: завершённость, точность, автономность, устойчи­вость, защищённость.

Лёгкость применения: П-документированность, информативность (применительно к документации по применению), коммуникабель­ность, устойчивость, защищённость.

Эффективность: временная эффективность, эффективность по ре­сурсам (по памяти), эффективность по устройствам.

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

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

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

Модифицируемость: расширяемость, лёгкость изменения, структу­рированность, модульность.

Мобильность: независимость от устройств, автономность, структу­рированность, модульность.

Ниже определяются используемые примитивы качества ПС [22, 59, 63]. Здесь приводится достаточно большой список, состоящий из 19 примитивов качества, которые следует рассматривать как независимые (самостоятельные) понятия. Некоторые их комбинации образуют более крупные понятия - критерии и подкритерии качества. Такие комбина­ции можно рассматривать как определённые системы. Но ни одна из этих комбинаций не содержит более шести примитивов (см. выше), так что правило, сформулированное в п. 2.1, здесь не нарушается.

Завершённость {completeness) ПС - свойство, характеризующее степень обладания ПС всеми необходимыми частями и чертами, тре­бующимися для выполнения своих явных и неявных функций.

Точность {accuracy) ПС - мера, характеризующая приемлемость величины погрешности в выдаваемых программами ПС результатах с точки зрения предполагаемого их использования.

Автономность {self-containedness) ПС - свойство, характеризую­щее способность ПС выполнять предписанные функции без помощи или поддержки других компонент программного обеспечения.

Устойчивость {robustness) ПС - свойство, характеризующее способность ПС продолжать корректное функционирование, несмотря на задание неправильных (ошибочных) входных данных.

Защищённость {defensiveness) ПС - свойство, характеризующее способность ПС противостоять преднамеренным или нечаянным дест­руктивным (разрушающим) действиям пользователя.

П-документированностъ {и. documentation) ПС - свойство, харак­теризующее наличие, полноту, понятность, доступность и наглядность