Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpori_TP / 21-30.doc
Скачиваний:
29
Добавлен:
12.12.2013
Размер:
98.3 Кб
Скачать

28.Описание программного средства. Функциональная спецификация программного средства.

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

Внешнее описание ПО = определение требований + спецификация качества ПО + функциональная спецификация ПО

Функциональная спецификация программного средства.

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

Функциональная спецификация состоит из трех частей:

• описания внешней информационной среды, к которой должны применяться программы разрабатываемой ПО;

• определение функций ПО, определенных на множестве состояний этой информационной среды (такие функции будем называть внешними функциями ПО);

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

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

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

  3. должны быть перечислены все существенные случаи, когда ПО не сможет нормально выполнить ту или иную свою функцию (с точки зрения внешнего наблюдателя). Для каждого такого случая должна быть определена (описана) реакция ПО.

29.Основные классы архитектур программных средств.

Различают следующие основные классы архитектур:

  • цельная программа;

  • комплекс автономно выполняемых программ;

  • слоистая программная система;

  • коллектив параллельно выполняемых программ.

Цельная программав состав ПО входит только одна программа.

Комплекс автономно выполняемых программсостоит из набора программ, такого, что:

  • любая из этих программ может быть активизирована (запущена) пользователем;

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

  • все программы этого набора применятся к одной и той же информационной среде.

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

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

  • на каждом слое ничего не известно о свойствах (и даже существовании) последующих (более высоких) слоев;

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

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

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

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

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

Соседние файлы в папке Shpori_TP