《学籍管理系统详细设计方案.docx》由会员分享,可在线阅读,更多相关《学籍管理系统详细设计方案.docx(11页珍藏版)》请在三一办公上搜索。
1、编号003版本1.0详细设计说明书工程名称学生成绩管理系统工程负责人组员2013年6月10日学籍管理系统详细设计说明书目录学籍管理系统详细设计说明书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 系统功能模块
2、详细设计75.3 系统界面详细设计121 引言1.1 编写目的依据学生成绩管理系统的需求分析和总体设计详细说明学生管理系统各个层次中的每个程序和数据库系统的设计考虑,为后期程序员编码提供依据。其中重点说明学生管理系统各个模块的执行流程和数据库系统的详细设计。1.2 背景系统名称:学生信息管理系统由于学校的规模不断扩大,使得人工管理学生成绩变得越来越低效,故开发此系统提高工作效率。该系统是基于C/S构架的桌面客户端软件,使用对象为学生和教师,学生用来查询个人成绩,教师通过软件录入各个学生的信息1.3 参考资料1张海藩.软件工程导论第五版.清华大学出版社.20081.4 术语定义及说明成绩管理:对
3、学生的基本信息、课程选择、成绩的录入、修改、删除、查询等一系列的操作。JREJavaRuntimeEnvironment2 设计概述2.1 任务和目标2.1.1 需求概述业务需求:学生使用各自的账号密码登入查询成绩,教师使用管理员权限可以录入和修改信息。学生:输入:学生账号,密码,身份输出:学生的个人信息界面教师:输入:管理员账号,密码,身份输出:管理系统界面主要功能:能够实现管理员和学生对成绩的管理,即完成一些基本的功能,查询,删除,添加,修改等,也要实现成绩的统计,并且能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果,同时也要实现权限的管理性能需求:a.响应时间:少于3
4、秒b.更新处理时间:少于2秒c.数据的转换和传送时间少于5秒说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,a.操作方式上的变化:更人性化b.运行环境的变化:在WindOWSXP或以上的版本都能运行2.1.2 运行环境概述操作系统:WindOWS7数据库系统:文本文档软件环境:JRE配置要求:需将JRE路径配置到系统环境变量中2.1.3 条件与限制1)由于系统较小,且在WindoWS7系统下开发,故在WindoWS环境下运行没有什么限制。2)学生的一些私人信息必须要保护好。3)该系统要受资金、寿命、社会等系列因素的制约和限制。4)界面风格上受到JaVa特有风格的
5、限制2.1.4 详细设计方法和工具设计方法:数据流程图工具:rationalrose3 系统详细需求分析3.1 详细需求分析3.2 求分析:(1)信息维护:实现学生信息维护,包括增加学生信息,删除学生信息,修改学生信息(2)信息查询:实现按姓名查询,按学号查询(3)成绩统计:输入任意一个课程名和一个分数段,统计在此分数段的学生情况(4)排序:用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)性能需求分析:(1)数据准确度:所有在相应域中包含查询关键字的记录都应被查到同时保证准确率(2)时间特性:响应在一秒以内(3)适应性:满足运行环境在允许操
6、作系统之间的安全转换(4)灵活性:在需求发生变化时,本系统的对这些变化的适应能力相对而言是比较强的,包括操作方式上的变化;运行环境的变化系统运行环境和限制条件分析:(1)硬件奔腾处理器以上的均可,操作系统XP以上均可(2)安装了JRE的都可以,JRE基本都可以安装3.3 接口需求分析硬件接口:支持一般的PII获更高档微机,笔记本电脑软件接口:在这里主要考虑软件与操作系统的接口,可运行于多种操作系统之上。考虑到文档处理的需要有可能可以包括与较常用的办公软件的接口4 总体方案确认4.1 系统总体构造确认系统组成确认:系统构造确认:学生表字段名数据类型主键学号StringY姓名String课程表字段
7、名数据类型主键课程名StringY学分double成绩表字段名数据类型主键学号StringY课程名StringY成绩int每个数据项都可以直接通过相关文件更新。查询时,也可以直观的在页面输入查询条件,就可得到结果业乡管理员用户E计,排序功能选项,同时提输入、管理学籍数据系统工作流程确认:读取学籍数据)三WW三要由前台登陆界一认信息,功能界面负责主要功能依登陆界面:包括简单的信息录入,功能界面:包括信息维护,信息区供退出和注销功能实现各自的功能,其中使用数界面的功能都通过后台数据建据库提供的接口来实现查询,删除功5系统详细设计5.1 系统构造设计及子系统划分系统构造设计:前端:登陆模块功能模块后
8、端:数据库模块子系统划分:前端功能模块划分:信息维护,信息查询,成绩统计,排序,排名系统后端数据库模块划分:查找,删除,更新,插入,排序5.2 系统功能模块详细设计模块名称:查找(由于模块较多(详见代码),仅举一例)输入:学生姓名处理:publicstaticStringqueryBySname(Stringsname)throwsIOExceptionRandomAccessFilerf=readFiLe(STabLe);longpos;intwhere=0;Stringwho=sname;ArrayLiStres=neWArrayList();pos=CheCk(STable,0,wher
9、e,who);while(pos=0)rf.seek(pos);Stringline=myReadLine(rf);Stringatbs=line.split(,);Stringeles=queryBySnum(atbsl);for(inti=0;irf.getFilePointer(),where,who);)rf.close();returncastToStringArray(res);算法描述:按照姓名查询目标学生的所有信息输出:姓名,学号,课程名,成绩模块名称:删除输入:学号处理:PublicstaticintdeleteStudent(Stringnum)throwsIOExcept
10、ionif(num.indexf(,)=0)return-2;RandomAccessFilerf=readFiLe(STabLe);intiarrl=0;Stringsarrl=num;longtmppos;RandomAccessFiletmprf=readFiLe(SCTabLe);tmppos=CheCk(SCTabLe0,iarrl,sarrl);while(tmppos=0)tmprf.seek(tmppos);myReadLine(tmprf);deLete(SCTabLe,tmppos,tmprf.getFilePointer();tmppos=CheCk(SCTabLe,tm
11、ppos,iarrl,sarrl);tmprf.close();intcols=1;Stringvalues=num;longpos=Check(STabLeJ0,cols,values);if(pos=0)rf.seek(pos);myReadLine(rf);deLete(STabLe,pos,rf.getFilePointer();elserf.close();return-3;rf.close();return0;)算法描述:按学号删除学生表中的一行输出:操作成功O学号不存在-3数据不能包含逗号-2/模块名称:更新输入:姓名,学号处理:PublicstaticintupdateStud
12、ent(Stringname.Stringnum)throwsIOExceptionif(name.indexf(,)=0num.indexf(,j)=0)return-2;RandomAccessFilerf=readFiLe(STabLe);intcols=1;Stringvalues=num;longpos=Check(STabLeJ0,cols,values);if(pos=0)rf.seek(pos);nyRedtne(rf);update(STobLejpos,rf.getFilePointer(),name+,+numSystem.getProperty(line.separat
13、or);elserf.close();return-3;)rf.close();return0;算法描述:按学号更新学生表中的一行输出:操作成功0学号不存在-3数据不能包含逗号-2模块名称:插入输入:姓名,学号处理:PublicstaticintinsertStudent(Stringname,Stringnum)throwsIOExceptionif(name.indexf(,)=0num.indexf(,)=0)return-2;RandomAccessFilerf=readFiLe(STabLe);intcols=1;Stringvalues=num;if(CheCk(STCIbLe,0
14、,cols,values)0)insert(STabLe,rf.length(),name+numSystem.getProperty(,line.separator);elserf.close();return-1;rf.close();return0;算法描述:往学生表中插入一行信息输出:操作成功0学号已存在-I数据不能包含逗号-2模块名称:排序输入:学生成绩表处理:publicstaticStringquickSortCourse(Stringcname)throwsIOExceptionStringres=queryCourseUithLimit(cnamej0,100);TnyPar
15、tition(res,0,res.length-1);returnres;快排函数privatestaticvoidmyPartition(Stringdata,intlow,inthigh)/枢纽元,一般以第一个元素为基准进展划分inti=low;intj=high;if(lowhigh)/从数组两端交替地向中间扫描StringpivotKey=datalow;/进展扫描的指针i,j;i从左边开场,j从右边开场while(ij)while(iInteger.prselnt(pivotKey3)j-;/endwhileif(ij)/比枢纽元素小的移动到左边datai=dataj;i+;/end
16、ifwhile(ij&Integer.prselnt(datai3)Integer.prseInt(pivotKey3)i+;/endwhileif(ij)/比枢纽元素大的移动到右边dataj=datai;/endif/endwhile/枢纽元素移动到正确位置datai=pivotKey;/前半个子表递归排序myPartition(data,Iowji-1);/后半个子表递归排序myPartition(data,i+ljhigh);/endif算法描述:按照课程名查询目标课程的所有成绩信息并按升序用快速排序算法排序,每条记录包含四个属性,分别为姓名、学号、课程名、成绩输出:无输出5.3 系统界
17、面详细设计模块名称:登陆输入:用户名,密码,权限处理:booleancorrect(Stringsi,Strings2,Strings3)tryFileReaderin=newFileReader(s3+.txt);Stringstr=;intc;while(c=in.read()!=-l)str+=(char)c;Strings=str.split();for(inti=0;is.Iengthji=i+2)if(si.equals(sl)&si+l.equals(s2)in.close();returntrue;)in.close();returnfalse;catch(Exceptione
18、)returntrue;/publicvoidactionPerformed(ActionEvente)if(DButton)e.getSource().getText().equals(登录)if(name.getText().isEmpty()password.getText().isEmpty()JOPtiOnPane.s/?。RMeSSageDiGLog(jfJ请输入信息!);elseif(!correct(name.getText(),password.getText(),(String)jcb.getSelectedltem()name.setTet();password.setT
19、ext();JOPtionPane.sh。WMeSSageDiaLog(jfJ用户名或密码错误!,);else(jf.dispose();Strings=null;if(jcb.getSelectedItefn().equals(学生)s=name.getText();ManagerSystemm=newManagerSystem(三);)if(JButton)e.getSource().getText().equals(退出)System.ext(0);算法描述:判断用户名密码的正确性,三个参数为用户名、密码、权限事件监听器,判断是否成功登录或者退出系统输出:退出按钮-退出登陆按钮一-正确进
20、入系统,错误报错管理系统主界面较复杂使用流程图表示学生流程图进入主界面,显示个人信息点击更改权限点击退出管理员点击退出按钮退出选择表,点击需要操作据完数口乍用接腐调库成添加操作相关信息,点击病认点击退出点击排序点击信维护录入用户名,密码,选择身份点击成绩统计点击更改权限进l界面,意示个人信息点击排名查询/点击信息查询点击登录按钮方式并点根据查询方式输入信息,并认调用数据库函数接口,并将结果返回在界面显示输入课程名和成绩区间,点击统计调用数据库接口返回结果,界面显示选择排序方式,点击确定调用数据库接口,返回排名信息根据选择的方式填入信息,点击统计选择按学号还是姓名调用数据库接口并返回界面显示课并升降入名择或录程选序序