Автор: Пользователь скрыл имя, 24 Мая 2013 в 04:40, курсовая работа
Целью такой программы является просмотр сдачи студентом определенных нормативов, указанных в учебном плане заведения. Таким образом сократиться время поиска студента среди всех членов группы, и просмотр нормативов будет удобным, так как будет отвечать только заданному студенту.
Введение 2
1 Постановка задачи 4
1.1 Требования пользователя 4
1.1.1 Мандатные требования 4
1.1.2 Ограничительные требования 4
2 Анализ требований 6
2.1 Анализ и обзор предметной области 6
2.2 Глоссарий 6
2.3 Описание вариантов использования ПО 7
2.4 Требования к ПО 13
2.4.1 Функциональные требования 13
2.4.2 Нефункциональные требования 13
3 Архитектурное и детальное проектирование ПО 14
3.1 Архитектурное проектирование клиентской части ПО 14
3.2 Архитектурное проектирование серверной части ПО 15
3.2.1 Логическая модель даннях 15
3.2.1.1 Выделение сущностей и атрибутов предметной области 15
3.2.2 Выделение связей между сущностями 17
3.2.3 Построение логической схемы БД 17
3.3 Детальное проектирование ПО 18
3.3.1 Детальное проектирование клиентской части ПО 18
3.3.2 Детальное проектирование серверной части ПО 20
3.3.2.1 Описание таблиц БД на основе логической модели БД 20
4 Проверка работоспособности ПО 21
Выводы 24
Список литературы 25
Приложение А. Листинг исходных кодов SQL-сценариев для создания таблиц БД 26
Приложение В . Листинг исходного кода клиентской части приложения 28
while (rs.next()) {
students.add(new Student(rs.getInt("id_student"
rs.getString("middlename_
}
JFrameMain.
con.close();
сt.close();
} catch (FileNotFoundException e1) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
} catch (SQLException e2) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
}
/**
* Добавление Студентов в БД
*/
private void addStudentToBD() {
try {
con = ConnectionDB.ConnectionDB();
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
String sql = "INSERT INTO phusical_education.student VALUES (?, ?, ?, ?, ?, ?);";
try {
prst = con.prepareStatement(sql);
prst.setString(1, null);
prst.setString(2, textFldSurnameStudent.getText(
prst.setString(3, textFldFirstnameStudent.
prst.setString(4, textFldMiddlenameStudent.
prst.setInt(5, Utils.getIdGroup(
prst.setString(6, textFldPhoneStudent.getText())
prst.executeUpdate();
prst.close();
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
return;
}
JOptionPane.showMessageDialog(
setEnabled(false);
}
/**
* Редактирование Студентов в БД
*/
private void editStudentToBD() {
try {
con = ConnectionDB.ConnectionDB();
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
String sql = "UPDATE phusical_education.student SET surname_student = ?, firstname_student = ?, middlename_student = ?, " +
"id_group = ?, phone_student = ? WHERE phusical_education.student.id_
try {
prst = con.prepareStatement(sql);
prst.setString(1, textFldSurnameStudent.getText(
prst.setString(2, textFldFirstnameStudent.
prst.setString(3, textFldMiddlenameStudent.
prst.setInt(4, Utils.getIdGroup(
prst.setString(5, textFldPhoneStudent.getText())
prst.executeUpdate();
prst.close();
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
return;
}
JOptionPane.showMessageDialog(
setEnabled(false);
}
/**
* Удаление Студентов из БД
*/
private void deleteStudentToBD() {
try {
con = ConnectionDB.ConnectionDB();
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
String
sql = "DELETE FROM phusical_education.student WHERE phusical_education.student.id_
try {
prst = con.prepareStatement(sql);
prst.executeUpdate();
prst.close();
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
return;
}
JOptionPane.showMessageDialog(
setEnabled(false);
}
}
JDialogResult
package view;
import controls.ConnectionDB;
import controls.Utils;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
/**
* Этот класс предназиол для добавления новой успеваемости
*/
public class JDialogResult extends JDialog {
private PreparedStatement prst = null;
private Connection con = null;
private Statement сt = null;
private ResultSet rs = null;
private JComboBox comboBoxSemestr;
private JComboBox comboBoxLecturer;
private JComboBox comboBoxNormative;
private JTextField textFldEvaluation;
private JTextField textFldDataDelivery;
private boolean switcher = false;
/**
* конструктор
*
* @param dialogTitle название окна
*/
public JDialogResult(String dialogTitle) {
setTitle(dialogTitle);
setResizable(false);
setSize(390, 270);
setModal(true);
setLocationRelativeTo(null);
Font fontLabel = new Font("Tahoma", Font.BOLD, 14);
Font fontTextFld = new Font("Tahoma", Font.BOLD, 12);
Font fontComboBox = new Font("Tahoma", Font.BOLD, 12);
JPanel panelTextFld = new JPanel();
comboBoxSemestr = new JComboBox(Utils.
comboBoxLecturer = new
JComboBox(Utils.
comboBoxNormative = new
JComboBox(Utils.
textFldEvaluation = new JTextField("");
textFldDataDelivery = new JTextField("");
panelTextFld.add(
panelTextFld.add(Box.
panelTextFld.add(
panelTextFld.add(Box.
panelTextFld.add(
panelTextFld.add(Box.
panelTextFld.add(
panelTextFld.add(Box.
panelTextFld.add(
comboBoxSemestr.setFont(
comboBoxLecturer.setFont(
comboBoxNormative.setFont(
textFldEvaluation.setFont(
textFldDataDelivery.setFont(
JPanel panelLabelClick = new JPanel();
final JLabel labelBackClick = new JLabel();
try {
labelBackClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/back.png"))))
} catch (IOException e) {
JOptionPane.showMessageDialog(
return;
}
labelBackClick.
@Override
public void mouseClicked(MouseEvent arg0) {
setVisible(false);
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
try {
labelBackClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/back_.png")))
} catch (IOException e1) {
JOptionPane.showMessageDialog(
return;
}
}
public void mouseExited(MouseEvent e) {
try {
labelBackClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/back.png"))))
} catch (IOException e2) {
JOptionPane.showMessageDialog(
return;
}
}
});
final JLabel labelOkClick = new JLabel();
try {
labelOkClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/ok.png"))));
} catch (IOException e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
labelOkClick.addMouseListener(
public void mouseClicked(MouseEvent arg0) {
try {
labelOkClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/ok.png"))));
} catch (IOException e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
if (textFldEvaluation.getText().
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
return;
}
addResultToBD();
setVisible(false);
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
try {
labelOkClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/ok_.png"))));
} catch (IOException e1) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
}
public void mouseExited(MouseEvent e) {
try {
labelOkClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/ok.png"))));
} catch (IOException e2) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
}
});
final JLabel labelMinusClick = new JLabel();
try {
labelMinusClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/minus.png")))
} catch (IOException e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
labelMinusClick.
public void mouseClicked(MouseEvent arg0) {
try {
labelMinusClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/minus.png")))
} catch (IOException e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
comboBoxSemestr.
comboBoxLecturer.
comboBoxNormative.
textFldEvaluation.setText("");
textFldDataDelivery.setText(""
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
try {
labelMinusClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/minus_.png"))
} catch (IOException e1) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
}
public void mouseExited(MouseEvent e) {
try {
labelMinusClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/minus.png")))
} catch (IOException e2) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
}
});
panelLabelClick.add(
panelLabelClick.add(
panelLabelClick.add(
JPanel panelLabel = new JPanel();
JLabel labelSemestr = new JLabel();
JLabel labelLecturer = new JLabel();
JLabel labelNormaive = new JLabel();
JLabel labelEval = new JLabel();
JLabel labelDeliveryData = new JLabel();
labelSemestr.setText("Семестр"
labelLecturer.setText("
labelNormaive.setText("
labelEval.setText("Оценка");
labelDeliveryData.setText("
labelSemestr.setFont(
labelLecturer.setFont(
labelNormaive.setFont(
labelEval.setFont(fontLabel);
labelDeliveryData.setFont(
panelLabel.add(labelSemestr);
panelLabel.add(Box.
panelLabel.add(labelLecturer);
panelLabel.add(Box.
panelLabel.add(labelNormaive);
panelLabel.add(Box.
panelLabel.add(labelEval);
panelLabel.add(Box.
panelLabel.add(
JPanel panelMain = new JPanel();
panelMain.setLayout(new FlowLayout(FlowLayout.CENTER, 15, 12));
panelMain.add(panelLabel, BorderLayout.CENTER);
panelMain.add(panelTextFld, BorderLayout.WEST);
panelMain.add(panelLabelClick, BorderLayout.SOUTH);
add(panelMain);
panelTextFld.setLayout(new BoxLayout(panelTextFld, BoxLayout.Y_AXIS));
panelLabel.setLayout(new BoxLayout(panelLabel, BoxLayout.Y_AXIS));
}
/**
* Этот метод заносит норматив в БД
*/
private void addResultToBD() {
try {
con = ConnectionDB.ConnectionDB();
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
}
String sql = "INSERT INTO phusical_education.result VALUES (?, ?, ?, ?, ?, ?, ?);";
try {
prst = con.prepareStatement(sql);
prst.setString(1, null);
prst.setInt(2, Utils.getIdSemestr(
prst.setInt(3, Utils.getIdLecture(
prst.setInt(4, Utils.getIdNormative(
prst.setInt(5, JFrameMain.getIdStudent());
prst.setString(6, textFldEvaluation.getText());
prst.setString(7, textFldDataDelivery.getText())
prst.executeUpdate();
prst.close();
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(
"Ошибка", JOptionPane.ERROR_MESSAGE);
Информация о работе ПЗ автоматизації обліку успішності з фізичного виховання