на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Программа "Система обучения"
p align="left">public class ShowResult

{

public ShowResult(){}

public void SetFIO_and_Group(String path,String toCompare ,JTextField FIO, JTextField Group)

{

File F = new File(path);

String ArrOfFile[] = F.list();

boolean b;

for ( int k= 0;k<ArrOfFile.length;k++)

{

try {

Scanner in = new Scanner(new File(path+"\\"+ArrOfFile[k]));

StringBuffer data = new StringBuffer();

while (in.hasNext()) {

data.append(in.nextLine()).append("\n");

String s = data.toString();

int i = s.indexOf("#");

int r = s.indexOf("~");

int t = s.indexOf("%");

int u = s.indexOf("&");

String L1 = s.substring(0, i);

String L2 = s.substring((i+1), r);

String L3 = s.substring((r+1), t);

String L4 = s.substring((t+1), u);

if((L3+L4).equals(toCompare))

{

System.out.println(L3+L4);

FIO.setText(L1);

Group.setText(L2);

}}

}

catch (FileNotFoundException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

}} }

public String Result_Q()

{

String Rez="";

if(Main.t==0)

{Rez =Main.t + " вопросов";}

if(Main.t==1)

{ Rez = Main.t + " вопрос";}

if(Main.t>1 && Main.t<5)

{Rez=Main.t + " вопроса";}

if(Main.t>4 && Main.t<10)

{Rez = Main.t + " вопросов"; }

Main.F5.T3.setText(Rez);

return Rez;

}

public String Result_B()

{

int ball=0;

String s = "";

switch(Main.t)

{

case 10: ball=100;break;

case 9: ball=90;break;

case 8: ball=80;break;

case 7: ball=70;break;

case 6: ball=60;break;

case 5: ball=50;break;

case 4: ball=40;break;

case 3: ball=30;break;

case 2: ball=20;break;

case 1: ball=10;break;

case 0: ball=0;break;

}

s=ball +" баллов";

Main.F5.T4.setText(s);

return s;

}

public String Result_T()

{

String T="";

if(Main.t>8 && Main.t<11)

{ T="Отлично";}

if(Main.t>6 && Main.i<9)

{ T="Хорошо";}

if(Main.t>5 && Main.t<7 )

{T="Удовлетворительно"; }

if(Main.t>2 && Main.t<6)

{ T="Плохо";}

if(Main.t<3 )

{T="Очень плохо"; }

Main.F5.T5.setText(T);

return T;

}

public void ShowTime(String path , JTextField T)

{

String s = Main.this_name+".txt";

System.out.println(s);

File F = new File(path);

String ArrOfFile[] = F.list();

for(int i =0;i<ArrOfFile.length;i++)

System.out.println(ArrOfFile[i]);

for( int k =0;k<ArrOfFile.length;k++)

{

if(s.equals(ArrOfFile[k]))

{

try {

Scanner in = new Scanner(new File(path+"\\"+ArrOfFile[k]));

System.out.println("11111");

StringBuffer data = new StringBuffer();

while (in.hasNext()) {

data.append(in.nextLine()).append("\n");

String s1 = data.toString();

int i = s1.indexOf("#");

int r = s1.indexOf("~");

int t = s1.indexOf("%");

int u = s1.indexOf("&");

int h = s1.indexOf("\n");

String L1 = s1.substring(0, i);

String L2 = s1.substring((i+1), r);

String L3 = s1.substring((r+1), t);

String L4 = s1.substring((t+1), u);

String L5 = s1.substring(u+1,h );

System.out.println(L5+" минут");

T.setText(L5+" минут");

}}

catch (FileNotFoundException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

}

}

}}

}

3.7 Класс Modification

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

public class Modification

{

public Modification(){}

public void ModificationLek(String s,JTextArea t)

{

String u1 = t.getText();

PrintWriter writer = null;

try {

writer = new PrintWriter(

new OutputStreamWriter(

new FileOutputStream(s)));

writer.write(u1);

writer.close();

} catch (Exception ex) {}

}

public void ModificationAQ(String s,JTextField t)

{

String u2 = t.getText();

PrintWriter writer = null;

try {

writer = new PrintWriter(

new OutputStreamWriter(

new FileOutputStream(s)));

writer.write(u2);

writer.close();

} catch (Exception ex) {}

}

}

3.8 Класс ShowResultForTeacher

Класс реализует демонстрацию результатов обучения студентов преподавателю.

Метод public void CreateResultFile(String path) создает файл с результатами обчунеия при регистрации студента.

Метод public void SetResultInFile(String path, String info) записывает результаты обучения в файл для результатов этого студента.

Метод public void SetInList(String path, JComboBox j)записывает ФИО студента в список доступних для просмотра преподавателем студентов(если он прошел контроль и получил конечный документ).

Метод public void ShowResultForEach(String path,JTextField t1,JTextField t2,JTextField t3,JTextField t4,JTextField t5,JTextField t6,JComboBox j) записывает в текстовые поля информацию про студента котрого выбрал преподаваетль из списка.

Метод public void ShowTime(String path , JTextField T, JComboBox j) записывает в текстовое поле информацию про время обучения выбранного из списка студента.

public class ShowResultForTeacher

{

public ShowResultForTeacher(){}

public void CreateResultFile(String path)

{

File f1;

f1=new File(path);

if(!f1.exists())

{

try

{

f1.createNewFile();

}

catch (Exception ex) { }

}

else {

}

}

public void SetInList(String path, JComboBox j)

{

File F = new File(path);

String ArrOfFile[] = F.list();

for ( int k= 0;k<ArrOfFile.length;k++)

{

try {

Scanner in = new Scanner(new File(path + "\\" + ArrOfFile[k]));

StringBuffer data = new StringBuffer();

while (in.hasNext()) {

data.append(in.nextLine()).append("\n");

}

String s1 = data.toString();

if(!s1.equals("")){

int i = ArrOfFile[k].indexOf(".");

String L1 = ArrOfFile[k].substring(0, i);

j.addItem(L1);}

} catch (FileNotFoundException ex) {

Logger.getLogger(ShowResultForTeacher.class.getName()).log(Level.SEVERE, null, ex);

}

}

}

public void SetResultInFile(String path, String info)

{

try {

File f1;

f1 = new File(path);

PrintWriter writer = null;

writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(path)));

writer.write(info);

writer.close();

} catch (FileNotFoundException ex) {

Logger.getLogger(ShowResultForTeacher.class.getName()).log(Level.SEVERE, null, ex);

}

}

public void ShowResultForEach(String path,JTextField t1,JTextField t2,JTextField t3,JTextField t4,JTextField t5,JTextField t6,JComboBox j)

{

String s = (String) j.getSelectedItem()+".txt";

File F = new File(path);

String ArrOfFile[] = F.list();

System.out.println(ArrOfFile.length);

boolean b;

for( int k =0;k<ArrOfFile.length;k++)

{

if(s.equals(ArrOfFile[k]))

{

try {

b=false;

Scanner in = new Scanner(new File(path+"\\"+ArrOfFile[k]));

StringBuffer data = new StringBuffer();

while (in.hasNext()) {

data.append(in.nextLine()).append("\n");

String s1 = data.toString();

System.out.println(b);

int i = s1.indexOf("#");

int r = s1.indexOf("~");

int t = s1.indexOf("%");

int u = s1.indexOf("&");

int h = s1.indexOf("\n");

String L1 = s1.substring(0, i);

String L2 = s1.substring((i+1), r);

String L3 = s1.substring((r+1), t);

String L4 = s1.substring((t+1), u);

String L5 = s1.substring(u+1,h );

t1.setText(L1);

t2.setText(L2);

t3.setText(L3);

t4.setText(L4);

t5.setText(L5);

}

}

catch (FileNotFoundException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

} } }}

public void ShowTime(String path , JTextField T, JComboBox j)

{

String s = (String) j.getSelectedItem()+".txt";

File F = new File(path);

String ArrOfFile[] = F.list();

for( int k =0;k<ArrOfFile.length;k++)

{

if(s.equals(ArrOfFile[k]))

{

try {

Scanner in = new Scanner(new File(path+"\\"+ArrOfFile[k]));

StringBuffer data = new StringBuffer();

while (in.hasNext()) {

data.append(in.nextLine()).append("\n");

String s1 = data.toString();

int i = s1.indexOf("#");

int r = s1.indexOf("~");

int t = s1.indexOf("%");

int u = s1.indexOf("&");

int h = s1.indexOf("\n");

String L1 = s1.substring(0, i);

String L2 = s1.substring((i+1), r);

String L3 = s1.substring((r+1), t);

String L4 = s1.substring((t+1), u);

String L5 = s1.substring(u+1,h );

T.setText(L5+" минут");

}}

catch (FileNotFoundException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

}

}

}}

}

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

В системе предусмотрено 6 каталогов для хранения файлов. Папка Lection содержит 10 текстовых файлов, в которых хранится 10 порций учебного материала. Папка Question содержит 10 текстовых файлов, в которых хранятся контрольные вопросы. Папка Answer содержит 10 текстовых файлов, в которых хранятся ответы на контрольные вопросы.

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

Рис. 15

Сначала идет ФИО, затем группа, логин, пароль, и время пребывания студента в системе. Данные отделены служебными символами. Папка User_Prep содержит текстовые файлы, в которых хранится информация про зарегистрированных преподавателях. Когда преподаватель регистрируется в системе, то в этой папке создается файл, в котором хранится информация про этого пользователя. Папка Rez содержит текстовые файлы, в которых хранятся результаты обучения студентов. Когда студент регистрируется, то создается в этой папке файл пустой, когда студент проходит контроль, то в него записываются результаты обучения.

Рис. 16

5. Инструкция пользователя

5.1 Инструкция для пользователя "студент"

Если студент уже зарегистрирован в системе, то он вводит свой логин и пароль, и если он верный то попадает в окно, где ему предоставляется учебный материал. Если студент не зарегистрирован в системе, то он нажимает на кнопку "Регистрация" и попадает в окно регистрации пользователя. Там студент ставит переключатель в позицию "Студент", заполняет поля регистрации, если поля заполнены верно(т.е заполнены все поля, пароль указан одинаково два раза, и не использованы служебные символы(~,#,%,&)), то по нажатию на кнопку "Регистрация" студент регистрируется и входит в систему. В следующем окне студенту доступны для изучения 10 занятий. Контроль проводится после каждого пройденного урока. Щелкая на кнопку "Ответ", возле соответствующего вопроса, студент в появившимся окне вводит свой ответ. После того как студент ответил на все вопросы, становится доступной кнопка "Результат", по нажатию на которую студент предоставляются результаты его обучения. Ознакомившись с результатами, студент может перейти обратно к лекциям, однако кнопки "Контроль" уже нет. Так же студент может выйти из системы обучения, нажав на кнопку "Выход".

5.2 Инструкция для пользователя "преподаватель"

Если преподаватель уже зарегистрирован в системе, то он вводит свой логин и пароль, и если он верный то попадает в окно, где ему предоставляется меню преподавателя. Если преподаватель не зарегистрирован в системе, то он нажимает на кнопку "Регистрация" и попадает в окно регистрации пользователя. Там студент ставит переключатель в позицию "Преподаватель", заполняет поля регистрации, если поля заполнены верно(т.е заполнены все поля, пароль указан одинаково два раза, верно указан ключ, который известен только преподавателям и не использованы служебные символы(~,#,%,&)), то по нажатию на кнопку "Регистрация" преподаватель регистрируется и входит в систему. Далее преподаватель попадает в "Меню преподавателя". В этом окне преподаватель может выбрать то, что он желает сделать: править лекции, править вопросы и ответы, просмотреть результаты обучения. По нажатию на кнопку "Править лекции" преподаватель попадает в окно в котором он может добавить или изменить материал в лекциях. Для этого необходимо выбрать урок, который необходимо исправить, ввести информацию и нажать на кнопку "Сохранить". По нажатию на кнопку "Править вопросы", преподаватель попадает в окно, в котором можно править вопросы и ответы. Для этого в необходимом вопросе или ответе нужно изменить текст и нажать на кнопку "Сохранить". По нажатию на кнопку "Смотреть рез-ты обучения" преподаватель попадает в окно, в котором он может просмотреть результаты обучения студентов .Для этого необходимо выбрать из списка интересующего студента, и нажать на кнопку "Показать", после чего в текстовые поля запишется информация про этого студента

6. Тестирование работы системы

6.1 Тестирование работы для пользователя "студент"

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

6.2 Тестирование работы для пользователя "преподаватель"

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

Рис. 21

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

Рис. 21

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

Рис. 22

Наконец проверим возможность преподавателя смотреть результаты обучения всех студентов:

Рис. 23

Заключение

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

Список литературы

1. ГСТУ 3008-95. Документация. Отчёты в сфере науки и техники. Структура и правила оформления. - Киев: Изд-во стандартов, 1995. - 38 с.

2. МУ к курс. работе по курсу "Языки объектно-ориентированного программирования" /: ОГПУ, 2007г.

3. Давыдов В.И. Кунгурцев А.Б. Объектно-ориентированное программирование. Одесса :Автограф, 2003.

4. Кунгурцев О.Б. Основи програмування на мові Java.Середовище Net Beans. Одеса. :ВМВ, 2006. -182с.

Страницы: 1, 2, 3



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