Какие браузеры вы используете чаще всего
 
Системные требования

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

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

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

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

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

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

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

Структурированный язык спецификаций

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

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

1. Описание функции или объекта.

2. Описание входных данных и их источники.

3. Описание выходных данных с указанием пункта их назначения.

4. Указание, что необходимо для выполнения функции.

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

6. Описание побочных эффектов (если они есть).

Использование структурированного языка снимает некоторые проблемы, присущие спецификациям, написанным естественным языком, поскольку снижает "вариабельность" спецификации и более эффективно ее структурирует. Вместе с тем некоторая "размытость" определений и описаний в спецификации остается. Альтернативой исполь­зованию структурированного естественного языка может служить специальный язык опи­сания спецификаций (рассмотрен в следующем разделе), который полностью снимает проблему нечеткости описания требований. Но с другой стороны, неспециалист найдет такую спецификацию трудной для чтения и понимания.