afx_msg void OnOpenFile();
afx_msg void OnSaveFile();
6. Тестирование и отладка.
6.1. Выбор методов тестирования.
Методы выявления ошибок. Программисту надо знать методы уменьшения числа ошибок и методы выявления ошибок. Рассмотрим наиболее эффективные.
а) Метод обзора кода. Это визуальный просмотр текста программы, анализ логики выполнения отдельных операторов Цель обзора - найти как можно больше ошибок в новом коде перед его первой компиляцией . Компилятор не рекомендуется применять даже для выявления синтаксических ошибок, как ни удивительно это покажется большинству программистов. Согласно статистике, компилятор языка Си++ не замечает 9,4% синтаксических ошибок и опечатки. Например, вместо индекса i используется j . И та, и другая переменные описаны в программе, поэтому такая ошибка компилятором не распознается, а на этапе тестирования время на устранение подобных ошибок увеличивается в десятки раз. По данным разных исследований, при обзоре кода одна ошибка выявляется и ликвидируется в среднем каждые 5-20 мин, на этапе тестирования модулей - каждые 15-30 мин и на этапе комплексного тестирования - каждые 8 ч.
б) Контрольный анализ.
Это процедура просмотра работ руководителем для выявления возможных ошибок . Проведение контрольного анализа периодически планируется для всех исполнителей на всех стадиях процесса разработки ПО . К этой работе привлекают руководителя проекта, программиста, работа которого анализируется, а также нескольких специалистов, знакомых с существом дела. Для просмотра выбирается одна какая-то часть системы, и каждому участнику анализа выдается соответствующая информация (например, документированный проект программы для оценивания этапа проектирования, текст кода при анализе этапа кодирования). В случае необходимости программист дает пояснения по рассматриваемому модулю. Целью проведения контрольного анализа является обнаружение ошибок , а не их исправление. Продолжительность этой процедуры невелика - не более двух часов. Объясняя проект другим, исполнитель может выявить неточно сформулированные спецификации, либо незаданные условия. Существенным является то, что такой анализ не имеет целью собственно оценку работы исполнителей. Иначе исполнитель мог бы попытаться скрыть существующие неясности либо представить все в розовом цвете.
в) Метод чтения программы. Часто используется опытными программистами для установления правильности системы. Является очень эффективным. При возникновении непонятной ошибки программист анализирует свою программу вместе с коллегами . Даже если коллеги ничего не могут сказать по существу, что вполне понятно, данный метод часто позволяет успешно определить ошибку. Ошибки обнаруживают, когда программист, к которому обратились за помощью, не понимая некоторых фрагментов, просит автора программы дать пояснения. Метод чтения программы зарекомендовал себя как один из самых эффективных в отношении стоимости методов обнаружения ошибок в системе. Для ускорения и повышения эффективности процесса отладки и выявления ошибок программисты используют специализированные средства такие как: DevPartner 64 - предназначен для отладки и выявления ошибок в 64-битных приложениях. Разработчики могут автоматически обнаруживать и диагностировать утечки памяти, переполнение буферов, некорректные вызовы интерфейсов API и другие распространенные ошибки программирования. В состав пакета включена 64-битная версия известного отладчика SoftICE , который предоставляет обзор всех данных и инструкций, используемых в 64-битном варианте операционной системы Windows XP . Новая реализация признанной технологии SoftICE позволяет выявить и проанализировать любые типы ошибок - от неверной ссылки в указателе до несоответствия типов данных. Реализована уникальная возможность переключения между представлениями работы ядра и приложения.
Я выбрал данный метод тестирования, так как он наиболее удобен при тестировании данного программного продукта и не сложен для программиста.
6.2. Нахождение и ликвидация ошибок.
Тестирование программы влияет на качество разрабатываемого программного продукта, чем больше проведено тестов, чем больше недочетов выявлено, тем успешнее продукт (при условии их исправления).
Тестирование курсового проекта проходило на каждом этапе его разработки, если выявлялись проблемы, они исправлялись сразу или в течение ближайшего времени, чтобы одни ошибки не повлекли за собой другие. Тестирование влечет за собой трату огромных сил на нахождение всевозможных проблем и их исправление, что могло вести к задержкам на этапе выполнения других функций.
В ходе тестирования были обнаружены следующие проблемы:
1) Неверно добавляется поставщик в файл.
Описание: новый поставщик записывался поверх старого;
Причина: курсор выставлен в начало файла, запись происходит поверх существующих элементов;
Решение: при открытии файла перед записью курсор переводился в конец файла;
2) Не работает сортировка.
Описание: при попытке сортировке выдавало ошибку ;
Причина: неверное присвоение переменной в классе Wizard;
Решение: переприсвоение переменной;
3) Не работает обновление поля таблицы.
Описание: при добавлении записи в базу, изменения не сохранялись; функция Update() выдавала ошибку;
Причина: неверная последовательность действий;
Решение: в начало функции добавил функцию Edit(), установил переменную m_bAdd=true. При переходе на след запись изменения сохраняются;
Программное средство не предъявляет к платформе, на которой будет функционировать никаких особенных требований. Единственным требование является своевременное получение ресурсов при исполнении. Программное средство можно определить как интерфейс.
Программное средство не предъявляет особенных требований к платформе и к системе в целом.
Минимальные системные требования для нормальной эксплуатации программного средства:
1) ОС Microsoft Windows XP
2) Intel Pentium II S300 500 МHz
3) 20 Mб ПЗУ
4) 128ОЗУ
5) VGA Ati Radeon 3410128MB
6) Microsoft Visual C++ 6.0
7) MS Word 2007
9. Пособие пользователя.
Работа с программой начинается с ее запуска двойным кликом мыши на ярлыке Рисунок 9.1 Для того что бы добавить новую запись о фирме необходимо заполнить пустые поля показанные на рис. 9.2 Рисунок 9.2После чего нажать на кнопку «Сохранить запись» после чего все данные сохранятся в текстовый файл 1.txt Для поиска необходимой вам записи необходимозаполнить интересующее вас пустое поле показанное на рис.2. А после нажать кнопку поиск Если результатом поиска является несколько записей, то для перехода между записями необходимо воспользоваться кнопками перемещения и Для удаления записи нужно воспользоваться клавишей удаления . Для создания HTML файла на основе результата выполненного запроса. Необходимо нажать на кнопку после чего будет создан HTML файла содержащий результат поиска.10.Оценка проекта.
- Шаг 1. Область назначения проектируемого продукта разбивается на ряд функций, каждую из которых можно оценить индивидуально:
f1, f2,…,fn.
f1= Запуск приложения
f2= Информация о разработчике
f3= Информация о программе
f4= Ввод данных
f5= Удаление данных
f6= Сохранение запроса в HTML
f7= Поиск
f8= Сравнение картинок
f9=выход
- Шаг 2. Для каждой функции fi, планировщик формирует лучшую LOCлучшi(FРлучшi), худшую LOCхудшi (FРхудшi) и вероятную оценку LOCвероятнi (FРвероятнi). Используются опытные данные (из метрического базиса) или интуиция. Диапазон значения оценок соответствует степени предусмотренной неопределенности.
f1
LOCХудш=0.085
LOCлучш=0.1
LOCвероят=0.092
f2
LOCХудш=0.01
LOCлучш=0.004
LOCвероят=0.004
f3
LOCХудш=0.01
LOCлучш=0.004
LOCвероят=0.005
f4
LOCХудш=0.004
LOCлучш=0.01
LOCвероят=0.004
f5
LOCХудш=0.035
LOCлучш=0.025
LOCвероят=0.028
f6
LOCХудш=0.004
LOCлучш=0.01
LOCвероят=0.006
f7
LOCХудш=0.005
LOCлучш=0.012
LOCвероят=0.008
f8
LOCХудш=0.075
LOCлучш=0.09
LOCвероят=0.082
f9
LOCХудш=0.006
LOCлучш=0.012
LOCвероят=0.008
- Шаг 3. Для каждой функции/ в соответствии с
-распределением вычисляется ожидаемое значение LOC- (или FP-) оценки: