Помощь в написании студенческих работ
Антистрессовый сервис

Разработка программы и структуры БД

РефератПомощь в написанииУзнать стоимостьмоей работы

В каждом новом тестировании тестер должен посвятить определенное время изучению приложения. Начинающий тестер обязательно должен освоить методы тестирования, в которые входят общие концепции тестирования и способ определения тестовых примеров. Во время проведения теста, полученные результаты необходимо сравнить с ожидаемыми, чтобы выяснить, пройден тест или нет. Для устранения найденных ошибок… Читать ещё >

Разработка программы и структуры БД (реферат, курсовая, диплом, контрольная)

1 Разработка программной части

Назначение программной системы Традиционная форма обучения на данный момент является одной из самых распостраненных и эффективных, но, несмотря на это, электронное обучение набирает свою популярность. Разработанная программная система предназначена для обучения и тестирования студентов по дисциплине «Схемотехника».

Основное назначение программы заключается в совершенствовании процесса преподавания студентам. Помимо этого, одним из дополнительных преимуществ является возможность самостоятельного изучения материалов дисциплины студентами.

Проектирование пользовательского интерфейса При разработке программы особое внимание было уделено пользовательскому интерфейсу. Приложение, позволяющее пользователю выполнять определенную задачу, должно функционировать именно так, как предполагается пользователем. Если интерфейс отвечает ожиданиям пользователя, ему будет очень удобно работать с ним.

Внешний вид интерфейса должен очевидным образом выражать функциональность приложения и позволять перемещаться из одной части интерфейса к другой. Простой и понятный интерфейс не отвлекает внимания пользователя от выполнения ключевых задач. Интерфейс программы должен быть знакомым и интуитивно понятным.

В программной системе изначально разрабатывались макеты первичного окна и диалоговых форм в среде визуального программирования Borland Delphi 7.0 с использованием стандартных визуальных компонент библиотеки Standart, Additional, Win32, Dialogs, Data Controls, Data Access, ADO.

Далее в ВКР приводится описание макета окна с указанием типа и назначения используемых компонент.

  • 1) ADODataSetTema, ADODataSetTest, ADODataSetQuestion и ADODataSetQuestion2 — с помощью этих компонентов, которые находятся на вкладке ADO, осуществляется доступ к данным БД (таблицы: Usr_Tema, Usr_Test, Usr_Question, Usr_Question) и выполнение sql-запросов к базе данных с помощью оператора select;
  • 2) DataSourceTema, DataSourceTest, DataSourceQuestion и DataSourceQuestion2 — с помощью этих компонентов, которые находятся на вкладке DataAccess, реализуется связь между компонентами доступа к данным БД (TAdoDataSet) и визуальными компонентами, которые отображают данные (TDBGrid — см. пункт 3);
  • 3) DBGridTema, DBGridQuestion и DBGridQuestion2 — с помощью этих компонентов выполняется табличное отображение данных из компонентов TAdoDataSet;
  • 4) DBEditName, DBEditKolQuestion, DBEditTimeTest — с помощью данных компонентов осуществляет редактирование значений полей БД текущей записи НД.

Описание программы Данный продукт состоит из следующих программных компонент.

Программная система «Обучение и тестирование студентов» разработана с помощью программного обеспечения Delphi 7.

Описание разработки графической части.

Состав рендера:

  • 1) Scheme1. pas — модуль рендера первой схемы (транзисторного ключа).
  • 2) Elements. pas — модуль рендера отдельных компонент, не вызывается явно из клиентской программы.

Публичные классы: TScheme1 — рендер принципиальной схемы на форму.

Публичные методы класса TScheme1:

Разработка программы и структуры БД.

Процедуры задают рабочую поверхность для рендера графики (форму или поле рисования), параметры Ax, Ay, Aw, Ah — задают правый верхний угол, ширину и высоту рамки.

Процедура задает путь отображаемого тока — отсутствие выделенного пути.

Процедура включает или выключает анимацию схемы.

Подключение рендера к проекту:

  • 1) Необходимо скопировать файлы из каталога Units в рабочий каталог проекта.
  • 2) Добавить к модулям в uses ссылку на модуль Scheme1.pas.
  • 3) Добавить создание и рендер схем в нужных местах.

Краткое описание модулей данной программной системы представлено в таблице 2.

Таблица 2 Описание модулей (режим работы с БД).

№.

Файл с исходным кодом программы.

Краткое описание.

Education.pas.

Создано информационное окно, в котором отображается информация о литературе и файлов с лекциями по каждой выбранной теме. В данном окне реализован просмотр документов с лекциями.

Login.pas.

Реализован алгоритм проверки при входе в систему по логину и паролю каждого пользователя (студента и преподавателя).

FotoQuestion.pas.

Реализован просмотр рисунка вопроса в отдельном окне программы.

HistoryTest.pas.

Выполнена работа просмотра всех результатов прохождения тестов по каждому студенту, доступен детальный отчет о прохождении теста с указанием результата ответа на каждый вопрос теста и полученного балла. Реализован алгоритм поиска по различным критериям: тестируемый, тест и заданию диапазона дат прохождения теста. Доступна функция вызова окна программы для формирования отчетов в форматах: excel и word соответственно.

Lecture.pas.

Отображается информация по лекциям. Доступны операции: добавить, изменить, удалить, выход, сохранить, отменить. Реализован просмотр файла с лекциями при двойном нажатии левой кнопки мыши в ячейке «Файл», если он там существует.

Main.pas.

Отображается главное меню программы для студента (личный кабинет).

DM.pas.

Выполнено подключение к базе данных с помощью настроек компонента TAdoConnection.

MainTest.pas.

Отображается меню программы для работы со справочными данными и настройками тестов, доступ к данному функционалу имеет только преподаватель.

Описание графической части Инструментом реализации графической части использовался TCanvas. Работа с графикой в Delphi предполагает обращение к свойству Canvas компонентов. Canvas в Delphi — это холст. Система Delphi предоставляет мощные средства работы с графикой, облегчающие задачу разработчика.

Класс TCanvas — это сердцевина графической подсистемы Delphi. В дальнейшем для обозначения этого класса будем пользоваться термином «канва». Канва не является компонентом, но она входит в качестве свойства во многие другие компоненты, которые должны уметь нарисовать себя и отобразить какую-либо информацию.

При работе с графикой в среде программирования Delphi используется канва (холст, а точнее свойство Canvas Delphi компонентов), кисть (свойство Brush), карандаш (свойство Pen) компонента, на котором выполняется работа по рисованию. У Pen и Brush есть свойство Color (цвет) и Style (стиль). Чтобы получить доступ к шрифтам, предоставлено свойство холста (Canvas) Font.

Основное свойство такого объекта, как Canvas Delphi — Pixels[i, j] типа TColor, то есть это двумерный массив точек (пикселов), задаваемых своим цветом.

Рисование на канве происходит в момент присвоения какой-либо точке канвы заданного цвета. Каждому пикселу может быть присвоен любой доступный для Windows цвет.

В программной системе при разработке графиков, схем использовалась совокупность графических примитивов: точек, линий, окружностей, дуг, прямоугольников, а также букв (текста).

Вычерчивание графических примитивов на графической поверхности, например компонента Image, выполняют соответствующие методы класса TCanvas.

Понятие «объект» определяет объект, на поверхности которого нужно нарисовать графический элемент. В качестве объекта указывается компонент Image. Метод — это имя метода, который обеспечивает рисование нужного графического элемента. Параметры, в большинстве случаев, определяют положение графического элемента на графической поверхности и его размер. Вывод строки текста на графическую поверхность объекта обеспечивает метод TextOut.

Схема передачи данных в Excel.

В разработанной программе печатные формы формируются в программе Microsoft Excel.

С программами Microsoft Office Word, Excel и другими можно работать как с объектами автоматизации OLE. Данный метод имеет значительное отличие от работы с этими программа как с серверами COM. Для работы с объектами автоматизации можно воспользоваться следующими способами: через библиотеки типов и через механизм автоматизации OLE. Использование автоматизации OLE применительно к Word и Excel проще, поскольку в эти программы встроена справка по VBA, содержащая описание всех объектов, свойств и методов.

Основные отличия при использовании автоматизации OLE от работы с серверами СОМ:

  • — не требуется установка значений необязательных параметров при вызове методов в OLE;
  • — параметры методов задаются в форматах «имя := значение» .

Одним из преимуществ серверов автоматизации OLE является то, что вызываемые методы очень близки к их описанию в справке по VB соответствующей программы Microsoft Office. В серверах СОМ в некоторых случаях наблюдаются отличия.

Недостаток заключается в том, что при работе в среде Delphi с серверами автоматизации не срабатывают подсказки свойств и методов, которые прекрасно работают с серверами СОМ. Это, конечно, несколько усложняет программирование. И все-таки в целом использовать серверы автоматизации OLE в большинстве случаев проще, чем работать с серверами СОМ.

На Рис. 3 представлена схема передачи данных в Excel.

Рис. 3. Схема передачи данных в Excel

Описание модуля отображения результатов анализа схем.

Описание модуля отображения результатов анализа схем.

Данный модуль позволяет выполнять теоретический расчет некоторых типовых электронных схем, заданных в программном коде. Модуль позволяет выбрать конкретную схему, вывести в графическом интерфейсе чертеж схемы, а также выполнять следующие действия:

изменять параметры схемы количественно — например, изменить номинал резистора или конденсатора;

изменять параметры схемы качественно — например, добавить конденсатор или изменить тип источника тока;

построить графики силы тока или напряжения в предопределенных точках.

Графики показаны по оси времени для выбранного показателя и масштабируются пропорционально наибольшему значению показателей.

Все расчеты выполняются в системе единиц СИ. Сопротивлением, индуктивностью и емкостью проводников модуль пренебрегает, также полагает источники ЭДС идеальными (лишенными внутреннего сопротивления).

Ниже перечислены типовые схемы, которые изучают в рамках курса «Схемотехника» и моделирование которых выполнено в программном модуле для настройки параметров и изучения:

  • 1) транзисторный ключ на биполярном транзисторе;
  • 2) транзисторный ключ на полевом транзисторе;
  • 3) транзисторный ключ на многоэмиттерном транзисторе;
  • 4) элемент ТТЛ 2И-НЕ;
  • 5) дифференциатор на операционном усилителе;
  • 6) инвертор на операционном усилителе.

Перечисленные схемы имеют варианты настройки как количественных, так и качественных характеристик. Если количественные характеристики (номиналы элементов, значения входных напряжений) можно задать во время запуска программы, то качественные изменения, такие как другой источник напряжения или добавленный элемент схемы, явно заданы в структуре модуля, чтобы пользователь мог выбрать нужный вариант схемы для изучения и расчета.

Модуль поддерживает следующие количественные операции для всех схем, заданных в программе моделирования:

  • 1) cмена источника ЭДС на постоянный ток;
  • 2) cмена источника ЭДС на импульсный ток;
  • 3) cмена источника ЭДС на переменный ток;
  • 4) изменение номинала резистора;
  • 5) изменение номинала конденсатора;
  • 6) вывод графика тока в заданных моделью точках;
  • 7) вывод графика напряжения на заданных моделью отрезках.

Модуль при расчете характеристик схемы не проверяет корректность работы схемы при выходе параметров за границы допустимых (например, возникновения короткого замыкания на участке или пробой перехода «коллектор-эмиттер»). Расчет выполняется на основе законов Ома для полной цепи и участка цепи, а также правил Кирхгофа. Ниже перечислены параметры элементов и характеристик схемы, с учетом установки и измерения:

  • 1) сила тока — миллиамперы, измерение в заданной точке;
  • 2) напряжение — вольты, измерение на участке;
  • 3) резисторы — омы, абсолютное значение;
  • 4) конденсаторы — микрофарады, абсолютное значение (но с учетом полярности конденсатора).

Параметры импульсного и переменного ток дополнительно не моделируются, но для повышения наглядности, периоды колебаний задаются так, чтобы на одном экранном графике были видны 3−4 полных периода колебаний, что упрощает восприятие динамики схемы для пользователя.

Программный модуль расчета схем состоит из следующих элементарных структур и подсистем, каждая из которых выполняет свою задачу по моделированию и расчету параметров. Перечислим их:

  • 1) предопределенная схема — схема, которая была заранее создана в программном коде проекта и содержит всё необходимое для её параметризации всеми необходимыми способами;
  • 2) набор количественных характеристик схемы;
  • 3) набор качественных характеристик схемы;
  • 4) расчетный модуль — система расчета показателей выбранной схемы, опирающаяся на текущие характеристики схемы и позволяющая построить графики тока в заданных точках и графики напряжения на заданных участках;
  • 5) класс вывода схем — позволяет нарисовать выбранную схему в интерфейсе программы и при необходимости, изменить её в соответствии с текущими качественными характеристиками;
  • 6) класс вывода графиков — позволяет построить график на основе переданных ему значений и оси времени.

За обработку перечисленных выше данных, отвечают отдельные процедуры, выполняющие расчеты и построение результатов на основе входящих данных. Перечислим их:

  • 1) установка количественного значения элемента схемы;
  • 2) установка качественной характеристики схемы;
  • 3) расчет тока в точке;
  • 4) расчет напряжения на участке;
  • 5) добавление значения в график;
  • 6) вывод схемы на экран;
  • 7) вывод графика на экран.

Для расчета показателей схемы (напряжения на участке и силы тока в точке) используются алгоритмы, реализующие законы Ома для полной цепи, законы Ома для участка цепи и правила Кирхгофа. Укажем формулы и правила, на основе которых модуль выполняет анализ и расчет показателей.

Закон Ома для участка цепи позволяет вычислить силу тока, который протекает в цепи с приложенным к ней напряжением и известным сопротивлением.

Разработка программы и структуры БД.

где I — сила тока в цепи,.

U — приложенное напряжение,.

R — сопротивление участка цепи.

Закон Ома для полной цепи аналогичен закону для участка, но учитывает еще сопротивление источника электродвижущей силы и показывает максимальный ток, который протекает через цепь.

Разработка программы и структуры БД.

где I — сила тока в цепи,.

U — электродвижущая сила источника,.

R — сопротивление цепи,.

r — сопротивление источника.

Наконец, для расчета нелинейных участков цепей (где выполнено соединение нескольких проводников в узлах) используем правила Кирхгофа, предназначенные для подобных расчетов.

  • 1) первое правило Кирхгофа — алгебраическая сумма токов в каждом узле любой цепи равна нулю;
  • 2) второе правило Кирхгофа — алгебраическая сумма падений напряжений на всех ветвях, принадлежащих любому замкнутому контуру цепи, равна алгебраической сумме ЭДС ветвей этого контура.

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

Описание реализации модуля отображения результатов анализа схем Модули для расчета и построения принципиальных электрических схем реализуются как классы и процедуры на языке высокого уровня Object Pascal, в интегрированной среде быстрой разработки Delphi 7. При разработке были учтены следующие задачи:

  • 1) максимальная адаптивность модулей — возможность добавить схему, элемент или функцию без перестройки всей системы;
  • 2) использование стандартных компонент — отсутствие зависимостей от сторонних модулей существенно упрощает дальнейшую поддержку проекта;
  • 3) самодокументированность исходного кода — комментарии ко всем значимым фрагментам, соблюдение правил нотаций и оформления программного кода;
  • 4) следование принципам объектно-ориентированного программирования при создании архитектуры модулей — использование инкапсуляции, наследования, полиморфизма и виртуальных методов.

Кратко опишем используемые технологии и методы, которые использовались для реализации данных модулей внутри программного продукта.

Компонент рисования PaintBox.

Поскольку отображение компонент электрических схем не предусмотрено стандартными средствами Delphi, программа самостоятельно выводит схемы в интерфейс с помощью компонента PaintBox. Создав нужный набор процедур, и привязав их вызов к событию обновления компонента рисования, мы получили нужный результат.

Пример кода вывода резистора с заданными параметрами на передаваемой как параметр канве рисования:

Разработка программы и структуры БД.
Разработка программы и структуры БД.
Разработка программы и структуры БД.

Главный контроллер редактора.

Главный класс позволяет инкапсулировать в себе как элементы и проводники, уже размещенные в редакторе, так и управлять добавлением/удалением компонент, выполнять их разворот и изменение текста, а также отслеживать перемещение курсора мыши над полем для рисования. Поскольку вывод компонент схемы выполняется вручную, то и контроль за передвижением курсора над ними, а равно определение активного компонента, выполняется собственным программным кодом.

Пример кода, определяющего текущий компонент для переданных координат:

Основные сложности при разработке данного редактора — это необходимость создавать программный код для вывода каждого из перечисленных элементов принципиальных электрических схем. Использование готовых растровых блоков было рассмотрено, но отвергнуто по причине недостаточной гибкости подобного решения — растровые изображения, в отличие от векторного рисования, сложнее масштабировать и преобразовывать.

Наконец, важнейшим элементом проекта является элементарный класс электронного компонента, инкапсулирующий в себе следующие данные:

тип компонента (резистор, конденсатор, и т. д.);

его координаты в редакторе;

текст возле компонента;

положение текста возле компонента;

положение компонента (горизонтальное или вертикальное).

Ниже приведена декларация этого класса и его вспомогательных типов. Поскольку данный класс не требует манипуляции с данными вне главного контроллера, он реализован без методов — только хранение данных в полях записи.

Поскольку модуль графически представлен как оконная система для Windows, программа создаёт создать главное окно приложения, и связать его с главным классом-контроллером для обработки событий. Ниже представлены обработчики событий, выполняющие эти задачи:

Обработчик опускания клавиши мыши — приводит к выполнению действия, зависящего от текущей выбранной опции в интерфейсе:

Обработчик движения курсора мыши — либо перемещает элемент, либо подсвечивает проводник, над которым проходит курсор:

Обработчик подъема клавиши мыши — приводит к освобождению текущего элемента от захвата:

Теперь для запуска модуля, осталось только обработать код создания формы, инициализировав в нём главный класс-контроллер редактора:

Разработка программы и структуры БД.

Отдельной процедурой реализован такой полезный для конечного пользователя эффект, как автоматическая подгонка «ножек» размещаемого элемента к имеющимся в редакторе монтажным точками. Этот алгоритм работает с использованием следующей альтернативы:

  • 1) если модуль разности координат X и Y ножки элемента и монтажной точки менее 5 пикселей — программа обнуляет эту разницу;
  • 2) в противном случае, вывод выполняется в том месте, где сейчас находится элемент.

Приведенный алгоритм позволяет эффективно позиционировать элементы на схемах даже при относительной низкой точности манипулятора «мышь» :

Разработка программы и структуры БД.
Разработка программы и структуры БД.

Все фрагменты кода, приведенные выше, собираются в модуле, создаваемом в редакторе кода Delphi 7. Визуальное проектирование интерфейса в данном приложении сводится к минимуму — нужно всего лишь установить ряд кнопок для добавления элементов и ряд опций для реализации отдельных функций, а также разместить компонент PaintBox для рисования на нём состояния схемы.

Все классы, приведенные выше, реализованы в соответствии с принципами безопасного объектно-ориентированного программирования — те поля и методы, которые нужны только классу, являются закрытыми членами. учебный аудиторный пользовательский интерфейс На Рис. 4 показана диаграмма классов в нотации UML, отражающая все классы логики модуля, интерфейса и главный контроллер. В рамках заданной нотации, разницы между классом с методами и записями нет, это имеет значение только внутри программной реализации.

UML-диаграмма классов модуля редактора.

Рис. 4. UML-диаграмма классов модуля редактора

В той же объектно-ориентированной парадигме, реализован модуль расчета параметров схемы. Он работает на основе следующей алгоритма, закодированного на языке высокого уровня:

  • 1) считать параметры схемы, заданные в интерфейсе;
  • 2) установить начальные значения переменных;
  • 3) пройти по оси времени от 0 до заданного момента T с шагом dt;
  • 4) для каждого момента t вычислить параметр схемы, опираясь на закон Ома и правила Кирхгофа;
  • 5) сохранить пары значений «время — показатель» в массиве;
  • 6) вывести массив в виде графика;
  • 7) ожидать команды от пользователя.

Эти действия могут быть схематично представлены в виде диаграммы действий, которая позволяет формализовать работы модуля расчета схемы. Эта диаграмма показана на Рис. 5.

Диаграмма действий модуля расчета схем.

Рис. 5. Диаграмма действий модуля расчета схем

Из диаграммы действий, отражающую взаимодействие пользователя и модуля, видно, что модель управляется двумя способами — установкой параметров элементов и выбором комплектации схемы. Также присутствует расчетно-логический модуль, которые опирается на выбранную схему и параметры для построения численного графика. Каждая процедура и структура модуля реализована отдельными фрагментами кода и протестирована функционально.

Интеграция модулей в учебный комплекс.

Разработанные модули не являются самостоятельными программными продуктами, они представляют собой формы для вызова из главного проекта. Для вызова форм по нажатию кнопки пользователем, предусмотрены процедуры, позволяющие одной строкой кода создать и отобразить окна модуля. Эти процедуры принимают следующие параметры:

  • 1) класс схемы, предопределенный разработчиком;
  • 2) название схемы для отображения в заголовке;
  • 3) номер комплектации схемы;
  • 4) дополнительный параметр — наличие графика или таблицы истинности для схемы.

При наличии таких процедур, вызов формы осуществляется строками кодами, примеры которых приведены ниже:

Разработка программы и структуры БД.

Подобная интеграция упрощает вызов модулей из главной программы и позволяет разработчику сосредоточиться на работе с базой данных и учебными материалами.

Описание SQL-кода Для работы непосредственно с данными, которые хранятся в таблицах базы данных, использовались возможности языка структурированных запросов SQL (Structured Query Language). SQL является языком программирования, который очень напоминает английский, но предназначен для программ управления базами данных. Каждый выполняемый запрос на самом деле основан на языке SQL.

SQL — это язык программирования, предназначенный для работы с наборами фактов и отношениями между ними. В программах управления реляционными базами данных, таких как Microsoft Office Access, язык SQL используется для работы с данными. В отличие от многих языков программирования SQL удобно читаем и понятен даже новичкам. SQL является международным стандартом, признанным такими комитетами по стандартизации, как ISO (на английском языке) и ANSI (на английском языке).

SQL — запросы, написанные на этапе разработки данной программы, представлены в таблице 3.

Таблица 3 Описание sql-кода.

№.

SQL-запрос.

Информация о запросе.

select * from Usr_Question where (NomQuestion not in (SpisokQuestions+'))and (NomTema='+ADODataSetTemaNomTema.AsString+') order by Txt.

Выполняет выборку из таблицы Вопросы только тех вопросов, которые не встречаются в указанном списке вопросов (SpisokQuestions) и предназначенные для определенной темы. Полученные данные будут отсортированы по возрастанию поля Текст вопроса.

select * from Usr_Question where (NomTema='+ADODataSetTemaNomTema.AsString+') order by Txt.

Выполняет выборку вопросов по указанной теме. Полученные данные будут отсортированы по возрастанию поля Текст вопроса.

select * from Usr_QuestionAnswer where NomHistTest='+IntToStr (NomHistTest)+' order by NomQuestion.

Выполняет выборку информации, по каким вопросам были даны соответствующие ответы по указанному пройденному тесту.

select * from Usr_Gruppa where name not like '+QuotedStr ('%'+Препод'+'%')+' order by name.

Выполняет выборку из таблицы Группы только для студентов, в которых они учатся (все группы кроме преподовательских).

select * from Usr_Test order by name.

Позволяет отобрать все данные по тестам с сортировкой по возрастанию по полю name.

select * from Usr_Polzovatel order by Famil, Name, Otchest.

Позволяет отобрать всех пользователей с сортировкой следующих полей по возрастанию: Famil, Name, Otchest.

select * from Usr_Question where NomQuestion='+IntToStr (NomQuestion).

Позволяет найти нужный вопрос в таблице Вопросов.

select * from Usr_HistoryTest where NomHistTest = '+IntToStr (NomHistTest).

Позволяет найти нужный результат прохождения тестирования в таблице История тестирования.

select * from Usr_Question.

Позволяет отобрать все вопросы из таблицы Вопросов.

select * from Usr_QuestionAnswer.

Позволяет отобрать все данные из таблицы Вопрос-Ответ.

select * from Usr_Level where ('+IntToStr (Summa)+ ' between BallOt and BallDo) order by BallOt.

Позволяет найти нужный уровень результата прохождения тестирования в зависимости от количества набранных баллов Summa.

Тестирование программы Тестирование программного обеспечения — это отдельная дисциплина, требующая специальных навыков. Пользователь, тестирующий программное обеспечение разбирается в программировании лучше, чем программист в тестировании. Обоюдное сближение тестеров и программистов кода способствует доброжелательной атмосфере и хорошим отношениям на предприятиях и в компаниях. Чтобы тестирование программы было эффективным необходимо объединенять усилия всех членов проекта. Для эффективной работы пользователь, выполняющий функции тестера программы, должен:

  • — знать метод тестирования программного обеспечения;
  • — знать тестируемое приложение.

В каждом новом тестировании тестер должен посвятить определенное время изучению приложения. Начинающий тестер обязательно должен освоить методы тестирования, в которые входят общие концепции тестирования и способ определения тестовых примеров[19]. Во время проведения теста, полученные результаты необходимо сравнить с ожидаемыми, чтобы выяснить, пройден тест или нет[13]. Для устранения найденных ошибок необходимо выполнить отладку, для этого требуется обнаружить некоторые признаки, или симптомы ошибки в программе, определить ее местоположения и выполнить исправление. Приложение, которое не смогло адекватно пройти базовый тест, не пригодно к использованию. Разработчики должны разобраться с проблемой и создать более надежное приложение. Если полученные результаты на выходе работы программного обеспечения отличаются от ожидаемых, то проведенное тестирование считается проваленным, и возникает несоответствие, которое означает наличие проблемы[20].

Ошибки и недочёты, которые были обнаружены в программе в процессе тестирования, приведены в таблице 4.

Входная и выходная информация В данной разработанной программе в качестве входной информации является следующее:

  • — перечень электрических схем для графического представления;
  • — перечень электрических схем для моделирования;
  • — справочная информация о вопросах тестов;
  • — справочная информация о темах;
  • — справочная информация о литературе;
  • — справочная информация о лекциях;
  • — информация о группах, в которых учатся студенты;
  • — данные студентов и преподавателей.

Таблица 4 Тестирование программы.

№.

Процесс обнаружения ошибки.

Выполненные действия по устранению ошибки.

Неверно определялся пароль для выбранного пользователя при авторизации. Войти в систему было невозможно.

Ошибка была связана с тем, что в программе не был реализован поиск выбранного пользователя.

При выполнении операции «Удаление теста» выдавалась ошибка СУБД о нарушении целостности БД.

Ошибка исправлена, перед удалением выбранного теста с помощью SQL-запроса выполнялся анализ связанных данных в других таблицах по удаляемому тесту.

При выполнении операции создания студентов, преподавателей, групп, тем и т. д. отсутствовал контроль на дублирование существующих данных в БД.

Выполнена работа по исправлению ошибки: добавлен контроль при сохранении данных. Выдается сообщение об уже имеющейся записи в БД.

При выполнении операции просмотра файла с указанной лекцией ничего не происходило.

Неверно определялся путь к папке с лекциями, теперь после указания каталога с лекциями документы отображаются на экране компьютера.

В процессе формирования теста при выборе темы отображаля неверный перечень вопросов.

Ошибка исправлена. Добавлено условие в таблицу Usr_Question (вопросы) на анализ выбранной темы.

При формировании печатной формы результата прохождения тестирования в excel неверно определялись ФИО тестируемого.

При авторизации в программе автоматически сохраняется фамилия текущего пользователя, которая затем и печатается везде в отчетах.

Во время прохождения тестирования с условием произвольного отображения вопросов в тесте, вопросы отображались по порядку, что неверно.

Ошибка исправлена, добавлен произвольный отбор вопроов теста.

Во время прохождения тестирования в произвольном порядке следования вопросов, некоторые вопросы повторялись несколько раз.

Ошибка исправлена, добавлен контроль уже появляющихся вопросов, для последующего их исключения из текущего режима тестирования.

При работе с данными литературы для обучения в поле тема данные не отображались, и поле было неактивно.

Отсутствовала связь с набором таблицы БД. После настройки связи ошибка исчезла.

При формировании отчета о результатах тестирования выдавалась ошибка о ненайденном файле шаблона.

Был неверно указан путь к файлу с шаблоном отчета в формате word. Ошибка исправлена.

Показать весь текст
Заполнить форму текущей работой