




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大型软件项目实训报告题 目:研究生招生管理系统选题来源:校内指导教师:姓 名:班 级:学 号:1 .序百 21.1 选题背景 21.2 选题目的及意义 21.3 选题完成情况 22 .项目需求分析 32.1 项目功能需求 32.2 项目性能需求 42.3 其他需求 43 .项目概要设计 53.1 系统功能结构设计 53.2 系统整体架构设计 83.3 数据库结构设计 84 .详细设计154.1 模块1描述 155 .实训总结 335.1 技术总结 335.2 思想总结 3341 .序言1.1 选题背景研究生招生管理系统V1.0是一个功能比较完善的数据管理软件,具有 数据操作高效迅速等优点。该软
2、件采用功能强大的数据库软件开发工具进行开 发,可在应用范围较广的 WINDOWS列等操作系统上使用。1.2 选题目的及意义(1)希望借此次课程设计的机会巩固本学期所学到的知识,锻炼自己的专 业技能,提高自己的软件开发能力。(2)借此次进行课程设计的同时掌握软件工程的基础知识和理论,分析大 型软件开发过程中出现的问题,了解软件开发生命周期中常用的技术,掌握软 件开发过程的结构化方法和面向对象方法,学会运用面向对象的软件工程方法 进行软件需求分析、系统设计、实现和测试,并通过课程实践,实际运用软件 工程的思想和技术,掌握软件项目管理和团队开发的工作方法。1.3 选题完成情况由于时间比较短,使用计算
3、机不方便及对于网络编程不熟悉,本研究生招 生信息管理系统并没有提供数据的远程访问功能。对信息的保护手段仅限于设 置用户级别,以及提供数据文件的备份,比较简单,安全性能有待进一步完善。2 .项目需求分析2.1 项目功能需求2.1.1 功能划分该软件具有如下功能:查询功能;插入功能;修改功能;删除功能;浏览功能;授权功能;2.1.2 功能描述(1)查询功能按照学号查询考生信息,成绩信息,录取信息;按照考生其他属性查询考生信息,成绩信息,录取信息;按照专业号查询专业信息;(2)插入功能增加一个考生记录;增加一个专业记录;增加一个成绩记录;增加一个录取考生记录;(3)修改功能修改某一个已存在的记录内容
4、;(4)删除功能删除一个记录;(5)浏览功能管理员浏览各个记录信息(6)授权功能授权读者访问数据的权限2.2 项目性能需求2.2.1 数据精确度需求查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到, 同时保证查准率。2.2.2 时间特性一般操作的响应时间应在1 2秒内。2.2.3 适应性满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运 行要求。2.3 其他需求2.3.1 运行需求(1)用户界面使用GUI的图形用户界面,界面友好。(2) 硬件接口支持各种x86系列PC机。(3)软件接口运行于 Windows95/98及更高版本具有 WIN32 API的操作系统之上
5、。3.项目概要设计3.1 系统功能结构设计3.1.1 考生录入考生录入模块调用:管理员身份检验模块考生身份检验模块考生信息输入模块数据库操作模块考生信息检验模块数据库操作模块考生录入模块图3-1考生录入3.1.2 修改信息修改模块调用:数据库查询模块数据库操作模块管理员身份验证模块考生信息修改模块录取考生信息修改模块专业信息修改模块6管理员身份验证模块考生信息修改模块修改模块数据库查询模块数据库操作模块8图3-2修改信息3.1.3 录取考生录取模块调用:管理员身份验证模块数据库查询模块数据库操作模块录取输入模块管理员身份验证模块录取模块数据库查询模块数据库操作模块图3-3录取考生3.1.4统计
6、信息统计模块调用:管理员身份验证模块数据库查询模块数据统计模块结果显示模块管理员身份验证模块统计模块数据库查询模块数据统计模块结果显示模块图3-4统计信息3.1.5系统管理图3-5系统管理10系统管理模块调用:管理员身份验证模块数据备份模块数据恢复模块系统设置模块更改口令模块数据备份模块管理员身份验证模块系统管理模块更改口令模块3.2 系统整体架构设计3.2.1 总体结构主模块调用:考生录入模块修改模块录取模块统计模块系统管理模块13录取模块统计模块修改模块研究生招生管理系统主模块考生录入模块系统管理模块图3-6总体结构3.3 数据库结构设计3.3.1 考生卷纸经阅卷后得到成绩单说明:每个考生
7、有一份成绩单,每个成绩单只能下发给一个考生,因此考 生和成绩单是1:1的关系。图3-7考生卷纸经阅卷后得到成绩单3.3.2 考生报考专业图3-8考生报考专业3.3.3 招生管理员根据成绩单将考生信息录取到录取名单中说明:(1) 1个招生管理员可以根据多个成绩单,将每个考生登录到相应的录取名单中(2) 1个考生可以由多个管理员根据成绩单录入143.3.4专业招收学生3.3.5汇总E-R图16招生管理员图3-11汇总E-R图成绩单专业基础科目表3-3考生成绩表所生成的表表3-1考生表属性名含义取值范围ExamID乍勺“081000000'.“081099999'StuName考生姓
8、名2字母24表3-2考生信息表属性名含义取值范围StuName考生姓名2字母24ExaSort报考类别定向培养|非定向培养| 委托培养|自筹经费PolStatus政治面貌2字母24Source来源2字母50Knowledge2字母24ThisYear是否应届是|否Speciality报一专业计算机科学与技术|动 力理论学|振动控制|实 验周力学|计算流体学| 数字制造与信息化Sex性别男|女Age年龄0.999属性名含义取值范围ExamID乍勺“081000000'.“081099999'SpeResult专业科目0.100BasResult基础科目0.100PolResult
9、政治0.100LanResult外语0.100SpeBasResult专业基础科目0.100表3-4专业表属性名含义取值范围SpeID专业代码00000.99999SpeName专业名称2字母50表3-5招生管理员表属性名含义取值范围AdmName管理员姓名2字符24Password密码6字符10表3-6录取表属性名含义取值范围ExamID乍勺“081000000'.“081099999'AdmName管理员姓名2字符24MatrApartment录取单位2字母50RetrObject复试科目(外语政治|基础科目| 专业基础科目|专业科 目)RetrResult复试成绩0.10
10、018表3-7招生表属性名含义取值范围ExamID乍勺“081000000'.“081099999'SpelD专业代码00000.99999194.详细设计4.1 模块1描述4.1.1 功能描述(1)主流程1)建立与数据库的连接2)获取系统设置3)显示对话框(即主界面)4)等待用户输入:如为报名:进入考生录入流程(显示报名对话框)。如为修改:进入修改流程(显示修改对话框)。如为录取:进入录入录取名单流程(显示录取对话框)。如为统计:进入统计流程(显示统计对话框)。如为系统管理:进入系统管理流程(进行授权)。如为退出:检查所有子窗口,关闭对话框,断开与数据库的连接(2)考生录入流
11、程1)要求考生输入考生信息2)考生身份检验3)返回成功或失败信息4)结束考生录入流程28启动系统输入口令显示主菜单输入考生信息更新数据库显示错误图4-1考生录入流程(3)信息修改流程1)要求选择所要修改的数据库如为考生信息:修改考生信息如为录取信息:修改录取名单如为专业信息:修改专业信息2)等待用户输入3)返回成功或失败信息4)结束修改流程图4-2信息修改流程(4)考生录取流程1)等待用户输入录取考生的考号和成绩2)返回成功或失败信息3)结束录取流程图4-3考生录取流程(5)统计流程1)等待用户输入2)如为开始统计:读入统计条件输出统计结果如为结束统计:结束统计流程图4-4统计流程(6)系统管
12、理1)身份验证2)用户操作权限检验3)根据操作权限级别显示系统管理对话框4)等待用户选择操作5)结束系统管理流程图4-5系统管理4.1.2性能描述(1)数据精确度需求查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到, 同时保证查准率。(2) 时间特性一般操作的响应时间应在1 2秒内。(3) 适应性满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运 行要求。4.1.3 算法描述/逻辑流程部分编码及注释:public class DataBaseOperate private Connection con;/ 定义连接public static int length
13、;/ 定义数据条数/单独的方法创建数据库连接private void contect()try Class. forName( "com.mysql.jdbc.Driver");con =DriverManager. getConnection ("jdbc:mysql:/localhost:3306/student", "root" , "root");if (con.isClosed()JOptionPane. showMessageDialog( null ,"数据库连接失败!"); Sy
14、stem. exit (-1); catch (ClassNotFoundException e)JOptionPane. showMessageDialog( null,"驱动程序未找到!");System. exit (-1); catch (SQLException e)JOptionPane. showMessageDialog( null ,"数据库查询失败!");System. exit (-1); /从数据库中读取记录 public Object叩 readsql()contect();Object叩 ob =nulltry int cou
15、nt = 0;Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery( "SELECT * FROM studentifo" ); while (rs.next()count +;length = count;ob = new Objectcount7;SELECT * FROM studentifo" )"ExamID");"AdmName""RetrResult");"RetrObject");
16、rs = stmt.executeQuery(int i = 0;while (rs.next()obi = newObject7;obi0 = rs.getString(obi1 = rs.getString(obi2 = rs.getString(obi3 = rs.getString( i+; catch (SQLException e)JOptionPane. showMessageDialog( null ,"数据库查询出错!");finally try con.close(); catch (SQLException ex)JOptionPane. showMe
17、ssageDialog( null ,"数据库关闭失败!");return ob;/插入一条记录到数据库public void writesql(Stuifo stu) contect();try Statement stmt = con.createStatement();stmt.executeUpdate( "insert into studentifo(ExamID,AdmName,RetrResult,RetrObject) values1"+ stu.getNo() +"','"+stu.getName()
18、 +"','"+ stu.getSex() +"','"+ stu.getID().getID() +"','"+ newSimpleDateFormat( "yyyy-MM-dd" ).format(stu.getBirthday() +"','"+stu.getSelfintroduce() +"')"); catch (SQLException e)JOptionPane. showMessageD
19、ialog( null ,"数据库更新失败!"); finally try con.close(); catch (SQLException ex) JOptionPane. showMessageDialog( null ,"数据库关闭失败!"); public void updatesql(Stuifo stu)contect();/System.out.println(""+stu.getNo();try PreparedStatement ps = con.prepareStatement( "UPDATE stud
20、entifo SETAdmName=?,RetrResult=?,RetrObject=? WHERE ExamID=?" );ps.setString(7,Long. toString (stu.getNo();ps.setString(1,stu.getName();ps.setString(2,stu.getSex();ps.setString(3,stu.getID().getID();ps.setString(5, newSimpleDateFormat( "yyyy-MM-dd" ).format(stu.getBirthday();ps.setStr
21、ing(6,stu.getSelfintroduce();ps.executeUpdate();/System.out.println(stu.getName(); catch (SQLException e)System. out .println(e.getMessage()+ "n" +e+"n" +e.getErrorCode()+ "n");JOptionPane. showMessageDialog( null ,"数据库更新失败!"); finally try con.close(); catch (
22、SQLException ex)JOptionPane. showMessageDialog( null ,"数据库关闭失败!");public void deletesql(String no)contect();Statement stmt =con.createStatement(ResultSet.TYPE_SCROLL_SENSIT,IVESultSet.CONCUR_UPDATA;BLEResultSet rs = stmt.executeQuery( "SELECT * FROM studentifo" );int a=-1;while (
23、rs.next() if (rs.getString( "ExamID" ).equals(no) rs.deleteRow(); catch (Exception e)JOptionPane. showMessageDialog( null,"删除数据失败!"); System. out .println(e); finally try con.close(); catch (SQLException ex) JOptionPane. showMessageDialog( null ,"数据库关闭失败!");/System.out.
24、println(""+stu.getNo();/在数据库中搜索相应记录public Object叩 searchsql(String name)contect();Object口口 ob = null ;try 30int count = 0;Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery( "SELECT * FROM studentifo" );while (rs.next()if (rs.getString( "AdmName".in
25、dexOf(name)!=-1)count+;ob = new Objectcount7;rs = stmt.executeQuery( "SELECT * FROM studentifo" );int i = 0;while (rs.next()String temp = rs.getString("AdmName');if (temp.indexOf(name)!=-1)"ExamID");"RetrResult");"RetrObject");obi = new Object7;obi0 =
26、 rs.getString(obi1 = temp;obi2 = rs.getString(obi3 = rs.getString( i+; catch (SQLException e)JOptionPane. showMessageDialog( null ,"数据库查询出错!");finally con.close(); catch (SQLException ex)JOptionPane. showMessageDialog( null ,"数据库关闭失败!");return ob;/从数据库中找到权限信息进行分配权限public boolean
27、login(String name,String word)contect();boolean result = false ;try Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery( "SELECT * FROM password"); while (rs.next()if (rs.getString( "用户名").trim().equals(name) if (rs.getString("密码").equals(word)result
28、 = true ; catch (Exception e)JOptionPane. showMessageDialog( null,"连接数据库失败!");System. out .println(e); finally 32try con.close(); catch (SQLException ex)JOptionPane. showMessageDialog( null ,"数据库关闭失败!"); return result; 4.1.4 接口(或关键函数)设计(1)用户接口使用基于又t话框的GUI,用户通过鼠标的点击和键盘的输入完成操作,编 辑框
29、用于用户的输入。(2) 外部接口主模块:输入:操作系统传递至的各种消息以及用户的输入数据输出:用户界面显示上层模块:无下层模块:考生录入模块、修改模块、录取模块、统计模块、系统管理模块 考生录入模块:输入:考生信息输入输出:考生信息插入到数据库上层模块:主模块下层模块:管理员身份检验模块、考生信息输入模块修改模块:输入:用户选择输出:用户界面显示上层模块:主模块下层模块:管理员身份检验模块、考生信息修改模块、录取考生信息修改模 块、专业信息修改模块录取模块:输入:录取考生信息输入输出:录取考生信息插入到数据库上层模块:主模块下层模块:管理员身份检验模块、录取输入模块统计模块:输入:用户选择统计
30、方式输出:用户界面显示上层模块:主模块下层模块:管理员身份检验模块、数据统计模块系统管理模块:输入:用户选择管理方式输出:用户界面显示上层模块:主模块下层模块:管理员身份检验模块、数据备份模块、数据恢复模块、系统管理 模块、口令更改模块管理员身份验证模块:输入:管理员姓名、密码输出:成功信息或错误信息上层模块:主模块、考生录入模块、修改模块、录取模块、统计模块、系统 管理模块下层模块:无考生信息输入模块:输入:考生信息输出:考生信息上层模块:考生录入模块下层模块:考生信息校验模块、数据库操作模块考生信息检验模块:输入:考生信息输出:成功信息或错误信息上层模块:考生信息检验模块下层模块:无数据库操作模块:输入:数据库操作信息输出:成功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能化厂房设计与施工一体化合同汇编
- 2025年高等教育服务项目提案报告
- 甜品店股份买卖及甜品制作工艺传承合同
- 商务写字楼场地承包经营及物业管理合同
- 现代物流园区厂房租赁合同转租执行细则
- 高效能源利用厂房租赁及节能改造项目合同
- 成都二手房交易房屋交易纠纷处理合同
- 产业转型升级示范园区厂房购买与政策支持合同
- 品德超市员工管理制度
- 商业物业成本管理制度
- 永久供电施工方案
- CRH2动车组制动系统常见故障及处理方法
- 国开《色彩》形考任务第1-4章及答案
- 2004浙S1、S2、S3砌砖化粪池
- GB 5009.88-2023食品安全国家标准食品中膳食纤维的测定
- 《供应链管理》期末考试复习题库(含答案)
- 易制毒化学品安全管理培训
- Unit6 Presenting ideas-Project 课件-高中英语外研版必修第一册
- 北京市朝阳区招聘社区工作者考试试卷真题及答案2022
- 技术营销培训
- 气瓶的使用操作规程
评论
0/150
提交评论