Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовой проект / создания тестирующей системы / Пояснительная записка (Курсовой по МП).doc
Скачиваний:
30
Добавлен:
21.02.2014
Размер:
494.08 Кб
Скачать

СОДЕРЖАНИЕ

3.2 Компилятор в машинный код 9

3.3 Объектно-ориентированная модель 10

3.4 Открытая компонентная архитектура 10

ПРИЛОЖЕНИЯ …………………………………………………………………………

ВВЕДЕНИЕ

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

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

Программы автоматического компьютерного тестирования разработана на базе персонального компьютера, оснащённого пакетом языка прикладного программирования Borland Delphi 7.

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

1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ

1.1 Описание предметной области и функции решаемой задачи.

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

К функциям, которые должны быть реализованы в рассматриваемой задаче, отно­сятся:

- ведение статистики прохождения пользователями тестов;

- создание учебно-методического материала и хранение его в базе данных;

- создание тестирующей системы.

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

Программа автоматического компьютерного тестирования должна обеспечивать удобный и быстрый доступ к тестам и производить качественную оценку знаний студентов. Интерфейс программы соответствует стандарту Windows 98. Программа должна работать под управлением операционной системы Win 95/98/NT/Me/2000/XP/.

Минимальные системные требования

- поцессор Pentium 100;

- оперативная память 16 Mb;

- видео карта 1Mb видео памяти;

- манипулятор Мышь;

- операционная система Windows 98.

1.2 Документы предметной области, содержащие информацию, необходимую для решения задачи.

Входная информация задачи «Создание тренажерно-тестирующей системы» разделяется на условно-постоянную и оперативно-учетную информацию.

Условно-постоянная информация, необходимая для решения этой задачи, включа­ет справочные материалы и тесты. Эту информацию предоставляет преподаватель и/или группа преподавателей. Для регистрации пользователя необходима информация о нем: ФИО, группа, специальность.

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

2. АНАЛИЗ И ВЫБОР ЯЗЫКА ПРОГРАММИРОВАНИЯ

2.1 Общие данные

Язык программирования — набор ключевых слов (словарь) и система правил (грамматических и синтаксических) для конструирования операторов, состоящих из групп или строк чисел, букв, знаков препинания и других символов, с помощью которых люди могут сообщать компьютеру набор команд.

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

2.2 Классификация языков по типу

Машинно – ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно –ориентированные языки позволяют использовать все возможности и особенности Машинно – зависимых языков:

  • высокое качество создаваемых программ (компактность и скорость выполнения);

  • возможность использования конкретных аппаратных ресурсов;

  • предсказуемость объектного кода и заказов памяти;

  • для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;

  • трудоемкость процесса составления программ (особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;

  • низкая скорость программирования;

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

Машинно – независимые языки

Машинно – независимые языки – это средство описания алгоритмов решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от них знания особенностей организации функционирования ЭВМ и ВС.

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

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

Проблемно – ориентированные языки.

С расширением областей применения вычислительной техники возникла необходимость формализовать представление постановки и решение новых классов задач. Необходимо было создать такие языки программирования, которые, используя в данной области обозначения и терминологию, позволили бы описывать требуемые алгоритмы решения для поставленных задач, ими стали проблемно – ориентированные языки. Эти языки, языки ориентированные на решение определенных проблем, должны обеспечить программиста средствами, позволяющими коротко и четко формулировать задачу и получать результаты в требуемой форме

Универсальные языки.

Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и т.д. Первый универсальный язык был разработан фирмой IBM, ставший в последовательности языков Пл/1. Второй по мощности универсальный язык называется Алгол-68. Он позволяет работать с символами, разрядами, числами с фиксированной и плавающей запятой. Пл/1 имеет развитую систему операторов для управления форматами, для работы с полями переменной длины, с данными организованными в сложные структуры, и для эффективного использования каналов связи. Язык учитывает включенные во многие машины возможности прерывания и имеет соответствующие операторы. Предусмотрена возможность параллельного выполнение участков программ.

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

Языки высокого уровня подразделяются на процедурные и объектно-ориентированные. К процедурным относятся Pascal, C, Basic. К объектно-ориентированным: C++, Object Pascal, Visual C++, C++ Builder, Delphi. Для данного проекта выбираем объектно-ориентированные языки возможности которых намного больше процедурных.

Следующим шагом классификации идет деление языков на визуальные и не визуальные. Несомненным преимуществом визуальных языков (Visual C++, C++ Builder, Delphi, Visual Basic) перед не визуальными (C++, Object Pascal) является возможность работы с будущим интерфейсом как с самостоятельной частью создаваемого приложения. В этом заключается коренное отличие от классического программирования, когда программист должен был сам создавать с помощью команд интерфейс и сам обеспечивать с ним работу средствами языка.

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

3. Анализ методов решения

3.1 Общие сведения

Delphi - это комбинация нескольких важнейших технологий:

- Высокопроизводительный компилятор в машинный код

- Объектно-ориентированная модель компонент

- Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов

- Масштабируемые средства для построения баз данных.

3.2 Компилятор в машинный код

Компилятор, встроенный в Delphi, обеспечивает высокую производительность. Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно).

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

3.3 Объектно-ориентированная модель

Основной упор этой модели в Delphi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые можно создать самому.

Cреда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD - rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE.

3.4 Открытая компонентная архитектура

Благодаря такой архитектуре приложения, изготовленные при помощи Delphi, работают надежно и устойчиво. Delphi поддерживает использование уже существующих объектов, включая DLL, написанные на С и С++, OLE сервера, VBX, объекты, созданные при помощи Delphi. Из готовых компонент работающие приложения собираются очень быстро. Кроме того, поскольку Delphi имеет полностью объектную ориентацию, разработчики могут создавать свои повторно используемые объекты для того, чтобы уменьшить затараты на разработку.

Delphi предлагает разработчикам - как в составе команды, так и индивидуальным - открытую архитектуру, позволяющую добавлять компоненты, где бы они ни были изготовлены, и оперировать этими вновь введенными компонентами в визуальном построителе. Разработчики могут добавлять CASE-инструменты, кодовые генераторы, а также авторские help’ы, доступные через меню Delphi.