Введение
1. Задание на курсовую работу
2. Описание работы системы
2.1 Общие положения.
2.2 Начало работы с системой
2.3 Работа со студентом
2.4 Работа с преподавателем
3. Описание и коды классов системы
3.1 КлассEnter
3.2 КлассCheck
3.3 КлассShowFile
3.4Класс WorkWithQuestion
3.5 Класс TimeInSystem
3.6Класс ShowResult
3.7 КлассModification
3.8 Класс ShowResultForTeacher
4.Структура файлов
5.Инструкция пользователя
5.1 Инструкция для пользователя "студент"
5.2 Инструкция для пользователя "преподаватель"
6.Тестирование работы системы
6.1 Тестирование работы для пользователя "студент"
6.2 Тестирование работы для пользователя "преподаватель"
Заключение
Список литературы
Введение
Первым языком программирования, в котором были предложены принципы объектной ориентированности, была Симула. В момент своего появления (в 1967 году), этот язык программирования предложил поистине революционные идеи: объекты, классы, виртуальные методы и др., однако это всё не было воспринято современниками как нечто грандиозное. Тем не менее, большинство концепций были развиты Аланом Кэйем и Дэном Ингаллсом в языке Smalltalk. Именно он стал первым широко распространённым объектно-ориентированным языком программирования.
В настоящее время количество прикладных языков программирования (список языков), реализующих объектно-ориентированную парадигму, является наибольшим по отношению к другим парадигмам. В области системного программирования до сих пор применяется парадигма процедурного программирования, и общепринятым языком программирования является язык C. Хотя при взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектно-ориентированного программирования. Например, одной из наиболее распространенных библиотек мультиплатформенного программирования является объектно-ориентированная библиотека Qt, написанная на языке C++.
1. Задание на курсовую работу
Метою курсової роботи є поглиблення та закріплення знань, одержаних при вивченні дисципліни "Об’єктно-орієнтоване програмування", та набуття практичних навичок у проектуванні та налагодженні програм, що застосовують класи та об’єкти.
Студент має розробити навчаючу програму.
Навчаюча програма повинна виконувати наступні функції:
- реєстрацію студента;
- представлення матеріалу до навчання;
- забезпечення контролю знань;
- введення та корегування навчального матеріалу;
- отримання інформації щодо успіхів студента.
- Навчальна програма повинна складатися з наступних класів.
1.Клас представлення навчального матеріалу.
Клас обов’язково реалізує наступні функції.Читання навчального матеріалу з файла.Надання студенту порції навчального матеріалу.Перехід до наступної порції матеріалу.Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.
1.1.Жорстка, заздалегідь встановлена схема подання матеріалу
2.Клас контролю знань студента.
Клас обов’язково реалізує наступні функції. Читання завдання до контролю з файлу. Читання еталонних відповідей з файлу. Надання студенту завдань до контролю знань. Оцінювання кожної відповіді. Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.
2.2. Завдання типу "вставити необхідне".
3.Клас реєстрації студента та видачі підсумкового документу.
Клас обов’язково реалізує наступні функції. Приймає дані щодо студента. Видає підсумковий документ. Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.
3.5. Підсумковий документ містить усі оцінки по порціям.
Клас введення учбового матеріалу, контрольних завдань, еталонів відповідей та іншої інформації.
Клас обов’язково реалізує наступні функції. Введення учбового матеріалу у форматі, що задано іншими пунктами завдання. Введення контрольних завдань у форматі, що задано іншими пунктами завдання.
Введення еталонів відповідей у форматі, що задано іншими пунктами завдання.Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.
4.2.Клас може приймати дані з іншого носія, що не входить до системи.
5.Клас контролю за ходом навчального процесу викладачем.
Клас обов’язково реалізує наступні функції. Перегляд результатів навчання для кожного студента. Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.
5.1.Отримання даних щодо загального часу навчання конкретного студента.
Система обучения написана на языке Java.
Система обучения реализует разделение пользователей на студентов и преподавателей, предоставление студенту учебного материала, контрольных вопросов, оценивание ответов на вопросы, изменение преподавателем учебного материала, контрольных вопросов и ответов на них, просмотр преподавателем результатов обучения для каждого студента.
Ниже представлена диаграмма вариантов использования для обучающей системы:
Рис. 1
Пользователь категории "преподаватель" может смотреть результаты обучения студентов, править учебный материал, править контрольные вопросы, править ответы на вопросы.
Пользователь категории "студент" может получать(читать) учебный материал, проходить контроль полученных знаний, смотреть итоги(результаты) своего обучения.
Система обучения выполняет авторизацию, регистрацию, разделение пользователей на категории, оценивание ответов на вопросы, выдачу результатов.
Работа с системой начинается прохождением авторизации либо регистрации. После запуска системы, на экране появляется окно авторизации:
Рис.2
Если пользователь уже зарегистрирован в системе, то он вводит свой логин и пароль, и если введен верный логин и пароль, то по нажатию на кнопку "Вход", пользователь продолжает работу в системе, в зависимости от своей категории(студент или преподаватель).Если пользователь вводит несуществующий логин и пароль, либо хочет зайти посторонний человек, который не зарегистрирован в системе, то продолжение работы блокируется и выводится соответствующее сообщение об ошибке:
Рис.3
Если пользователь желает зарегистрироваться в системе обучения, то по нажатию на кнопку "Регистрация", попадает в окно регистрации:
Рис.4
Здесь пользователь проходит регистрацию. Для начала необходимо выбрать категорию для регистрации, по умолчанию выбран студент. Если пользователь регистрируется как студент то нижнее поле "Ключ" для него не доступно.
Студент заполняет все поля , и если они заполнены и в поле "Пароль" и "Еще раз" введены одинаковые данные, то по нажатию на кнопку "Регистрация", студент регистрируется в системе и продолжает работу с ней дальше.
Если какие то из полей не заполнены, либо заполнены неверно(несовпадение паролей, использование служебных символов) или повторная регистрация с уже существующим ФИО в системе, то регистрация не происходит и выдается соответствующее сообщение:
Рис.5
Если пользователь хочет зарегистрироваться как преподаватель, то он ставит переключатель в соответствующую позицию:
Рис. 6
Становится активным поле "Ключ" а поле "Группа" становится неактивным.
Преподаватель аналогично заполняет все поля, а в поле ключ вводит специальный ключ известный только преподавателям. Если все поля регистрации заполнены верно, то по нажатию на кнопку "Регистрация" пользователь регистрируется как преподаватель.
Когда пользователь заходит, как студент, то попадает в главное окно обучающей системы, в котором он изучает учебный материал.
В моей обучающей системе предусмотрено 10 порций учебного материала.
Так как мне необходимо реализовать жесткую схему представления материала, то сначала студенту доступен только первый урок.
Когда студент нажимает на кнопку "Урок 1", то в текстовое поле записывается первая порция материала и становится активной кнопка "Урок 2".По нажатиям на эти кнопки, из файлов читается учебный материал и предоставляется студенту. После прочтения первого урока и до начал работы со вторым уроком пользователя система переводит в окно контроля и там он проходит контроль по прочитанному уроку.
Так же как только, студент заходит в систему обучения, включается счетчик времени, по нажатию на кнопку "Выход" программа закрывается и время пребывания студента в системе сохраняется и записывается в файл.