课 程 设 计 说 明 书.docx

上传人:b****4 文档编号:3678276 上传时间:2022-11-24 格式:DOCX 页数:18 大小:1.53MB
下载 相关 举报
课 程 设 计 说 明 书.docx_第1页
第1页 / 共18页
课 程 设 计 说 明 书.docx_第2页
第2页 / 共18页
课 程 设 计 说 明 书.docx_第3页
第3页 / 共18页
课 程 设 计 说 明 书.docx_第4页
第4页 / 共18页
课 程 设 计 说 明 书.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

课 程 设 计 说 明 书.docx

《课 程 设 计 说 明 书.docx》由会员分享,可在线阅读,更多相关《课 程 设 计 说 明 书.docx(18页珍藏版)》请在冰豆网上搜索。

课 程 设 计 说 明 书.docx

课程设计说明书

课程设计说明书

 

设计题目:

专业:

信息管理与信息系统班级:

12级2班

设计人:

许悦

 

山东科技大学

15年7月16日

摘  要

随着网络的不断普及使用,山科大济南校区的学生数量越来越多。

为了服务山东科技大学济南校区的广大同学,建立学生服务系统能够让广大同学得到最方便和实用的帮助。

本学生服务系统是基于JSP与SQL server 2008数据库技术建立的一个系统,使用了JDBC-ODBC桥连接技术连接数据库、并结合了javabean、Servlet等技术,该系统提供了学生与课程信息增删改查、教室预约、请假申请、宿舍保修、快递签收、校园地图导航、统计分析等功能,基本上能满足学生的需求。

 

  

关键词:

 学生服务,JSP,SQLSERVER, JavaBean,Servlet

 

目录

1引言………………………………………………………………4

2需求分析…………………………………………………………7

3可行性分析……………………………………………………12

4项目实施方案…………………………………………………14

5系统详细设计…………………………………………………15

6系统界面设计…………………………………………………19

7系统程序详细设计……………………………………………21

8系统测试………………………………………………………26

9项目验收………………………………………………………30

 

参考文献…………………………………………………………31

 

第一章引言

1.1研究背景

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机网络服务学生,具有传统服务方式无可比拟的优点。

例如,检索迅速、方便快捷、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高服务广大学生的效率,也是学校的科学化、正规化管理的重要条件。

因此,开发学生服务系统很有必要。

1.2研究目的

提高服务学生的效率效果,方便快速操作,节约资源,精简人员。

结合学生自身的实际需要,实现对学生多方面的切实帮助,提供给学生一个多元的服务平台。

 

第二章需求分析

2.1用户需求

(1)组织结构分析:

总控模块管理应当有三种不同的信息的处理模块,即管理员模块、教师模块、学生模块,各模块的主要功能有:

管理员:

实现管理员用户注册、修改信息,以及对学生增删改查、对学生快递信息进行推送、对学生报修信息及时回应等基本功能。

 教师模块:

各科教师登录系统后查询个人信息,对学生的网上请假信息进行查询和审批。

学生模块:

实现学生注册功能,并能使每个学生登录后可以查询和修改个人信息,同时在课程结束后可以查询在校期间各个时间段选修课程的成绩与学分,以及对单科成绩和总分的排名查询,学生可以进行教室预约、请假申请、宿舍报修、快递签收、校区地图导航等功能操作。

并且该网站有一套积分系统,学生能够通过完善信息等要求赚取学习币,用以享受更好的服务。

(2)业务流程分析:

业务流程图如下。

图2.1数据流图一

(3)数据流程分析:

通过查询数据库中的学生表、教师表和管理员信息表实现学生、教师、管理员三方登录。

学生通过请假表向教师进行请假申请,通过报修表对管理员进行报修申请,通过课程表进行课程及成绩信息查询。

管理员通过快递表对学生进行快递信息推送。

(4)处理逻辑分析:

包括系统管理,人工管理,数据库管理三部分。

 

系统管理由系统管理部工作人员来完成,人工管理由任课教师、校园学生后勤部门管理员进行管理,数据库管理则由工作人员负责。

 

   在各个管理功能中都具备查询、浏览、操作功能,在各个模块中根据合理的需求进行相应的处理,使得原系统得以优化和完善。

2.2功能需求

学生服务系统的功能需求包括:

学生信息增改查需求、学生教室预约需求、学生请假申请需求、学生宿舍报修需求、学生快递签收需求、学生校区地图导航功能需求。

这六个部分既相互联系又相互独立。

需要说明的是,关于学生请假功能,系统可以分析出学生历史请假次数,通过数据分析向教师提出审批意见。

关于教室预约功能,学生必须在规定时间内(20:

00—22:

00)进行预约操作,其他时间预约系统不予开放,每个教室有相应的容量限制,达到限制后不允许后面的同学预约,预约成功后系统自动提供相应教室的座号。

关于学生请假申请和宿舍保修申请功能,学生在提交申请后,需要教师或管理员进行审批通过后才算申请成功。

2.3功能设计

(1)功能模块图:

图2.3功能模块图

(2)采用的技术方法简介:

本系统采用JSP+JavaBeans+Servlet技术。

JSP和Servlet和结合能很好地解决动态网页的页面与程序的合并问题,它们的结合加上JavaBeans的使用,能控制整个网站逻辑流程。

在逻辑关系异常复杂的网站中,可将网站的整个逻辑结构放在Servlet中,而将动态页面的输出放在JSP页面中来完成。

一个复杂的网站可以由一个或几个核心的Servlet来处理网站的逻辑,通过调用JSP页面来完成客户端的请求。

2.4亮点功能分析

亮点一:

对于学生来说,在成绩查询的时候可以看到专业排名。

这对成绩好的同学是一个鼓励,对于成绩不理想的同学也可以起激励作用。

亮点二:

关于学生请假功能,系统可以分析出学生历史请假次数,通过数据分析向教师提出审批意见。

亮点三:

关于教室预约功能,学生必须在规定时间内(20:

00—22:

00)进行预约操作,其他时间预约系统不予开放,每个教室有相应的容量限制,达到限制后不允许后面的同学预约,预约成功后系统自动提供相应教室的座号。

亮点四:

关于学生请假申请和宿舍保修申请功能,学生在提交申请后,需要教师或管理员进行审批通过后才算申请成功。

亮点五:

关于积分系统,学生通过积分规定进行相应的操作以获得学习币。

并且使用学习币进行教室预约、在线请假报修等功能操作,得到更好的服务。

 

第三章可行性分析

3.1技术可行性

本系统拟采用采用JSP+JavaBeans+Servlet技术。

JSP实质上是在运行Servlet程序。

Servlet程序是由Web服务器端的JVM执行的Java类,所以JSP平台首先需要Java的运行环境,这可以通过安装JDK来实现。

系统还需要一个JSP环境的servlet容器,较为普遍的应用是称为Tomcat的软件。

一个完整的JSP平台应包括操作系统平台、JDK+JSP环境和servlet容器。

对比ASP,JSP(JavaServerPage)与ASP(ActiveServerPage)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序。

大多数通用的Web服务器如:

Apache、Netscape和MicrosoftIIS都支持JSP页面,只有微软本身的MicrosoftIIS和PersonalWebServer可以支持ASP。

关于数据可行性,系统涉及的原始数据种类类型有char型、varchar型、tinyint型、int型、datetime型等。

数据来源为学校、学生与教师三方面。

数据的获取方式为学校教科部的排课安排数据、学生校园卡和学生注册填写的信息,教师录入的信息等。

3.2操作可行性

本系统可以做到使管理员(教师)与学生进行数据录入时,达到迅速、规范、可靠的标准;其统计数据准确、直观,适应力强,容易扩充。

具有易用性、灵活性、开放性与可视性等。

3.3经济可行性

互联网技术不断发展与创新,其作用日益凸显。

在当今的信息时代,人们生活已经离不开互联网,互联网技术也无处不在。

互联网产业也是具有高投入/高产出、无污染、低能耗特点的绿色产业。

网上学生成绩管理系统开发工作量小,可以有两个人合作开发,开发周期短。

3.4安全可行性

首先JSP技术本身在网络安全方面有优点:

第一,JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中;第二,因为技术是基于Java的,所以具有Java的安全特性。

其次,本系统对于数据安全,应使用数据库加密技术——透明数据加密方式。

  它允许通过加密数据库文件和事务日志页实现对整个数据库的加密。

  “透明数据加密”(TDE) 可对数据和日志文件执行实时 I/O 加密和解密。

这种加密使用数据库加密密钥 (DEK),该密钥存储在数据库引导记录中以供恢复时使用。

DEK 是使用存储在服务器的 master 数据库中的证书保护的对称密钥,或者是由 EKM 模块保护的非对称密钥。

TDE 保护“处于休眠状态”的数据,即数据和日志文件。

  

 

第四章项目实施

4.1项目计划:

学生信息管理:

学生信息增加、删除、修改、查询。

课程信息管理:

课程信息增加、删除、修改、查询。

成绩信息管理:

成绩信息增加、删除、修改、查询、数据分析。

论坛管理系统:

文章发布、文章审核、删除。

数据分析:

课程成绩数据分析功能:

(平均分、难度系数、试题评价、及格率、良好率、优秀率、通过全校成绩分析不同学期间科目关联性);学生成绩数据分析(不及格科目名称和科目数、全科专业综合排名、总成绩、薄弱科目、对应学期、学期警告、推荐科目分析、通过个人成绩分析不同学期间科目成绩关联性)

项目开发时间:

第一周进行可行性分析、需求分析、设计精化,第二周开始实施各项任务,第三周整合报告。

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学生主页面

6.3管理员主页面

 

第七章系统程序详细设计

7.1模块结构图

图7.1模块结构图

7.2分配个人任务

许悦负责动态网页与功能实现;史蕾负责静态网页;粘晓华负责美工部分

7.3关键技术分析

1.一个方法中执行多次SQL语句总是失败。

解决办法:

将两条SQL语句分别写到不同的方法在Servlet中依次调用,即用第一次的list结果带入第二个方法得到最终的list集合。

例如计算全校成绩分析科目成绩关联性:

若全校超过50%的学生,他们的第一学年某一科是薄弱科目,下一学年另一科也是其薄弱科目,就可以得出总体关联性(以某一科目与高等数学为例)。

部分代码如下:

……

Stringguanlian="";

StringCname=null;

try{

list=op.findByCourse(Cno);

av=op.Uaverage("02");

list1=op.findByCourse("03");

a1v=op.Uaverage("03");

intn=0;

Gradegr2=newGrade();

gr2=(Grade)list.get(0);

Cname=gr2.getCname();

intk;

for(k=0;k

Gradegr=newGrade();

gr=(Grade)list.get(k);

Gradegr1=newGrade();

gr1=(Grade)list1.get(k);

if(gr.getScore()

n=n+1;

}

}

//System.out.println(k);

//System.out.println(n);

if(Cno.equals("03")){

guanlian="";

}

elseif(n

else{

guanlian="通过数据得出,全校超过50%的学生,他们的12-13学年薄弱科目为高等数学,在13-14学年"+Cname+"也是其薄弱科目。

所以高等数学与"+Cname+"的关联性比较大";

}

……

2.对于List的排名不能像SQL一样用语句筛选这么简单,应该使用Collections.sort(Listlist);方法,此方法会调用MyObject的compareTo方法实现排序功能:

GradeOperop=newGradeOper();

Listlist=newArrayList();

Listlist2=newArrayList();

try{

inti;

StringSno=null;

list=op.findMsno(smajor);

for(i=0;i

Gradegr=newGrade();

gr=(Grade)list.get(i);

Sno=gr.getSno();

list2.addAll(op.findSGradenew(Sno));

Collections.sort(list2,newComparator(){

@Override

publicintcompare(Gradeo1,Gradeo2){

//TODO在这里比较生产时间字段即可,如:

if(o1.getAllscore()

return1;

}elseif(o1.getAllscore()>o2.getAllscore()){

return-1;

}

return0;

}

});

}

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

3.数据库连接。

本系统数据库连接方式为ODBC:

JDBC桥连接方式。

代码如下:

packagecom.db;

importjava.sql.*;

publicclassDBConn{

Connectionconn=null;

publicConnectiongetConnection(){

Stringurl="jdbc:

odbc:

xuyue";

Stringuser="sa";

Stringpassword="";

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connectionconn=DriverManager.getConnection(url,user,password);

//conn=DriverManager.getConnection(url,user,password);

returnconn;

}catch(Exceptione){

e.printStackTrace();

returnnull;

}

}

publicvoidclose(){

try{

if(conn!

=null)conn.close();

}catch(Exceptione){}

}

}

 

第八章系统测试

8.1测试说明

软件测试是软件开发时期的最后一个阶段,也是软件质量和可靠性保证中至关重要的一个环节。

软件测试的基本任务是通过在计算机上执行程序,暴露出程序潜在的错误,以便进行纠错,从而保证程序的可靠运行,降低软件的风险。

 

所谓测试用例,就是意发现错误为目的而精心设计的一组测试数据。

测试一个程序,需要数量足够的一组测试用例,用数据词典的表示方法表示,可以写成:

 

测试用例={输入数据+输出数据} 这个是式子还表明,每一个完整的测试用例不仅包含有被测程序的输入数据,而且还包括用这组数据执行被测数据之后的预期的输出结果。

每次测试,都要把实测的结果与期望结果做比较,若不相符,就表明程序可能存在错误。

 

黑盒测试就是根据被测程序功能来进行测试,所以也称为功能测试。

用黑盒法涉及测试用例,有四种常用技术;等价分类法,边界值分析法,决策表法和因果图法。

 

整个测试基于需求文档,看是否能满足需求文档中所有需求。

黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,适用于对系统的功能进行测试。

8.2性能测试

测试时间:

7月11日 

测试内容:

负载测试 

目的:

测试正常情况下系统性能和用户数目之间的关系查看在多个用户同时本系统是否正常 

条件:

操作系统:

Win7系统 ;软件:

chrome浏览器、tomcat7服务器、JDK1.7、Microsoft SQL Server 2008 

人员:

许悦、粘晓华、史蕾 

8.2功能测试

在本学生成绩管理系统中在信息录入部分采用等价分类法。

等价分类属于黑盒测试法的一种,黑盒测试的优点比较简单,不需要了解程序内部的代码及实现,从用户的角度出发,且是基于软件开发文档,也能知道软件实现了文档中的哪些功能,在做软件自动化测试是比较方便。

黑盒测试法的缺点是覆盖率较低,自动化测试的复用性较低。

以学生信息部分为例:

1、学号:

必须有,且为12位数,前4位为入学时间,后4位为系别与专业号,最后4位为班级号及学号        

2、姓名:

必须有,要求为不超过5个汉字 

3、性别 :

必须有,为“男”或“女” 

4、年龄 :

2位数,在18—80间 

5、专业:

必须有,具体系别要求视各学校具体情况而定 

6、年级:

大一、大二、大三、大四四个选项

7、入学时间:

YYYY-MM-DD日期形式

注:

 学生登录时输入学号,若学号信息输入正确,则提示登录系统成功,否则无法登录进入系统,提示提示密码不正确请重新登录。

 输入域:

学号、姓名、性别、年龄、入学时间、专业、年级 

输出域:

是否录入/登录成功

表8.1测试表

输入

有效等价类

编号

无效等价类

编号

学号

12位数

1

超过12位

11

不足12位

12

姓名

必须有

2

13

不超过5个汉字

3

超过5个汉字

14

性别

4

15

5

年龄

2位数

6

不是2位数

16

18-80之间

7

18-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

信管

大三

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