学生选课管理系统设计与实现Word文件下载.docx
《学生选课管理系统设计与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生选课管理系统设计与实现Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
1.2应用环境1
第二章 系统需求分析2
2.1需求分析2
2.2可行性分析2
第三章 系统总体设计4
3.1系统功能模块的设计4
3.2数据库设计5
第四章系统详细设计与实现7
4.1登陆页面的实现8
4.2学生选课功能9
4.3学生查询已选课程信息功能10
4.4学生个人信息修改功能10
第五章系统测试12
结论13
第一章系统开发环境
1.1开发工具
硬件环境:
CPU的主频在500MHZ以上,内存在128MB以上
操作系统:
Windows7
数据库:
Access
编程语言及工具:
JAVA
应用系统:
Windows操作系统
服务器:
MicrosoftOffice,jdk1.6
1.2应用环境
服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。
最低配置如下:
处理器:
InterPentium41.6Hz或更高。
内存:
256MB
硬件空间:
40GB
第二章 系统需求分析
2.1需求分析
1.通用操作
(1)登录与注销
每个用户都可以用自己的帐号登录系统。
用户操作完成后推出系统,注销后可以重新登录系统。
(2)修改密码
每个用户第一次登录都用默认密码(教师和学生与帐号一样)。
2.用户所具有功能
(1)系统管理员
录入学生与教师个人信息:
通过此项功能可以实现对教师和学生的个人信息添加删除。
录入教学楼教室信息:
通过此项功能可以把学校里所有的教学楼教室的信息录入到系统中,以便教师在开设课程时候设置上课的教室。
(2)教师用户
显示和修改个人信息:
教师用户登录系统后,可以查看和修改教师的个人信息,如姓名,电话,E-mail地址等。
开设课程:
教师用户登录系统后,可以开设课程,可以设置该课程为必修课程或则选修课程,可以设置该课程的最大人数。
教师还可以为该课程设置一个前导课程,若学生没有学习或则选择前导课程则不能选择该课程。
编辑课程上课时间:
教师在开设了课程后,可以灵活地设置上课时间和地点。
(3)学生用户
学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话等。
查看必修课程:
学生登录后,可以查看所有的必修课程。
查看该课程的信息,上课时间地点,开课教师信息等。
选择选修课程:
学生登录系统后,在所有选修课程中可以选择至少两门选修课程。
同时可以查看相关信息。
查看最终选课信息:
学生登录系统后,可列出已选择的课程,若选课信息未被锁定,则可以退选,若所选课程少于两门,系统会提示选择的课程少于两门。
2.2可行性分析
技术可行性-----本系统仅需要一台装有Office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。
经济可行性-----由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。
所带来的效益远远大于系统软件的开发成本。
在经济上完全可行。
操作可行性-----界面设计时充分考虑管理人员的习惯,使得操作简单;
数据录入迅速、规范、可靠;
统计准确;
制表灵活;
适应力强;
容易扩充。
第三章 系统总体设计
3.1系统功能模块的设计
图3.1系统结构图
3.2数据库设计
数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
数据库的设计通常是以一个已经存在的数据库管理系统为基础的。
通过对业务流程的分析,得到了系统的实体,以及实体之间关系,根据这些实体与关系之间的联系,得到了系统的E-R图,如图所示。
图3.3学生选课管理系统ER图
E-R模型用实体间联系反映现实世界事物间的内在联系,而数据表的建立是应用程序开发过程中的非常重要的一个环节,必须清楚每一模块要操纵的数据是那些,以及数据间的相互关系,然后建立数据表。
包含以下3个表:
学生信息表,课程信息表,学生选课信息表。
下面分别详细介绍以上各表:
表3-1学生信息表
名称
字段名称
数据类型
长度
是否允许为空
学号
s_no
Char
10
No
姓名
s_name
8
Yes
性别
sex
2
出生日期
birthday
Datetime
院部
department
20
专业
sp
班级
class
12
密码
pw
表3-2课程信息表
课程号
c_name
5
课程名称
c_no
50
学时
s_time
Real
4
学分
scor
教师
teac
类型
typ
表3-3学生选课信息表
第四章系统详细设计与实现
详细设计阶段就是把解决方法具体化,设计出详细规格说明,包含必要的细节,程序员可以根据它们写出实际的程序代码,详细设计也称模块设计,在这个阶段将详细地设计每个模块,具体的实现功能。
在详细设计过程中,具体的功能实现过程可以按照软件工程中的方法描述中的交互模型具体描述,力求完全符合客户的真实需求。
该系统的设计基于以下几个原则:
1.标准化;
2.模块化;
3.先进性;
4.安全性;
5.交互性。
首先实现对数据库的连接,代码如下:
packageSrs;
importjava.sql.*;
publicclassLinkDatabase{
privateConnectioncon;
publicConnectiongetlink(){
try{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
);
Connectionconn=DriverManager.getConnection(
"
jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};
DBQ=mydb.mdb"
returnconn;
}
catch(ClassNotFoundExceptione){
e.printStackTrace();
returnnull;
catch(SQLExceptione){
}
publicvoidclose(){
if(con!
=null){
try{
con.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
4.1登陆页面的实现
实现目标:
程序启动后,主要实现如下功能,是学生登录和注册平台
图4.1登陆界面
4.2学生选课功能
学生可以自主选修选修课功能
图4.2学生选课界面
4.3学生查询已选课程信息功能
学生可以查看必修课程和已选修的课程功能
图4.3已选课程信息界面
4.4学生个人信息修改功能
图4.4个人信息修改界面
4.5学生注册功能
图4.4注册界面
第五章系统测试
为了保证测试的质量,将测试过程分成几个阶段,即:
代码审查、单元测试、集成测试、确认测试和系统测试。
(1)单元测试
单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。
(2)集成测试
集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。
如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;
把子功能组合起来可能不产生预期的主功能;
个别看起来是可以接受的误差可能积累到不能接受的程度;
全程数据结构可能有错误等。
(3)确认测试
确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。
经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。
(4)系统测试
软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。
包括恢复测试、安全测试、强度测试和性能测试等。
单独对系统的测试主要从以下几方面入手:
①功能测试:
测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。
功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。
②强度测试及性能测试:
测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。
经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。
结论
通过本次课程设计,成功的完成了这个小型简单的系统的设计,在整个设计过程中我对JAVA使用和它强大的作用有了一个更深刻的认识,尽管这个系统很简单,但是它让我综合运用了所学的JAVA的很多内容,在此基础上,对JAVA的基础知识得到了更好的巩固。
其实,在制作的过程中我也学到很多思想:
首先,要学会统筹全局,合理规划,例如在制作整个框架的时候提前就要做全面考虑,要把整个结构图画出来,并且要对数据库表里的东西做全面规划。
同时在编写程序的时候也要想好先实现什么功能,再实现什么功能,这样做出来的东西才有条理性,更容易实现和理解。
其次,要细心仔细。
Java程序虽然容易理解,但在写的过程中一不留心就会出现错误。
当然出错是在所难免的,与性质有关的错误可以经过思考讨论后进行改正,但如果粗心大意,出现输入上的错误就很难发现和修改,会耽误很多时间。
另外,整个软件测试是一个很复杂的过程,在测试过程中可能有很多设计不合理,不规范的部分,只有在今后的学习,实验中不断地学习,吸取经验,以更加熟练地掌握软件测试的技术。
通过本次试验,我加深了对软件开发过程的理解,受益良多。
参考文献
[1]耿祥义,张跃平.Java2实用教程[M].北京:
清华大学出版社,2004.
[2]冯凤娟.数据库原理及Oracle应用[M].北京:
清华大学出版社,2004
[3]FLANAGAN.JAVA技术手册[M].中国电力出版社,2002
[4]孙一林,彭波.JSP数据库编程实例[M].清华大学出版社,2002
[5]LEEANNEPHILLIPS.巧学活用JSP[M].电子工业出版社,2004
[6]飞思科技产品研发中心.JSP应用开发详解[M].电子工业出版社,2003
[7]耿祥义,张跃平.JSP实用教程[M].清华大学出版社,2003
[8]孙涌.现代软件工程[M].北京希望电子出版社,2003
[9]萨师煊,王珊.数据库系统概论[M].高等教育出版社,2002
[10]Brown等。
JSP编程指南(第二版)[M].电子工业出版社,2003
[11]清宏计算机工作室。
JSP编程技巧[M].机械工业出版社,2004
[12]朱红,司光亚.JSP编程指南[M].电子工业出版社,2001