ПЗ автоматизації обліку успішності з фізичного виховання

Автор: Пользователь скрыл имя, 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

Работа содержит 1 файл

lozovaya_kursach_java.docx

— 608.55 Кб (Скачать)

            while (rs.next()) {

                students.add(new Student(rs.getInt("id_student"), rs.getString("surname_student"), rs.getString("firstname_student"),

                        rs.getString("middlename_student"), rs.getString("name_group"), rs.getString("phone_student")));

            }

            JFrameMain.updateTableStudents();

            con.close();

            сt.close();

        } catch (FileNotFoundException e1) {

            JOptionPane.showMessageDialog(null, "Ошибка соединения с базой данных!",

                    "Ошибка", JOptionPane.ERROR_MESSAGE);

        } catch (SQLException e2) {

            JOptionPane.showMessageDialog(null, "Ошибка выполнения запроса к базе данных!",

                    "Ошибка", JOptionPane.ERROR_MESSAGE);

        }

    }

    /**

     * Добавление  Студентов в БД

     */

    private void addStudentToBD() {

        try {

            con = ConnectionDB.ConnectionDB();

        } catch (FileNotFoundException e) {

            JOptionPane.showMessageDialog(null, "Ошибка соединения с базой данных",

                    "Ошибка", 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.getText());

            prst.setString(4, textFldMiddlenameStudent.getText());

            prst.setInt(5, Utils.getIdGroup(comboBoxGroup.getSelectedItem().toString()));

            prst.setString(6, textFldPhoneStudent.getText());

            prst.executeUpdate();

            prst.close();

            con.close();

        } catch (Exception e) {

            JOptionPane.showMessageDialog(null, "Ошибка ввода информации! Повторите...",

                    "Ошибка", JOptionPane.ERROR_MESSAGE);

            return;

        }

        JOptionPane.showMessageDialog(null, "Данные успешно сохранены в БД");

        setEnabled(false);

    }

    /**

     * Редактирование  Студентов в БД

     */

    private void editStudentToBD() {

        try {

            con = ConnectionDB.ConnectionDB();

        } catch (FileNotFoundException e) {

            JOptionPane.showMessageDialog(null, "Ошибка соединения с базой данных",

                    "Ошибка", 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_student='" + student.getIdStudent() + "';";

        try {

            prst = con.prepareStatement(sql);

            prst.setString(1, textFldSurnameStudent.getText());

            prst.setString(2, textFldFirstnameStudent.getText());

            prst.setString(3, textFldMiddlenameStudent.getText());

            prst.setInt(4, Utils.getIdGroup(comboBoxGroup.getSelectedItem().toString()));

            prst.setString(5, textFldPhoneStudent.getText());

            prst.executeUpdate();

            prst.close();

            con.close();

        } catch (Exception e) {

            JOptionPane.showMessageDialog(null, "Ошибка ввода информации! Повторите...",

                    "Ошибка", JOptionPane.ERROR_MESSAGE);

            return;

        }

        JOptionPane.showMessageDialog(null, "Данные успешно обновлены в БД");

        setEnabled(false);

    }

    /**

     * Удаление Студентов  из БД

     */

    private void deleteStudentToBD() {

        try {

            con = ConnectionDB.ConnectionDB();

        } catch (FileNotFoundException e) {

            JOptionPane.showMessageDialog(null, "Ошибка соединения с базой данных",

                    "Ошибка", JOptionPane.ERROR_MESSAGE);

        }

        String sql = "DELETE FROM phusical_education.student WHERE phusical_education.student.id_student='" + student.getIdStudent() + "';";

        try {

            prst = con.prepareStatement(sql);

            prst.executeUpdate();

            prst.close();

            con.close();

        } catch (Exception e) {

            JOptionPane.showMessageDialog(null, "Ошибка ввода информации! Повторите...",

                    "Ошибка", JOptionPane.ERROR_MESSAGE);

            return;

        }

        JOptionPane.showMessageDialog(null, "Данные успешно обновлены в БД");

        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.getListSemestr().getItems());

        comboBoxLecturer = new JComboBox(Utils.getListLecturer().getItems());

        comboBoxNormative = new JComboBox(Utils.getListNormative().getItems());

        textFldEvaluation = new JTextField("");

        textFldDataDelivery = new JTextField("");

 

        panelTextFld.add(comboBoxSemestr);

        panelTextFld.add(Box.createVerticalStrut(8));

        panelTextFld.add(comboBoxLecturer);

        panelTextFld.add(Box.createVerticalStrut(8));

        panelTextFld.add(comboBoxNormative);

        panelTextFld.add(Box.createVerticalStrut(8));

        panelTextFld.add(textFldEvaluation);

        panelTextFld.add(Box.createVerticalStrut(8));

        panelTextFld.add(textFldDataDelivery);

 

        comboBoxSemestr.setFont(fontComboBox);

        comboBoxLecturer.setFont(fontComboBox);

        comboBoxNormative.setFont(fontComboBox);

        textFldEvaluation.setFont(fontTextFld);

        textFldDataDelivery.setFont(fontTextFld);

 

        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(null, "Ошибка загрузки картинки [back.png]");

            return;

        }

        labelBackClick.addMouseListener(new MouseListener() {

            @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(null, "Ошибка загрузки картинки [back_.png]");

                    return;

                }

            }

            public void mouseExited(MouseEvent e) {

                try {

                    labelBackClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/back.png"))));

                } catch (IOException e2) {

                    JOptionPane.showMessageDialog(null, "Ошибка загрузки картинки [back.png]");

                    return;

                }

            }

        });

        final JLabel labelOkClick = new JLabel();

        try {

            labelOkClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/ok.png"))));

        } catch (IOException e) {

            JOptionPane.showMessageDialog(null, "Ошибка загрузки картинки [ok.png]",

                    "Ошибка", JOptionPane.ERROR_MESSAGE);

        }

        labelOkClick.addMouseListener(new MouseListener() {

            public void mouseClicked(MouseEvent arg0) {

                try {

                    labelOkClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/ok.png"))));

                } catch (IOException e) {

                    JOptionPane.showMessageDialog(null, "Ошибка загрузки картинки [ok.png]",

                            "Ошибка", JOptionPane.ERROR_MESSAGE);

                }

                if (textFldEvaluation.getText().equals("") || textFldDataDelivery.getText().equals("")) {

                    JOptionPane.showMessageDialog(null, "Заполните все поля",

                            "Ошибка", 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(null, "Ошибка загрузки картинки [ok_.png]",

                            "Ошибка", 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(null, "Ошибка загрузки картинки [ok.png]",

                            "Ошибка", 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(null, "Ошибка загрузки картинки [minus.png]",

                    "Ошибка", JOptionPane.ERROR_MESSAGE);

        }

        labelMinusClick.addMouseListener(new MouseListener() {

            public void mouseClicked(MouseEvent arg0) {

                try {

                    labelMinusClick.setIcon(new ImageIcon(ImageIO.read(new File("src/images/minus.png"))));

                } catch (IOException e) {

                    JOptionPane.showMessageDialog(null, "Ошибка загрузки картинки [minus.png]",

                            "Ошибка", JOptionPane.ERROR_MESSAGE);

                }

                comboBoxSemestr.setSelectedItem("");

                comboBoxLecturer.setSelectedItem("");

                comboBoxNormative.setSelectedItem("");

                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(null, "Ошибка загрузки картинки [minus_.png]",

                            "Ошибка", 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(null, "Ошибка загрузки картинки [minus.png]",

                            "Ошибка", JOptionPane.ERROR_MESSAGE);

                }

            }

        });

        panelLabelClick.add(labelBackClick);

        panelLabelClick.add(labelMinusClick);

        panelLabelClick.add(labelOkClick);

 

        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(fontLabel);

        labelLecturer.setFont(fontLabel);

        labelNormaive.setFont(fontLabel);

        labelEval.setFont(fontLabel);

        labelDeliveryData.setFont(fontLabel);

 

        panelLabel.add(labelSemestr);

        panelLabel.add(Box.createVerticalStrut(13));

        panelLabel.add(labelLecturer);

        panelLabel.add(Box.createVerticalStrut(13));

        panelLabel.add(labelNormaive);

        panelLabel.add(Box.createVerticalStrut(13));

        panelLabel.add(labelEval);

        panelLabel.add(Box.createVerticalStrut(13));

        panelLabel.add(labelDeliveryData);

 

        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(null, "Ошибка соединения с базой данных",

                    "Ошибка", 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(comboBoxSemestr.getSelectedItem().toString()));

            prst.setInt(3, Utils.getIdLecture(comboBoxLecturer.getSelectedItem().toString()));

            prst.setInt(4, Utils.getIdNormative(comboBoxNormative.getSelectedItem().toString()));

            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(null, "Ошибка ввода информации! Повторите...",

                    "Ошибка", JOptionPane.ERROR_MESSAGE);

Информация о работе ПЗ автоматизації обліку успішності з фізичного виховання