学校代码:10128 学 号:
设计说明书
题 目: 学生成绩管理系统 学生姓名:
学 院: 信息工程学院 班 级: 指导教师: 讲师
年 月 日
1
内蒙古工业大学设计任务书
课程名称:数据库应用 学院: 信息工程学院 班级: 学生姓名: 学号:
指导教师:
一、题目 学生成绩管理系统 二、目的与意义 通过学习SQLSERVER数据库,设计开发学生成绩管理系统,可以加强学生对数据库系统的理解,培养学生的数据库应用系统开发能力,加强学生的工程经验,为学生在毕业时从事软件开发工作打下坚实的基础。 三、要求(包括原始数据、技术参数、设计要求、图纸量、工作量要求等) 1、采用MVC三层模式进行系统设计; 2、应用JSP/Servlet和Struts 2的等开发技术实现系统; 3、实现学生信息管理、课程信息管理、成绩管理等功能; 4、上交设计说明书1份。 四、工作内容、进度安排 1、综合应用数据准备————2学时 2、系统功能实现——————4学时 3、书写报告————————课后完成 五、主要参考文献 [1] 郑阿奇.SQL Server实用教程.第二版. 北京:电子工业出版社.2005 [2] 李存斌.数据库应用技术--SQL Server 2000简明教程.北京:中国水利水电出版社.2001 [3] 钱雪忠,罗海驰,程建敏.SQL SERVER 2005实用技术及案例系统开发.第一版.北京:清华大学出版社.2007 审核意见 系(教研室)主任(签字) 指导教师下达时间 2013年 4月15日 指导教师签字:_______________
2
1. 学生成绩管理系统概述
1.1 研究背景
学生成绩管理系统是学校管理学生的重要工具,是学校不可或缺的部分。 随着在校大学生人数的不断增加,教务系统的数量也不断的上涨,。学校学生管理工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高对学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。
1.2 开发意义
随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网已成为大众趋势的发展。我们使用电脑的高效率才处理数据信息成为可能。 学生成绩管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。通过这个系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。
1.3 参考资料
①《软件测试方法和技术》 朱少民 主编 清华大学出版社 ②《软件测试教程》 杜文洁 主编 清华大学出版社 ③《如何设计黑盒测试的测试用例》 谈 燕 主编 成都教育学院学报 ④《常用软件工程》 郑人杰 主编 清华大学出版社 ⑤《面向对象软件工程与UML》 张 京 主编 人民邮电出版社 ⑥《数据库原理与实践教程——SQL Server》 何玉洁 主编 清华大学出版社
2. 系统需求分析
3
2.1 开发环境和软件
(1) 操作系统:Windows 7 (2) 数据库软件:SQL Server 2005 (3) Java开发工具:Myeclipse8.5
2.2 系统设计与功能分析
学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该系统用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等。用JDBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。 该系统实现的大致功能:
1.学生信息管理。该界面提供了对学生学籍信息的查询,添加,修改,删除。 2.课程信息管理。该界面提供了对课程信息的查询,添加,修改,删除 3.学生成绩管理。该界面提供了对学生成绩的添加,修改,删除,查询。
3.1 系统概念结构设计 开课学期
课程号 学号 成绩 课程号 学分 课程 课程名 学时
成绩
4 学籍 姓名 学号
图3.1系统E-R图
3.2 系统逻辑结构设计
学生信息表:
表3.2.1学生信息表
课程信息表:
表3.2.2课程信息表
成绩表:
表3.2.3成绩表
5
3.3 数据库实现
3.3.1关系模型
本设计中,存在2个实体(学生,课程),一个联系(成绩),在学生实体中,学号作为关键字;在课程实体中,课程编号作为关键字;在成绩实体中,学号和课程号共同作为关键字。
实体关系模式:
学生(学号,姓名,性别,出生时间,专业,总学分,备注,联系方式,照片)
课程(课程号,课程名,开课学期,学时,学分) 联系关系模式:
成绩(学号,课程号,成绩)
3.3.2 数据库关系图
图3.3.2数据库关系图
6
3.3.3 SQL语句实现
3.3.3.1数据表的创建: 1).学生信息表
create table XSB ( XH char(6) not null primary key, XM char(8) not null, XB bit null default 1, CSSJ datetime null, ZY char(12) null, ZXF int null default 0 check(ZXF>=0 and ZXF<160), BZ varchar(500) null, LXFS xml null, ZP image null )
2).课程信息表
USE PXSCJ
CREATE TABLE KCB( KCH char(3) NOT NULL primary key, KCM char(16) NOT NULL, KKXQ tinyint NULL XS tinyint NULL, XF tinyint NOT NULL , ) GO
3).成绩表
USE [PXSCJ]
CREATE TABLE CJB( XH char(6) NOT NULL, KCH char(3) NOT NULL, CJ int NULL ,
primary key(XH,KCH)
foreign key (XH) references XSB(XH), foreign key (KCH) references KCB(KCH)
)
3.3.3.2.视图的创建: create view XS_KC_CJ as
select XSB.XH,XSB.XM,KCB.KCH,KCB.KCM,CJB.CJ
from KCB
inner join CJB on KCB.KCH=CJB.KCH inner join XSB on XSB.XH=CJB.XH
3.3.3.3.触发器的创建
实现功能:当向成绩表(CJB)表插入一条记录时,检查该记录的“学号”在学生表(XSB)是否存
7
在,检查“课程号”在课程表(KCB)中是否存在。若有一项为否,则不允许插入。触发器语句如下:
create trigger [dbo].[Check_XSB_KCB] on [dbo].[CJB] for insert as
if exists (select XH from inserted where not exists(select XH from XSB where inserted.XH = XSB.XH))
or exists (select KCH from inserted where not exists(select KCH from KCB where inserted.KCH =
KCB.KCH))
rollback transaction
3.3.4 数据库连接
package org.jdbc; import java.sql.*;
import java.sql.Connection; import java.sql.DriverManager; public class DBConn { private Connection conn = null; public DBConn() { this.conn = this.GetConnection(); } /** 获取连接类 */ public Connection GetConnection() { try { /** 加载并注册SQLServer2005的JDBC驱动 */ Class.forName(\"com.microsoft.sqlserver.jdbc.SQLServerDriver\"); conn = DriverManager.getConnection( \"jdbc:sqlserver://localhost:1433;databaseName=PXSCJ\ \"jin19910424\"); /** 建立到SQLServer2005的连接 */ } catch (Exception e) { e.printStackTrace(); } return conn; } public Connection getConn() { return conn; } }
4. 系统模块详细设计及模块测试
4.1主页面模块
4.1.操作人员登陆后进入主页面,可以对所有学生的学籍,课程及成绩进行操作。
8
学生信息管理的操作有:学生信息录入、学生信息查询,修改和删除;课程信息管理的操作有:课程信息录入和课程信息查询,修改和删除;成绩管理的操作有:成绩信息录入、学生成绩查询,修改和删除。界面如图4.1。
图4.1主页面
4.2 学生信息管理
4.2.1学生信息录入
操作人员点击主页面的“学生信息录入”,进入学生信息录入界面可将新学生信息加入到数据库PXSCJ的XSB中。如图4.2.1,
图4.2.1学生信息录入
4.2.2学生信息查询
操作人员点击“学生信息查询”可以查看所有的学生的信息,如图4.2.2.1。
9
图4.2.2.1查看所有的学生的信息
点击“详细信息”,可以查看到学生的详细信息,如图4.2.2.2。
图4.2.2.2学生的详细信息
点击“修改”,可以修改该学生的信息,如图4.2.2.3。
图4.2.2.3修改学生的信息
点击“删除”,弹出删除界面,点击“确定”可以删除该学生的信息,如图4.2.2.4。
10
图4.2.2.4删除学生的信息
4.3 课程信息管理 4.3.1课程信息录入
管理员点击“课程信息录入”可以对新添加的课程的信息进行录入,如图4.3.1。
图4.3.1课程信息录入
4.3.2课程信息查询
操作人员点击“课程信息查询”可以查看所有课程信息,如图4.3.2.1。
图4.3.2.1查看所有课程信息
11
点击“删除”,出现删除对话框,点击“是”,删除课程的信息,如图4.3.2.2 。
图4.3.2.2删除课程的信息
点击“修改”,可以对课程的信息进行修改,如图4.3.2.3。
图4.3.2.3修改课程的信息
4.4成绩信息管理
4.4.1成绩信息录入
管理员可以通过学生成绩信息录入界面将学生的成绩信息的信息录入到数据库中,如图4.4.1。
12
图4.4.1成绩信息录入
4.4.2学生成绩查询
管理员可以通过点击“学生成绩查询”,查询学生的成绩信息的信息,如图4.4.2.1。
图4.4.2.1学生成绩查询
点击“修改”,可以对成绩的信息进行修改,如图4.4.2.2。
图4.4.2.2修改成绩的信息
点击“删除”,出现删除对话框,点击“是”,删除成绩的信息,如图4.4.2.3。
13
图4.4.2.3删除成绩的信息
5 课程设计总结
课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。本次课程设计虽然很辛苦,但是受益匪浅,在设计过程中碰到了很多问题,不知道从哪里下手,最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果。理论和实践的相结合是学习最有效的方法,在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定要把以前所学过的知识重新温故。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
附录:源代码
14
因篇幅问题不能全部显示,请点此查看更多更全内容