Файл: Технология разработки программного обеспечения.pdf

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

 

 
 

106 

2.5.3 Носители информации

 

 
В качестве носителя информации используется дискета емкостью 

1.44 Мб.

 

 

2.6 Тактика

 

 
2.6.1 Взаимосвязи

 

 
2.6.1.1. Требуемые взаимосвязи

 

Не  предъявляется  никаких  требований  к  другим  программным 

изделиям.

 

2.6.1.2 Обеспечиваемые взаимосвязи

 

Никакое другое программное обеспечение не накладывает требо-

ваний на программу «ДР».

 

 

2.6.2 Техническая ревизионная комиссия

 

 
Создание ревизионной комиссии не требуется.

 

 

2.6.3 Проверка изделия

 

 
2.6.3.1 Уровни испытаний

 

См. таблицу 2.3.

 

 

Таблица 2.3 — Уровни испытаний 

 

 

Класс испытаний

 

Категория испытаний

 

A

 

B

 

C

 

Демонстрация в действии

 

 

Р

 

 

Аттестация

 

 

 

 

Полная функциональная проверка

 

 

 

 

Проверка новых свойств

 

 

 

 

Эксплуатационные испытания

 

 

Р

 

 

Испытания надежности

 

 

Р

 

 

Проверка устойчивости

 

 

Р

 

 

Возвратная проверка

 

 

 

 

Пусковые испытания

 

 

 

 

Испытания конфигураций

 

 

 

 

Режимы испытаний:

 

I — проводятся группой испытаний

 

 

 

 

 

     (

 

)

 

II — контролируются группой испытаний

 

 

 

     (  X

 

)

 

III — группа испытаний не участвует

 

 

 

      (

 

)

 


background image

 

 

 
 

107 

 

 

Подразделения, проводящие испытания:

 

Р — группа разработки

 

И — группа испытаний

 

О — группа обслуживания

 

/ — испытания исключены

 

 

2.6.4 Обеспечение поддержки

 

 
2.6.4.1 Мероприятия, обеспечивающие продвижение программно-

го обеспечения на рынок

 

Не производятся.

 

2.6.4.2 Мероприятия, связанные с обучением

 

Не производятся.

 

 

3

 

С

ПЕЦИФИКАЦИИ

 

 

3.1 Внешние спецификации 

 

main: procedure 
  declare char string; 
  char = 

Выбранная команда; 

  do Case(char) 
  /* 

Подпрограмма создания нового элемента 

     

списка */ 

    «

Создать элемент»: call AddItem; 

  /* 

Подпрограмма редактирования имеющегося 

     

элемента списка */ 

    «

Редактировать элемент»: call EditItem; 

  /* 

Подпрограмма удаления имеющегося элемента 

     

списка */ 

    «

Удалить элемент»: call DelItem; 

  /* 

Подпрограмма поиска элемента списка 

     

по ключу */ 

    «

Поиск»: call FindItem; 

  /* 

Подпрограмма сортировки элементов списка 

     

по событию */ 

    «

Сортировка по названию события»: 

      call SortItemsByEvents; 
  /* 

Подпрограмма сортировки элементов списка 

     

по времени события */ 

    «

Сортировка по дате события»: 

Окончание табл. 2.3 


background image

 

 

 
 

108 

      call SortItemsByDoE; 
  /* 

Подпрограмма сортировки элементов списка 

     

по времени добавления в базу */ 

    «

Сортировка по дате внесения в базу»: 

      call SortItemsByDoA;  
  /* 

Вызов краткого руководства по функциям 

     

базы данных */ 

    «

Подсказка»: call About; 

  /* 

Подпрограмма завершения работы */ 

    «

Выход»: call FinWork; 

  end case; 
end main. 

 

3.2 Внутренние спецификации 

 

/* 

Процедура, выполняющая добавление нового 

   

элемента в список */ 

Procedure AddItem; 
 
/* 

Процедура, выполняющая редактирование 

   

элемента списка, находящегося под 

   

курсором */ 

Procedure EditItem; 
 
/* 

Процедура, выполняющая удаление элемента 

   

списка, находящегося под курсором */ 

DelItem; 
 
/* 

Процедура, выполняющая поиск элемента 

   

списка по заданному ключу */ 

FindItem; 
 
/* 

Процедура, выполняющая сортировку элементов 

   

списка по названию события */ 

SortItemsByEvents; 
 
/* 

Процедура, выполняющая сортировку элементов 

   

списка по дате события */ 

SortItemsByDoE; 
 
/* 

Процедура, выполняющая сортировку элементов 

   

списка по дате их внесения в базу */ 


background image

 

 

 
 

109 

SortItemsByDoA; 
 
/* 

Процедура, выводящая на экран краткую 

   

подсказку по функциям программы 

   

и информацию о разработчиках */ 

About; 
 
/* 

Процедура, осуществляющая сохранение списка 

   

в файл базы данных и завершающая работу с 

   

программой */ 

FinWork;

 

 

4

 

Т

ЕСТИРОВАНИЕ

 

 
4.1 Обоснование уровня испытаний

 

 
Для  проведения  тестирования  было  решено  провести  испытания 

класса B. Испытания класса B выполняются независимо от группы разра-
ботки и начинаются после того, как разработчики объявляют, что изделие 
готово к передаче потребителю. Испытания данного класса были выбраны 
потому, что программа была написана задолго до проведения тестирова-
ния и, следовательно, проведение испытаний класса A было невозможно. 
Так как программа не предназначена на продажу, то проводить испытания 
класса C также не представляется возможным.

 

Режим испытаний — II, так как группу испытаний интересует только 

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

 

 

4.1.1 Чтение записей из файла и составление списка

 

 
В  каталоге,  содержащем  загрузочный  модуль  программы  «День 

рождения»,  должен  находиться  файл «name.dat», содержащий  в  себе 
записи  базы  данных.  В  случае  отсутствия  этого  файла  при  запуске 
программы на экран выводится сообщение об ошибке. Иначе из запи-
сей, хранящихся в файле, создается динамический двусвязный список.

 

 

4.1.2 Добавление записи

 

 
При добавлении новой записи на экран выводится форма, содер-

жащая ряд полей. Обязательные поля:

 


background image

 

 

 
 

110 

1. Событие — строковая переменная, состоящая из любых симво-

лов и имеющая длину от 1 до 40 символов.

 

2. Дата события в следующем формате:

 

 

день — целое число в интервале от 1 до 31;

 

 

месяц — целое число в интервале от 1 до 12;

 

 

год — целое число в интервале от 1900 до 2100.

 

Необязательные поля:

 

1. Адрес — строковая переменная, состоящая из любых символов 

и  имеющая  длину  от 1 до 40 символов  или  пустая.  Пустое  значение 
автоматически заменяется строкой «Нет данных».

 

2. Телефон — строковая переменная, состоящая из любых симво-

лов и  имеющая длину от 1 до 13 символов или пустая. Пустое значе-
ние автоматически преобразуется в значение «Нет данных».

 

 

4.1.3 Правка полей записи, находящейся под курсором

 

 
При  исправлении  одного  или  нескольких  полей  записи  на  экран 

выводится форма, содержащая ряд полей. Набор полей идентичен на-
бору полей в форме добавления новой записи (см. Добавление записи). 
Возможна правка значений всех полей формы.

 

 

4.1.4 Поиск записи по ключу

 

 
При поиске элемента на экран выводится форма, содержащая ряд 

полей.  Набор  полей  идентичен  набору  полей  в  форме добавления  но-
вого элемента (см. «Добавление записи»). Поиск записи может произ-
водиться по значению одного из полей или по любой их совокупности.

 

 

4.6 Классы эквивалентности

 

 
Правильные классы эквивалентности:

 

1. Файл name.dat существует (1).

 

2. Значение поля «Событие» введено (2).

 

3. Значение поля «События» — строковая переменная длиной от 1 

до 40 символов (3).

 

4. Значение поля «День» введено (4).

 

5. Значение поля «День» — целое число в интервале от 1 до 31 (5).

 

6. Значение поля «Месяц» введено (6).

 

7. Значение поля «Месяц» — целое число в интервале от 1 до 12 (7).

 

8. Значение поля «Год» введено (8).