Cтраница 3
Независимо от имеющегося опыта составления внешних спецификаций всегда целесообразно перед программированием организовывать рассмотрение этого документа пользователями или их представителями. [31]
В табл. 15.1 представлено оглавление внешней спецификации ( ВшС), составленной в соответствии с описанной ниже формой. Эта форма является дальнейшей детализацией представленной в гл. Во внешней спецификации должны фигурировать все разделы, заголовки которых приведены в табл. 15.1, даже если они не уместны для конкретного программного изделия. В этом случае под соответствующим заголовком будут стоять пометки Отсутствует, Не используется или даваться ссылка на соответствующий раздел СТ, а последующие подразделы должны пропускаться. [32]
Метод предполагает анализ семантического содержания внешних спецификаций и перевод их на язык логических отношений между входными данными ( ситуациями) и выходными данными и преобразованиями ( эффектами), представленных в форме логической диаграммы ( и-или-графа), называемой функциональной диаграммой. Диаграмма снабжается примечаниями в виде синтаксических правил и ограничений внешней среды и затем преобразуется в таблицу решений с ограниченным входом. Каждый столбец таблицы соответствует будущему тесту. [33]
Какими должны быть ответственные исполнители внешних спецификаций. Они не должны быть программистами, так как процесс внешнего проектирования не имеет ничего общего с составлением программ. Этот процесс больше связан с пониманием окружающей среды пользователей, их проблем и нужд, психологии связи человек - машина. Особенно важно то, что эта тенденция внешнего проекта возрастает с применением новых средств вычислений, касающихся большого круга конечных пользователей, не имеющих знаний в области вычислительного дела. [34]
Все ограничения внешнего проектирования определяются внешней спецификацией и соглашением о требованиях, причем внешняя спецификация находится на более низком уровне иерархии. Соглашение о требованиях в каждом конкретном случае предшествует внешней спецификации. Противоречия или неопределенности должны анализироваться сразу при их обнаружении. Подтвержденные неопределенности или противоречия между документами немедленно должны доводиться до сведения руководителя отдела систем программирования. [35]
Резюмируя, можно сказать, что внешние спецификации описывают все возможные входные данные системы ( как допустимые, так и недопустимые) и соответствующую реакцию системы. [36]
С целью проектирования тестов внешних функций внешние спецификации обычно разбиваются на отдельные внешние функции ( например, по типу входных сообщений или команд пользователя), и после тщательного изучения каждой функции строятся тесты. [37]
После подробного обсуждения всех элементов подготовки высококачественных внешних спецификаций иногда можно услышать такую реакцию: Да, это, может быть, идеально, но я, вероятно, не смогу представить информацию на таком уровне, не сконструировав сначала всю систему. Такое мнение иногда справедливо, иногда нет. Когда оно справедливо, это значит, что речь идет об исследовательском проекте. В проекте-разработке результат может быть получен последовательным рядом фаз, сверху вниз и извне внутрь. Исследовательский проект - это такой проект, где задачи и окончательный результат не определены ( или не могут быть определены) заранее. Я не пытаюсь принизить исследования; они, безусловно, ценны. Однако проектировщик должен понимать, с какого рода проектом он имеет дело, поскольку исследовательский проект по самой своей природе не может иметь фиксированного календарного плана и оценки стоимости. Большинство нынешних программных проектов является разработками; лишь немногие ставят целью внести что-то новое. Эта книга посвящена разработкам, хотя читатель должен понимать, что такие проекты могут потребовать предварительных исследований. [38]
В фазе конструирования группа разработки передает внешнюю спецификацию на рассмотрение другим группам. Группа выпуска документации убеждается в том, что внешняя спецификация имеет завершенный вид, и начинает готовить рукописи справочных материалов. [39]
Основным первоисточником для написания руководства оператора служит внешняя спецификация. Много дополнительного исходного материала поступает от групп разработки и испытаний. Руководство предназначено для операторов, которые могут и не иметь большого опыта работы, позволяющего легко разобраться в сложностях нового программного изделия. [40]
В фазе конструирования подготавливаются, рассматриваются и утверждаются внешние спецификации, содержащие полное описание внешних характеристик изделия. Если внешние спецификации предназначены для описания новой версии, содержащей ограниченное число новых эксплуатационных качеств, то за подготовку этого документа несет ответственность группа сопровождения. Для достижения этой цели к рассмотрению заявок привлекается техническая ревизионная комиссия ( гл. [41]
Обычно на практике проектирование тестов ведется на основе внешних спецификаций с учетом ограничений на множество тестов, задаваемых алгоритмическим описанием и структурой ЭВМ: каждый тест должен представлять некоторый класс возможных входных данных. [42]
В ходе фазового обзора III группа поддержки рассматривает внешнюю спецификацию изделия с точки зрения ее совместимости с существующими требованиями пользователя. Если требования пользователя изменились таким образом, что группа разработки не может их учесть без внесения существенных изменений в проект, то группа поддержки должна оценить ситуацию и либо поднять вопрос о пересмотре соглашения о требованиях, либо предложить компромиссное решение, не нарушающее требований внешней спецификации. В этот же период группа поддержки пересматривает извещения о календарных сроках и распределение бюджета и предлагает внести изменения в эти документы. [43]
Имеется шесть методов проверки правильности, применимых к внешним спецификациям. Эти методы не исключают друг друга, я рекомендую применять их все. [44]
Информация о структуре вызывающего модуля не должна содержаться во внешней спецификации на вызываемый модуль. [45]