Объектно-ориентированное программирование (47804)

Посмотреть архив целиком

Министерство науки и образования Украины

Одесский национальный политехнический университет

Кафедра системного программного обеспечения








Объяснительная записка к курсовой работе

с дисциплины «Объектно-ориентированное программирование»






Группа: АС-071

Выполнил: Розгон А. С.

Приняла: Кунгурцев А. Б.










Одесса 2009 г.


Аннотация


Данная курсовая работа заключалась в написании учебной системы на языке программирования Java, что и было сделано. Учебная система представляет собой совокупность пяти основных классов и около десятка вспомогательных. Она предполагает регистрацию, выдачу учебного материала, проверку знаний, способы выдачи и принятия информации, детально описанные в задании для каждого варианта отдельно. Также имеются общие характеристики системы для всех вариантов, и они являются базовыми, индивидуальные только расширяют их. Именно это повлияло на распределение функций по классам. На основе задания и программы была составлена диаграмма классов, иллюстрирующая все аспекты вышеперечисленного, и поэтому была распечатана отдельном листе формата А1. В данной пояснительной записке указана инструкция использования, некоторые особенности поведения программы, приведены коды всех классов и файлов, а также имеется объяснение к диаграмме классов на А1.



Содержание


  1. Задание

  2. Анализ требований

  3. Структуры классов

  4. Коды классов

  5. Структура файлов

  6. Инструкция пользователя и контрольный пример

Список использованной литературы



1. Задание


Завдання №8.

Учбовий матеріал – функції з параметрами-масивами мови С++.

Треба реалізувати наступні вимоги до програмних класів:1.4, 2.1, 3.6, 4.1, 5.4

Навчальна програма повинна складатися з наступних класів.

1.Клас представлення навчального матеріалу.

Клас обовязково реалізує наступні функції.

Читання навчального матеріалу з файла.

Надання студенту порції навчального матеріалу.

Перехід до наступної порції матеріалу.

Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.

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

2.Клас контролю знань студента.

Клас обовязково реалізує наступні функції.

Читання завдання до контролю з файлу.

Читання еталонних відповідей з файлу.

Надання студенту завдань до контролю знань.

Оцінювання кожної відповіді.

Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.

Завдання типу «вибір альтернативної відповіді».

3.Клас реєстрації студента та видачі підсумкового документу.

Клас обовязково реалізує наступні функції.

Приймає дані щодо студента.

Видає підсумковий документ.

Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.

Підсумковий документ містить загальний час навчання.

4.Клас введення учбового матеріалу, контрольних завдань, еталонів відповідей та іншої інформації.

Клас обовязково реалізує наступні функції.

Введення учбового матеріалу у форматі, що задано іншими пунктами завдання. Введення контрольних завдань у форматі, що задано іншими пунктами завдання.Введення еталонів відповідей у форматі, що задано іншими пунктами завдання.

Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.

Клас приймає дані тільки у діалоговому режимі.

5.Клас контролю за ходом навчального процесу викладачем.

Клас обовязково реалізує наступні функції.

Перегляд результатів навчання для кожного студента.

Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.

Отримання даних щодо тем, які успішно пройшов конкретний студент.

Завдання на курсову роботу видається на початку 3 семестру.

Докладний зміст курсової роботи характеризується типовим завданням.


2. Анализ тренований:


- Очевидно, что нужно ввести два типа пользователя: студент и

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

конфликтуют.

- Система должна содержать пять главных классов и несколько

второстепенных;

- Система должна выполнять все пункты задания;


3. Структуры классов


На диаграмме классов, приведенной отдельно от объяснительной записке на А1, мы можем видеть поочередность вызова классов, их взаимосвязи, функции и переменные, поэтому дальше описаны детали того, что мы увидели:

  1. Class Main – чтобы работать с системой, программа должна считывать с определенных файлов определенные данные(а именно файлы Control.txt Answers.txt, указанные в задании, но сначала они должны быть записаны, что и реализует этот класс. Помимо этого этот класс вызывает класс, отвечающий за регистрацию – ButtonFrame11. Все переменные этого класса – строки, которые записываются в выше перечисленные классы, а функция writeData () – это реализует.

  2. Class ButtonFrame11 – класс, отвечающий за правильное расположения окна регистрации и вызов самого класса регистрации – ButtonPanel11.

  3. Class ButtonPunel11 – класс, отвечающий за регистрацию, вход в систему и авторизацию. Содержит в себе элементы окна регистрации и внутренний класс ColorAction11, который отвечает за получение и обработку данных, полученных от пользователя. В зависимости от этого он может вызвать, а может и не вызвать класс ButtonFrame. Единственный метод этого класса – ActionPerformed () – отвечает за считывание данных, сравнения их с существующими, создания или не создания различных файлов в различных ситуациях.

  4. Class ButtonFrame – класс, содержащий в себе элементы главного окна, отвечающий за распределения возможностей между студентом и преподавателем, отвечающий за правильное расположение главного окна. В нем имеется встроенный класс ColorAction – отвечающий за идентификацию действия, который вызывает пользователь. И в зависимости от этого может вызвать следующие классы: JFrame1, JFrame2, CheckBoxFrame, MyTimer, MyTimer1.

  5. Class JFrame1 – это класс, который отвечает за расположения окна частичного вывода материала. Его главная задача – вызов класса ButtonPanel1.

  6. Class ButtonPanel1 – класс, содержащий все элементы окна, и отвечающий за чтение и вывод информации на экран. Для этого он имеет функцию readData () – отвечающую за чтение, и встроенный класс – Color1Action – отвечающий за преобразования на экране, что, в свою очередь, осуществляет функция actionPefrormed ().

  7. Class JFrame2 – это класс, который отвечает за расположения окна изменение порядка вывода материала. Его главная задача – вызов класса ButtonPanel2.

  8. Class ButtonPanel2 – – класс, содержащий все элементы окна, и отвечающий за принятие и обработку информации, введенной пользователем. Для этого он имеет функцию getPrevios() – отвечающую за преобразование информации, и функцию actionPefrormed (), которая отвечает за считывание.

  9. Class CheckBoxFrame – это класс, содержащий все элементы и свойства окна тестирование знаний, который отвечает за вывод информации из файла на экран, принятия информации пользователя, формулирования и вывод результатов на экран, а также их последующая запись в файл. Функция addRadioButton () – отвечает за добавления кнопки и элементов идентификации. Функция actionPerformed () – отвечает за чтение и сравнение информаций пользователя и конкретного задания.

  10. Class MyTimer – это класс, отвечающий за выход из системы и вывод на экран результатов работы системы, для чего в нем предусмотрена функция readData () – для чтения информации из файла, а также функция actionPerformed () – для выхода с системы.

  11. Class MyTimer1 – класс, отвечающий за те же функции, что и класс MyTimer, содержащий те же элементы, но имеется существенное исключение : MyTimer – выдавал информацию о текущем клиенте, а класс MyTimer1 – выдает информацию о любом студенте.

  12. Class Device – отвечает за первоначальную запись и чтение элементов в файле, так как они являются объектами класса, это реализует функции readData () и writeData (), а доступ к элементам класса функция getName ().


4. Коды классов


package javaapplication20;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

import java.io.*;

import java.util.*;

import java.text.*;

import java.net.*;

import java.lang.reflect.*;

public class Main

{

public static void main(String[] args)throws IOException

{

DataInputStream inData = new DataInputStream(System.in);

String T0="Оцените утверждение : массив в С++ никогда не передается по значению";

String T1="Верно ли, что размер массива важен при объявлении параматра?";

String T2="Действительно ли, что указатель указывает на нулевой элемент массива, при передачи массива";

String T3="Оцените утверждение: изменение значения аргумента внутри функции затрагивает сам переданный объект и его локальную копию ";

String T4="Верно ли, размер массива не является частью типа параметра ";


Случайные файлы

Файл
125097.rtf
107251.doc
5147.rtf
90588.rtf
47144.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.