学生成绩管理项目分析与设计报告.docx
- 文档编号:28477862
- 上传时间:2023-07-14
- 格式:DOCX
- 页数:21
- 大小:472.06KB
学生成绩管理项目分析与设计报告.docx
《学生成绩管理项目分析与设计报告.docx》由会员分享,可在线阅读,更多相关《学生成绩管理项目分析与设计报告.docx(21页珍藏版)》请在冰豆网上搜索。
学生成绩管理项目分析与设计报告
学生成绩管理系统
班级:
08软件工程4班
组号:
第3组
组长:
陈鑫
组员:
杨志刚、李金亮、周庆平
日期:
2011-5-25
目录:
系统可行性分析报告及初步计划
1.可行性分析
随着现代社会的快速发展,人类社会在不断地进步,电子计算机也逐渐成了人们的生活中不可或缺的工具,人们在慢慢的走向智能化。
当然现在的好多信息的管理都是通过计算机来实现的。
诸如我们平常所熟悉的高校学生信息的管理都是通过系统来实现的。
随着现在高校学生的暴涨及一些学校的广招,当每学期期末的时候学生成绩的管理将是一项很繁琐的流程。
单靠一些文字、文件的记录将成为一项伟大的工程。
然而通过基于B/S的架构的学生信息管理系统,将会使学生的成绩的管理变得更轻松,更简化。
因而说这个项目具有很高的实用性和普遍性,当然也适合很多的高校。
因此,该项目具有可行性。
2.初步计划
阶段名称
具体内容
时间
作者
定义对象阶段
可行性报告和初步计划
1天
全体成员
需求分析阶段
需求规格说明书
2天
全体成员
数据库设计阶段
E-R图、关系模式、数据库对象
3天
全体成员
功能详细设计阶段
功能模块、界面、控件、数据处理等
2天
全体成员
系统实现阶段
实现数据库、功能模块和存储过程
3天
全体成员
系统测试阶段
组装测试、特殊数据测试、性能测试
1天
全体成员
系统总结完善
用户手册和项目总结
1天
全体成员
需求分析说明
1.项目背景
随着现在高校学生的增多及网络的不安全等诸多因素,从而高校的一些小容量的数据库已经基本上不能够在满足需求,不是数据库崩溃就是数据丢失等等诸多因素。
从而,Oracle数据库应运而生。
不管从容量、性能、安全等多方面来说都是最优的。
所以本系统就是采用连接Oracle数据库来进行数据的存储和一些简单的操作。
2.需求分析概述
主要是对本系统的用户进行详细的分析及需求做如下分析:
首先从功能上主要就是实现对学生的成绩管理。
本系统主要分为三个角色:
学生、教师和管理员。
学生主要就是登录查看自己的信息或成绩。
教师主要就是对学生信息的管理和对自己的信息的管理。
而管理员的权限相对来说比较大,可以对学生和教师的信息进行管理。
其次数据上来说主要就是对该系统数据的分析。
本系统主要有7个表:
分别是学生表、教师表、课程表、选课表、任课表、系别表、管理员表。
其中存储着该系统的所有信息。
最后就是对该系统的其他需求。
主要也就是要求该系统在界面上要清晰,操作上要简易等等。
3.
4.功能模块图
本系统的主要功能模块图如下:
5.性能需求
根据学生成绩管理的需求进行开发设计,主要实现如下目标:
a.界面设计友好、美观、简易,数据要准确、安全、可靠。
b.具有强大查询功能,方便对所有学生成绩的查询。
c.设计用户登录功能,具有账号和密码保护,保证系统的安全性。
d.实现对学生成绩的添加、修改、删除,便于随时更新学生的成绩。
e.系统最大限度地实现易维护性和易操作性。
f.对于数据库,要设置不同用户的权限,数据的修改必须由合法用户操作。
6.环境需求
5.1硬件环境需求
需求名称
详细要求
操作系统需求
Windows7/Vista/XP
CUP
2.00GHz越高越佳
内存
至少512M越高越佳
其他环境
基本配置就可以
5.2系统开发环境
需求名称
平台
开发工具
MyEclipseTomcat
优化工具
DreamweaverVisio2003
数据库
Oracle10g
开发语言
Javajsp
6.数据需求
6.1数据字典
管理员数据字典:
教师数据字典:
学生数据字典:
6.2数据流图
顶层数据流图:
学生层查成绩数据流图:
教师层查成绩数据流图:
管理员层数据流图:
7.业务流程图
数据库设计
1.E-R图设计
2.表结构设计
根据本系统的设计与分析,采用GBK编码来创建本系统的数据result。
其主要的表有student、teacher、course、sc、tc、dept、admin七个表。
2.1student表
字段名
列类型及长度
说明
备注
Sno
Int
学生的ID号
主键
Sname
Varchar(8)
学生的姓名
不能为空
Ssex
Varchar
(2)
学生的性别
不能为空
Sage
Int
学生的年龄
不能为空
Sgrade
Varchar(30)
学生的年级
不能为空
Class
Varchar(20)
学生的班级
不能为空
Dno
Int
学生的系别
外键
spw
Varchar(20)
学生登录的密码
不能为空
2.2teacher
字段名
列类型及长度
说明
备注
Tno
Int
教师的编号
主键
Tname
Varchar(8)
教师的姓名
不能为空
Tsex
Varchar
(2)
教师的性别
不能为空
Tage
Int
教师的年龄
不能为空
Telephone
Int
教师的电话
不能为空
Dno
Int
教师的系别
外键
Tpw
Varchar(20)
教师的登录密码
不能为空
2.3course
字段名
列类型及长度
说明
备注
Cno
Varchar(8)
课程号
主键
Cname
Varchar(20)
课程名称
不能为空
2.4sc
字段名
列类型及长度
说明
备注
Sno
Int
学号
主键
Cno
Varchar(8)
课程号
外键
Grade
Int
成绩
不能为空
Term
Varchar(30)
学期
不能为空
2.5tc
字段名
列类型及长度
说明
备注
Tno
Int
教师的编号
主键
Cno
Varchar(8)
课程号
外键
2.6dept
字段名
列类型及长度
说明
备注
Dno
Int
系别编号
主键
Dname
Varchar(30)
系别名称
外键
2.7admin
字段名
列类型及长度
说明
备注
Username
Varchar(8)
管理员的用户名
主键
Password
Int
管理员的密码
不能为空
3.业务逻辑设计
本系统总共分为7个表,根据对不同表的操作,在Oracle环境下分包设计不同的函数或过程,其中为常用的连接查询创建视图。
包do_admin中的操作:
createorreplacepackagedo_admin
is
typerefcursorisrefcursor;
--添加管理员信息
procedureadd(a_novarchar2,a_pwvarchar2);
--删除管理员信息
proceduredel(a_novarchar2);
--列举所有管理员
functionlistreturnrefcursor;
--验证管理员登录信息
functioncheck_admin(a_novarchar2,a_pwvarchar2)returnvarchar2;
--根据管理员号查找信息
functionqueryByAno(a_novarchar2)returnrefcursor;
--修改密码
proceduremodifyApw(a_novarchar2,new_apwvarchar2);
enddo_admin;
包do_course中的操作:
createorreplacepackagedo_course
is
typerefcursorisrefcursor;
--添加课程信息
procedureadd(c_novarchar2,c_namevarchar2);
--删除课程信息
proceduredel(c_novarchar2);
--列举所有课程信息
functionlistreturnrefcursor;
--按课程号查找课程信息
functionqueryByCno(c_novarchar2)returnrefcursor;
enddo_course;
包do_dept中的操作:
createorreplacepackagedo_dept
is
typerefcursorisrefcursor;
--添加系别信息
procedureadd(d_novarchar2,d_namevarchar2);
--删除系别信息
proceduredel(d_novarchar2);
--列举所有系别信息
functionlistreturnrefcursor;
--按课程号查找课程信息
functionqueryByDno(d_novarchar2)returnrefcursor;
enddo_dept;
包do_sc中的操作:
createorreplacepackagedo_sc
is
typerefcursorisrefcursor;
--添加成绩信息
procedureadd(s_novarchar2,c_novarchar2,scorenumber,sc_termvarchar2);
--删除成绩信息
proceduredel(s_novarchar2,c_novarchar2);
--修改成绩
proceduremodify(s_novarchar2,c_novarchar2,newScorenumber);
--列举成绩信息
functionlistreturnrefcursor;
--按学号,学期查看成绩
functionqueryBySno(s_novarchar2,sc_termvarchar2)returnrefcursor;
--管理员对某学期某班的某科成绩进行分析
procedureanalEveryCs(class_namevarchar2,sc_termvarchar2,sc_cnovarchar2,sc_cnameoutvarchar2,avgScoreoutnumber,successPeroutvarchar2,bestPeroutvarchar2);
--教师按科目查询成绩信息
functionqueryByCno(c_novarchar2,sc_termvarchar2)returnrefcursor;
--教师对所开课程的成绩分析
procedureanalOneCs(c_novarchar2,sc_termvarchar2,sc_cnameoutvarchar2,avgScoreoutnumber,topScoreoutnumber,lawScoreoutnumber);
--按学号,课程号查询成绩
functionqueryByPk(s_novarchar2,c_novarchar2)returnrefcursor;
--教师单科按班级进行排名
functionorderByClassName(c_novarchar2)returnrefcursor;
--管理员对同一班级,同一学期学生总体成绩进行排名
functionorderByStu(class_namevarchar2,sc_termvarchar2)returnrefcursor;
--管理员统计班级不及格情况
functionfaileScores(class_namevarchar2,sc_termvarchar2)returnrefcursor;
enddo_sc;
包do_stu中的操作:
createorreplacepackagedo_stu
is
typerefcursorisrefcursor;
--验证学生登录信息
functioncheck_stu(s_novarchar2,s_pwvarchar2)returnvarchar2;
--删除学生信息
proceduredel(s_novarchar2);
--列举学生信息
functionlistreturnrefcursor;
--按系别查找学生信息
functionqueryByDno(d_novarchar2)returnrefcursor;
--按学号查找学生姓名
functionqueryNameBySno(s_novarchar2)returnvarchar2;
--按学号查找学生信息
functionqueryBySno(s_novarchar2)returnrefcursor;
--按班级查找学生信息
functionqueryByClass(class_namevarchar2)returnrefcursor;
--修改密码
proceduremodifySpw(s_novarchar2,new_spwvarchar2);
--根据系别列举班级
functionlistClasses(d_novarchar2)returnrefcursor;
enddo_stu;
包do_tc中的操作:
createorreplacepackagedo_tc
is
typerefcursorisrefcursor;
--添加任教信息
procedureadd(t_novarchar2,c_novarchar2);
--删除任教信息
proceduredel(t_novarchar2,c_novarchar2);
--列举任教信息
functionlistreturnrefcursor;
--根据职工号查看其任教信息
functionqueryByTno(t_novarchar2)returnrefcursor;
enddo_tc;
包do_teach中的操作:
createorreplacepackagedo_teach
is
typerefcursorisrefcursor;
--删除教师信息
proceduredel(t_novarchar2);
--验证教师登录信息
functioncheck_teach(t_novarchar2,t_pwvarchar2)returnvarchar2;
--列举教师信息
functionlistreturnrefcursor;
--按系查询教师信息
functionqueryByDno(d_novarchar2)returnrefcursor;
--按职工号查询教师信息
functionqueryByTno(t_novarchar2)returnrefcursor;
--修改密码
proceduremodifyTpw(t_novarchar2,new_tpwvarchar2);
enddo_teach;
功能详细设计
1.功能模块实现
本系统主要就是实现对学生成绩的管理,主要分为以下几个模块:
1.1用户登录模块
用户要想进入系统,首先要先通过登录以后,才可以进行相关的操作。
当然在用户登录前要选择登录的身份,然后输入正确的帐号和密码,从而系统将去数据库中相应的表中查寻相关的信息,从而来判断用户是否存在。
如果存在且帐号密码正确,用户将成功登录到该系统。
如果错误或不存在,将会提示用户注册。
当转到登录界面时候,用户就要输入相应的信息来注册自己的信息。
然后用户提交,系统首先判断旗是否符合标准,进行数据校验。
如果都成功,则将用户的信息存到数据库。
从而注册成功。
然后转到登录界面注入正确的信息登录就行。
1.2学生管理模块
当学生成功的登录后,就可以进行相关的操作了。
首先学生的权限是最小的。
学生可以管理自己的信息。
主要就是线查看自己的信息,当然本系统对于自己的管理也就是修改自己的密码,从而防止其他人随便盗用自己的帐号登录系统。
而另一方面就是查看自己的成绩。
学生可以选择适当的方式查询自己的成绩,可以按学期等等。
但是学生是不可以更改自己的成绩的。
1.3教师管理模块
当教师成功的登录后,就可以进行相关的操作了。
首先教师的权限是比较大的。
教师可以管理自己的信息。
主要就是线查看自己的信息,当然本系统对于自己的管理也就是修改自己的密码,从而防止其他人随便盗用自己的帐号登录系统,随意的篡改他人的成绩。
而另一方面就是查看学生的成绩和修改所担任课的成绩。
1.4管理员管理模块
当管理员成功的登录后,就可以进行相关的操作了。
首先管理员的权限是最大的。
管理员可以管理本系统的所有的信息。
首先,管理远对学生的管理就是可以增加学生、修改学生的信息和删除学生的信息等。
而对教师的管理就是可以增加教师的信息、修改教师的信息、删除教师的信息等等。
当然最重要的就是还可以对自己信息进行管理。
然而对学生的成绩的管理也是可以的,可以发布学生的成绩、修改所有学生的成绩。
最后管理员还可以对学生的成绩进行分析,比如对学生成绩及格率的分析、对学生成绩优秀率的分析、求所有学生的平均成绩、总成绩等等。
2.系统界面设计
需求名称
详细要求
系统名称
学生成绩管理系统
界面色彩
清晰、简单
界面管理
分布合理、功能齐全
界面布置
主要是登录、注册、角色主页面等界面
界面切换
瞬间切换
本系统的一些主要界面:
系统的登录界面:
管理员的主界面:
学生查看成绩界面:
教师修改成绩界面:
测试
软件测试也是软件开发的重要组成部分,也是保证产品质量的主要目的。
当然对于本系统的测试主要就是采用我们软件测试中的黑盒测试,即功能测试。
对与本系统的测试主要就是以下一些方面:
Ø测试该软件的一些功能是否满足要求,主要功能是否实现
Ø测试该软件的页面跳转是否正确、页面设计是否合理
Ø测试该软件的输入数据反映,主要就是输入一些不合法的字符,看看系统是否报错等
Ø测试该软件的某些按钮、标签等是否合法
总结
通过这段时间的课程设计,相信我们的各方面都会有一个质的飞跃。
所以说课程设计对我们的每个学生都是很重要的。
我想通过我们组共同的研究、开发、学习,我们可以很好的完成任务。
其系统的基本功能都会得以实现。
然而由于我们现在能力还没真正的达到一定的高度,所以一些错误还是在所难免的,希望给与更正。
在这次课程设计中,我们也学到了很多的知识,很多方面都得到了提高。
当然最给我们印象深的是就是在进行团队开发的时候一定要保持团队精神。
这次课程设计,我们分工明确、积极配合、团结互助,克服种种的困难来把这个系统给完成。
最后,我们会多多的测试,是我们的系统更完善、更完美。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩 管理 项目 分析 设计 报告