МУ_ДЗ_2014 (1079920), страница 21
Текст из файла (страница 21)
5. ДАННЫЕ И ФАЙЛЫ ДАННЫХ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
В системе классов домов и улиц не формируется отдельных файлов. Структуры данных и перечисления для задания параметров приведены в таблице предыдущего раздела (“Общие описания ”).
6. ОСНОВНЫЕ АЛГОРИТМЫ МЕТОДОВ КЛАССОВ ПО
Некоторые важные алгоритмы системы классов представлены ниже на рисунках.
6.1. Алгоритм вычисления признака ремонта.
Алгоритм вычисления признака ремонта домов улицы
(этот параметр задается в объекте улица отдельно) приведен ниже (функция GetRemont() – метод класса Street):
Рис. 1 Вычисление признака ремонта домов улицы
Для вычисления признака ремонта домов улицы выполняется просмотр всех домов из списка и , при наличии, хотя бы одного признака ремонта у одного из домов признак ремонта (Remont) устанавливается в истину. Функция в этом случае возвращает тоже значение истина.
6.2. Алгоритм сложения домов.
А
лгоритм сложения двух домов (Н1 и Н2) приведен ниже (перегруженная с помощью внешней функции операция сложения – дружественная классу Home):
Рис. 2 Сложение двух домов
Сначала проверяются значения полей с именами, после чего выполняется конкатенация имен для номера дома и поиска. Другие характеристики домов, кроме этажности, суммируются.
6.3. Алгоритм сложения двух улиц.
А
лгоритм сложения двух улиц (X и Y) приведен ниже (перегрузка выполнена внешней дружественной классу Street операцией):
Рис. 3 Сложение двух улиц
Первоначально выполняется проверка и формирование названия улицы, как сложение двух имен. Кроме того, аналогичным образом вычисляется имя для поиска в списке. Далее выполняются два цикла добавления на новую улицу всех домов из первой улицы (X) и второй улицы (Н).
6.4. Алгоритм перегрузки операции присваивания улиц.
А
лгоритм перегрузки операции присваивания двух улиц (текущей – this и из параметра S) приведен ниже (перегрузка выполнена внутренней для класса Street операцией “=”):
Рис. 4 Перегрузка оператора присваивания улиц
В данном алгоритме первоначально выполняется определение параметров name (имя для поиска улиц в списках) и Name_Street (название улиц). Затем присваиваются все параметры улицы. Для копирования списков домов используется перегруженный оператор присваивания списков, который вызывается с помощью следующего присваивания:
(List &) *this = S ;
Явное приведение к типу ссылки на список является в данном случае необходимым.
6.5. Алгоритм очистки списка.
А
лгоритм очистки списка (метод класса List - ClearList) приведен ниже:
Рис. 5 Очистка списка
6.6. Алгоритм добавление дома по номеру.
А
лгоритм добавления дома по номеру (метод класса List - AddNumber) приведен на рисунке расположенном ниже:
Рис. 6 Добавление дома по номеру
В этом алгоритме после любого вызова метода нижнего уровня добавления (AddHead, AddTail и связывания списков) выполняется новая нумерация списка( Renember). Если параметр t (тип - TypeAddDel) имеет значение CreateObj, то создается новый объект.
7. ОПИСАНИЕ ПРОЦЕДУР И ФУНКЦИЙ ПО
Система классов улиц и домов содержит две процедуры являющиеся дружественными функциями классов Home и Street
Класс | Прототип | Параметры | Назначение | Примечания |
Класс Home | friend Home & operator +(Home & H1 , Home & H2) | Ссылки на дома (Н1 и Н2), подлежащие объединению | Складываются два дома | При сложении домов объединяются: их символьные названия, вычисляются все характеристики нового дома: число жителей и квартир, признак ремонта. Число этажей устанавливается по первому дому |
Класс Street | friend Street & operator +( Street & X , Street & Y ); | Ссылки на улицы (Н1 и Н2), подлежащие объединению | Операция сложения двух улиц | При сложении улиц имена их складываются, списки складываются, вычисляются: признаки ремонта улиц и домов на улице и типы улиц |
8.ОПИСАНИЕ ПРОЦЕССА ОТЛАДКИ КЛАССОВ.
В процессе отладки были проверены все методы и свойства. Для этого был разработан специальный тестовый пример, листинг которого включен в документ, содержащий исходные тексты программ и комплект поставки программного продукта. Отладка проводилась стандартными средствами MS VS.
9. КЛАССЫ И МЕТОДЫ, ПЕРЕОПРЕДЕЛЯЕМЫЕ В ПО
В данном программном обеспечении никакие стандартные классы и методы стандартных классов не переопределяются.
Московский государственный технический университет им. Н.Э.Баумана
_________________________________________________________________
УТВЕРЖДАЮ: | |
Большаков С.А. | "__"_____________201X Г. |
Комплексная лабораторная работа/ДЗ по дисциплине ПКШ
“Система классов улиц и домов”
Программа и методика испытаний
(вид документа)
писчая бумага
(вид носителя)
19
(количество листов)
ИСПОЛНИТЕЛЬ: | |
студент группы ИУ5-ХХ | _____________________ |
Большаков С.А. | "__"_____________201X г. |
Москва - 201X
________________________________________________________________
СОДЕРЖАНИЕ
1. ОБЪЕКТ ИСПЫТАНИЙ 3
2. ЦЕЛЬ ИСПЫТАНИЙ 3
3. СОСТАВ ПРЕДЪЯВЛЯЕМОЙ ДОКУМЕНТАЦИИ 3
3.1. При сдаче домашнего задания предъявляются следующие документы: 3
3.2. При проведении испытаний предъявляются документы: 3
4. ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ К ИСПЫТАНИЯМ И УСЛОВИЯ ПРОВЕДЕНИЯ ИСПЫТАНИЯ 3
4.1. Требования к условиям проведения испытаний. 3
4.2. Требования к техническим средствам. 3
5. ПОРЯДОК ПРОВЕДЕНИЯ ИСПЫТАНИЙ 4
5.1. Состав и структура технических и программных средств. 4
5.2. Последовательность испытаний системы классов. 4
6. Результаты испытаний по пунктам ТЗ 6
6.1. Рисунок 1. Меню тестового примера 6
6.2. Рисунок 2. Создание улиц с домами 7
6.3. Рисунок 3. Создание объектов для домов улицы 8
6.4. Рисунок 4. Создание объектов для домов улицы на основе других 8
6.5. Рисунок 5. Учет свойств дома(см. ТЗ) 9
6.6. Рисунок 6. Задание и получение характеристик дома 9
6.7. Рисунок 7. Сложение двух домов 10
6.8. Рисунок 8. Перегрузить оператор присваивания для домов 10
6.9. Рисунок 9. Распечатка характеристик дома 11
6.10. Рисунок 10. Учет свойств улицы (см. ТЗ) 11
6.11. Рисунок 11. Распечатка содержания улицы и ее свойств 12
6.12. Рисунок 12. Задание характеристик улицы 12
6.13. Рисунок 13. Получение характеристик улицы 13
6.14. Рисунок 14. Сложение двух улиц 13
6.15. Рисунок 15. Добавление дома на улицу 15
6.16. Рисунок 16. Удаление дома с улицы 16
6.17. Рисунок 17. Установка и снятие признака ремонта улицы 17
6.18. Рисунок 18. Автоматическое получение признака ремонта домов улицы 17
6.19. Рисунок 19. Перегрузка оператора присваивания для улиц 18
1. ОБЪЕКТ ИСПЫТАНИЙ
Объектом испытаний является система классов строк переменной длины и массивов строк, в дальнейшем называемая просто «система классов» или «строки». Данный программный продукт разработан для того, чтобы обеспечить пользователю (программисту) необходимые средства для различной работы со строками.
2. ЦЕЛЬ ИСПЫТАНИЙ
Целью проведения испытаний является проверка правильности работы всех указанных в техническом задании функций системы классов.
3. СОСТАВ ПРЕДЪЯВЛЯЕМОЙ ДОКУМЕНТАЦИИ
3.1.При сдаче домашнего задания предъявляются следующие документы:
3.1.1. Техническое задание
3.1.2. Описание применения программного продукта;
3.1.3. Техническое описание программного продукта;
3.1.4. Руководство пользователя;
3.1.5. Руководство системного программиста;
3.1.6. Исходные тексты программ системы классов и тестового примера;
3.1.7. Программа и методика испытаний;
3.1.8. Описание тестового примера;
3.2.При проведении испытаний предъявляются документы:
3.2.1. Техническое задание
3.2.2. Описание тестового примера
3.2.3. Программа и методика испытаний
3.2.4. Исходные тексты программ системы классов и тестового примера
4.ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ К ИСПЫТАНИЯМ И УСЛОВИЯ ПРОВЕДЕНИЯ ИСПЫТАНИЯ
4.1.Требования к условиям проведения испытаний.
4.1.1. Испытания проводятся на основе тестового примера, который должен поставляться вместе с системой классов.
4.1.2. Тестовый пример должен работать и в операционной среде, где не инсталлирована система программирования (MS VS).
4.1.3. Тестовый пример должен работать в режиме эмуляции командной строки (cmd.exe), при этом вывод и ввод информации должен быть обеспечен на русском языке.
4.1.4. При необходимости и наличии системы программирования (MS VS), сборка проекта тестового примера должна быть выполнена без ошибок и предупреждений.
4.2. Требования к техническим средствам.
4.2.1. Используемая операционная система: Windows XP/Win7/8.
4.2.2. Компилятор С++: MS VS 2005 и выше.
4.2.3.Технические характеристики оборудования, на котором проводятся испытания:
4.2.3.1. IBM-совместимый компьютер с процессором Intel Pentium II 400 MHz не ниже.
4.2.3.2. Более 300 килобайт свободной обычной оперативной памяти.
4.2.3.3. SVGA видеоадаптер и монитор.
4.2.3.4. Не менее 500 килобайт на диске.
4.2.3.5. Клавиатура со 101-ой клавишей.
5.ПОРЯДОК ПРОВЕДЕНИЯ ИСПЫТАНИЙ
5.1.Состав и структура технических и программных средств.
5.1.1. Запуск программы тестового примера выполняется в режиме командной строки (cmd.exe) или при запуске программы из любого файл менеджера.
5.1.2. Запуск режима командной строки производиться из главного меню ОС: ПУСК-> ВЫПОЛНИТЬ-> cmd.exe.
5.1.3. Программа для испытаний запускается с: дискеты, CD/DVD диска или другого сменного носителя информации (карта памяти или флеш сменный накопитель). Для запуска программы из текущей директории вводится: DZ_OOP.EXE.
5.2. Последовательность испытаний системы классов.
№ п/п | № пункта Т.З. | Выполняемые действия | Ожидаемый результат | Примечание |
| Запуск тестового примера | В текущем каталоге, где находиться программа ввести: DZ_OOP.EXE и нажать Enter | Первоначально выводится меню тестового примера (Рис. 1). | |
| 5.1.1 Создание улиц с домами | Ввести 1, нажать Enter, нажать Enter | Первоначально выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 2 в разделе 6 данного документа. | |
| 5.1.2 Создание объектов для домов улицы | Ввести 2, нажать Enter, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 3 в разделе 6 данного документа. | |
| 5.1.3 Создание объектов для домов улицы на основе других | Ввести 3, нажать Enter, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 4 в разделе 6 данного документа. | |
| 5.1.4 Учет свойств дома(см. ТЗ) | Ввести 4, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 5 в разделе 6 данного документа. | |
| 5.1.5 Задание и получение характеристик дома | Ввести 5, нажать Enter, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 6 в разделе 6 данного документа. | |
| 5.1.6 Сложение двух домов | Ввести 6, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 7 в разделе 6 данного документа. | |
| 5.1.7 Перегрузить оператор присваивания для домов | Ввести 7, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 8 в разделе 6 данного документа. | |
| 5.1.8 Распечатка характеристик дома | Ввести 8, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 9 в разделе 6 данного документа. | |
| 5.1.9 Учет свойств улицы(см. ТЗ) | Ввести 9, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 10 в разделе 6 данного документа. | |
| 5.1.10 Распечатка содержания улицы и ее свойств | Ввести 10, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 11 в разделе 6 данного документа. | |
| 5.1.11 Задание характеристик улицы | Ввести 11, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 12 в разделе 6 данного документа. | |
| 5.1.12 Получение характеристик улицы | Ввести 12, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 13 в разделе 6 данного документа. | |
| 5.1.13 Сложение двух улиц | Ввести 13, нажать Enter, нажать Enter, нажать Enter, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 14 в разделе 6 данного документа. | |
| 5.1.14 Добавление дома на улицу | Ввести 14, нажать Enter, нажать Enter, нажать Enter, нажать Enter, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 15 в разделе 6 данного документа. | |
| 5.1.15 Удаление дома с улицы | Ввести 15, нажать Enter, нажать Enter, нажать Enter, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 16 в разделе 6 данного документа. | |
| 5.1.16 Установка и снятие признака ремонта улицы | Ввести 16, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 17 в разделе 6 данного документа. | |
| 5.1.17 Автоматическое получение признака ремонта домов улицы | Ввести 17, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 18 в разделе 6 данного документа. | |
| 5.1.18 Перегрузка оператора присваивания для улиц | Ввести 18, нажать Enter, нажать Enter, нажать Enter | Первоначально на экран выводится меню тестового примера (Рис. 1). Результаты показаны на Рис. 19 в разделе 6 данного документа. | |
| Завершение работы тестового примера | Ввести 0, нажать Enter | Программа тестового примера завершает свою работу | Сообщений не выдается |
6.Результаты испытаний по пунктам ТЗ
6.1. Рисунок 1. Меню тестового примера
Ниже представлен рисунок 1 (рис.1) с меню тестового примера: