Операционные системы. Задание. Техническое задание явля ется первым разделом курсовой работы. 1
Скачать 0.67 Mb.
|
2.4 Используемые материалы 2.4.1 Справочные документы Отсутствуют. 2.5 Передача заказчику и ввод в действие 2.5.1 Средства защиты прав собственности на изделие Соблюдение прав собственности не требуется. 2.5.2 Ресурсы, обеспечивающие ввод в действие Допустимая квалификация для ввода программы «ДР» в действие — низкая. Не требуется никаких специальных навыков. 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 — группа испытаний не участвует ( ) 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 108 call SortItemsByDoE; /* Подпрограмма сортировки элементов списка по времени добавления в базу */ « Сортировка по дате внесения в базу»: call SortItemsByDoA; /* Вызов краткого руководства по функциям базы данных */ « Подсказка»: call About; /* Подпрограмма завершения работы */ « Выход»: call FinWork; end case; end main. 3.2 Внутренние спецификации /* Процедура, выполняющая добавление нового элемента в список */ Procedure AddItem; /* Процедура, выполняющая редактирование элемента списка, находящегося под курсором */ Procedure EditItem; /* Процедура, выполняющая удаление элемента списка, находящегося под курсором */ DelItem; /* Процедура, выполняющая поиск элемента списка по заданному ключу */ FindItem; /* Процедура, выполняющая сортировку элементов списка по названию события */ SortItemsByEvents; /* Процедура, выполняющая сортировку элементов списка по дате события */ SortItemsByDoE; /* Процедура, выполняющая сортировку элементов списка по дате их внесения в базу */ 109 SortItemsByDoA; /* Процедура, выводящая на экран краткую подсказку по функциям программы и информацию о разработчиках */ About; /* Процедура, осуществляющая сохранение списка в файл базы данных и завершающая работу с программой */ FinWork; 4 Т ЕСТИРОВАНИЕ 4.1 Обоснование уровня испытаний Для проведения тестирования было решено провести испытания класса B. Испытания класса B выполняются независимо от группы разра- ботки и начинаются после того, как разработчики объявляют, что изделие готово к передаче потребителю. Испытания данного класса были выбраны потому, что программа была написана задолго до проведения тестирова- ния и, следовательно, проведение испытаний класса A было невозможно. Так как программа не предназначена на продажу, то проводить испытания класса C также не представляется возможным. Режим испытаний — II, так как группу испытаний интересует только анализ результатов испытаний, а составление плана, спецификации испы- таний, построение тестов и их прогонки поручаются разработчику. 4.1.1 Чтение записей из файла и составление списка В каталоге, содержащем загрузочный модуль программы «День рождения», должен находиться файл «name.dat», содержащий в себе записи базы данных. В случае отсутствия этого файла при запуске программы на экран выводится сообщение об ошибке. Иначе из запи- сей, хранящихся в файле, создается динамический двусвязный список. 4.1.2 Добавление записи При добавлении новой записи на экран выводится форма, содер- жащая ряд полей. Обязательные поля: 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). 111 9. Значение поля «Год» — целое число в интервале от 1900 до 2100 (9). 10. Значение поля «Адрес» — строковая переменная длиной от 1 до 40 символов или пустое значение (10). 11. Значение поля «Телефон» — строковая переменная длиной от 1 до 13 символов или пустое значение (11). Неправильные классы эквивалентности 1. Файл name.dat не существует (12). 2. Значение поля «Событие» не введено (13). 3. Значение поля «Событие» — строковая переменная длиной бо- лее 40 символов (14). 4. Значение поля «День» не введено (15). 5. Значение поля «День» — число, меньшее 1 (16). 6. Значение поля «День» — число, большее 31 (17). 7. Значение поля «День» — строковая переменная (18). 8. Значение поля «День» — дробное число (19). 9. Значение поля «Месяц» не введено (20). 10. Значение поля «Месяц» — число, меньшее 1 (21). 11. Значение поля «Месяц» — число, большее 12 (22). 12. Значение поля «Месяц» — строковая переменная (23). 13. Значение поля «Месяц» — дробное число (24). 14. Значение поля «Год» не введено (25). 15. Значение поля «Год» — число, меньшее 1900 (26). 16. Значение поля «Год» — число, большее 2100 (27). 17. Значение поля «Год» — строковая переменная (28). 18. Значение поля «Год» — дробное число (29). 19. Значение поля «Адрес» — строковая переменная длиной бо- лее 40 символов (30). 20. Значение поля «Телефон» — строковая переменная длиной более 13 символов (31). 4.7 Тесты 4.7.1Тест для правильных классов эквивалентности Заполнение полей формы правильными значениями (охватывает классы 1—11): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: 5 − Год: 1968 112 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: поля заносятся в запись, запись добавляется к списку, происходит отображение обновленной информации на экране. 4.7.2 Тесты для неправильных классов эквивалентности 1. В директории, содержащей исполняемый модуль, отсутствует файл name.dat (класс 12). Результат: Выводится системное сообщение об ошибке «File Not Found». Программа завершает работу. 2. Поле «Событие» не введено (класс 13): − Событие: − День: 15 − Месяц: 5 − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: ошибка; поле «Событие» принимает значение «Нет данных». 3. Значение поля «Событие» — строковая переменная длиной бо- лее 40 символов (класс 14): − Событие: День рождения Владимира Ильича Ленина — верно- го друга всех октябрят − День: 15 − Месяц: 5 − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: в поле «Событие» будут содержаться лишь первые со- рок символов введенной фразы, благодаря проверке на длину строки, которая отсечет лишние символы. 4. Значение поля «День» не введено (класс 15): − Событие: День рождения Ивана Ивановича − День: − Месяц: 5 − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 113 Результат: После ввода пустого значения не произошел переход курсора на другое поле, так как введено неправильное значение. Ожи- дается ввод корректного значения. 5. Значение поля «День» — число, меньшее 1 (класс 16): − Событие: День рождения Ивана Ивановича − День: 0 − Месяц: 5 − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: после ввода некорректного значения произведется очистка поля, и курсор остается в текущей позиции, ожидая ввода пра- вильного значения. 6. Значение поля «День» — число, большее 31 (класс 17): − Событие: День рождения Ивана Ивановича − День: 55 − Месяц: 5 − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: после ввода некорректного значения произведется очистка поля, и курсор остается в текущей позиции, ожидая ввода пра- вильного значения. 7. Значение поля «День» — строковая переменная (класс 18): − Событие: День рождения Ивана Ивановича − День: три − Месяц: 5 − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: неправильное значение не будет введено, так как со- держимым этого поля не могут быть нецифровые символы. 8. Значение поля «День» — дробное число (класс 19): − Событие: День рождения Ивана Ивановича − День: 2.5 − Месяц: 5 − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 114 Результат: неправильное значение не будет введено, так как со- держимым этого поля не могут быть нецифровые символы. 9. Значение поля «Месяц» не введено (класс 20): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: После ввода пустого значения не произошел переход курсора на другое поле, так как введено неправильное значение. Ожи- дается ввод корректного значения. 10. Значение поля «Месяц» — число, меньшее 1 (класс 21): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: 0 − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: после ввода некорректного значения произведется очистка поля, и курсор остается в текущей позиции, ожидая ввода пра- вильного значения. 11. Значение поля «Месяц» — число, большее 12 (класс 22): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: 64 − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: после ввода некорректного значения произведется очистка поля, и курсор остается в текущей позиции, ожидая ввода пра- вильного значения. 12. Значение поля «Месяц» — строковая переменная (класс 23): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: май − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 115 Результат: неправильное значение не будет введено, так как со- держимым этого поля не могут быть нецифровые символы. 13. Значение поля «Месяц» — дробное число (класс 24): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: 5,5 − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: неправильное значение не будет введено, так как со- держимым этого поля не могут быть нецифровые символы. 14. Значение поля «Год» не введено (класс 25): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: 5 − Год: − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: После ввода пустого значения не произошел переход курсора на другое поле, так как введено неправильное значение. Ожи- дается ввод корректного значения. 15. Значение поля «Год» — число, меньшее 1900 (26) − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: 5 − Год: 19 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: после ввода некорректного значения произведется очистка поля, и курсор остается в текущей позиции, ожидая ввода пра- вильного значения. 16. Значение поля «Год» — число, большее 2100 (класс 27): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: 5 − Год: 35000 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 116 Результат: после ввода некорректного значения произведется очистка поля, и курсор остается в текущей позиции, ожидая ввода пра- вильного значения. 17. Значение поля «Год» — строковая переменная (класс 28): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: 5 − Год: Вася − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: неправильное значение не будет введено, так как со- держимым этого поля не могут быть нецифровые символы. 18. Значение поля «Год» — дробное число (класс 29): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: 5 − Год: 19.68 − Адрес: ул. Ленина, 25-54 − Телефон: 33-33-33 Результат: неправильное значение не будет введено, так как со- держимым этого поля не могут быть нецифровые символы. 19. Значение поля «Адрес» — строковая переменная длиной бо- лее 40 символов (класс 30): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: 5 − Год: 1968 − Адрес: ул. Христофора Бонифатиевича Колумба, дом 8 − Телефон: 33-33-33 Результат: в поле «Адрес» будут содержаться лишь первые сорок символов введенной строки, благодаря проверке на длину, которая отсечет лишние символы. 20. Значение поля «Телефон» — строковая переменная длиной более 13 символов (класс 31): − Событие: День рождения Ивана Ивановича − День: 15 − Месяц: 5 − Год: 1968 − Адрес: ул. Ленина, 25-54 − Телефон: Please, call me! 117 Результат: в поле «Телефон» будут содержаться лишь первые со- рок символов введенной строки, благодаря проверке на длину, которая отсечет лишние символы. 4.7.3 Результаты тестирования В ходе тестирования были выявлены следующие недостатки про- граммы: 1. Поле «Событие» может содержать пустое значение, что недо- пустимо. Для устранения этой проблемы необходимо проверять длину введенного сообщения не только на максимальное, но и на минималь- ное вводимое количество символов. 2. Отсутствует взаимодействие между различными компонентами даты. В частности, возможно значение даты вида 31.02.1968. Способ устранения: проверять граничные условия не только исходя из значе- ний конкретного числа, но и всей даты в целом. 3. При отсутствии файла работа с программой невозможна. Вари- ант исправления: при отсутствии файла name.dat в указанной выше папке производить создание нового пустого файла. 4. Ряд полей может содержать значения, не соответствующие дей- ствительности из-за ограниченности длины этих полей. Возможное решение: увеличить длину поля, вводить значения, удовлетворяющие указанным выше ограничениям. 5 Р УКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА 5.1 Общие сведения о программе Программа «День рождения» предназначена для реализации функций системы управления данных и для выполнения задач накоп- ления, хранения, навигации и обработки информации, занесенной в базу. Основными функциями программы является: отображение кор- ректной информации о событии, занесение в базу информации о собы- тии, редактирование любого поля данных, сортировка полей, поиск данных, удаление любого поля, возможность настраивать параметры работы программы. Технические и программные средства, обеспечивающие выпол- нение данной программы: процессор Intel Pentium 66 или эквивалент- ный ему, не менее 100 Кб на жестком диске для самой программы, а также место для файла базы данных, устройства ввода (клавиатура, 118 мышь). Программа работает под управлением операционной системы MS-DOS, Windows 95/98/Me/NT/ 2000/XP. 5.2 Структура программы Программа «День рождения» состоит из следующих компонентов: 1. Birthday.pas — исходный код программы; 2. Birthday.exe — загрузочный модуль программы; 3. Name.dat — файл, содержащий в себе записи базы данных. Данная программа не требует установки каких-либо дополни- тельных библиотек или приложений. 5.3 Настройка программы 5.3.1 Установка программы Если в одном каталоге с загрузочным модулем находится файл Name.dat, то запустить файл Birthday.exe. 5.3.2 Настройка программы Не требует никаких предварительных настроек. 5.4 Проверка программы Проверка программы производится в следующем порядке: 1) запуск приложения; 2) заполнение полей записи; 3) поиск по ключу; 4) если работа программы закончилась успешно и получено соот- ветствующее сообщение, то проверка считается успешно завершенной и следует выйти из программы; 5) если работа программы завершилась не успешно, то следует ввести другую входную информацию. При получении диагностических и иных сообщений в ходе про- верки программы следует обращаться к разделу «Сообщения систем- ному программисту» данного руководства. 5.5 Дополнительные возможности Программа не обладает дополнительными возможностями. 119 5.6 Сообщения системному программисту Программа выполняет проверку введенных данных в авто- матизированном режиме и, если это необходимо, сама исправ- ляет ошибки информации, введенной пользователем. |