详细设计说明书1编号003版本1.0详细设计说明书项目名称学生成绩管理系统项目负责人组员2013年6月10日学籍管理系统详细设计说明书详细设计说明书2目录学籍管理系统详细设计说明书.........................................................11引言...........................................................................21.1编写目的.................................................................21.2背景.....................................................................21.3参考资料.................................................................21.4术语定义及说明...........................................................22设计概述.......................................................................32.1任务和目标...............................................................32.1.1需求概述...........................................................32.1.2运行环境概述.......................................................32.1.3条件与限制.........................................................32.1.4详细设计方法和工具.................................................43系统详细需求分析...............................................................43.1详细需求分析.............................................................43.2详细系统运行环境及限制条件分析接口需求分析...............................44总体方案确认...................................................................54.1系统总体结构确认.........................................................54.2系统详细界面划分.........................................................75系统详细设计...................................................................75.1系统结构设计及子系统划分.................................................75.2系统功能模块详细设计.....................................................75.3系统界面详细设计........................................................121引言1.1编写目的详细设计说明书3依据学生成绩管理系统的需求分析和总体设计详细说明学生管理系统各个层次中的每个程序和数据库系统的设计考虑,为后期程序员编码提供依据。其中重点说明学生管理系统各个模块的执行流程和数据库系统的详细设计。1.2背景系统名称:学生信息管理系统由于学校的规模不断扩大,使得人工管理学生成绩变得越来越低效,故开发此系统提高工作效率。该系统是基于C/S构架的桌面客户端软件,使用对象为学生和教师,学生用来查询个人成绩,教师通过软件录入各个学生的信息1.3参考资料[1]张海藩.软件工程导论第五版.清华大学出版社.20081.4术语定义及说明成绩管理:对学生的基本信息、课程选择、成绩的录入、修改、删除、查询等一系列的操作。JREJavaRuntimeEnvironment详细设计说明书42设计概述2.1任务和目标2.1.1需求概述业务需求:学生使用各自的账号密码登入查询成绩,老师使用管理员权限可以录入和修改信息。学生:输入:学生账号,密码,身份输出:学生的个人信息界面教师:输入:管理员账号,密码,身份输出:管理系统界面主要功能:能够实现管理员和学生对成绩的管理,即完成一些基本的功能,查询,删除,添加,修改等,也要实现成绩的统计,并且能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果,同时也要实现权限的管理性能需求:a.响应时间:少于3秒b.更新处理时间:少于2秒c.数据的转换和传送时间少于5秒说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,a.操作方式上的变化:更人性化b.运行环境的变化:在windowsXP或以上的版本都能运行2.1.2运行环境概述操作系统:windows7数据库系统:文本文档软件环境:JRE配置要求:需将JRE路径配置到系统环境变量中2.1.3条件与限制1)由于系统较小,且在Windows7系统下开发,故在Windows环境下运行没详细设计说明书5有什么限制。2)学生的一些私人信息必须要保护好。3)该系统要受资金、寿命、社会等系列因素的制约和限制。4)界面风格上受到Java特有风格的限制2.1.4详细设计方法和工具设计方法:数据流程图工具:rationalrose3系统详细需求分析3.1详细需求分析功能需求分析:(1)信息维护:实现学生信息维护,包括增加学生信息,删除学生信息,修改学生信息(2)信息查询:实现按姓名查询,按学号查询(3)成绩统计:输入任意一个课程名和一个分数段,统计在此分数段的学生情况(4)排序:用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)性能需求分析:(1)数据精确度:所有在相应域中包含查询关键字的记录都应被查到同时保证准确率(2)时间特性:响应在一秒以内(3)适应性:满足运行环境在允许操作系统之间的安全转换(4)灵活性:在需求发生变化时,本系统的对这些变化的适应能力相对而言是比较强的,包括操作方式上的变化;运行环境的变化系统运行环境和限制条件分析:(1)硬件奔腾处理器以上的均可,操作系统XP以上均可(2)安装了JRE的都可以,JRE基本都可以安装3.2接口需求分析详细设计说明书6硬件接口:支持一般的PII获更高档微机,笔记本电脑软件接口:在这里主要考虑软件与操作系统的接口,可运行于多种操作系统之上。考虑到文档处理的需要有可能可以包括与较常用的办公软件的接口4总体方案确认4.1系统总体结构确认系统组成确认:系统结构确认:学生表课程表成绩管理系统取得数据输出结果计算成绩字段名数据类型主键姓名学号YStringString详细设计说明书7成绩表每个数据项都可以直接通过相关文件更新。查询时,也可以直观的在页面输入查询条件,就可得到结果系统工作流程确认:业务流程字段名数据类型主键学分课程名YStringdouble字段名数据类型主键课程名学号YStringString字段名数据类型主键YString成绩intY管理员业务逻辑用户输入、管理学籍数据读取学籍数据In/out数据库详细设计说明书84.2系统详细界面划分系统界面主要由前台登陆界面和后台功能界面组成,登陆界面负责确认信息,功能界面负责主要功能的实现登陆界面:包括简单的信息录入,确认功能界面:包括信息维护,信息查询,成绩统计,排序功能选项,同时提供退出和注销功能界面的功能都通过后台数据库的交互来实现各自的功能,其中使用数据库提供的接口来实现查询,删除功能5系统详细设计5.1系统结构设计及子系统划分系统结构设计:前端:登陆模块功能模块后端:数据库模块子系统划分:前端功能模块划分:信息维护,信息查询,成绩统计,排序,排名系统后端数据库模块划分:查找,删除,更新,插入,排序5.2系统功能模块详细设计模块名称:查找(由于模块较多(详见代码),仅举一例)输入:学生姓名处理:publicstaticString[][]queryBySname(Stringsname)throwsIOException{RandomAccessFilerf=readFile(STable);详细设计说明书9longpos;int[]where={0};String[]who={sname};ArrayListres=newArrayList();pos=check(STable,0,where,who);while(pos=0){rf.seek(pos);Stringline=myReadLine(rf);String[]atbs=line.split(,);String[][]eles=queryBySnum(atbs[1]);for(inti=0;ieles.length;i++)res.add(eles[i]);pos=check(STable,rf.getFilePointer(),where,who);}rf.close();returncastToStringArray(res);}算法描述:按照姓名查询目标学生的所有信息输出:姓名,学号,课程名,成绩//模块名称:删除输入:学号处理:publicstaticintdeleteStudent(Stringnum)throwsIOException{if(num.indexOf(',')=0)return-2;RandomAccessFilerf=readFile(STable);int[]iarr1={0};String[]sarr1={num};longtmppos;RandomAccessFiletmprf=readFile(SCTable);tmppos=check(SCTable,0,iarr1,sarr1);while(tmppos=0){tmprf.seek(tmppos);myReadLine(tmprf);delete(SCTable,tmppos,tmprf.getFilePointer());tmppos=check(SCTable,tmppos,iarr1,sarr1);}tmprf.close();int[]cols={1};String[]values={num};longpos=check(STable,0,cols,values);if(pos=0){详细设计说明书10rf.seek(pos);myReadLine(rf);delete(STable,pos,rf.getFilePointer());}else{rf.close();return-3;}rf.close();return0;}算法描述:按学号删除学生表中的一行输出:操作成功0学号不存在-3数据不能包含逗号-2//模块名称:更新输入:姓名,学号处理:publicstaticintupdateStudent(Stringname,Stringnum)throwsIOException{if(name.indexOf(',')=0||num.indexOf(',')=0)return-2;RandomAccessFilerf=readFile(STable);int[]cols={1};