Разработка программного модуля на основе понятийно-тезисной модели
Сравнительный анализ технологий тестирования. Разработка программного модуля "Интеллектуальная обучающая система для широкого перечня курсов". Обоснование необходимости и важности этапа отладки в процессе разработки данного программного обеспечения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 17.06.2011 |
Размер файла | 101,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Приведем некоторое руководство к действию, имеющее целью облегчить предстоящую отладку и сократить время ее проведения.
Разработка общего плана проведения отладки, общей методики проверки правильности составленной программы, а также системы необходимых для отладки контрольных примеров.
Проверка разработанных алгоритмов, выбор отладочных средств и определение контролируемых ими мест, участков, величин.
Проверка составленной программы, реализация намеченного ранее плана использования отладочных средств для получения на ЭВМ необходимых при локализации ошибок тестовых результатов; изготовление эталонных результатов для тестов.
Ввод, печать и сверка текста программы, перенесенной на внешние носители.
Получение с помощью транслятора вспомогательных таблиц (например, таблица перекрестных ссылок) и проверка их.
Тщательный контроль первых результатов, получаемых по новой программе.
Примерное распределение между этапами общего времени, необходимого для разработки достаточно сложных программ, выглядит следующим образом:
Получение задания, составление проекта программы и общего плана отладки 10%
Разработка алгоритма (15%) и детального плана отладки 20%
Программирование (5%) и изготовление тестов 15%
Препарация и первая трансляция 5%
Отладка 40%
Оформление программы 10%
Приведенные цифры отражают тот факт, что в процессе разработки программы работы по доказательству (демонстрации) правильности разрабатываемой программы равнозначны работам по ее изготовлению (проектированию, алгоритмизации и написанию), что можно выразить следующей формулой:
Разработка программы = Изготовление + Доказательство.
Вопрос минимизации времени, необходимого на отладку, имеет особое значение. К его решению можно подойти с двух сторон: путем ускорения поиска и исправления ошибок, имеющихся в программе; путем уменьшения количества ошибок, допускаемых при разработке алгоритма и составлении программы.
2.6 Тестирование
Под тестированием следует понимать процесс исполнения программы с целью обнаружения ошибок, в качестве которых принимается любое отклонение от эталонов. Хорошим считается тест, который имеет высокую вероятность обнаружения еще не выявленных ошибок.
Под отладкой понимается процесс, позволяющий получить программу, функционирующую с требуемыми характеристиками в заданной области входных данных. Таким образом, в результате отладки программа должна соответствовать некоторой фиксированной совокупности правил и показателей качества, принимаемой за эталонную для данной программы.
Существует три основных способа тестирования:
Алгоритмическое;
Аналитическое;
Содержательное.
Алгоритмическое тестирование
Алгоритмическое тестирование применяется для контроля этапов алгоритмизации и программирования. Проектируются тесты и начинаются готовиться эталонные результаты на этапе алгоритмизации, а используются они на этапе отладки.
Функциональное или аналитическое тестирование
Аналитическое тестирование служит для контроля выбранного метода решения задачи, правильности его работы в выбранных режимах и с установленными диапазонами данных. Тесты проектируют и начинают готовить сразу после выбора метода, а используют их на последнем этапе отладки, в ходе тестирования, наряду со сверкой на совпадение, применяются и качественные оценки результатов.
Содержательное тестирование
Содержательное тестирование служит для проверки правильности постановки задачи. Для контроля при этом используются, как правило, качественные оценки и статистические характеристики программы, физический смысл полученных результатов и т.п. в проведении содержательного тестирования, принципы которого формулируются в техническом задании, самое активное участие должны принимать заказчики или идущие пользователи программы.
Содержательные и аналитические тесты проверяют правильность работы программы в целом или крупных ее частей, в то время как алгоритмические тесты в первую очередь должны проверять работу отдельных блоков или операторов программы.
Тот вид контроля, который рассматривался выше, можно назвать тестированием основных функциональных возможностей программы - основной тест.
Вырожденный тест
Этот тест затрагивает работу программы в самой минимальной степени. Обычно тест служит для проверки правильности выполнения самых внешних функций программы, например, обращения к ней и выхода из нее.
Тест граничных значений
Тест проверяет работу программы для граничных значений параметров, определяющих вычислительный процесс. Часто для граничных значений параметра работа программы носит особый характер, который, тем самым, требует и особого контроля.
Аварийный тест
Тест проверяет реакцию программы на возникновение разного рода аварийных ситуаций в программе, в частности, вызванных неправильными исходными данными. Другими словами, проверяется диагностика, выдаваемая программой, а также окончание ее работы или, может быть, попытка исправления неверных исходных данных.
2.7 Локализация ошибок
Способы локализации
После того, как с помощью тестов (или каким либо другим путем) установлено, что в программе или в конкретном ее блоке имеется ошибка, возникает задача ее локализации, то есть установления точного места в программе, где находится ошибка.
Процесс локализации ошибок состоит из следующих трех компонент:
Получение на машине тестовых результатов.
Анализ тестовых результатов и сверка их с эталонными.
Выявление ошибки или формулировка предположения о характере и месте ошибки в программе.
2.8 Технология отладки автоматизированного рабочего места
При отладке программы использовались следующие методы контроля и локализации ошибок: просмотр текста программы с целью обнаружения явных синтаксических и логических ошибок и трансляция программы (транслятор выдает сообщения об обнаруженных им ошибках в тексте программы).
Тестирование проводилось посредством ввода исходных данных, с дальнейшей их обработкой, выводом результатов на экран. Результаты работы программы сравнивались с требованиями в техническом задании.
1) Отладка программы производилась следующим образом:
2) Запуск программы с набором тестовых входных данных и выявление наличия ошибок.
3) Выделение области программы, в которой может находиться ошибка.
4) Просмотр листинга программы с целью возможного визуального обнаружения ошибок. В противном случае - установка контрольной точки примерно в середине выделенной области.
Новая прогонка программы. Если работа программы прервалась до обработки контрольной точки, значит, ошибка произошла раньше. Контрольная точка переносится, и процесс отладки возвращается к шагу 2.
Если контрольная точка программы была обработана, то далее следует изучение значений стека, переменных и параметров программы с тем, чтобы убедиться в их правильности. При появлении ошибки - новый перенос контрольной точки и возврат к шагу 2.
В случае если ошибка не была обнаружена, далее выполнение программы производится покомандно, с контролем правильности выполнения переходов и содержимого регистров и памяти в контрольных точках. При локализации ошибки, она исправляется, и процесс возвращается к шагу 1.
В данном разделе были рассмотрены вопросы разработки, отладки и тестирования программных продуктов. Было приведено обоснование необходимости и важности этапа отладки в процессе разработки программного обеспечения, даны краткие описания основных способов отладки и тестирования.
В отношении разработанной в специальной части программы было дано описание алгоритма, использовавшегося при ее отладки и тестировании. Представлено обоснование выбора языка программирования.
тестирование программный обучающий интеллектуальный
Заключение
В результате выполнения выпускной работы был разработан программный модуль «Интеллектуальная обучающая система для широкого перечня курсов», удовлетворяющий требованиям, утвержденного технического задания и предоставляющий удобные инструменты управления для реализации всех функциональных возможностей системы:
поддержка различных учебных курсов;
ведение профайлов содержащих информацию о пользователях;
поддержка аудио и видео составляющих курса на основе DirectX;
автономная генерация тестовых заданий;
возможность распределение студентов по обучающим курсам;
ведение табеля успеваемости отдельного студента;
разделение прав доступа пользователей к системе на основе ролей:
расширенная система разделения прав пользователей к различным функциям системы;
автономный анализ решения тестовых заданий;
возможность помощи в выборе стратегии обучения;
печать отчетов;
возможность создавать собственные отчеты в MS Office и самостоятельно подключать их к системе;
реализована система адаптивной навигации на основе ссылок;
А также обеспечивает выполнение следующих требований:
надежное соединение с базой данных;
все пользователи должны вводить имя и пароль для входа в систему;
доступность системных и пользовательских элементов управления зависит от прав присвоенных пользователю;
ПМ ПТМ поддерживает базовую ролевую модель безопасности;
запись информации о возникающих в процессе работы ошибках в log-файл.
При создании ПМ ПТМ использовались базовые библиотеки системы DirectX SDK, что потребовало дополнительного изучения данной технологии.
В качестве языка и средств разработки были выбраны:
язык программирования C# 4.0;
среда разработки web-приложения Microsoft Visual Studio.NET 2008;
Основным критерием для выбора являлось Windows совместимость создаваемого ПМ, а также простота и скорость разработки приложения.
Во время разработки интерфейса ПМ ПТМ, проводилось модульное тестирование и отладка его отдельных компонентов, в частности, тестировались все элементы разрабатываемого UI. По окончанию разработки было проведено функциональное и логическое тестирование ПМ ПТМ на соответствие всем требованиям технического задания. Выявленные на этом этапе ошибки были полностью исправлены. В результате проведенных отладке и тестированию ПМ ПТМ продемонстрировал свою функциональную работоспособность и стойкость к вводу некорректных данных оператором.
Разработана оперативная справка, позволяющая быстро получить доступ к необходимой информации.
Таким образом, программный модуль автоматизации учебного процесса ПМ ПТМ полностью реализован и отлажен, соответствует требованиям технического задания и выполняет все заданные функции.
Список литературы
1) Гагарина Л.Г., Зубов Н.Н., Стрижков А.В., Федотова. Е.Л. Методические указания по подготовке дипломного проекта специалистов направления «Информатика и вычислительная техника» (специальность 230105.65 «Программное обеспечение вычислительной техники и автоматизированных систем») / Под редакцией Л.Г. Гагариной. - 2-е изд., доп. - М.: МИЭТ, 2005.
2) ГОСТ 19.504-79. Руководство программиста. Требования к содержанию и оформлению.
3) ГОСТ 19.401-78 (ЕСПД). Текст программы. Требования к содержанию и оформлению.
4) ГОСТ 19.106-78 (ЕСПД). Требования к программным документам, выполняемым печатным образом.
5) ГОСТ 28.195-89. Оценка качества программных средств. Общие положения.
6) Басс Л., Клементс П., Кацман Р. Архитектура программного обеспечения на практике. 2-е издание. - СПб.: Питер, 2006.
7) Рихтер Дж. CLR via C#. Программирование на платформе Microsoft.NET Framework 2.0 на языке C#. Мастер-класс. / Пер. с англ. - М.: Издательство «Русская Редакция»; СПб.: Питер, 2007.
8) Леоненков А.В. Самоучитель UML. - 2-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2004.
9) Рихтер Дж. Программирование на платформе Microsoft .NET Framework. Мастер-класс. / Пер. с англ. - 3-е изд. - М.: Издательско-торговый дом «Русская Редакция»; СПб.: Питер, 2005.
10) Мак-Дональд М., Шпушта М. Microsoft ASP.NET 2.0 с примерами на C# 2005 для профессионалов.: Пер. с англ. - М.: ООО «И.Д. Вильямс», 2006.
11) Троелсен Э. C# и платформа .NET. Библиотека программиста - СПб.: Питер, 2007.
12) Гюнтер Штайнер. HTML/XML/CSS. - М.: Лаборатория Базовых Знаний, 2005.
13) Рэндал Э., Сугальски Д., Теч Л. Perl 6 и Parrot. Справочник. - М.: КУДИЦ-Образ, 2005.
14) Титенко С.В., Гагарин О.О. Моделирование области знаний в системе обучения на основе понятийно-тезисной модели // VIII международная конференция «Интеллектуальный анализ информации ИАИ-2008», Киев, 14-17 мая 2008 г.: Сб. тр./ Ред. кол.: С.В. Сирота (гл. ред.) и др. - К.: Просвита, 2008. - С. 475-484.
Размещено на Allbest.ru
Подобные документы
Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Структурная диаграмма программного модуля. Разработка схемы программного модуля и пользовательского интерфейса. Реализация программного модуля: код программы; описание использованных операторов и функций. Вид пользовательской формы с заполненной матрицей.
курсовая работа [215,3 K], добавлен 01.09.2010Структурная диаграмма программного модуля. Нахождение суммы элементов, находящихся над главной диагональю. Реализация программного модуля: код программы; описание использованных операторов и функций. Особенности тестирования программного модуля.
курсовая работа [146,6 K], добавлен 01.09.2010Обоснование необходимости разработки компьютерной системы тестирования студентов. Анализ используемого программного и технического обеспечения на предприятии. Требования к функционированию модуля. Сведения о программе: структура, настройка и проверка.
курсовая работа [1,7 M], добавлен 13.06.2017Функционально-модульная структура программного обеспечения контроллера домофона. Электронная схема электронного замка, модуля микрофона и динамика. Выбор комбинированного источника питания. Разработка программного модуля. Программа управления домофоном.
курсовая работа [484,7 K], добавлен 29.03.2017Основные стадии разработки, принципы тестирования и отладка программного модуля "VFS". Особенности проектирования на языке UML. Методы "грубой силы" и их применение при отладке программы. Вредные факторы, присутствующие на рабочем месте программиста.
дипломная работа [827,0 K], добавлен 07.03.2012Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Разработка программного модуля, позволяющего создать с помощью шаблона класса "бинарное дерево" картотеку абонентов, содержащую сведенья о телефонах и их владельцах. Выбор технологии, языка и среды программирования. Выбор стратегии тестирования программы.
курсовая работа [1,1 M], добавлен 11.12.2010Разработка концептуальной модели базы данных. Реализация алгоритмов и разработка управляющей программы. Разработка структуры системы управления данными. Методика проведения и результаты тестирования. Функционирование разработанного программного модуля.
курсовая работа [550,5 K], добавлен 08.06.2023Методика разработки программного модуля для нахождения методом хорд корня уравнения x3-x-0,3=0 с точностью до 0,001 на языке программирования Visual Basic for Application. Схема программного модуля и описание процедуры обработки кнопки "Найти корни".
курсовая работа [394,0 K], добавлен 08.09.2010