1、 课 程 设 计 报 告课程设计名称:学生成绩管理系统系 : 三系 学生姓名: * 班 级: 计算机(3)班 学 号: * 成 绩: 指导教师: * 开课时间:2010-2011学年 2 学期一设计题目学生成绩管理系统二主要内容学生成绩管理系统从功能上划分可分为以下几大模块:1.学生信息管理学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、删除。2.课程信息管理课程信息管理:设置课程号,课程名,任课教师等课程信息,并可以对课程信息进行添加、修改、删除。3.学生成绩管理成绩信息管理模块:设置成绩信息,并可以对成绩信息进行添加、修改、删除。还可以用关键字查询并调出数据库里的学生基
2、本成绩信息的修改、删除等。输出查询的学生成绩信息,并对学生成绩总分,平均分等进行统计。三具体要求1.具有良好的系统性能,友好的用户界面2.较高的处理效率,便于使用和维护3.采用成熟的技术开发,是系统具有较高的技术水平和较长的生命周期4.系统尽可能简化重复工作,提高工作效率简化数据查询、降低统计难度四进度安排序号内 容时间(天)1调试工具使用0.52概要设计13详细设计24调试分析0.55测试结果16总结和完成设计报告2合 计7五成绩评定正文1、 系统的需求分析和功能设计需求分析:该学生成绩管理系统的开发是为了能够让用户方便、快速的查找有关于一些学生的基本信息。同时该学生成绩管理系统的建立也要要
3、求能够节约用户时间和节约系统资源等。该系统是由以下几部分组成:系统管理、学生管理、课程管理、成绩管理和信息管理。在系统管理功能中有退出功能;学生成绩管理功能中有增加学生、修改学生和删除学生;课程管理功能中有增加课程、修改课程和删除课程;成绩管理功能中成绩增加和成绩修改;信息管理功能中学生信息查询、课程信息查询和成绩查询。在查询功能中还有一些子功能。功能设计:1.系统功能结构学生成绩管理系统分为3大功能模块,分别为:学生信息管理、课程管理、成绩管理。系统各个部分及其包括的具体功能模块如图1所示。学生成绩管理系统学生信息管理课程信息管理成绩信息管理信息查询学生信息修改学生信息删除课程信息添加课程信
4、息修改课程信息删除成绩信息添加成绩信息修改成绩信息删除学生信息查询课程信息查询成绩信息查询按学号查询按姓名查询按性别查询按专业查询按班级查询按课程名查询按任课老师查询按科目查询图1 系统功能结构图2.数据库设计(1) 数据库概念结构设计局部E-R图 学生实体图:共有6中属性,包括学号、姓名、性别、出生日期、专业、籍贯等6种属性,如图2所示。学生学号姓名籍贯专业性别出生日期图2学生实体图课程实体图,课程信息实体共有3种属性,包括课程号,课程名,任课教师等3种属性,如图3所示。课程课程号任课教师课程名图3课程实体图成绩信息学号考试成绩课程名成绩实体图,成绩信息实体共有3种属性,包括学生学号,课程名
5、称,平考试成绩,成绩信息实体图如图4所示。 图4成绩信息实体图系统E-R图如图5所示11nn学生学号姓名籍贯专业出生日期性别课程信息选课课程名课程号任课教师成绩信息课程名学号成绩考试(2) 数据库逻辑结构设计本系统采用ACCESS数据库,各数据表结构如下:学生信息表: 如表1所示表1 学生信息表课程信息表: 如表2所示表2 课程信息表成绩信息表: 如表3所示表3 成绩信息表2、源程序及注释12(1)增加学生代码中主要代码如下:public void actionPerformed(ActionEvent e) if(e.getSource()=clearInfo) /设置清空按钮功能 sNum
6、.setText(); sBirth.setText(); sMajor.setText(); sHome.setText(); sName.setText(); else if(e.getSource()=addInfo) /设置增加按钮功能 String xh=sNum.getText(); String xm=sName.getText(); String xb; if(xb1.isSelected() /判断所选人的性别 xb=男; else xb=女; String csrq=sBirth.getText(); String zy=sMajor.getText(); String j
7、g=sHome.getText(); if(xh.equals() JOptionPane.showMessageDialog(this,学号不能为空!,操作提,JOptionPane.ERROR_MESSAGE); /创建学号不能为空提示信息框 else if(xm.equals() JOptionPane.showMessageDialog(this,姓名不能为空!,操作提示,JOptionPane.ERROR_MESSAGE); /创建姓名不能为空提示信息框 try /用来捕获异常 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String u
8、rl=jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb; /连接student数据库Connection con=DriverManager.getConnection(url); /建立连接Statement stm=con.createStatement(); /创建Statement对象 /创建添加学生sql语句String str=insert into xs(xh,xm,xb,csrq,zy,jg) values(+xh+,+xm+,+xb+,+csrq+,+zy+,+jg+);int rs=stm.ex
9、ecuteUpdate(sqlstr); /更新数据库记录if(rs0) /判断记录是否添加JOptionPane.showMessageDialog(this,恭喜你,学生信息添加成功!,提示,JOptionPane.INFORMATION_MESSAGE); /创建信息添加成功提示框con.close(); / 关闭结果集stm.close(); /关闭语句catch(Exception E) /用来处理异常 public static void main(String arg) /创建主函数new StuInfo(); /调用StuInfo()方法(2).修改学生代码中主要部分代码如下:
10、public void actionPerformed(ActionEvent ae) if(ae.getSource()=btnClear) /设置取消按钮功能 sNum.setText(); sNum.requestFocus(); else if(ae.getSource()=btnOk) /设置确定按钮功能 String xh=sNum.getText(); if(xh.equals() JOptionPane.showMessageDialog(this,学号不能为空!,警告,JOptionPane.ERROR_MESSAGE); 创建提示信息框 else StuInfo newst
11、=new StuInfo(); newst.sNum.setText(xh); newst.sNum.setEnabled(false); /把学号文本框禁用 newst.addInfo.setEnabled(false); /把增加按钮设置为禁用 newst.modifyInfo.setEnabled(true); /把修改按钮设置为可用 newst.deleteInfo.setEnabled(false); /把删除按钮设置为禁用 try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb;/连接student数据库Connection con=DriverManager.getConnection(url);/建立连接Statement stm=con.createStatement();/创建Statement对象String sql =select * from xs where xh=+xh+; /按学号查询学生表中所有数据 ResultSet rs= stm.executeQuery(sql); /执行sql操作
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1