您好,欢迎来到九壹网。
搜索
您的当前位置:首页学生成绩管理系统课程设计报告

学生成绩管理系统课程设计报告

来源:九壹网


软件工程综合实验

学生姓名 袁春艳 学班成

号 级 绩

1018014081 计本103班

曹阳

指导教师

数学与计算机科学学院

2012年 12月 3日

目录

第一章 绪 论 .................................................................................................................. 1

1.1 设计目的 ............................................................................................................ 1 1.2 开发工具选择 ..................................................................................................... 1 1.3 开发环境 ............................................................................................................ 1 第二章 需求分析............................................................................................................... 2

2.1系统需求简介 ..................................................................................................... 2

2.1.1问题定义.................................................................................................... 2

2.1.2功能需求分析............................................................................................. 2 2.1.3性能需求分析............................................................................................. 2 2.1.4用户需求.................................................................................................... 2

第三章 总体设计............................................................................................................... 5

3.1设计概述 ............................................................................................................. 5

3.2系统数据库概念结构设计 ..................................................................................... 5

3.2.1系统E-R图 ................................................................................................ 5 3.2.2系统数据设计............................................................................................. 6 3.3安全保密设计 ...................................................................................................... 6 第四章 实现...................................................................................................................... 8

4.1程序代码 ............................................................................................................. 8 4.2程序运行结果 .....................................................................................................31 第五章 课程设计心得.......................................................................................................34

学生成绩管理系统

第一章 绪 论

1.1 设计目的

通过本实验掌握软件工程SA或OOA需求分析方法和技术。要求做到使用结构化数据流分析技术或面向对象分析技术分析教学管理系统需求,写出详细的数据流图和数据字典。

1.2 开发工具选择

开发工具:计算机、“C++编程环境”或者“JAVA编程环境”、SQL Server 2000、文档编辑器(MS、WORD)、画图工具(viso)。

1.3 开发环境

学生成绩管理系统运行环境要求: ①操作系统:windows 2000/XP/windows 7 ②数据库管理系统:SQL server 2000 ③硬件需求:内存256M以上

1

第二章 需求分析

2.1系统需求简介

2.1.1问题定义

本系统需进行学生成绩管理,主要用户有:管理员、学生、教师。各用户具体需操作的功能如下:

① 管理员,登陆,进入系统,可进行管理员操作,进行查询、删除、修改、添加、打印等操作。

② 学生,登陆,进入系统,可进行查询、修改、打印等操作。

③ 教师,登陆,进入系统,可进行查询、学生成绩录入、修改、打印等操作。

2.1.2功能需求分析

本系统的功能需求分析如下:

① 学生信息查询:学生可以根据学号、姓名、专业进行查询. ② 学生信息管理:主要是用于学生信息更新、插入、删除;

③ 学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新;

2.1.3性能需求分析

① 登录、用户界面需求:简洁、易懂、易用、友好的用户界面。

② 安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管理等。 2.1.4用户需求

①本系统具有很强的可靠性、可对录入的学生信息进行校验,对数据进行修改、删除,规定各种权限。

②本系统中的模块要求很强的可持续性,可以方便管理人员的修改与维护。 ③本系统操作方便、灵活、高效。

④本系统课高效、快速的查询学生的基本信息。

2

查询条件返回信息学生查询结果学生成绩管理系统学生信息、课程信息、教师信息返回信息成绩信息管理员

教师

图1 顶层数据流图

管理员学生信息课程信息、教师信息教师成绩信息返回信息查询条件学生查询结果1.查询返回信息2.学生管理3.课程管理4.成绩管理学生信息课程信息成绩信息表学生成绩信息

图2 零层数据流图

3

教师学生查询条件1.1要求合理管理员返回信息成绩信息表查询结果返回信息1.2查询

图3 一层数据流图

教师课程信息学生信息管理员学生返回信息成绩信息查询结果1.查询查询条件4.1录入4.2修改4.3删除学生成绩表返回信息学生成绩信息 图4 二层数据流图

4

第三章 总体设计

3.1设计概述

根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。逐一实现各个功能。

3.2系统数据库概念结构设计

根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。

3.2.1系统E-R图

系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。如图5系统E-R图结构。 学号 姓名 系名 学号 课程号成绩 成绩表 生日 总成绩 图5系统E-R图结构

学生表 选课 学分 考核 性别 课程号 备注 课程表 学生人数 课程名 开课时间 5

3.2.2系统数据设计

图6数据库关系图

3.3安全保密设计

系统设计了登录界面,每个合法用户有用户名及一个密码,只有当用户输入正确的用户名及密码组合后才能够对学生信息进行操作。

6

图7 登陆界面

图8登陆成功界面

7

第四章 实现

4.1程序代码

package api;

import java.util.List; mport domain.Account; import domain.Student; import domain.Teacher;

public interface IAccountDao {

Account findAccount(String userName, String password); boolean isUserd(String userName); Student findStudent(Account account); Teacher findTeacher(Account account); Account findAccount(Student student); Account findAccount(Teacher teacher);

void deleteAccount(Student student,Account account); void deleteAccount(Teacher teacher,Account account); void addAccount(Student student,Account account); void addAccount(Teacher teacher,Account account); void updateAccount(Student student,Account account); void updateAccount(Teacher teacher,Account account); }

package api;

import java.util.List; import domain.Account; import domain.Student; import domain.Teacher;

public interface IAccountService {

Account login(String userName, String password);

Student findStudent(Account account); Teacher findTeacher(Account account); Account findAccount(Student student); Account findAccount(Teacher teacher);

void removeAccount(Student student,Account account); void removeAccount(Teacher teacher,Account account); void addAccount(Student student,Account account);

void addAccount(Teacher teacher,Account account); void updateAccount(Student student,Account account); void updateAccount(Teacher teacher,Account account); }

package sgm.ui;

import javax.swing.JOptionPane; import domain.Account;

8

import api.IAccountService; import service.AccountService;

public class LoginWindow extends javax.swing.JFrame {

private IAccountService accountService;

public LoginWindow(IAccountService accountService) {

initComponents(); setLocationRelativeTo(null); this.accountService = accountService; }

private void initComponents() {……}

private void userNameTextActionPerformed(java.awt.event.ActionEvent evt) {} private void exitButtonActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); }

private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) { String userName = userNameText.getText().trim(); String password = String.valueOf(passwordText.getPassword()); if (\"\".equals(userName)) { JOptionPane.showMessageDialog(this, \"输入的用户名不能为空!\"); return; } if (\"\".equals(password)) { JOptionPane.showMessageDialog(this, \"输入的密码不能为空!\"); return; } try { Account account = accountService.login(userName, password); JOptionPane.showMessageDialog(this, \"登陆成功!\"); this.setVisible(false); new MainWindow(account).setVisible(true); } catch (Exception e) { JOptionPane.showMessageDialog(this, e.getMessage()); } }

private javax.swing.JButton exitButton; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JButton loginButton; private javax.swing.JPasswordField passwordText;

9

private javax.swing.JTextField userNameText; }

package sgm.ui;

import java.awt.Color;

import java.awt.event.ActionEvent; import javax.swing.*; import domain.*;

import factory.Factory;

import api.IAccountService; import sgm.manager.ui.*;

import sgm.student.ui.StudentInfoDialog;

import sgm.student.ui.StudentQueryScoreDialog; import sgm.teacher.ui.TeacherInfoDailog;

import sgm.teacher.ui.TeacherInputScoreDialog;

public class MainWindow extends javax.swing.JFrame { private Account account; private Action allStudentsInfoAction; private Action allTeachersInfoAction; private Action allAccountsAction; private Action allScoreAction; private Action allCourseAction; private Action choiceCourseAction; private Action studenInfoAction; private Action studentQueryScoreAction; private Action teacherInfoAction; private Action teacherInputAction; private Action exitAction;

public MainWindow(Account account) { this.setSize(800, 600); setTitle(\"学生成绩管理系统首页\"); setDefaultCloseOperation(EXIT_ON_CLOSE); setLocationRelativeTo(null); this.account = account; JLabel label = new JLabel(new ImageIcon(\"image/sunset.jpg\")); this.add(label); createActions(); setPermission(); }

private void setPermission() { int permission = account.getPermission(); if (permission == 1) { JMenuBar bar = new JMenuBar(); JMenu menu1 = new JMenu(\"基本信息管理\");

10

menu1.add(studentQueryScoreAction); bar.add(menu1); this.setJMenuBar(bar); } if (permission == 2) { JMenuBar bar = new JMenuBar(); JMenu menu1 = new JMenu(\"基本信息管理\"); menu1.add(teacherInfoAction); menu1.add(teacherInputAction); bar.add(menu1); this.setJMenuBar(bar); } if (permission == 3) { JMenuBar bar = new JMenuBar(); JMenu menu1 = new JMenu(\"基本信息管理\"); menu1.add(allStudentsInfoAction); menu1.add(allTeachersInfoAction); menu1.add(allCourseAction); menu1.add(allAccountsAction); bar.add(menu1); JMenu menu2 = new JMenu(\"选课管理\"); menu2.add(choiceCourseAction); bar.add(menu2); JMenu menu3 = new JMenu(\"系统管理\"); menu3.add(exitAction); bar.add(menu3); this.setJMenuBar(bar); } }

private void createActions() { exitAction =new AbstractAction(\"安全退出\") { @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }; allStudentsInfoAction = new AbstractAction(\"学生信息管理\") { @Override public void actionPerformed(ActionEvent e) { AllStudentsInfoDialog dialog = new AllStudentsInfoDialog( MainWindow.this); dialog.setVisible(true); } };

11

allTeachersInfoAction = new AbstractAction(\"教师信息管理\") { @Override public void actionPerformed(ActionEvent e) { AllTeachersInfoDialog dialog = new AllTeachersInfoDialog( MainWindow.this); dialog.setVisible(true); } }; allCourseAction = new AbstractAction(\"课程信息管理\") {\\ @Override public void actionPerformed(ActionEvent e) {

AllCoursesInfoDialog dialog = new AllCoursesInfoDialog( MainWindow.this); dialog.setVisible(true); } }; allAccountsAction = new AbstractAction(\"账户管理\") { @Override public void actionPerformed(ActionEvent e) { AccountInfoDialog dialog = new AccountInfoDialog( MainWindow.this); dialog.setVisible(true); } }; allScoreAction = new AbstractAction(\"成绩管理\") { @Override public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(MainWindow.this, \"成绩管理功能还没实现!\"); } }; choiceCourseAction = new AbstractAction(\"选课管理\") { @Override public void actionPerformed(ActionEvent e) { ChoiceCourseDialog dialog = new ChoiceCourseDialog( MainWindow.this); dialog.setVisible(true); } }; studenInfoAction = new AbstractAction(\"基本信息\") { @Override public void actionPerformed(ActionEvent e) { Student student = Factory.createAccountService().findStudent(

12

account); StudentInfoDialog dialog = new StudentInfoDialog( MainWindow.this, student); dialog.setVisible(true); } }; studentQueryScoreAction = new AbstractAction(\"查看成绩\") { @Override public void actionPerformed(ActionEvent e) { Student student = Factory.createAccountService().findStudent( account); StudentQueryScoreDialog dialog = new StudentQueryScoreDialog( MainWindow.this, student); dialog.setVisible(true);} }; teacherInfoAction = new AbstractAction(\"基本信息\") { @Override public void actionPerformed(ActionEvent e) { Teacher teacher = Factory.createAccountService().findTeacher( account); TeacherInfoDailog dialog = new TeacherInfoDailog( MainWindow.this, teacher); dialog.setVisible(true); } }; teacherInputAction = new AbstractAction(\"录入成绩\") { @Override public void actionPerformed(ActionEvent e) { Teacher teacher = Factory.createAccountService().findTeacher( account); if(Factory.createChoiceCourseService().findInclass(teacher).isEmpty()) { JOptionPane.showMessageDialog(MainWindow.this, \"录入成绩功能未开通!\"); return; } TeacherInputScoreDialog dialog = new TeacherInputScoreDialog( MainWindow.this, teacher); dialog.setVisible(true); } }; } }

13

package domain;

public class Account { private int id;

private String userName; private String password; private int permission;

public Account(int id, String name, String password, int permission) { this.id = id; this.userName = name; this.password = password; this.permission = permission; }

public int getId() { return id; }

public void setId(int id) { this.id = id; }

public String getName() { return userName; } public void setName(String name) { this.userName = name; }

public String getPassword() { return password; }

public void setPassword(String password) { this.password = password; }

public int getPermission() { return permission; }

public void setPermission(int permission) { this.permission = permission; }

@Override

public int hashCode() { final int prime = 31; int result = 1; result = prime * result + id; return result; }

@Override public boolean equals(Object obj) {

14

if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Account other = (Account) obj; if (id != other.id) return false; return true; } }

package domain; public class Course { private int number; private String name;

public Course(int number, String name) { super(); this.number = number; this.name = name; }

public int getNumber() { return number; }

public void setNumber(int number) { this.number = number; }

public String getName() { return name; }

public void setName(String name) { this.name = name; }

@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + number; return result; }

@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null)

15

return false; if (getClass() != obj.getClass()) return false; Course other = (Course) obj; if (number != other.number) return false; return true; } @Override public String toString() { return name; } }

package domain; public class Score { private String student_number; private int course_number; private int score; private String teacher_number; private String term; public Score(String student_number, int course_number, int score, String teacher_number, String term) { this.student_number = student_number; this.course_number = course_number; this.score = score; this.teacher_number = teacher_number; this.term = term; } public String getStudent_number() { return student_number; } public void setStudent_number(String student_number) { this.student_number = student_number; } public int getCourse_number() { return course_number; } public void setCourse_number(int course_number) {

16

this.course_number = course_number; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } public String getTeacher_number() { return teacher_number; } public void setTeacher_number(String teacher_number) { this.teacher_number = teacher_number; } public String getTerm() { return term; }

public void setTerm(String term) { this.term = term; }

@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + course_number; result = prime * result + ((student_number == null) ? 0 : student_number.hashCode()); return result; }

@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Score other = (Score) obj; if (course_number != other.course_number) return false; if (student_number == null) {

17

if (other.student_number != null) return false; } else if (!student_number.equals(other.student_number)) return false; return true; } }

package domain; public class Student { private String number; private String name; private String sex; private int age; private Department department; private String phoneNumber; private String IdCardNo; private Inclass inclass; private String homeAddress;

public Student(String number, String name, String sex, int age, Department department, String phoneNumber, String idCardNo, Inclass inclass, String homeAddress) { this.number = number; this.name = name; this.sex = sex; this.age = age; this.department = department; this.phoneNumber = phoneNumber; IdCardNo = idCardNo; this.inclass = inclass; this.homeAddress = homeAddress; } public String getNumber() { return number; }

public void setNumber(String number) { this.number = number; }

public String getName() { return name; }

public void setName(String name) { this.name = name; }

public String getSex() {

18

return sex; }

public void setSex(String sex) { this.sex = sex; }

public int getAge() { return age; }

public void setAge(int age) { this.age = age; }

public Department getDepartment() { return department; }

public void setDepartment(Department department) { this.department = department; }

public String getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; }

public String getIdCardNo() { return IdCardNo; }

public void setIdCardNo(String idCardNo) { IdCardNo = idCardNo; }

public Inclass getInclass() { return inclass; }

public void setInclass(Inclass inclass) { this.inclass = inclass; }

public String getHomeAddress() { return homeAddress; }

public void setHomeAddress(String homeAddress) { this.homeAddress = homeAddress; } }

package factory; import java.util.List;

19

import dao.AccountDao;

import dao.ChoiceCourseDao; import dao.CourseDao; import dao.DepartmentDao; import dao.InclassDao; import dao.ScoreDao; import dao.StudentDao; import dao.TeacherDao; import domain.Department; import domain.Inclass;

import api.IAccountDao; import api.IAccountService; import api.IChoiceCourseDao; import api.IChoiceCourseService; import api.ICourseDao; import api.ICourseService; import api.IDeparmentDao; import api.IDepartmentService; import api.IInclassDao; import api.IInclassService; import api.IScoreDao; import api.IScoreService; import api.IStudentDao; import api.IStudentService; import api.ITeacherDao; import api.ITeacherService; import service.AccountService;

import service.ChoiceCourseService; import service.CourseService; import service.DepartmentService; import service.InclassService; import service.ScoreService; import service.StudentService; import service.TeacherService; public class Factory { private static IAccountDao accountDao = new AccountDao(); private static IStudentDao studentDao = new StudentDao(); private static IStudentService studentService = new StudentService( studentDao); private static IDeparmentDao deparmentDao = new DepartmentDao(); private static IAccountService accountService = new AccountService( accountDao); private static IDepartmentService departmentService = new DepartmentService( deparmentDao);

20

private static IInclassDao inclassDao = new InclassDao(); private static IInclassService inclassService = new InclassService( inclassDao); private static ITeacherDao teacherDao = new TeacherDao(); private static ITeacherService teacherService = new TeacherService( teacherDao); private static IScoreDao scoreDao = new ScoreDao(); private static IScoreService scoreService =new ScoreService(inclassService, teacherService,scoreDao,studentDao);

private static ICourseDao courseDao = new CourseDao(); private static ICourseService courseService = new CourseService(courseDao); private static IChoiceCourseDao choiceCourseDao = new ChoiceCourseDao(); private static IChoiceCourseService choiceCourseService = new ChoiceCourseService( choiceCourseDao, inclassDao, courseDao, teacherDao,scoreDao,studentDao); public static IChoiceCourseService createChoiceCourseService() { return choiceCourseService; } public static IAccountService createAccountService() { return accountService; } public static IStudentService createStudentService() { return studentService; } public static IDeparmentDao getDeparmentDao() { return deparmentDao;} public static IDepartmentService getDepartmentService() { return departmentService; }public static IInclassDao getInclassDao() { return inclassDao; }

public static IInclassService getIInclassService() { return inclassService; }

public static ITeacherService createTeacherService() { return teacherService; }

public static IScoreService createScoreService() { return scoreService; }

public static ICourseService createCourseService() { return courseService;} }

package dao;

import java.sql.Connection; import java.sql.DriverManager; public class DBHelper {

21

public static Connection getConnection() { try { Class.forName(\"com.microsoft.sqlserver.jdbc.SQLServerDriver\"); return DriverManager.getConnection( \"jdbc:sqlserver://localhost:1433;DatabaseName=sgm\ \"sa\"); } catch (Exception e) { throw new RuntimeException(\"数据库服务器连接失败!\"); } } public static void closeConnection(Connection connection) { try { if (connection != null && !connection.isClosed()) connection.close(); } catch (Exception e) { throw new RuntimeException(\"关闭数据库连接失败!\"); } } }

package dao; import java.sql.*;

import java.util.ArrayList; import java.util.List; import domain.Account; import domain.Course; import domain.Department; import domain.Inclass; import domain.Score; import domain.Student; import domain.Teacher; import factory.Factory; public class DBSql { private String sql; private Connection connection; private PreparedStatement statement; public DBSql(String sql) { this.sql = sql; connection = DBHelper.getConnection(); try { statement = connection.prepareStatement(sql); } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } }

public void setString(int index, String value) {

22

try { statement.setString(index, value); } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } }

public void setInt(int index, int value) { try { statement.setInt(index, value); } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } }

public void write() { try { statement.executeUpdate(); connection.close(); } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); } }

public List readStudents() { List list = new ArrayList(); try { ResultSet rs = statement.executeQuery(); while (rs.next()) { String number = rs.getString(\"number\"); String name = rs.getString(\"name\"); int age = rs.getInt(\"age\"); String sex = rs.getString(\"sex\"); String phoneNumber = rs.getString(\"phoneNumber\"); String idCardNo = rs.getString(\"idCardN0\"); String homeAddress = rs.getString(\"homeAddress\"); int departmentNumber = rs.getInt(\"department_number\"); int inClassNumber = rs.getInt(\"inClass_number\"); Department department = Factory.getDeparmentDao() .findDepartment(departmentNumber); Inclass inClass = Factory.getInclassDao().findInclass( inClassNumber); Student student = new Student(number, name, sex, age, department, phoneNumber, idCardNo, inClass, homeAddress); list.add(student); } connection.close();

23

return list; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); } }

public Student readStudent() { Student student = null; try { ResultSet rs = statement.executeQuery(); while (rs.next()) { String number = rs.getString(\"number\"); String name = rs.getString(\"name\"); int age = rs.getInt(\"age\"); String sex = rs.getString(\"sex\"); String phoneNumber = rs.getString(\"phoneNumber\"); String idCardNo = rs.getString(\"idCardN0\"); String homeAddress = rs.getString(\"homeAddress\"); int departmentNumber = rs.getInt(\"department_number\"); int inClassNumber = rs.getInt(\"inClass_number\"); Department department = Factory.getDeparmentDao() .findDepartment(departmentNumber); Inclass inClass = Factory.getInclassDao().findInclass( inClassNumber); student = new Student(number, name, sex, age, department, phoneNumber, idCardNo, inClass, homeAddress); } connection.close(); return student; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); } } public Account readAccount() { Account account = null; try { ResultSet rs = statement.executeQuery(); while (rs.next()) { int id = rs.getInt(\"id\"); String userName = rs.getString(\"userName\"); String password = rs.getString(\"password\");

24

}

int permission = rs.getInt(\"permission\"); account = new Account(id, userName, password, permission); } connection.close(); return account;

} catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); }

public List readAccounts() { List list = new ArrayList(); try { ResultSet rs = statement.executeQuery(); while (rs.next()) { int id = rs.getInt(\"id\"); String userName = rs.getString(\"userName\"); String password = rs.getString(\"password\"); int permission = rs.getInt(\"permission\"); Account account = new Account(id, userName, password, permission); list.add(account); } connection.close(); return list; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); } }

public List readDepartments() { List list = new ArrayList(); try { ResultSet rs = statement.executeQuery(); while (rs.next()) { int number = rs.getInt(\"number\"); String name = rs.getString(\"name\"); Department department = new Department(number, name); list.add(department); } connection.close(); return list;

25

}

} catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); }

public List readInclasses() { List list = new ArrayList(); try { ResultSet rs = statement.executeQuery(); while (rs.next()) { int number = rs.getInt(\"number\"); String name = rs.getString(\"name\"); Inclass inclass = new Inclass(number, name); list.add(inclass); } connection.close(); return list; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); } }

public Department readDepartment() { try { Department department = null; ResultSet rs = statement.executeQuery(); if (rs.next()) { int number = rs.getInt(\"number\"); String name = rs.getString(\"name\"); department = new Department(number, name); } connection.close(); return department; }

} catch (Exception e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); }

public Inclass readInclass() {

26

}

Inclass inclass = null; try { ResultSet rs = statement.executeQuery(); if (rs.next()) { int number = rs.getInt(\"number\"); String name = rs.getString(\"name\"); inclass = new Inclass(number, name); } connection.close(); return inclass; } catch (Exception e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); }

public List readCourses() { List list = new ArrayList(); try { ResultSet rs = statement.executeQuery(); while (rs.next()) { int number = rs.getInt(\"number\"); String name = rs.getString(\"name\"); Course course = new Course(number, name); list.add(course); } connection.close(); return list; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); } }

public Course readCourse() { try { ResultSet rs = statement.executeQuery(); Course course = null; while (rs.next()) { int number = rs.getInt(\"number\"); String name = rs.getString(\"name\"); course = new Course(number, name); }

27

}

connection.close(); return course;

} catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); }

public List readTeachers() { List list = new ArrayList(); try { ResultSet rs = statement.executeQuery(); while (rs.next()) { String number = rs.getString(\"number\"); String name = rs.getString(\"name\"); int age = rs.getInt(\"age\"); String sex = rs.getString(\"sex\"); String phoneNumber = rs.getString(\"phoneNumber\"); String idCardNo = rs.getString(\"idCardN0\"); String homeAddress = rs.getString(\"homeAddress\"); int departmentNumber = rs.getInt(\"department_number\"); Department department = Factory.getDeparmentDao() .findDepartment(departmentNumber); Teacher teacher = new Teacher(number, name, sex, age, department, phoneNumber, idCardNo, homeAddress); list.add(teacher); } connection.close(); return list; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); } }

public Teacher readTeacher() { Teacher teacher = null; try { ResultSet rs = statement.executeQuery(); while (rs.next()) { String number = rs.getString(\"number\"); String name = rs.getString(\"name\"); int age = rs.getInt(\"age\"); String sex = rs.getString(\"sex\");

28

}

String phoneNumber = rs.getString(\"phoneNumber\"); String idCardNo = rs.getString(\"idCardN0\"); String homeAddress = rs.getString(\"homeAddress\"); int departmentNumber = rs.getInt(\"department_number\"); Department department = Factory.getDeparmentDao() .findDepartment(departmentNumber); teacher = new Teacher(number, name, sex, age, department, phoneNumber, idCardNo, homeAddress); } connection.close(); return teacher;

} catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); }

public List readTerms() { List list = new ArrayList(); try { ResultSet rs = statement.executeQuery(); while (rs.next()) { String term = rs.getString(\"term\"); list.add(term); } connection.close(); return list; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); } }

public List readScores() { List list = new ArrayList(); try { ResultSet rs = statement.executeQuery(); while (rs.next()) { String student_number = rs.getString(\"student_number\"); int course_number = rs.getInt(\"course_number\"); String teacher_number = rs.getString(\"teacher_number\"); String term = rs.getString(\"term\"); int grade = rs.getInt(\"score\");

29

Score score = new Score(student_number, course_number, grade, teacher_number, term); list.add(score); } connection.close(); return list; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); } } public String readStudentName() { String name=\"\"; try { ResultSet rs = statement.executeQuery(); while (rs.next()) { name = rs.getString(\"name\"); } connection.close(); return name; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DBHelper.closeConnection(connection); } } }

package app;

import dao.AccountDao; import factory.Factory;

import sgm.ui.LoginWindow; public class Client {

public static void main(String[] args) {

LoginWindow window = new LoginWindow(Factory.createAccountService()); window.setVisible(true); } }

30

4.2程序运行结果

图9 添加学生信息界面

31

图10 学生信息管理界面

图11 更新学生信息界面

32

图12 老师录入成绩信息界面

图13 查看学生成绩信息界面

33

第五章 课程设计心得

一学期的课程实验结束了,我们组基本上完成了系统的设计。我们组按照软件工程的设计要求,从需求分析,概念设计,总体设计,实现,测试等各个步骤,分工完成了系统的各项任务,实现了系统的基本功能,而且收获不少:

1、通过实验巩固和加深了我对java的理解,提高综合运用所学知识的能力。 2、培养了我查阅参考书习惯。培养思考,深入研究,分析问题、解决问题的能力。 3、通过实现分析设计、编程调试,我掌握了应用软件的分析方法和工程设计方法。 也让我懂得了在以后学习中应该注意:

1、认真学习专业课知识,并且要勤于动手实践。

2、在做设计的时候要有信心,有耐心,而且要勤于思考,注重创新。

3、在课余时间里多写程序,多上机调试,增强自己的设计能力。

34

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务