1、课 程 设 计 说 明 书课 程 设 计 说 明 书设计题目: 专 业:信息管理与信息系统 班级:12级2班 设 计 人:许悦 山 东 科 技 大 学15 年 7月 16日摘要随着网络的不断普及使用,山科大济南校区的学生数量越来越多。为了服务山东科技大学济南校区的广大同学,建立学生服务系统能够让广大同学得到最方便和实用的帮助。本学生服务系统是基于JSP与SQLserver2008数据库技术建立的一个系统,使用了JDBC-ODBC桥连接技术连接数据库、并结合了javabean、Servlet等技术,该系统提供了学生与课程信息增删改查、教室预约、请假申请、宿舍保修、快递签收、校园地图导航、统计分析
2、等功能,基本上能满足学生的需求。关键词:学生服务, JSP,SQL SERVER,JavaBean, Servlet目录1 引言42 需求分析73 可行性分析124 项目实施方案145 系统详细设计156 系统界面设计197 系统程序详细设计218 系统测试269 项目验收30参考文献31第一章 引言1.1 研究背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机网络服务学生,具有传统服务方式无可比拟的优点。例如,检索迅速、方便快捷、可靠性高、存储量大、保密性好、寿命长、成本低等。这
3、些优点能够极大地提高服务广大学生的效率,也是学校的科学化、正规化管理的重要条件。因此,开发学生服务系统很有必要。1.2 研究目的 提高服务学生的效率效果,方便快速操作,节约资源,精简人员。结合学生自身的实际需要,实现对学生多方面的切实帮助,提供给学生一个多元的服务平台。 第二章 需求分析2.1用户需求(1)组织结构分析:总控模块管理应当有三种不同的信息的处理模块,即管理员模块、教师模块、学生模块,各模块的主要功能有:管理员:实现管理员用户注册、修改信息,以及对学生增删改查、对学生快递信息进行推送、对学生报修信息及时回应等基本功能。教师模块:各科教师登录系统后查询个人信息,对学生的网上请假信息进
4、行查询和审批。学生模块:实现学生注册功能,并能使每个学生登录后可以查询和修改个人信息,同时在课程结束后可以查询在校期间各个时间段选修课程的成绩与学分,以及对单科成绩和总分的排名查询,学生可以进行教室预约、请假申请、宿舍报修、快递签收、校区地图导航等功能操作。并且该网站有一套积分系统,学生能够通过完善信息等要求赚取学习币,用以享受更好的服务。 (2)业务流程分析: 业务流程图如下。图2.1 数据流图一(3)数据流程分析:通过查询数据库中的学生表、教师表和管理员信息表实现学生、教师、管理员三方登录。学生通过请假表向教师进行请假申请,通过报修表对管理员进行报修申请,通过课程表进行课程及成绩信息查询。
5、管理员通过快递表对学生进行快递信息推送。(4)处理逻辑分析:包括系统管理,人工管理,数据库管理三部分。系统管理由系统管理部工作人员来完成,人工管理由任课教师、校园学生后勤部门管理员进行管理,数据库管理则由工作人员负责。 在各个管理功能中都具备查询、浏览、操作功能,在各个模块中根据合理的需求进行相应的处理,使得原系统得以优化和完善。2.2 功能需求学生服务系统的功能需求包括:学生信息增改查需求、学生教室预约需求、学生请假申请需求、学生宿舍报修需求、学生快递签收需求、学生校区地图导航功能需求。这六个部分既相互联系又相互独立。需要说明的是,关于学生请假功能,系统可以分析出学生历史请假次数,通过数据分
6、析向教师提出审批意见。关于教室预约功能,学生必须在规定时间内(20:0022:00)进行预约操作,其他时间预约系统不予开放,每个教室有相应的容量限制,达到限制后不允许后面的同学预约,预约成功后系统自动提供相应教室的座号。关于学生请假申请和宿舍保修申请功能,学生在提交申请后,需要教师或管理员进行审批通过后才算申请成功。2.3 功能设计 (1)功能模块图:图2.3 功能模块图(2)采用的技术方法简介:本系统采用JSP+JavaBeans+Servlet技术。 JSP和Servlet和结合能很好地解决动态网页的页面与程序的合并问题,它们的结合加上JavaBeans的使用,能控制整个网站逻辑流程。在逻
7、辑关系异常复杂的网站中,可将网站的整个逻辑结构放在Servlet中,而将动态页面的输出放在JSP页面中来完成。一个复杂的网站可以由一个或几个核心的Servlet来处理网站的逻辑,通过调用JSP页面来完成客户端的请求。 2.4 亮点功能分析亮点一:对于学生来说,在成绩查询的时候可以看到专业排名。这对成绩好的同学是一个鼓励,对于成绩不理想的同学也可以起激励作用。亮点二:关于学生请假功能,系统可以分析出学生历史请假次数,通过数据分析向教师提出审批意见。亮点三:关于教室预约功能,学生必须在规定时间内(20:0022:00)进行预约操作,其他时间预约系统不予开放,每个教室有相应的容量限制,达到限制后不允
8、许后面的同学预约,预约成功后系统自动提供相应教室的座号。亮点四:关于学生请假申请和宿舍保修申请功能,学生在提交申请后,需要教师或管理员进行审批通过后才算申请成功。亮点五:关于积分系统,学生通过积分规定进行相应的操作以获得学习币。并且使用学习币进行教室预约、在线请假报修等功能操作,得到更好的服务。第三章 可行性分析3.1技术可行性 本系统拟采用采用JSP+JavaBeans+Servlet技术。JSP实质上是在运行Servlet程序。Servlet程序是由Web服务器端的JVM执行的Java类,所以JSP平台首先需要Java的运行环境,这可以通过安装JDK来实现。系统还需要一个JSP环境的ser
9、vlet容器,较为普遍的应用是称为Tomcat的软件。一个完整的JSP平台应包括操作系统平台、JDK+JSP环境和servlet容器。对比ASP,JSP(Java Server Page)与ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序。大多数通用的 Web服务器如:Apache、Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Personal Web Server可以支持ASP。关于数据可行性,系统涉及的原始数据种类类型有char型、varchar型、tinyint型、int型、
10、datetime型等。数据来源为学校、学生与教师三方面。数据的获取方式为学校教科部的排课安排数据、学生校园卡和学生注册填写的信息,教师录入的信息等。3.2操作可行性本系统可以做到使管理员(教师)与学生进行数据录入时,达到迅速、规范、可靠的标准;其统计数据准确、直观,适应力强,容易扩充。具有易用性、灵活性、开放性与可视性等。3.3经济可行性互联网技术不断发展与创新,其作用日益凸显。在当今的信息时代,人们生活已经离不开互联网,互联网技术也无处不在。互联网产业也是具有高投入/高产出、无污染、低能耗特点的绿色产业。网上学生成绩管理系统开发工作量小,可以有两个人合作开发,开发周期短。3.4安全可行性首先
11、JSP技术本身在网络安全方面有优点:第一,JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中;第二,因为技术是基于Java的,所以具有Java的安全特性。其次,本系统对于数据安全,应使用数据库加密技术透明数据加密方式。它允许通过加密数据库文件和事务日志页实现对整个数据库的加密。“透明数据加密”(TDE)可对数据和日志文件执行实时I/O加密和解密。这种加密使用数据库加密密钥(DEK),该密钥存储在数据库引导记录中以供恢复时使用。DEK是使用存储在服务器的master数据库中的证书保护的对称密钥,或者是由EKM模块保护的非对称密钥。TDE保护“处于休眠状态”的数据,即
12、数据和日志文件。 第四章 项目实施4.1 项目计划:学生信息管理:学生信息增加、删除、修改、查询。课程信息管理:课程信息增加、删除、修改、查询。成绩信息管理:成绩信息增加、删除、修改、查询、数据分析。论坛管理系统:文章发布、文章审核、删除。数据分析:课程成绩数据分析功能:(平均分、难度系数、试题评价、及格率、良好率、优秀率、通过全校成绩分析不同学期间科目关联性);学生成绩数据分析(不及格科目名称和科目数、全科专业综合排名、总成绩、薄弱科目、对应学期、学期警告、推荐科目分析、通过个人成绩分析不同学期间科目成绩关联性)项目开发时间:第一周进行可行性分析、需求分析、设计精化,第二周开始实施各项任务,
13、第三周整合报告。4.2 项目分工 项目组长:许悦 分工:许悦负责动态网页与功能实现;史蕾负责静态网页;粘晓华负责美工部分第五章 系统设计5.1系统流程与数据流图图5.1 系统流程图图5.2 数据流图一图5.3 数据流图二图5.4 数据流图三5.2 数据库E-R图5.3数据表设计图5.5 系统E-R图表5.1学生表表5.2课程表表5.3成绩表表5.4 登录信息表表5.5 论坛表表5.6 新论坛表第六章 系统界面设计图6.1 系统登录界面图6.2学生主页面63管理员主页面第七章 系统程序详细设计7.1模块结构图图7.1 模块结构图7.2 分配个人任务许悦负责动态网页与功能实现;史蕾负责静态网页;粘
14、晓华负责美工部分7.3 关键技术分析1一个方法中执行多次SQL语句总是失败。解决办法:将两条SQL语句分别写到不同的方法 在Servlet中依次调用,即用第一次的list结果带入第二个方法得到最终的list集合。例如计算全校成绩分析科目成绩关联性:若全校超过50%的学生,他们的第一学年某一科是薄弱科目,下一学年另一科也是其薄弱科目,就可以得出总体关联性(以某一科目与高等数学为例)。部分代码如下:String guanlian=; String Cname=null; try list=op.findByCourse(Cno); av=op.Uaverage(02); list1=op.find
15、ByCourse(03); a1v=op.Uaverage(03); int n = 0; Grade gr2=new Grade(); gr2=(Grade)list.get(0); Cname=gr2.getCname(); int k; for( k=0;klist.size();k+) Grade gr=new Grade(); gr=(Grade)list.get(k); Grade gr1=new Grade(); gr1=(Grade)list1.get(k); if(gr.getScore()av & gr1.getScore()a1v) n=n+1; /System.out.
16、println(k); /System.out.println(n); if(Cno.equals(03) guanlian=; else if(nk*0.5)guanlian=; else guanlian=通过数据得出,全校超过50%的学生,他们的12-13学年薄弱科目为高等数学,在13-14学年+Cname+也是其薄弱科目。所以高等数学与+Cname+的关联性比较大; 2对于List的排名不能像SQL一样用语句筛选这么简单,应该使用Collections.sort(List list);方法,此方法会调用MyObject的compareTo方法实现排序功能:GradeOper op=ne
17、w GradeOper(); List list=new ArrayList(); List list2=new ArrayList(); try int i; String Sno=null; list=op.findMsno(smajor); for(i=0;ilist.size();i+) Grade gr=new Grade(); gr=(Grade)list.get(i); Sno=gr.getSno(); list2.addAll(op.findSGradenew(Sno); Collections.sort(list2, new Comparator() Override pub
18、lic int compare(Grade o1, Grade o2) / TODO 在这里比较生产时间字段即可,如: if (o1.getAllscore() o2.getAllscore() return -1; return 0; ); catch (Exception e) / TODO Auto-generated catch block e.printStackTrace(); 3数据库连接。本系统数据库连接方式为ODBC:JDBC桥连接方式。代码如下:package com.db;import java.sql.*;public class DBConn Connection c
19、onn=null; public Connection getConnection() String url=jdbc:odbc:xuyue; String user=sa; String password=; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection conn= DriverManager.getConnection(url,user,password); /conn=DriverManager.getConnection(url, user, password); return conn; catch (Exce
20、ption e) e.printStackTrace(); return null; public void close() try if(conn!=null) conn.close(); catch(Exception e) 第八章 系统测试8.1测试说明软件测试是软件开发时期的最后一个阶段,也是软件质量和可靠性保证中至关重要的一个环节。软件测试的基本任务是通过在计算机上执行程序,暴露出程序潜在的错误,以便进行纠错,从而保证程序的可靠运行,降低软件的风险。所谓测试用例,就是意发现错误为目的而精心设计的一组测试数据。测试一个程序,需要数量足够的一组测试用例,用数据词典的表示方法表示,可以写成
21、:测试用例=输入数据+输出数据这个是式子还表明,每一个完整的测试用例不仅包含有被测程序的输入数据,而且还包括用这组数据执行被测数据之后的预期的输出结果。每次测试,都要把实测的结果与期望结果做比较,若不相符,就表明程序可能存在错误。黑盒测试就是根据被测程序功能来进行测试,所以也称为功能测试。用黑盒法涉及测试用例,有四种常用技术;等价分类法,边界值分析法,决策表法和因果图法。整个测试基于需求文档,看是否能满足需求文档中所有需求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,适用于对系统的功能进行测试。8.2性能测试测试时间:7月11日测试内容:负载测试目的:测试正常情况下系
22、统性能和用户数目之间的关系查看在多个用户同时本系统是否正常条件:操作系统:Win7系统;软件:chrome浏览器、tomcat7服务器、JDK1.7、MicrosoftSQLServer2008人员:许悦、粘晓华、史蕾8.2 功能测试在本学生成绩管理系统中在信息录入部分采用等价分类法。等价分类属于黑盒测试法的一种,黑盒测试的优点比较简单,不需要了解程序内部的代码及实现,从用户的角度出发,且是基于软件开发文档,也能知道软件实现了文档中的哪些功能,在做软件自动化测试是比较方便。黑盒测试法的缺点是覆盖率较低,自动化测试的复用性较低。以学生信息部分为例:1、学号:必须有,且为12位数,前4位为入学时间
23、,后4位为系别与专业号,最后4位为班级号及学号2、姓名:必须有,要求为不超过5个汉字3、性别:必须有,为“男”或“女”4、年龄:2位数,在1880间5、专业:必须有,具体系别要求视各学校具体情况而定6、年级:大一、大二、大三、大四四个选项7、入学时间:YYYY-MM-DD日期形式注:学生登录时输入学号,若学号信息输入正确,则提示登录系统成功,否则无法登录进入系统,提示提示密码不正确请重新登录。输入域:学号、姓名、性别、年龄、入学时间、专业、年级输出域:是否录入/登录成功表8.1 测试表输入有效等价类编号无效等价类编号学号12位数1超过12位11不足12位12姓名必须有2空13不超过5个汉字3超
24、过5个汉字14性别男4空15女5年龄2位数6不是2位数1618-80之间718-80之外17专业必须有8空18年级大一、大二、大三、大四之一9不是大一、大二、大三、大四之一19入学时间YYYY-MM-DD日期形式10不是YYYY-MM-DD日期形式20表8.2 测试用例表学号姓名性别年龄专业年级入学时间是否成功20120320222111张三男20信管大三2012-9-1失败201203202张三男20信管大三2012-9-1失败201203202201空男20信管大三2012-9-1失败201203202201张三四五男20信管大三2012-9-1失败201203202201张三空20信管大
25、三2012-9-1失败201203202201张三男200信管大三2012-9-1失败201203202201张三男20空大三2012-9-1失败201203202201张三男20信管大五2012-9-1失败201203202201张三男20信管大三2012年九月一日失败201203202201张三男16信管大三2012-9-1失败201203202201张三男20信管大三2012-9-1成功第九章 项目验收9.1 项目进度、完成功能与需求设计的符合程度项目进度较为适中。核心功能均有完成,但与需求分析设计的符合程度仍有一定的差距。比较同类系统,本系统有突出的亮点功能,如学生交流区、薄弱课程推荐功能、通过全校成绩分析不同学期间科目关联性。但在用户交互与界面设计上仍有很大的不足,有待进一步完善。9.3 升级改造方案a) 加入柱状图、饼状图等插件,使数据分析的结论更加直观地显示,让用户一目了然。b) 在界面设计上追求简洁高效,使用户省时省力愉悦地完成所需工作。c) 论坛功能还应加入用户修改功能附1 参考文献【1】耿祥义 张跃平Java大学实用教程(第三版)电子工业出版社,2012年1月
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1