Створення навчальної програми для студентів
Об’єктно-орієнтований аналіз, визначення класів та методів. Загальна схема функціонування системи. Представлення учбового матеріалу, питань та відповідей. Графічний інтерфейс користувача для роботи з програмою. Використання програми викладачами.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 09.01.2014 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Об'єктно-орієнтоване програмування
1. Складові частини навчальної програми
Клас обов'язково реалізує наступні функції.
Читання навчального матеріалу з файлу.
Надання студенту порції навчального матеріалу.
Перехід до наступної порції матеріалу.
Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.
Клас обов'язково реалізує наступні функції.
Читання завдання до контролю з БД.
Читання еталонних відповідей з БД.
Надання студенту завдань до контролю знань.
Оцінювання кожної відповіді.
Клас обов'язково реалізує наступні функції.
Введення учбового матеріалу у форматі, що задано іншими пунктами завдання.
Введення контрольних завдань у форматі, що задано іншими пунктами завдання.
Введення еталонів відповідей у форматі, що задано іншими пунктами завдання.
Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.
Клас обов'язково реалізує наступні функції.
Перегляд результатів навчання для кожного студента.
Клас додатково може реалізувати наступні функції відповідно до конкретного завдання до курсової роботи.
2. Постанова задачі
2.1 Уточнення вимог до програмного продукту
Метою курсової роботи є створення навчальної програми для студентів на тему «Наслідування С++». Подання матеріалу відбуватиметься порціями, зчитуючи порції з БД. Буде розроблена сторінка для викладача та студентів та входу їх в систему. Студенти запам'ятовують власний пароль для постійного користування. Наприкінці кожного читання контролю будуть виведені питання для контролю знань.
Клас який представляє виведення матеріалу повинне за потребою викладача змінювати його зміст.
Курсова робота буде розроблена для того, щоб закріпити знання здобуті при вивченні дисципліни «Об'єктно-орієнтоване програмування».
Студент має розробити навчаючу програму.
Навчаюча програма повинна виконувати наступні функції:
- реєстрацію студента;
- представлення матеріалу до навчання про наслідування у мові програмування С++;
- забезпечення контролю знань;
- введення та корегування навчального матеріалу;
- отримання інформації щодо успіхів студента.
Програма розроблена не тільки для студентів, але й для викладачів. Викладачі з правами адміністратора зможуть перевірити рівень знань студентів, та й дистанційно їх навчати. Всього буде два рівня користувачів: студент, викладач.
Студент має право переглядати навчальний матеріал, і проходити контроль, й отримувати оцінку рівня отриманих знань з переглянутої теми.
Керівник може переглянути список студентів, що зареєстровані в системі, рівень їх знань за виконаними контролями. Також викладач має змогу змінити навчальний матеріал.
2.2 Об'єктно-орієнтований аналіз, визначення класів та методів
Клас Users
Структура:
public class Users
{
public class Users {
private static String student;
private static String teacher;
private static String nouser;
private static String secretPass;
public static String getStudent()
public static String getTeacher()
public static String getNoUser()
public static boolean isStudent (int status)
public static boolean isTeacher (int status)
public static boolean RegisterIsTeacher (String secret)
}
Опис:
Класс users має поля для перевірки та запам'ятовування користувачів в системі на надання прав.
Призначення:
Зберігання інформації про користувачів та перевіряє їх.
Клас Mysql
Структура:
public class Mysql {
private Connection connect = null;
private ResultSet resultSet = null;
Properties properties = new Properties();
private String url = «jdbc:mysql://localhost:3306/»;
private String dbName = «stud»;
private String driver = «com.mysql.jdbc. Driver»;
private String userName = «root»;
private String password = «123»;
public void SetPass (String Pass)
public ResultSet QuerySelect (String query) throws SQLException
public boolean QueryInsert (String query) throws SQLException
public boolean PreparedQueryInsert (String query, String theory, String theme) throws SQLException
public String PreparedQueryInsertID (String query, String theory, String theme) throws SQLException
public void initConnection()
public static String MD5 (String md5)
public void close()
}
Опис:
Поля urldb, Name, driver, username, password слугують для з'єднання з БД, до приєднуються get'ри і set'ри, метод QuerySelect - для виконання запиту вибірки з БД, QueryInsert(), PreparedQueryInsert(), PreparedQueryInsertID() - методи для виконання запиту вставки даних до БД, а також методи встановлення та закриття з'єднання з БД.
Призначення:
З'єднання, вибірка та вставка даних до БД.
В для виведення даних використовувались сервлети на мові Java.
Список сер влетів з описанням:
1. AddQuestions - виконує додавання нових запитань.
2. Addresults - зберігає результати тестування
3. AddThemes - виконує додавання тем.
4. AddTheorys - додавання нових порцій теорії.
5. Login - авторизація користувачів.
6. Logout - вихід користувача з системи.
7. Questions - виконує виведення тестування.
8. Register - реєстрація користувачів.
9. Results - виведення результатів.
10. Student_List - виводить список студентів.
11. Themes_List - виводить список тем.
12. Theory - слугує для виводу порцій теорії.
2.3 Загальна схема функціонування системи
Класи обробки дій користвача:
AddQuestions, Addresults, AddThemes, AddTheorys, Login, Logout, Questions, Register, Results, Student_List, Themes_List, Theory
Mysql, Users - класи для обробк даних та занесення даних до БД.
3. Представлення учбового матеріалу, питань та відповідей
Інтерфейс користувача повинен бути якомога зрозумілий: назви не мають двозначне тлумачення, чітко сформульовані та відрізняються один від одної. Інтерфейс викладача має задовольняти таким варіантам використання: обрання навчального матеріалу, обрання навчального контролю, перегляд успіхів кожного студента та зміну користувача. При обранні навчального контролю та матеріалу користувач може обрати та переглянути абсолютний шлях до файлів, а при перегляді успіхів викладач обирає студента зі списку, а не вводить вручну.
4. Бажаний інтерфейс користувача
Інструкція користувача та контрольний приклад
Графічний інтерфейс для роботи з програмою виглядає досить просто. Коли користувач запускає браузер та прописує необхідну адресу перед ним з'являється сторінка «Вхід в систему», яке потрібне для входу в навчальну програму.
Користувач має пройти аутентифікацію, система автоматично вирахує - є він викладачем чи студентом, викладач може зареєструватися в системі, для цього потрібно ввести секретне слово.
Інструкція для користувачу «Викладач»
1. Після того як викладач пройде авторизація, потрапляє на с торінку зі списком тем, можна додати нову тему натиснувши на конпку «Добавить тему». На сторінці можна редагувати порції теорії та питання для тестування. Для того, щоб відредагувати теорію треба перейти по посиланню «Теория», а для редагування питань тестування - «Вопросы».
2. Після на тисненненя посилання «Теория» користувач потрапляє на сторінку редагування порцій матеріалу, для редагування старого матеріалу треба клацнути двійним натисканням і з'явиться редактор.
3.
Для додання матеріалу треба ввести новий матеріал і натиснути кнопку «Сохранить порцию».
4. Перейшовши по посиланню «Список студентів» можна потрапити на сторінку зі списком студентів для складання іспиту, тут можливо додавати нового студента, а також продивитися результати кожного.
5. Перейшовши по посиланню «Вопросы» потрапляємо на сторінку де потрібно додавати запитання для іспиту. Для вибору правильної відповіді треба натиснути на радіокнопку зліва.
Інструкція користувачу «Студент»
Для входу в систему студенту потрібно ввести логін та пароль, система автоматично його на сторінку з темами для іспиту.
1. Студент повинен вибрати одну з тем.
2. Потім система перекине його на сторінку з теорією, яка виводить посторінково, якщо студент вже її знає може одразу натиснути «Начать тестирование».
3. Після натиснення цієї кнопки студент потрапляє на сторінку для здачі іспиту, де йому потрібно вибрати одну відповідь з чотирьох.
4. Після натиснення «Тест окончен» студенту буде висвітлено скільки балів він набрав, на скільки запитань правильно відповів і кількість затраченого часу.
5. Використання програми
Клас для роботи з БД
Mysql
package Model;
import java.sql.*;
import java.util. Properties;
/**
*
* @author dante
*/
public class Mysql {
private Connection connect = null;
//private Statement statement = null;
private ResultSet resultSet = null;
Properties properties = new Properties();
private String url = «jdbc:mysql://localhost:3306/»; // адрес для связи с БД
private String dbName = «stud»;
private String driver = «com.mysql.jdbc. Driver»;
private String userName = «root»;
private String password = «123»;
public void SetURL (String URL) {
this.url = URL;
}
public void SetDBName (String DBName) {
this.dbName = DBName;
}
public void SetDriver (String Driver) {
this.driver = Driver;
}
public void SetUser (String user) {
this.userName = user;
}
public void SetPass (String Pass) {
this.password = Pass;
}
// Метод выполнения запроса на виборку
public ResultSet QuerySelect (String query) throws SQLException {
Statement s = connect.createStatement();
s.executeQuery («SET NAMES utf8»);
s.executeQuery(query);
ResultSet rs = s.getResultSet();
return rs;
}
// Метод выполнения запроса на добавление
public boolean QueryInsert (String query) throws SQLException {
Statement s = connect.createStatement();
properties.setProperty («useUnicode», «true»);
properties.setProperty («characterEncoding», «UTF-8»);
s.executeQuery («SET NAMES utf8»);
if (s.executeUpdate(query)!= 0) {
return true;
} else {
return false;
}
}
// Метод выполения запроса с проверкой на символы
public boolean PreparedQueryInsert (String query, String theory, String theme) throws SQLException {
properties.setProperty («useUnicode», «true»);
properties.setProperty («characterEncoding», «UTF-8»);
PreparedStatement s = connect.prepareStatement(query);
s.setString (1, theory);
s.setString (2, theme);
// s.executeQuery («SET NAMES utf8»);
if (s.executeUpdate()!= 0) {
return true;
} else {
return false;
}
}
// Вставка по идентификационному номеру
public String PreparedQueryInsertID (String query, String theory, String theme) throws SQLException {
properties.setProperty («useUnicode», «true»);
String key = «»;
properties.setProperty («characterEncoding», «UTF-8»);
Statement s = connect.createStatement();
PreparedStatement psmt = null;
psmt = connect.prepareStatement (query, psmt.RETURN_GENERATED_KEYS);
psmt.setString (1, theory);
psmt.setString (2, theme);
psmt.executeUpdate();
ResultSet keys = psmt.getGeneratedKeys();
keys.next();
key = keys.getString(1);
// s.executeQuery («SET NAMES utf8»);
return key;
}
// Соедиение с БД
public void initConnection() {
//FIRST register and download driver
try {
DriverManager.registerDriver (new org.gjt.mm.mysql. Driver());
} catch (SQLException e) {
e.printStackTrace();
}
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//SECOND Connect to database
try {
Properties prop = new Properties();
prop.setProperty («useUnicode», «false»);
prop.setProperty («characterEncoding», «UTF8»);
connect = DriverManager.getConnection (url + dbName +»? useUnicode=true&characterEncoding=UTF-8», userName, password);
} catch (SQLException e) {
e.printStackTrace();
}
}
// Хештрование строки
public static String MD5 (String md5) {
try {
java.security. MessageDigest md = java.security. MessageDigest.getInstance («MD5»);
byte[] array = md.digest (md5.getBytes());
StringBuffer sb = new StringBuffer();
for (int i = 0; i < array.length; ++i) {
sb.append (Integer.toHexString((array[i] & 0xFF) | 0x100).substring (1, 3));
}
return sb.toString();
} catch (java.security. NoSuchAlgorithmException e) {
}
return null;
// Закрытие с соединения с БД
public void close() {
try {
if (resultSet!= null) {
resultSet.close();
}
if (connect!= null) {
connect.close();
}
} catch (Exception e) {
}
}
}
Класс для роботи з користувачами
Users
public class Users {
private static String student = «2»;
private static String teacher = «1»;
private static String nouser = «0»;
private static String secretPass = «teacher»;
public static String getStudent() {
return student;
}
public static String getTeacher() {
return teacher;
}
public static String getNoUser() {
return nouser;
}
// Проверка на студента
public static boolean isStudent (int status) {
if (status == Integer.parseInt(student)) {
return true;
} else {
return false;
}
}
// Проверка на преподавателя
public static boolean isTeacher (int status) {
if (status == Integer.parseInt(teacher)) {
return true;
} else {
return false;
}
}
// Проверка на регистрацию преподавателя
public static boolean RegisterIsTeacher (String secret) {
if (secret.equals(secretPass)) {
return true;
} else {
return false;
}
}
}
Сервлет додавання питань:
AddQuestions
import Model. Mysql;
import com.mysql.jdbc. Connection;
import com.mysql.jdbc. PreparedStatement;
import java.io.IOException;
import java.io. PrintWriter;
import java.sql. ResultSet;
import java.util. Properties;
import javax.servlet. ServletException;
import javax.servlet.http. HttpServlet;
import javax.servlet.http. HttpServletRequest;
import javax.servlet.http. HttpServletResponse;
/**
*
* @author dante
*/
public class AddQuestions extends HttpServlet {
protected void processRequest (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType («text/html; charset=UTF-8»);
// указываем кодировку для данных полученых от клиента
request.setCharacterEncoding («UTF-8»);
PrintWriter out = response.getWriter();
try {
String one = request.getParameter («one»);
String two = request.getParameter («two»);
String three = request.getParameter («three»);
String four = request.getParameter («four»);
String check = request.getParameter («check»);
String question = request.getParameter («que»);
String theme = request.getParameter («theme»);
Mysql mysql = new Mysql();
mysql.initConnection();
String id_question = mysql. PreparedQueryInsertID («INSERT INTO questions (id_questions, question, id_theme) VALUES (NULL,?,?)», question, theme); // выполение запроса добавления вопроса
// Вставка ответов тестирования
if (check.equals («1»)) {
mysql. PreparedQueryInsert («INSERT INTO answers (`answer`,`id_question`,`right`) VALUES (?,?, '1')», one, id_question);
} else {
mysql. PreparedQueryInsert («INSERT INTO answers (`answer`,`id_question`,`right`) VALUES (?,?, '0')», one, id_question);
}
if (check.equals («2»)) {
mysql. PreparedQueryInsert («INSERT INTO answers (`answer`,`id_question`,`right`) VALUES (?,?, '1')», two, id_question);
} else {
mysql. PreparedQueryInsert («INSERT INTO answers (`answer`,`id_question`,`right`) VALUES (?,?, '0')», two, id_question);
}
if (check.equals («3»)) {
mysql. PreparedQueryInsert («INSERT INTO answers (`answer`,`id_question`,`right`) VALUES (?,?, '1')», three, id_question);
} else {
mysql. PreparedQueryInsert («INSERT INTO answers (`answer`,`id_question`,`right`) VALUES (?,?, '0')», three, id_question);
}
if (check.equals («4»)) {
mysql. PreparedQueryInsert («INSERT INTO answers (`answer`,`id_question`,`right`) VALUES (?,?, '1')», four, id_question);
} else {
mysql. PreparedQueryInsert («INSERT INTO answers (`answer`,`id_question`,`right`) VALUES (?,?, '0')», four, id_question);
}
mysql.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Сервлет додавання питань
AddResults
import Model. Mysql;
import java.io.IOException;
import java.io. PrintWriter;
import javax.servlet. ServletException;
import javax.servlet.http. HttpServlet;
import javax.servlet.http. HttpServletRequest;
import javax.servlet.http. HttpServletResponse;
/**
*
* @author dante
*/
public class AddResults extends HttpServlet {
protected void processRequest (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType («text/html; charset=UTF-8»);
// указываем кодировку для данных полученых от клиента
request.setCharacterEncoding («UTF-8»);
PrintWriter out = response.getWriter();
String theme = request.getParameter («theme»);
String id = request.getParameter («id»);
String date = request.getParameter («date»);
String timer =request.getParameter («timer»);
String pri = request.getParameter («pri»);
Mysql mysql = new Mysql();
try {
mysql.initConnection();
if (mysql. QueryInsert («INSERT INTO results (`id_user`,`id_theme`,`grade`,`elapsed_time`,»
+ «`time_end_of_test`) VALUES ('»+id+«', ' «+theme+» ', ' «+pri+» ', ' «+timer+» ', ' «+date+» ')»)) {
// Вставка результатов тестирования с возвратом значения
out.print («1»);
} else {
out.print («0»);
}
mysql.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Сервлет додавання тем:
AddThemes
import Model. Mysql;
import java.io.IOException;
import java.io. PrintWriter;
import javax.servlet. ServletException;
import javax.servlet.http. HttpServlet;
import javax.servlet.http. HttpServletRequest;
import javax.servlet.http. HttpServletResponse;
/**
*
* @author dante
*/
public class AddThemes extends HttpServlet {
protected void processRequest (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType («text/html; charset=UTF-8»);
// указываем кодировку для данных полученых от клиента
request.setCharacterEncoding («UTF-8»);
PrintWriter out = response.getWriter();
try {
String theme = request.getParameter («theme»);
Mysql mysql = new Mysql();
mysql.initConnection();
if (mysql. QueryInsert («INSERT INTO themes (theme) VALUES ('» + theme + «')»)) {
out.print («1»); // Запрос вставки темы
} else {
out.print («0»);
}
mysql.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Сервлет додавання порцій теорії:
AddTheorys
import Model. Mysql;
import com.mysql.jdbc. PreparedStatement;
import java.io.IOException;
import java.io. PrintWriter;
import javax.servlet. ServletException;
import javax.servlet.http. HttpServlet;
import javax.servlet.http. HttpServletRequest;
import javax.servlet.http. HttpServletResponse;
/**
*
* @author dante
*/
public class AddTheorys extends HttpServlet {
protected void processRequest (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType («text/html; charset=UTF-8»);
// указываем кодировку для данных полученых от клиента
request.setCharacterEncoding («UTF-8»);
PreparedStatement updateSales = null;
PrintWriter out = response.getWriter();
try {
String theory = request.getParameter («data»);
String id_theme = request.getParameter («id_theme»);
String status = request.getParameter («status»);
String id = request.getParameter («id»);
Mysql mysql = new Mysql();
mysql.initConnection();
if (status.equals («1»)) {
if (mysql. PreparedQueryInsert («INSERT INTO theorys (theory, id_theme) VALUES (?,?)», theory, id_theme)) { // Вставка порций теории
out.print («1»);
} else {
out.print («0»);
}
} else if (status.equals («0»))
{
if (mysql. PreparedQueryInsert («UPDATE theorys SET theory =? WHERE id_theory=?», theory, id)) {
out.print («1»);
} else {
out.print («0»);
}
}
mysql.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Сервлет для виконання авторизації:
import java.io.IOException;
import java.io. PrintWriter;
import java.sql. ResultSet;
import java.sql.SQLException;
import javax.servlet. ServletException;
import javax.servlet.annotation. WebServlet;
import javax.servlet.http. HttpServlet;
import javax.servlet.http. HttpServletRequest;
import javax.servlet.http. HttpServletResponse;
import javax.servlet.http. HttpSession;
import Model. Mysql;
import Model. Users;
/**
* Servlet implementation class Login
*/
@WebServlet («/login»)
public class Login extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet (HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Mysql mysql = new Mysql();
response.setContentType («text/html; charset=UTF-8»);
HttpSession session = request.getSession();
session.setAttribute («status», Users.getNoUser());
PrintWriter out = response.getWriter();
try {
mysql.initConnection();
response.setContentType («text/html; charset=UTF-8»);
request.setCharacterEncoding («UTF-8»);
String login = request.getParameter («login»);
String pass = request.getParameter («pass»);
ResultSet rs = mysql. QuerySelect («SELECT * FROM user WHERE login='»
+ login.trim() + «'» + «AND password='» + pass.trim() + «' LIMIT 1»); // поиск пользователя в БД
while (rs.next()) {
response.setContentType («text/html; charset=UTF-8»);
String name = rs.getString («name»);
String last_name = rs.getString («last_name»);
Integer status = rs.getInt («status»);
if (Users.isTeacher(status)) { // Если преподаватель
session.setAttribute («name», name);
session.setAttribute («last_name», last_name);
session.setAttribute («id», rs.getString («id»));
session.setAttribute («status»,
Mysql.MD5 (Users.getTeacher()));
out.print (Users.getTeacher());
} else if (Users.isStudent(status)) { // Если студент
session.setAttribute («name», name);
session.setAttribute («last_name», last_name);
session.setAttribute («id», rs.getString («id»));
session.setAttribute («status»,
Mysql.MD5 (Users.getStudent()));
// response.sendRedirect («student/student.jsp»);
out.print (Users.getStudent());
} else {
out.print (Users.getNoUser());
}
}
mysql.close();
System.out.println («Disconnected from database»);
} catch (SQLException e) {
response.sendRedirect (request.getContextPath());
}
}
Сервлет виходу з системи:
import java.io.IOException;
import java.io. PrintWriter;
import javax.servlet. ServletException;
import javax.servlet.annotation. WebServlet;
import javax.servlet.http. HttpServlet;
import javax.servlet.http. HttpServletRequest;
import javax.servlet.http. HttpServletResponse;
import javax.servlet.http. HttpSession;
import Model. Users;
/**
* Servlet implementation class Logout
*/
@WebServlet («/logout»)
public class Logout extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType («text/html; charset=UTF-8»);
HttpSession session = request.getSession(true);
PrintWriter out = response.getWriter();
session.setAttribute («status», Users.getNoUser()); // Обнуление сессии пользователя
response.sendRedirect («index.jsp»);
}
/**
* @see HttpServlet#doPost (HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
Сервлет виводу питань тестування:
import Model. Mysql;
import java.io.IOException;
import java.io. PrintWriter;
import java.sql. ResultSet;
import java.util. HashMap;
import java.util. Map;
import javax.servlet. RequestDispatcher;
import javax.servlet. ServletException;
import javax.servlet.http. HttpServlet;
import javax.servlet.http. HttpServletRequest;
import javax.servlet.http. HttpServletResponse;
/**
*
* @author dante
*/
public class Questions extends HttpServlet {
protected void processRequest (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType («text/html; charset=UTF-8»);
PrintWriter out = response.getWriter();
Mysql mysql = new Mysql();
String id_theme = request.getParameter («questions»);
String page = «questions.jsp»;
request.setAttribute («id_theme», id_theme);
RequestDispatcher dispatcher = request.getRequestDispatcher(page); // Передача параметров на страницу
if (dispatcher!= null) {
dispatcher.forward (request, response);
}
}
Сервлет реєстрації:
import java.io.IOException;
import java.io. PrintWriter;
import javax.servlet. ServletException;
import javax.servlet.annotation. WebServlet;
import javax.servlet.http. HttpServlet;
import javax.servlet.http. HttpServletRequest;
import javax.servlet.http. HttpServletResponse;
import Model. Mysql;
import Model. Users;
import java.sql. ResultSet;
@WebServlet («/register»)
public class Register extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet (HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
protected void doPost (HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType («text/html; charset=UTF-8»);
// указываем кодировку для данных полученых от клиента
request.setCharacterEncoding («UTF-8»);
Mysql mysql = new Mysql();
PrintWriter out = response.getWriter();
try {
String login = request.getParameter («login»);
String pass = request.getParameter («pass»);
String name = request.getParameter («name»);
String last_name = request.getParameter («last_name»);
String secret = request.getParameter («secret»);
mysql.initConnection();
ResultSet rs = mysql. QuerySelect («SELECT login FROM user WHERE login='» + login.trim() + «'»);
if (! rs.next()) {
if (Users. RegisterIsTeacher(secret)) { // Втавка даннях если преподаватель
if (mysql. QueryInsert («INSERT INTO user (login, password, name, last_name, status) VALUES ('»
+ login.trim()
+ «', '»
+ pass.trim()
+ «', '»
+ name.trim()
+ «', '»
+ last_name.trim()
+ «', '»
+ Users.getTeacher()
+ «')»)) {
out.print («1»);
} else {
out.print («0»);
}
}
Висновок
В процесі курсової роботи була створена універсальна програма для тестування і навчання студентів.
Навчальна програма була розроблена на мові програмування Java. В даний час об'єктно-орієнтоване програмування є основним напрямом розвитку програмування взагалі, а мова Java є повністю об'єктною мовою. А наявність засобів строгої перевірки типів, орієнтація на роботу з комп'ютерними мережами, перенесення на рівні виконуваного коду і підтримка платформонезалежного коду, а також заборону прямого звернення до апаратури забезпечили виконання більшості вимог, що пред'являлися до мови прикладного програмування.
В ході курсової роботи був закріплений досвід роботи з мовою Java, закріплені навики роботи в середовищі розробки NetBeans.
Список літератури
програма студент викладач інтерфейс
Кей Хорстманн «Java 2. Тонкости программирования. Том 2» Киев, 2008 г.
Патрик Ноутон «Java 2. Наиболее полное руководство» Киев, 2010 г.
С. Хорстманн, Гари Корнелл «Том 1. Основы Java» Киев, 2007 г.
С. Хорстманн, Гари Корнелл «Том 2. Основы Java» Киев, 2009 г.
Размещено на Allbest.ru
Подобные документы
Визначення принципів розробки додатків для Windows 8 засобами об'єктно-орієнтованого програмування. Розробка програмного застосування для перегляду графічних файлів з функціями здобуття інформації про слайд-шоу. Інтерфейс користувача та лістинг програми.
курсовая работа [2,8 M], добавлен 23.10.2014Концепції об'єктно-орієнтованого програмування. Конструктори та деструктори. Успадкування класів. Побудова об’єктної моделі. Визначення об'єктів та класів і зв’язків між ними. Реалізація програми в середовищі Visual Studio C++. Інтерфейс програми.
курсовая работа [743,7 K], добавлен 25.01.2016Розроблення графічних схем класів та алгоритмів. Контрольний приклад та аналіз результатів комп’ютерної реалізації програми, її лістінг. Проектування інтерфейсу користувача. Послідовність побудування класів "Особа", "Службовець" й "Організація".
курсовая работа [839,0 K], добавлен 16.06.2014Дослідження середовища візуального програмування Delphi. Вивчення процесу створення навчальної програми "Електронний словник". Опис графічного інтерфейсу. Характеристика структури та основних процедур даної програми. Аналіз роботи з програмним кодом.
курсовая работа [831,2 K], добавлен 01.03.2014Характеристика і функції телефонних довідників. Визначення об'єктів і класів і залежностей (зв'язків) між ними. Побудова діаграми ієрархії класів. Реалізація програми в середовищі Borland Delphi. Її інтерфейс і демонстрація можливостей. Тестовий приклад.
курсовая работа [349,3 K], добавлен 25.01.2016Створення діаграм: варіантів використання, взаємодії, класів, станів та компонентів. Генерування коду на основі створених діаграм за допомогою StarUML на об'єктно-орієнтовній мові програмування Java. Головне вікно програми "Цифровий диктофон", лістинг.
отчет по практике [1,9 M], добавлен 21.12.2015Принципи об'єктно-орієнтованого підходу. Розробка програмного комплексу з використанням цього алгоритму і користувальницьких класів на мові програмування С++. Реалізація простого відкритого успадкування. Тестування працездатності системи класів.
курсовая работа [98,0 K], добавлен 06.05.2014Концепції об'єктно-орієнтованого програмування. Методи створення класів. Доступ до методів базового класу. Структура даних, функції. Розробка додатку на основі діалогових вікон, програми меню. Засоби розробки програмного забезпечення мовами Java та С++.
курсовая работа [502,5 K], добавлен 01.04.2016Основні переваги програмування на мові Delphi. Використання стандартних операторів при створенні інтерфейсу користувача. Вибір складу технічних і програмних засобів, організація вхідних і вихідних даних. Розробка програми, блок-схеми та тексту програми.
реферат [316,1 K], добавлен 22.01.2013Аналіз предметної області і постановка задачі на розробку програми для автоматизації роботи автопідприємства. Перелік та опис використаних компонентів та основних процедур програми. Опис структур та методів обробки даних. Інструкція для користувача.
курсовая работа [2,3 M], добавлен 15.02.2012