学籍管理系统详细设计方案.doc

上传人:jian****018 文档编号:8641533 上传时间:2020-03-30 格式:DOC 页数:17 大小:92KB
返回 下载 相关 举报
学籍管理系统详细设计方案.doc_第1页
第1页 / 共17页
学籍管理系统详细设计方案.doc_第2页
第2页 / 共17页
学籍管理系统详细设计方案.doc_第3页
第3页 / 共17页
点击查看更多>>
资源描述
编号 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.showMessageDialog(jf,用户名或密码错误!);elsejf.dispose();String s = null;if(jcb.getSelectedItem().equals(学生)s = name.getText();ManagerSystem m = new ManagerSystem(s);if(JButton)e.getSource().getText().equals(退出)System.exit(0); 算法描述:判断用户名密码的正确性,三个参数为用户名、密码、权限事件监听器,判断是否成功登录或者退出系统输出:退出按钮-退出 登陆按钮-正确进入系统,错误报错管理系统主界面较复杂使用流程图表示学生流程图退出点击退出按钮 学生 录入用户名,密码,选择身份点击登录按钮进入主界面,显示个人信息点击退出点击更改权限管理员流程图选择表,点击需要操作添加操作相关信息,点击确认退出点击退出按钮管理员 调用数据库接口完成操作录入用户名,密码,选择身份点击信息维护选择查询方式并点击根据查询方式输入信息,并点击确认点击退出点击登录按钮点击信息查询调用数据库函数接口,并将结果返回在界面显示点击成绩统计进入主界面,显示个人信息调用数据库接口返回结果,界面显示输入课程名和成绩区间,点击统计点击排序点击更改权限选择排序方式,点击确定录入课程名并选择升序或降序点击排名查询调用数据库接口并返回界面显示根据选择的方式填入信息,点击统计调用数据库接口,返回排名信息选择按学号还是姓名
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!