系统分析与设计 需求分析规格说明书.docx
《系统分析与设计 需求分析规格说明书.docx》由会员分享,可在线阅读,更多相关《系统分析与设计 需求分析规格说明书.docx(43页珍藏版)》请在冰豆网上搜索。
系统分析与设计需求分析规格说明书
需求分析规格说明书
项目名称:
毕业设计管理系统
专业班级:
信息管理与信息系统1班
负责人:
合作人员:
指导老师:
2013年12月08日
第1章引言
1.1选题背景
随着计算机及计算机网络的普及和全国各院校的校园网络的日益完善、健全,各种工作的计算机网络化将逐步取代繁重的传统办公模式。
毕业设计作为大学生四年学习的重要环节,也有必要实行计算机网络化管理,从而减轻设计指导老师的承重负担,简化立题、选题、评分等过程,让繁冗的课题设计信息采用计算机数据库统筹管理。
因此,设计一种毕业设计综合管理系统是我校教学管理发展的一项任务,也是各院校教学发展的趋势。
该系统为学生、教师、管理员提供一个交互的接口,大大方便了学生、老师及管理员的管理人员。
1.2选题意义
毕业设计是学生在校期间的最后一个教学环节,是学习深化和提高的一个重要过程,也是综合检验所学理论知识的一个重要环节。
本设计从课题的申报、课题的审核、学生选题、调剂、指导、评阅、答辩、归档等环节进行管理,实现了毕业设计的整个流程的管理工作。
系统实现了学生自主选题和教师自主选择学生的网上双向选择,并增加了留言板、文件上传与下载、新闻发布等功能,能够保证毕业设计期间管理员、老师、学生之间信息的联通,对保证毕业设计的质量有非常重要的现实意义。
随着网络化的普及,全国高校的校园网络日益健全,实现无纸化办公成为未来的趋势,并且随着天津城市建设学院的教学体制改革不断加深,本系统的建立为参加毕业设计的教师、学生提供接口。
第2章系统需求分析
2.1系统目标
1.应具有方便、强大的资料管理和良好的人机界面,使用户易于操作,便于浏览。
2.系统的健壮性,扩展性良好。
系统具有对数据备份和日志记录的功能。
3.系统的安全性好,通过密码和权限的管理是用户的数据不受到侵害。
4.系统的动态信息交互功能强,系统根据不同的用户的权限开放不同的处理权限;不同的用户可以通过留言板进行信息的沟通。
5.系统尽量给用户提供一个良好的操作环境。
2.2性能及运行需求
对于毕业设计综合管理系统要求运行的工作环境稳定,易于操作,系统方便应用、安全可靠、便于维护以及实时性强,对于广大用户所要执行的操作简单易懂,访问速度较快,界面友好美观,有基本的错误提醒功能,远程操作数据库正确,要求和用户有很强的互动性。
运行环境:
本系统开发的毕业设计综合管理系统,在WindowsXP下运行,要求使用的操作系统上安装有SQLServer2000数据库、JBuilder、Dreamweaver、Tomcat服务器(已安装的JBuilder里包含Tomcat服务器)。
主机要求赛扬M或相当性能以上配置。
2.3功能需求
根据功能分为教师、学生的前台操作和管理员的综合管理。
系统有三个主要的角色组成:
学生、教师、管理人员。
1.教师完成的操作:
个人信息的管理;课题的申报、修改、选择学生,设计期间与学生的交流与辅导、实习/指导、评阅和答辩成绩的评定。
2.学生完成的操作:
个人信息的管理,选择课题,设计期间利用留言板和教师进行交流,查询成绩。
3.管理人员:
对教师、学生的信息查询,添加和删除;系统开放管理;选课期间调剂操作;分配评阅老师和答辩老师;成绩录入;新闻发布。
2.4系统E-R图
图2-1系统E-R图
第3章系统总体设计
3.1概要设计
3.1.1系统数据流程设计
概要设计阶段的基本目标是用比较抽象的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。
从数据流图出发设想完成系统功能的若干种合理的物理方案,从中选择一个最佳方案。
然后进行软件结构设计,确定软件由哪些模块组成以及这些模块的动态调用关系。
本设计包括出题、选题、系统维护、评阅和答辩等模块的设计。
首先管理员登录系统,对系统进行初始化,并可设置系统的开放与关闭。
系统初始化后教师可以出题,教师出题完毕管理员审核课题,审核通过后学生才可进行选题,学生选题完后教师可以选择符合题目要求的学生,形成双向选择。
如果还有学生没选上题目,管理员可以进行调剂,使每个学生都有题目。
当出题选题完毕,教师和学生建立了双向的关系后,进入到做题阶段。
管理员和教师通过文件上传与下载、留言板、新闻发布和邮箱联系等方式对学生完成毕设的情况进行监督。
指导教师指导学生完成设计后,进入到评阅阶段。
管理员分配评阅教师后,评阅教师对所评阅课题进行评阅,给出相应成绩。
评阅教师指导学生完成设计后,进入到答辩阶段。
管理员分配答辩教师后,答辩教师对所答辩课题进行答辩,给出相应成绩。
答辩结束后,由管理员对学生的实习/指导成绩、评阅成绩和答辩成绩进行录入,进行归档。
系统数据流图如下:
图3-1系统数据流图
3.1.2数据字典
主要的数据字典:
1.管理员信息数据字典
表3-1管理员信息数据字典
名字:
管理员信息
别名:
person
描述:
管理员的相关信息
定义:
管理员信息=管理员id+管理员name+管理员password
位置:
存于数据库,在维护系统时应用
2.教师信息数据字典
表3-2教师信息数据字典
名字:
教师信息
别名:
teacher
描述:
教师的相关信息
定义:
教师信息=教师id+教师姓名+教师职称+教师学历+教师性别+教师教研室+教师系别+教师电话+教师密码
位置:
存于数据库,在出题和进程控制时应用
表3-3学生信息数据字典
名字:
学生信息
别名:
student
描述:
学生的相关信息
定义:
学生信息=学生id+学生姓名+学生性别+学生系别+学生专业+学生年级+学生班级+学生成绩+学生电话+学生密码
位置:
存于数据库,在选题和进程控制时应用
表3-4课题信息数据字典
名字:
课题信息
别名:
title
描述:
课题的相关信息
定义:
课题信息=课题id+课题名+出题教师+课题类别+所属专业+需求人数+课题要求+课题内容
位置:
存于数据库,在出题、选题时应用
表3-5管理员调剂课题数据字典
名字:
管理员调剂课题
别名:
adjust
描述:
管理员为没有选到题的学生调剂课题
定义:
管理员调剂课题=学生id+学生名字
位置:
存于数据库,在选题时应用
表3-6管理员分配答辩老师数据字典
名字:
管理员分配答辩老师
别名:
answer
描述:
管理员为每一个课题分配5位答辩老师,其中一名为答辩组长。
定义:
管理员分配答辩老师=答辩题目id+答辩题目+答辩组长+答辩老师1+答辩老师2+答辩老师3+答辩老师4+答辩时间+答辩教室
位置:
存于数据库,在答辩时应用
表3-7留言板信息数据字典
名字:
留言板信息
别名:
bbs
描述:
留言板的相关信息
定义:
留言板信息=主题id+楼主+主题+回复+人气+发表时间+最后回复+内容
位置:
存于数据库,在留言时应用
表3-8课题类别信息数据字典
名字:
课题类别
别名:
category
描述:
课题类别的相关信息
定义:
课题类别信息=课题类别id+名称+专业+系别
位置:
存于数据库,在出题时应用
表3-9学生成绩信息数据字典
名字:
学生成绩信息
别名:
score
描述:
学生成绩的相关信息
定义:
学生成绩信息=成绩id+学生名字+实习成绩+指导成绩+评阅成绩+答辩成绩
位置:
存于数据库,在归档时应用
表3-10上传文件信息数据字典
名字:
上传文件信息
别名:
uploadfile
描述:
上传文件的相关信息
定义:
上传文件信息=文件id+名称+大小+路径+上传人
位置:
存于数据库,在上传文件时应用
表3-11系统状态信息数据字典
名字:
系统状态信息
别名:
system
描述:
系统状态的相关信息
定义:
系统状态信息=系统id+名称+开关标志
位置:
存于数据库,在维护系统时应用
3.1.3系统结构设计
图3-2系统结构图
3.1.4表结构设计
设计的表为:
管理员表(person),教师表(teacher),学生表(student),课题表(title),教师布置任务表(task),学生提交任务表(task1),系统状态表(system)。
各个表的结构如下:
表3-1管理员调剂选题表(adjust)
列名
数据类型
长度
是否可为空
说明
Id
Int
4
N
学生Id
Name
Varchar
20
N
学生名字
说明:
该表存储管理员调剂相关的信息
表3-2答辩老师分配表(answer)
列名
数据类型
长度
是否可为空
说明
answer_id
Int
4
N
答辩Id(主键)
answer_title
Varchar
20
Y
答辩题目
answer_zuzhang
Varchar
20
Y
答辩组长
answer_t1
Varchar
20
Y
答辩老师1
answer_t2
Varchar
20
Y
答辩老师2
answer_t3
Varchar
20
Y
答辩老师3
answer_t4
Varchar
20
Y
答辩老师4
answer_time
Varchar
20
Y
答辩时间
answer_room
Varchar
20
Y
答辩教室
说明:
该表存储答辩老师相关的信息
表3-3留言板信息表(bbs)
列名
数据类型
长度
是否可为空
说明
主题id
int
4
N
留言号
楼主
Varchar
20
N
楼主
主题
Varchar
130
N
主题
回复
Int
4
Y
回复
人气
Int
4
Y
人气
发表时间
Varchar
50
N
发表时间
最后回复
Varchar
20
Y
最后回复
内容
text
20
Y
内容
该表存储留言板相关的信息
表3-4课题类别信息表(category)
列名
数据类型
长度
是否可为空
说明
category_id
Int
4
N
留言号
category_name
Varchar
50
Y
楼主
category_professional
Varchar
50
Y
主题
category_department
Varchar
50
Y
回复
该表存储课题相关的信息
表3-5新闻信息表(news)
列名
数据类型
长度
是否可为空
说明
news_id
Int
4
N
新闻号
news_content
Varchar
300
Y
新闻内容
news_title
Varchar
50
Y
新闻题目
该表存储新闻相关的信息
表3-6管理员表(person)
列名
数据类型
长度
是否可为空
说明
id
Varchar
20
N
管理员id
name
Varchar
20
N
管理员姓名
password
Varchar
20
Y
管理员密码
该表存储管理员相关的信息
表3-7成绩显示表(score)
列名
数据类型
长度
是否可为空
说明
score_id
Int
4
N
学生id
score_name
Varchar
20
Y
学生姓名
score_sx
Varchar
20
Y
实习成绩
score_zd
Varchar
20
Y
指导成绩
score_py
Varchar
20
Y
评阅成绩
score_db
Varchar
20
Y
答辩成绩
score_z
Varchar
20
Y
答辩组长
score_a1
Varchar
20
Y
平均成绩1
score_db1
Varchar
20
Y
答辩老师1
score_db2
Int
4
N
答辩老师2
score_db3
Varchar
20
Y
答辩老师3
score_db4
Varchar
20
Y
答辩老师4
score_a2
Varchar
20
Y
平均成绩2
表3-8教师表(teacher)
列名
数据类型
长度
是否可为空
说明
teacher_id
Int
4
N
教师Id
teacher_name
Varchar
50
N
教师姓名
teacher_sex
Varchar
50
Y
教师性别
teacher_record
Varchar
50
Y
教师学历
teacher_post
Varchar
50
Y
教师职称
teacher_room
Varchar
50
Y
教研室
teacher_phone
Varchar
50
Y
教师电话
teacher_role
Varchar
50
Y
角色
teacher_department
Varchar
50
Y
系别
teacher_email
Varchar
50
Y
邮箱号
teacher_password
Varchar
50
Y
教师密码
teacher_power
Int
4
Y
教师权限
说明:
该表存储教师相关的信息
表3-9学生表(student)
列名
数据类型
长度
是否可为空
说明
stu_id
Int
4
N
学生Id
stu_name
Varchar
50
N
学生姓名
stu_sex
Varchar
50
Y
学生性别
stu_department
Varchar
50
Y
系别
stu_professional
Varchar
50
Y
专业
stu_grade
Varchar
50
Y
年级
stu_class
Varchar
50
Y
班级
stu_phone
Varchar
50
Y
电话
stu_email
Varchar
50
Y
邮箱号
stu_qq
Varchar
20
Y
QQ号
stu_password
Varchar
50
N
学生密码
stu_title
Int
50
Y
所选课题
stu_score
Int
4
Y
分数
stu_lock
Varchar
50
Y
锁定标志
说明:
该表存储学生相关的信息
表3-10课题表(title)
列名
数据类型
长度
是否可为空
说明
title_id
Int
4
N
课题Id
title_name
Varchar
50
N
课题名
title_teacher
Varchar
50
Y
出题教师
title_category
Varchar
50
Y
课题类别
title_professional
Varchar
50
Y
使用专业
title_num
Varchar
50
Y
需求认识
title_require
Varchar
80
Y
课题要求
title_flag
Varchar
50
Y
是否选中
title_content
Varchar
50
Y
课题内容
title_check
Varchar
20
Y
是否审核
title_xnum
Int
4
Y
已选人数
title_appraise
Varchar
50
Y
评阅教师
说明:
该表存储课题相关的信息
表3-11文件信息表(file)
列名
数据类型
长度
是否可为空
说明
file_id
Int
4
Y
文件id
file_name
Varchar
255
N
文件名
file_size
Int
4
Y
文件大小
file_route
Varchar
50
Y
文件路径
file_person
Varchar
50
N
上传人
说明:
该表存储上传文件相关的信息
表3-12系统状态表(system)
列名
数据类型
长度
是否可为空
说明
system_id
int
4
N
系统Id
system_name
varchar
50
N
系统名
system_open
bit
1
N
开启状态
说明:
该表存储系统状态相关的信息
3.2详细设计
3.2.1系统概述
详细设计阶段的关键任务是确定怎样具体地实现用户需要的软件系统,也就是要设计出程序的“蓝图”。
除了应该保证软件的可靠性之外,使将来编写出的程序可读性好、容易理解、容易测试和维护,是详细设计阶段最重要的目标。
1.我们设计的模块有出题、选题子系统、系统维护子系统和评阅答辩管理等。
最初时管理员应对系统进行初始化,初始化完后,教师拥有权限进行出题操作,教师出题完毕,管理员应对该课题进行审核,审核通过后学生这时拥有权限进行选课操作,学生选课操作完毕,这时,教师可以从选择他所出课题的学生中选择适合该课题的学生,达到一种双向的自主选择。
操作完毕后,可能存在某些学生没有选上题目,这时可以通过管理员的调剂操作来处理,把没选题的学生调剂到缺少人数的课题或者重新出题来满足要求,是每个学生都有题可做。
这时,指导教师应指导学生完成毕业设计,完成后应由评阅教师进行评阅。
2.出题阶段参与工作的有相关的教师,他们由教师表(表3-8)确定,每一个教师在登录的时候就可以进入自己的界面。
教师根据要求填写自己的课题和相关要求,可以通过多次登录就行修改、删除和提交来完成出题工作,所出课题存储于课题表(表3-10),也可以通过留言板与管理员交流。
图3-3出题流程图
3.选题阶段首先由管理员确定发布内容。
学生通过登录自己的界面,可以看到题目的全部信息并且进行选择。
在达到限定时间后,由管理员通过人工干预的方式确定最终的选题结果。
在确定的时间内和学生完成选题后,由管理员根据题目和学生的具体情况,通过人工干预的方式,对表3-11进行处理,确定每一个学生的题目,协调学生和题目之间的关系。
图3-4选题流程图
4.在评题阶段,首先由管理员通过对表4-2的输入,确定每一个评题阶段的评题人;然后评题人通过登录自己的界面进行评题。
图3-5评阅流程图
4.在答辩阶段,首先由管理员通过对表4-2的输入,确定每一个题目的答辩组长和其他四位答辩老师;然后答辩老师通过登录自己的界面进行答辩管理。
图3-6评阅流程图
3.2.2系统流程图
图3-7系统流程图
第4章系统实现
4.1数据库连接
<%!
StringDBDRIVER="com.microsoft.jdbc.sqlserver.SQLServerDriver";
StringDBURL="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=bishe";
StringDBUSER="sa";
StringDBPASSWORD="";
Connectionconn=null;
Statementpstmt=null;
ResultSetrs=null;
%><%Stringsql="……";
try{Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
pstmt=conn.createStatement();
rs=pstmt.executeQuery(sql);}
catch(Exceptione){}
%>
4.2系统各模块功能及实现效果图
4.2.1出题模块及效果图
出题模块主要主要通过在页面设置表单,出题人点击提交按钮后把相应的表单信息存入数据库bishe的表title中。
实现的主要代码:
Stringsql="insertintotitle(title_name,title_teacher,title_category,title_professional,title_num,title_require,title_flag,title_content)values(?
?
?
?
?
?
?
?
)";
效果图如下:
图4-1出题效果图
4.2.2审题模块及效果图
审题模块主要通过从数据表title中查询出某教师的所有课题,从中选择未审核的课题进行审核,同时更新数据表title。
审核成功且通过后,学生自主选题。
主要实现代码:
Stringsql="updatetitlesettitle_name=?
title_teacher=?
title_category=?
title_professional=?
title_num=?
title_require=?
title_flag=?
title_content=?
title_check=?
wheretitle_id=?
;";
实现效果图:
图4-2审题
4.2.3选题模块及效果图
选题模块主要是先在学生主页中显示所有的已通过审核的课题,学生点击课题名查看课题详细信息后,如果对课题有兴趣就点击选题按钮,把所选课题名存入数据表student中。
主要实现代码:
Stringsql="updatetitlesettitle_xnum=title_xnum+1wheretitle_id=?
;";
Stringsql1="updatestudentsetstu_title=?
wherestu_name=?
andstu_lock='no'";
Stringsql2="selectstu_titlefromstudentwherestu_name=?
";
实现效果图:
图4-3选题效果图
4.2.4评阅模块及效果图
评阅模块主要通过从数据表teacher中查询出所有教师,从中选择合适的教师为评阅教师,同时更新数据表title。
成为评阅教师后,教师可以评阅相应课题并给出成绩。
主要实现代码:
Stringsql="updatetitlesettitle_appraise=?
wheretitle_name='"+title+"'";
Stringsql2="updateteachersetteacher_power='"+2+"'whereteacher_name=?
";
实现效果图:
图4-4选题效果图
4.2.5答辩模块及效果图
答辩模块主要通过从数据表teacher中查询出所有教师,从中选择合适的教师为答辩