学籍管理系统详细设计方案.doc_第1页
学籍管理系统详细设计方案.doc_第2页
学籍管理系统详细设计方案.doc_第3页
学籍管理系统详细设计方案.doc_第4页
学籍管理系统详细设计方案.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

详细设计说明书 编号 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系统功能模块详细设计75.3系统界面详细设计121 引言1.1 编写目的 依据学生成绩管理系统的需求分析和总体设计详细说明学生管理系统各个层次中的每个程序和数据库系统的设计考虑,为后期程序员编码提供依据。其中重点说明学生管理系统各个模块的执行流程和数据库系统的详细设计。1.2 背景 系统名称:学生信息管理系统 由于学校的规模不断扩大,使得人工管理学生成绩变得越来越低效,故开发此系统提高工作效率。该系统是基于C/S构架的桌面客户端软件,使用对象为学生和教师,学生用来查询个人成绩,教师通过软件录入各个学生的信息1.3 参考资料1张海藩.软件工程导论第五版.清华大学出版社.20081.4 术语定义及说明成绩管理:对学生的基本信息、课程选择、成绩的录入、修改、删除、查询等一系列的操作。JRE Java Runtime Environment2 设计概述2.1 任务和目标2.1.1 需求概述业务需求:学生使用各自的账号密码登入查询成绩,老师使用管理员权限可以录入和修改信息。学生: 输入:学生账号,密码,身份 输出:学生的个人信息界面教师:输入:管理员账号,密码,身份输出:管理系统界面主要功能:能够实现管理员和学生对成绩的管理,即完成一些基本的功能,查询,删除,添加,修改等,也要实现成绩的统计,并且能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果,同时也要实现权限的管理性能需求: a 响应时间:少于3秒 b 更新处理时间:少于2秒 c 数据的转换和传送时间少于5秒 说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,a 操作方式上的变化:更人性化b 运行环境的变化:在windowsXP或以上的版本都能运行2.1.2 运行环境概述操作系统:windows 7数据库系统:文本文档软件环境:JRE配置要求:需将JRE路径配置到系统环境变量中2.1.3 条件与限制1) 由于系统较小,且在Windows7系统下开发,故在Windows环境下运行没有什么限制。2) 学生的一些私人信息必须要保护好。3) 该系统要受资金、寿命、社会等系列因素的制约和限制。4) 界面风格上受到Java特有风格的限制2.1.4 详细设计方法和工具设计方法:数据流程图工具:rational rose3 系统详细需求分析3.1 详细需求分析功能需求分析:(1) 信息维护:实现学生信息维护,包括增加学生信息,删除学生信息,修改学生信息(2) 信息查询:实现按姓名查询,按学号查询(3) 成绩统计:输入任意一个课程名和一个分数段,统计在此分数段的学生情况(4) 排序:用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)性能需求分析:(1)数据精确度:所有在相应域中包含查询关键字的记录都应被查到同时保证准确率 (2)时间特性:响应在一秒以内(3) 适应性:满足运行环境在允许操作系统之间的安全转换(4) 灵活性:在需求发生变化时,本系统的对这些变化的适应能力相对而言是比较强的,包括操作方式上的变化;运行环境的变化系统运行环境和限制条件分析: (1)硬件奔腾处理器以上的均可,操作系统XP以上均可 (2)安装了JRE的都可以,JRE基本都可以安装3.2 接口需求分析硬件接口: 支持一般的P II获更高档微机,笔记本电脑软件接口:在这里主要考虑软件与操作系统的接口,可运行于多种操作系统之上。考虑到文档处理的需要有可能可以包括与较常用的办公软件的接口4 总体方案确认4.1 系统总体结构确认系统组成确认:成绩管理系统取得数据输出结果计算成绩系统结构确认:学生表 字段名数据类型主键姓名学号YStringString课程表 字段名数据类型主键学分课程名YStringdouble成绩表 字段名数据类型主键课程名学号YStringString字段名数据类型主键YString成绩intY每个数据项都可以直接通过相关文件更新。查询时,也可以直观的在页面输入查询条件,就可得到结果系统工作流程确认:输入、管理学籍数据管理员 数据库In/out业务逻辑读取学籍数据用户 业务流程4.2 系统详细界面划分系统界面主要由前台登陆界面和后台功能界面组成,登陆界面负责确认信息,功能界面负责主要功能的实现登陆界面:包括简单的信息录入,确认功能界面:包括信息维护,信息查询,成绩统计,排序功能选项,同时提供退出和注销功能界面的功能都通过后台数据库的交互来实现各自的功能,其中使用数据库提供的接口来实现查询,删除功能5 系统详细设计5.1 系统结构设计及子系统划分系统结构设计:前端: 登陆模块 功能模块后端: 数据库模块子系统划分:前端功能模块划分:信息维护,信息查询,成绩统计,排序,排名系统后端数据库模块划分:查找,删除,更新,插入,排序5.2 系统功能模块详细设计模块名称:查找(由于模块较多(详见代码),仅举一例)输入:学生姓名处理:public static String queryBySname(String sname) throws IOException RandomAccessFile rf = readFile(STable);long pos;int where = 0 ;String who = sname ;ArrayList res = new ArrayList();pos = check(STable, 0, where, who);while (pos = 0) rf.seek(pos);String line = myReadLine(rf);String atbs = line.split(,);String eles = queryBySnum(atbs1);for (int i = 0; i = 0)return -2;RandomAccessFile rf = readFile(STable);int iarr1 = 0 ;String sarr1 = num ;long tmppos;RandomAccessFile tmprf = 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 ;long pos = check(STable, 0, cols, values);if (pos = 0) rf.seek(pos);myReadLine(rf);delete(STable, pos, rf.getFilePointer(); else rf.close();return -3;rf.close();return 0; 算法描述:按学号删除学生表中的一行输出: 操作成功 0学号不存在 -3数据不能包含逗号 -2/模块名称: 更新输入:姓名,学号 处理:public static int updateStudent(String name, String num)throws IOException if (name.indexOf(,) = 0 | num.indexOf(,) = 0)return -2;RandomAccessFile rf = readFile(STable);int cols = 1 ;String values = num ;long pos = check(STable, 0, cols, values);if (pos = 0) rf.seek(pos);myReadLine(rf);update(STable, pos, rf.getFilePointer(),name + , + num + System.getProperty(line.separator); else rf.close();return -3;rf.close();return 0;算法描述:按学号更新学生表中的一行输出:操作成功 0学号不存在 -3数据不能包含逗号 -2/模块名称:插入输入:姓名,学号处理:public static int insertStudent(String name, String num)throws IOException if (name.indexOf(,) = 0 | num.indexOf(,) = 0)return -2;RandomAccessFile rf = readFile(STable);int cols = 1 ;String values = num ;if (check(STable, 0, cols, values) 0) insert(STable, rf.length(),name + , + num + System.getProperty(line.separator); else rf.close();return -1;rf.close();return 0;算法描述:往学生表中插入一行信息输出: 操作成功 0学号已存在 -1数据不能包含逗号 -2模块名称:排序输入:学生成绩表处理:public static String quickSortCourse(String cname) throws IOException String res = queryCourseWithLimit(cname, 0, 100);myPartition(res, 0, res.length-1);return res;/快排函数private static void myPartition(String data, int low, int high) / 枢纽元,一般以第一个元素为基准进行划分int i = low;int j = high;if (low high) / 从数组两端交替地向中间扫描String pivotKey = datalow;/ 进行扫描的指针i,j;i从左边开始,j从右边开始while (i j) while (i = Integer.parseInt(pivotKey3) j-;/ end whileif (i j) / 比枢纽元素小的移动到左边datai = dataj;i+;/ end ifwhile (i j& Integer.parseInt(datai3) = Integer.parseInt(pivotKey3) i+;/ end whileif (i j) / 比枢纽元素大的移动到右边dataj = datai;j-;/ end if/ end while/ 枢纽元素移动到正确位置datai = pivotKey;/ 前半个子表递归排序myPartition(data, low, i - 1);/ 后半个子表递归排序myPartition(data, i + 1, high);/ end if算法描述:按照课程名查询目标课程的所有成绩信息并按升序用快速排序算法排序, 每条记录包含四个属性,分别为姓名、学号、课程名、成绩输出:无输出5.3 系统界面详细设计模块名称:登陆输入:用户名,密码,权限处理:boolean correct(String s1,String s2,String s3)tryFileReader in = new FileReader(s3+.txt);String str = ;int c;while(c = in.read()!=-1)str+=(char)c;String s = str.split( );for(int i = 0;i s.length;i = i+2)if(si.equals(s1)&si+1.equals(s2)in.close();return true;in.close();return false;catch(Exception e)return true;/public void actionPerformed(ActionEvent e)if(JButton)e.getSource().getText().equals(登录)if(name.getText().isEmpty()|password.getText().isEmpty()JOptionPane.showMessageDialog(jf,请输入信息!);else if(!correct(name.getText(),password.getText(),(String)jcb.getSelectedItem()name.setText();password.setText();JOptionPane.showMessageDia

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论