系统分析与设计-需求分析规格说明书(DOC 39页).doc

上传人(卖家):2023DOC 文档编号:7606479 上传时间:2024-04-16 格式:DOC 页数:40 大小:470KB
下载 相关 举报
系统分析与设计-需求分析规格说明书(DOC 39页).doc_第1页
第1页 / 共40页
系统分析与设计-需求分析规格说明书(DOC 39页).doc_第2页
第2页 / 共40页
系统分析与设计-需求分析规格说明书(DOC 39页).doc_第3页
第3页 / 共40页
系统分析与设计-需求分析规格说明书(DOC 39页).doc_第4页
第4页 / 共40页
系统分析与设计-需求分析规格说明书(DOC 39页).doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、 需求分析规格说明书项目名称 : 毕业设计管理系统 专业班级 : 信息管理与信息系统1班 负责人 : 合作人员 : 指导老师 : 2013年12月08日 目 录第1章 引 言21.1 选题背景21.2 选题意义2第2章 系统需求分析22.1目标32.2 性能及运行需求42.3 功能需求52.4 系统E-R图6第3章 系统设计73.1概要设计83.1.1 系统数据流程设计93.1.2 数据字典103.1.3 系统结构设计113.1.4表结构设计133.2 详细设计153.2.1 系统概述173.2.2 系统流程图20第4章 系统实现214.1 数据库连接234.2系统各模块功能及实现效果图244

2、.2.1出题模块及效果图254.2.2审题模块及效果图264.2.3选题模块及效果图274.2.4进程控制模块及效果图284.2.5评阅模块及效果图294.2.6调剂模块及效果图294.3 查询及分页显示功能304.3.1 查询功能304.3.2 分页显示功能304.4 应用中出现的问题与解决方法31第5章 系统测试315.1测试方法的介绍315.2测试环境315.3测试对象325.3.1管理员模块325.3.2教师模块335.3.3学生模块335.4测试用例及结果335.4.1管理员模块345.4.2教师模块345.4.3学生模块34结 论35参 考 文 献362第3章 基础知识简介第1章

3、引 言1.1 选题背景随着计算机及计算机网络的普及和全国各院校的校园网络的日益完善、健全,各种工作的计算机网络化将逐步取代繁重的传统办公模式。毕业设计作为大学生四年学习的重要环节,也有必要实行计算机网络化管理,从而减轻设计指导老师的承重负担,简化立题、选题、评分等过程,让繁冗的课题设计信息采用计算机数据库统筹管理。因此,设计一种毕业设计综合管理系统是我校教学管理发展的一项任务,也是各院校教学发展的趋势。该系统为学生、教师、管理员提供一个交互的接口,大大方便了学生、老师及管理员的管理人员。1.2 选题意义毕业设计是学生在校期间的最后一个教学环节,是学习深化和提高的一个重要过程,也是综合检验所学理

4、论知识的一个重要环节。本设计从课题的申报、课题的审核、学生选题、调剂、指导、评阅、答辩、归档等环节进行管理,实现了毕业设计的整个流程的管理工作。系统实现了学生自主选题和教师自主选择学生的网上双向选择,并增加了留言板、文件上传与下载、新闻发布等功能,能够保证毕业设计期间管理员、老师、学生之间信息的联通,对保证毕业设计的质量有非常重要的现实意义。随着网络化的普及,全国高校的校园网络日益健全,实现无纸化办公成为未来的趋势,并且随着天津城市建设学院的教学体制改革不断加深,本系统的建立为参加毕业设计的教师、学生提供接口。 第2章 系统需求分析2.1系统目标 1.应具有方便、强大的资料管理和良好的人机界面

5、,使用户易于操作,便于浏览。2.系统的健壮性,扩展性良好。系统具有对数据备份和日志记录的功能。3.系统的安全性好,通过密码和权限的管理是用户的数据不受到侵害。4.系统的动态信息交互功能强,系统根据不同的用户的权限开放不同的处理权限;不同的用户可以通过留言板进行信息的沟通。5.系统尽量给用户提供一个良好的操作环境。2.2 性能及运行需求 对于毕业设计综合管理系统要求运行的工作环境稳定,易于操作,系统方便应用、安全可靠、便于维护以及实时性强,对于广大用户所要执行的操作简单易懂,访问速度较快,界面友好美观,有基本的错误提醒功能,远程操作数据库正确,要求和用户有很强的互动性。运行环境:本系统开发的毕业

6、设计综合管理系统,在Windows XP下运行,要求使用的操作系统上安装有SQL Server2000数据库、JBuilder、Dreamweaver、Tomcat服务器(已安装的JBuilder里包含Tomcat服务器)。主机要求赛扬M或相当性能以上配置。2.3 功能需求根据功能分为教师、学生的前台操作和管理员的综合管理。 系统有三个主要的角色组成:学生、教师、管理人员。1. 教师完成的操作:个人信息的管理;课题的申报、修改、选择学生,设计期间与学生的交流与辅导、实习/指导、评阅和答辩成绩的评定。2. 学生完成的操作:个人信息的管理,选择课题,设计期间利用留言板和教师进行交流,查询成绩。 3

7、. 管理人员:对教师、学生的信息查询,添加和删除;系统开放管理;选课期间调剂操作;分配评阅老师和答辩老师;成绩录入;新闻发布。2.4 系统E-R图管理员姓名密码教师职称学历密码性别教研室姓名电话专业监督监督监督学生密码班级电话性别姓名课题专业班级评题人出题人名称管理员学生教师课题审题出题选题1n1n1nnn11n图2-1 系统E-R图第3章 系统总体设计3.1概要设计3.1.1 系统数据流程设计概要设计阶段的基本目标是用比较抽象的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。从数据流图出发设想完成系统功能的若干种合理的物理方案,从中

8、选择一个最佳方案。然后进行软件结构设计,确定软件由哪些模块组成以及这些模块的动态调用关系。本设计包括出题、选题、系统维护、评阅和答辩等模块的设计。首先管理员登录系统,对系统进行初始化,并可设置系统的开放与关闭。系统初始化后教师可以出题,教师出题完毕管理员审核课题,审核通过后学生才可进行选题,学生选题完后教师可以选择符合题目要求的学生,形成双向选择。如果还有学生没选上题目,管理员可以进行调剂,使每个学生都有题目。当出题选题完毕,教师和学生建立了双向的关系后,进入到做题阶段。管理员和教师通过文件上传与下载、留言板、新闻发布和邮箱联系等方式对学生完成毕设的情况进行监督。指导教师指导学生完成设计后,进

9、入到评阅阶段。管理员分配评阅教师后,评阅教师对所评阅课题进行评阅,给出相应成绩。评阅教师指导学生完成设计后,进入到答辩阶段。管理员分配答辩教师后,答辩教师对所答辩课题进行答辩,给出相应成绩。答辩结束后,由管理员对学生的实习/指导成绩、评阅成绩和答辩成绩进行录入,进行归档。系统数据流图如下:图3-1 系统数据流图3.1.2 数据字典 主要的数据字典:1. 管理员信息数据字典表3-1 管理员信息数据字典名字:管理员信息别名:person描述:管理员的相关信息定义:管理员信息=管理员id+管理员name+管理员password位置:存于数据库,在维护系统时应用2. 教师信息数据字典表3-2 教师信息

10、数据字典名字:教师信息别名:teacher描述:教师的相关信息定义:教师信息=教师id+教师姓名+教师职称+教师学历+教师性别+教师教研室+教师系别+教师电话+教师密码位置:存于数据库,在出题和进程控制时应用表3-3 学生信息数据字典名字:学生信息别名:student描述:学生的相关信息定义:学生信息=学生id+学生姓名+学生性别+学生系别+学生专业+学生年级+学生班级+学生成绩+学生电话+学生密码位置:存于数据库,在选题和进程控制时应用表3-4课题信息数据字典名字:课题信息别名:title描述:课题的相关信息定义:课题信息=课题id+课题名+出题教师+课题类别+所属专业+需求人数+课题要求+

11、课题内容位置:存于数据库,在出题、选题时应用表3-5管理员调剂课题数据字典名字:管理员调剂课题别名:adjust描述:管理员为没有选到题的学生调剂课题定义:管理员调剂课题=学生id+学生名字位置:存于数据库,在选题时应用表3-6管理员分配答辩老师数据字典名字:管理员分配答辩老师别名:answer描述:管理员为每一个课题分配5位答辩老师,其中一名为答辩组长。定义:管理员分配答辩老师=答辩题目id+答辩题目+答辩组长+答辩老师1+答辩老师2+答辩老师3+答辩老师4+答辩时间+答辩教室位置:存于数据库,在答辩时应用表3-7 留言板信息数据字典名字:留言板信息别名:bbs描述:留言板的相关信息定义:留

12、言板信息=主题id+楼主+主题+回复+人气+发表时间+最后回复+内容位置:存于数据库,在留言时应用表3-8 课题类别信息数据字典名字:课题类别别名:category描述:课题类别的相关信息定义:课题类别信息=课题类别id+名称+专业+系别位置:存于数据库,在出题时应用表3-9 学生成绩信息数据字典名字:学生成绩信息别名:score描述:学生成绩的相关信息定义:学生成绩信息=成绩id+学生名字+实习成绩+指导成绩+评阅成绩+答辩成绩位置:存于数据库,在归档时应用表3-10 上传文件信息数据字典名字:上传文件信息别名:uploadfile描述:上传文件的相关信息定义:上传文件信息=文件id+名称+

13、大小+路径+上传人位置:存于数据库,在上传文件时应用表3-11 系统状态信息数据字典名字:系统状态信息别名:system描述:系统状态的相关信息定义:系统状态信息=系统id+名称+开关标志位置:存于数据库,在维护系统时应用3.1.3 系统结构设计图3-2系统结构图3.1.4表结构设计 设计的表为:管理员表(person),教师表(teacher),学生表(student),课题表(title),教师布置任务表(task),学生提交任务表(task1),系统状态表(system)。各个表的结构如下:表3-1 管理员调剂选题表(adjust)列名数据类型长度是否可为空说明IdInt4N学生IdNa

14、meVarchar20N学生名字说明:该表存储管理员调剂相关的信息表3-2 答辩老师分配表(answer)列名数据类型长度是否可为空说明answer_idInt4N答辩Id(主键)answer_titleVarchar20Y答辩题目answer_zuzhangVarchar20Y答辩组长answer_t1Varchar20Y答辩老师1answer_t2Varchar20Y答辩老师2answer_t3Varchar20Y答辩老师3answer_t4Varchar20Y答辩老师4answer_timeVarchar20Y答辩时间answer_roomVarchar20Y答辩教室说明:该表存储答辩老

15、师相关的信息表3-3 留言板信息表(bbs)列名数据类型长度是否可为空说明主题idint4N留言号楼主Varchar20N楼主主题Varchar130N主题回复Int4Y回复人气Int4Y人气发表时间Varchar50N发表时间最后回复Varchar20Y最后回复内容text20Y内容该表存储留言板相关的信息表3-4 课题类别信息表(category)列名数据类型长度是否可为空说明category_idInt4N留言号category_nameVarchar50Y楼主category_professionalVarchar50Y主题category_departmentVarchar50Y回复

16、该表存储课题相关的信息表3-5 新闻信息表(news)列名数据类型长度是否可为空说明news_idInt4N新闻号news_contentVarchar300Y新闻内容news_titleVarchar50Y新闻题目该表存储新闻相关的信息表3-6 管理员表(person)列名数据类型长度是否可为空说明idVarchar20N管理员idnameVarchar20N管理员姓名passwordVarchar20Y管理员密码该表存储管理员相关的信息表3-7 成绩显示表(score)列名数据类型长度是否可为空说明score_idInt4N学生idscore_nameVarchar20Y学生姓名score

17、_sxVarchar20Y实习成绩score_zdVarchar20Y指导成绩score_pyVarchar20Y评阅成绩score_dbVarchar20Y答辩成绩score_zVarchar20Y答辩组长score_a1Varchar20Y平均成绩1score_db1Varchar20Y答辩老师1score_db2Int4N答辩老师2score_db3Varchar20Y答辩老师3score_db4Varchar20Y答辩老师4score_a2Varchar20Y平均成绩2表3-8 教师表(teacher)列名数据类型长度是否可为空说明teacher_idInt4N教师Idteacher_

18、nameVarchar50N教师姓名teacher_sexVarchar50Y教师性别teacher_recordVarchar50Y教师学历teacher_postVarchar50Y教师职称teacher_roomVarchar50Y教研室teacher_phoneVarchar50Y教师电话teacher_roleVarchar50Y角色teacher_departmentVarchar50Y系别teacher_emailVarchar50Y邮箱号teacher_passwordVarchar50Y教师密码teacher_powerInt4Y教师权限说明:该表存储教师相关的信息表3-9

19、学生表(student)列名数据类型长度是否可为空说明stu_idInt4N学生Idstu_nameVarchar50N学生姓名stu_sexVarchar50Y学生性别stu_departmentVarchar50Y系别stu_professionalVarchar50Y专业stu_gradeVarchar50Y年级stu_classVarchar50Y班级stu_phoneVarchar50Y电话stu_emailVarchar50Y邮箱号stu_qqVarchar20YQQ号stu_passwordVarchar50N学生密码stu_titleInt50Y所选课题stu_scoreInt

20、4Y分数stu_lockVarchar50Y锁定标志说明:该表存储学生相关的信息表3-10 课题表(title)列名数据类型长度是否可为空说明title_idInt4N课题Idtitle_nameVarchar50N课题名title_teacherVarchar50Y出题教师title_categoryVarchar50Y课题类别title_professionalVarchar50Y使用专业title_numVarchar50Y需求认识title_requireVarchar80Y课题要求title_flagVarchar50Y是否选中title_contentVarchar50Y课题内容t

21、itle_checkVarchar20Y是否审核title_xnumInt4Y已选人数title_appraiseVarchar50Y评阅教师说明:该表存储课题相关的信息表3-11 文件信息表(file)列名数据类型长度是否可为空说明file_idInt4Y文件idfile_nameVarchar255N文件名file_sizeInt4Y文件大小file_routeVarchar50Y文件路径file_personVarchar50N上传人说明:该表存储上传文件相关的信息表3-12 系统状态表(system)列名数据类型长度是否可为空说明system_idint4N系统Idsystem_nam

22、evarchar50N系统名system_openbit1N开启状态说明:该表存储系统状态相关的信息3.2 详细设计3.2.1 系统概述详细设计阶段的关键任务是确定怎样具体地实现用户需要的软件系统,也就是要设计出程序的“蓝图”。除了应该保证软件的可靠性之外,使将来编写出的程序可读性好、容易理解、容易测试和维护,是详细设计阶段最重要的目标。1.我们设计的模块有出题、选题子系统、系统维护子系统和评阅答辩管理等。最初时管理员应对系统进行初始化,初始化完后,教师拥有权限进行出题操作,教师出题完毕,管理员应对该课题进行审核,审核通过后学生这时拥有权限进行选课操作,学生选课操作完毕,这时,教师可以从选择他

23、所出课题的学生中选择适合该课题的学生,达到一种双向的自主选择。操作完毕后,可能存在某些学生没有选上题目,这时可以通过管理员的调剂操作来处理,把没选题的学生调剂到缺少人数的课题或者重新出题来满足要求,是每个学生都有题可做。这时,指导教师应指导学生完成毕业设计,完成后应由评阅教师进行评阅。2. 出题阶段参与工作的有相关的教师,他们由教师表(表3-8)确定,每一个教师在登录的时候就可以进入自己的界面。教师根据要求填写自己的课题和相关要求,可以通过多次登录就行修改、删除和提交来完成出题工作,所出课题存储于课题表(表3-10),也可以通过留言板与管理员交流。开始是否登录成功?出题出题成功?结束YYNN

24、图3-3出题流程图3. 选题阶段首先由管理员确定发布内容。学生通过登录自己的界面,可以看到题目的全部信息并且进行选择。在达到限定时间后,由管理员通过人工干预的方式确定最终的选题结果。在确定的时间内和学生完成选题后,由管理员根据题目和学生的具体情况,通过人工干预的方式,对表3-11进行处理,确定每一个学生的题目,协调学生和题目之间的关系。开始是否登录成功?选题选题成功?结束YYNN图3-4选题流程图4. 在评题阶段,首先由管理员通过对表4-2的输入,确定每一个评题阶段的评题人;然后评题人通过登录自己的界面进行评题。开始是否登录成功?评阅评阅成功?结束YYNN 图3-5评阅流程图4. 在答辩阶段,

25、首先由管理员通过对表4-2的输入,确定每一个题目的答辩组长和其他四位答辩老师;然后答辩老师通过登录自己的界面进行答辩管理。图3-6评阅流程图3.2.2 系统流程图查看课题信息审核课题提交课题课题通过确定课题选择学生NYNY开始登录成功?结束成功?YNNY39第5章 系统实现图3-7 系统流程图第4章 系统实现4.1 数据库连接4.2系统各模块功能及实现效果图4.2.1出题模块及效果图出题模块主要主要通过在页面设置表单,出题人点击提交按钮后把相应的表单信息存入数据库bishe的表title中。实现的主要代码:String sql= insert into title (title_name,ti

26、tle_teacher,title_category,title_professional,title_num,title_require,title_flag,title_content) values (?,?,?,?,?,?,?,?);效果图如下:图4-1 出题效果图4.2.2审题模块及效果图审题模块主要通过从数据表title中查询出某教师的所有课题,从中选择未审核的课题进行审核,同时更新数据表title。审核成功且通过后,学生自主选题。主要实现代码:String sql = update title set title_name=?,title_teacher=?,title_cate

27、gory=?,title_professional=?,title_num=?,title_require=?,title_flag=?,title_content=?, title_check=? where title_id=?;实现效果图:图4-2 审题4.2.3选题模块及效果图选题模块主要是先在学生主页中显示所有的已通过审核的课题,学生点击课题名查看课题详细信息后,如果对课题有兴趣就点击选题按钮,把所选课题名存入数据表student中。主要实现代码:String sql = update title set title_xnum=title_xnum+1 where title_id=

28、?;String sql1 = update student set stu_title=? where stu_name=? and stu_lock=no;String sql2 = select stu_title from student where stu_name=?; 实现效果图:图4-3 选题效果图4.2.4评阅模块及效果图评阅模块主要通过从数据表teacher中查询出所有教师,从中选择合适的教师为评阅教师,同时更新数据表title。成为评阅教师后,教师可以评阅相应课题并给出成绩。主要实现代码:String sql = update title set title_apprai

29、se=? where title_name=+title+ ;String sql2 = update teacher set teacher_power=+2+ where teacher_name=? ;实现效果图: 图4-4 选题效果图4.2.5答辩模块及效果图答辩模块主要通过从数据表teacher中查询出所有教师,从中选择合适的教师为答辩教师,同时更新数据表title。成为答辩教师后,教师可以答辩相应课题并给出成绩。主要实现代码:String sql = update title set title_answer=? where title_name=+title+ ;String s

30、ql2 = update teacher set teacher_power=+2+ where teacher_name=? ;实现效果图: 图4-5 选择评阅教师4.2.6调剂模块及效果图调剂模块主要是管理员查找还未选题的学生,为其选择课题。实现时先选中某课题,再查找未选题的学生,为课题选择合适的学生点击提交后存入数据表中。主要实现代码:sortitems = 1; function move(fbox,tbox) for(var i=0; ifbox.options.length; i+) if(fbox.optionsi.selected & fbox.optionsi.value !

31、= ) var no = new Option();no.value = fbox.optionsi.value;no.text = fbox.optionsi.text;tbox.optionstbox.options.length = no;fbox.optionsi.value = ;fbox.optionsi.text = ; BumpUp(fbox);if (sortitems) SortD(tbox);function BumpUp(box) for(var i=0; ibox.options.length; i+) if(box.optionsi.value = ) for(va

32、r j=i; jbox.options.length-1; j+) box.optionsj.value = box.optionsj+1.value;box.optionsj.text = box.optionsj+1.text;var ln = i;break; if(ln box.options.length) box.options.length -= 1;BumpUp(box); function SortD(box) var temp_opts = new Array(); var temp = new Object(); for(var i=0; ibox.options.len

33、gth; i+) temp_optsi = box.optionsi;for(var x=0; xtemp_opts.length-1; x+) for(var y=(x+1); y temp_optsy.text) temp = temp_optsx.text;temp_optsx.text = temp_optsy.text;temp_optsy.text = temp;temp = temp_optsx.value;temp_optsx.value = temp_optsy.value;temp_optsy.value = temp; for(var i=0; ibox.options.

34、length; i+) box.optionsi.value = temp_optsi.value;box.optionsi.text = temp_optsi.text; 实现效果图:图4-6 调剂4.3 查询及分页显示功能4.3.1 查询功能搜索字段:题目教师 搜索条件:String field=request.getParameter(field);String term=request.getParameter(term);term=new String(term.trim().getBytes(ISO8859_1),GB2312);String sql=select * from t

35、itle where +field+=+term+;4.3.2 分页显示功能/countpage总页数,sqan宽度,count总纪录数,fpage现在页,fcount现纪录数String strpages=(String)request.getParameter(pages);int pages=0;if(strpages=null)pages=0;elsepages=Integer.parseInt(strpages);rs.last();int sqan=4,j=0,fcount=0;int count=rs.getRow();int countpage=count/sqan;if(co

36、unt%sqan0) countpage=countpage+1;if(pagescountpage-1) pages=countpage-1;fcount=pages*sqan+1;int fpage=(count-fcount)/sqan+1;rs.absolute(fcount);rs.previous();4.4 应用中出现的问题与解决方法世界上的各地区都有本地的语言。地区差异直接导致了语言环境的差异。在开发一个国际化程序的过程中,处理语言问题就显得很重要了。这其中汉字是双字节的,所谓双字节是指一个双字要占用两个BYTE的位置(即16位),分别称为高位和低位。中国规定的汉字编码为GB2

37、312,这是强制性的,目前几乎所有的能处理中文的应用程序都支持GB2312。另外有一种编码,叫做GBK,但这是一份规范,不是强制的。GBK提供了20902个汉字,它兼容GB2312,编码范围为0x8140到0xfefe。GBK中的所有字符都可以一一映射到Unicode 2.0。 当我们在处理数据库中的信息时,无论是把信息从数据库中取出来传到web页面上,还是把web页面中的信息用request对象的getParameter方法取进来插入数据库中,都会出现乱码问题。 其原因就是Java 语言内部是用 Unicode 表示字符的,采用unicode编码。Java 程序无论是从/往文件系统以字符流读/写文件,还是往 URL 连接写 HTML 信息,或

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 待归类文档
版权提示 | 免责声明

1,本文(系统分析与设计-需求分析规格说明书(DOC 39页).doc)为本站会员(2023DOC)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|