- •Лабораторная работа № 1
- •Цель работы
- •Краткие сведения из теории
- •1 Надёжность
- •2 Доступность
- •3 Защита
- •4 Удобство сопровождения
- •5 Мобильность
- •Порядок выполнения работы
- •3.1 Изучение примера спецификаций
- •3.2 Разработка спецификаций на программный продукт
- •3.3 Варианты заданий
- •4. Содержание отчёта
- •5. Вопросы к защите
- •Техническое задание
- •1 Введение
- •2 Основание для разработки
- •3 Назначение
- •4 Требования к программе или программному изделию
- •4.1Требования к функциональным характеристикам
1 Надёжность
Этот подраздел должен определять факторы, необходимые для установления требуемой надёжности системы программного обеспечения при поставке.
2 Доступность
Этот подраздел должен определять факторы, необходимые для обеспечения заданного уровня доступности для всей системы, такие как контрольная точка, восстановление и перезапуск.
3 Защита
Этот подраздел должен определять факторы, которые защищают программное обеспечение от случайного или злонамеренного доступа, использования, изменения, разрушения или раскрытия. Специфические требования в этой области могут включать потребность в:
а) Использовании определённых методов криптографии;
б) Ведении специального журнала или наборов исторических данных;
в) Назначении некоторых функций различным модулям;
г) Ограничении связи между некоторыми областями программы;
д) Проверке целостности данных для критических переменных.
4 Удобство сопровождения
Этот подраздел должен определять атрибуты программного обеспечения, которые относятся к простоте сопровождения самого программного обеспечения. Может иметься некоторое требование к определённой модульности системы, интерфейсам, сложности и т.д. Требования не должны указываться в этом подразделе только потому, что они считаются хорошими практиками проектирования.
5 Мобильность
Этот подраздел должен определять атрибуты программного обеспечения, которые относятся к простоте перенесения программного обеспечения на другие машины и/или операционные системы. Они могут включать следующее:
а) Процентное соотношение компонентов с кодом, зависящим от платформы машины;
б) Процентное соотношение кода, зависящего от платформы машины;
в) Применение промышленного переносимого (многоплатформенного) языка;
г) Применение определенного компилятора или подмножества языка;
д) Применение определенной операционной системы.
Порядок выполнения работы
3.1 Изучение примера спецификаций
1. Изучите пример выполнения спецификаций.
РАЗРАБОТАТЬ ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ РЕШЕНИЯ СЛЕДУЮЩЕЙ ЗАДАЧИ: ИМЕЮТСЯ ТРИ ЧИСЛА, ПРЕДСТАВЛЯЮЩИЕ СОБОЙ ДЛИНЫ ТРЁХ ОТРЕЗКОВ. ОПРЕДЕЛИТЬ, МОЖНО ЛИ ПОСТРОИТЬ ИЗ ЭТИХ ОТРЕЗКОВ ТРЕУГОЛЬНИК, И БУДЕТ ЛИ ОН ПРЯМОУГОЛЬНЫМ
Название задачи - Треугольник.
Название программы - Triangl.
Система программирования - Турбо-Паскаль 7.0.
Компьютер –AMD A6-3500 APU.
Описание
Даны три вещественных положительных числа: a, b и c.
Определить:
1) можно ли построить треугольник из отрезков, длина которых соответственно равна a, b и c?
2) является ли этот треугольник прямоугольным?
Математическая формулировка задачи
Условием существования треугольника является одновременное выполнение трёх неравенств:
b + c > a
c + a > b (1)
a + b > c
a * a = b * b + c * c
b * b = c * c + a * a (2)
c * c = a * a + b * b
Если все неравенства (1), выполняются и справедливо какое-либо из выражений (2), то треугольник будет прямоугольным.
Однако необходимо иметь в виду, что для переменных вещественного типа (real) использование логической операции отношения = (равно) даёт непредсказуемый результат из-за особенностей работы компьютера с числами данного типа. В связи с этим заменим равенства (2) на:
| a * a - (b * b + c * c) | / (a * a) < e
| b * b - (c * c + a * a) | / (b * b) < e (3)
| c * c - (a * a + b * b) | / (с * с) < e
Здесь e - малая величина.
Гипотенузе прямоугольного треугольника будет, разумеется, соответствовать переменная, стоящая первой в левой части того из неравенств (3), которое выполняется (переменная a, b илиc).
Управление режимами работы программы
Для управления режимами работы программы использовать меню, в котором выбор режима осуществляется вводом номера (идентификатора).
Работа с программой должна завершаться также с помощью меню.
Входные данные
Необходимо, чтобы a, b, c и e имели вещественный тип (real).
Выходные данные
На дисплей должна выдаваться справочная информация о назначении программы.
После обработки входных данных, введённых пользователем, на дисплей должно выводиться одно из следующих сообщений:
1) “Это не треугольник”
2) “Это прямоугольный треугольник с гипотенузой, равной (указывается длина гипотенузы)”
3) “Это не прямоугольный треугольник”
Ошибки
Примечание. При вводе численных значений типа real пользователь может ошибиться и ввести вместо числа комбинацию из числовых и нечисловых символов. Результатом этого является обычно зависание компьютера.
При вводе чисел a, b, c и e надо предусмотреть контроль:
1) соответствия их типу real;
2) знака вводимых чисел a, b и c;
3) величины погрешности e (0 < e <1).
При обнаружении ошибок программа должна выдавать соответствующие сообщения, которые могут сопровождаться звуковым сигналом, и предлагать повторить ввод.
Примеры работы программного комплекса
Пример 1
e = 0.1 a = 5.01 b = 3 c = 4
Это прямоугольный треугольник с гипотенузой, равной 5.01.
Пример 2
e = 0.1 a = 2 b = 3 c = 3
Это не прямоугольный треугольник.
Пример 3
e = 0.1 a = 2 b = 3.5 c = 6
Это не треугольник
