Таким образом, специфицирование кп — это вид деятельности, результатом которой является спецификация кп.

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

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

8.1.4. Основные свойства спецификаций

Основными свойствами спецификации КП являются полнота, точность и понятность.

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

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

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

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

8.1.5.Состав набора спецификаций КП

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

O спецификация задачи, которую нужно решить с помощью КП. Сюда относятся формальная (математическая) постановка класса решаемых задач (см. п.3) и описание метода решения этой задачи. Метод решения задачи – это описание того, какую последовательность шагов на пути преобразования значений исходных данных в значения выходных данных (результатов решения поставленной задачи) нужно выполнить, если на каждом шаге будет решена некоторая подзадача исходной задачи (более простая, чем исходная задача!), описанная своей формальной постановкой. Например, метод Крамера для решения системы линейных алгебраических уравнений состоит в том, чтобы выполнить такую последовательность шагов:

1. Вычислить значение детерминанта матрицы исходной системы.

2. Проанализировать полученное значение:

  • если оно равно нулю, констатировать, что исходная система не имеет ни одного решения;
  • если оно отлично от нуля – вычислить значения детерминантов всех матриц, которые получаются из исходной путём замены одного из её столбцов – столбцом свободных членов, и найти значения компонент вектора результатов путём деления вычисленных значений детерминантов на значение детерминанта исходной матрицы.

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

O спецификация входных данных КП (как исходных данных задачи, так и прочих входных данных КП): необходимо все их перечислить и для каждого указать область допустимых значений, вид носителя (клавиатура, диск и т.п.) и форму, в которой данное представлено на носителе;

O спецификация выходных данных КП (как результатов решения задачи, так и всех прочих выходных данных, в том числе — сообщений): необходимо все их перечислить и для каждого указать область возможных значений, носитель и форму представления на носителе, а также описать функциональную связь всех выходных данных с входными;

O сценарий диалога КП с пользователем (если разрабатывается диалоговаяКП). Сценарий диалога – это описание правил общения КП с Пользователем. В сценарии указываются участники диалога (обычно, “система” и “пользователь”); описываются последовательности реплик, которыми они обмениваются при различных вариантах хода диалога (при различных вариантах ответов на реплики); указываются условия, при выполнении которых выбирается та или иная последовательность реплик. Для описания сценария удобно использовать так называемый “граф сценария диалога”.

Understanding Divisional Charts By PVR Narasimha Rao | Part 6 [Russian Subtitles]


Похожие статьи.

Понравилась статья? Поделиться с друзьями: