下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大型软件项目实训报告目:研究生招生管理系统选题来源: 指导教师:名: 级: 号:1.序言1.1选题背景1.2选题目的及意义1.3选题完成情况2.项目需求分析2.1项目功能需求2.2项目性能需求2.3其他需求3.项目概要设计53.1系统功能结构设计3.2系统整体架构设计3.3数据库结构设计104.详细设计204.1模块1描述205.实训总结 .435.1技术总结435.2思想总结43231序言1.1选题背景研究生招生管理系统V1.0是一个功能比较完善的数据管理软件,具有 数据操作高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开 发,可在应用范围较广的 WINDOWS列等操作系统上使用
2、。1.2选题目的及意义(1) 希望借此次课程设计的机会巩固本学期所学到的知识,锻炼自己的专 业技能,提高自己的软件开发能力。(2) 借此次进行课程设计的同时掌握软件工程的基础知识和理论,分析大 型软件开发过程中出现的问题,了解软件开发生命周期中常用的技术,掌握软 件开发过程的结构化方法和面向对象方法,学会运用面向对象的软件工程方法 进行软件需求分析、系统设计、实现和测试,并通过课程实践,实际运用软件 工程的思想和技术,掌握软件项目管理和团队开发的工作方法。1.3选题完成情况由于时间比较短,使用计算机不方便及对于网络编程不熟悉,本研究生招 生信息管理系统并没有提供数据的远程访问功能。对信息的保护
3、手段仅限于设 置用户级别,以及提供数据文件的备份,比较简单,安全性能有待进一步完善。2. 项目需求分析2.1项目功能需求2.1.1功能划分该软件具有如下功能:查询功能;插入功能;修改功能;删除功能;浏览功能;授权功能;2.1.2功能描述(1)查询功能按照学号查询考生信息,成绩信息,录取信息;按照考生其他属性查询考生信息,成绩信息,录取信息;按照专业号查询专业信息;插入功能增加一个考生记录;增加一个专业记录;增加一个成绩记录; 增加一个录取考生记录;修改功能修改某一个已存在的记录内容;删除功能删除一个记录;(5)浏览功能管理员浏览各个记录信息(6)授权功能授权读者访问数据的权限2.2项目性能需求
4、2.2.1数据精确度需求查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到, 同时保证查准率。222时间特性一般操作的响应时间应在1 2秒内。2.2.3适应性满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运 行要求。2.3其他需求2.3.1运行需求(1) 用户界面使用GUI的图形用户界面,界面友好。(2) 硬件接口支持各种X86系列PC机。(3) 软件接口运行于Windows95/98及更高版本具有WIN32 API的操作系统之上。3. 项目概要设计3.1系统功能结构设计3.1.1考生录入考生录入模块调用:管理员身份检验模块考生身份检验模块考生信息输入模块数据库操
5、作模块考生录入模块管理员身份验证模块数据库操作模块图3-1考生录入3.1.2修改信息修改模块调用:数据库查询模块数据库操作模块管理员身份验证模块考生信息修改模块录取考生信息修改模块专业信息修改模块修改模块图3-2修改信息3.1.3录取考生录取模块调用:管理员身份验证模块数据库查询模块数据库操作模块录取输入模块录取模块图3-3录取考生3.1.4统计信息统计模块调用:管理员身份验证模块数据库查询模块数据统计模块统计模块图3-4统计信息3.1.5系统管理系统管理模块调用:管理员身份验证模块数据备份模块数据恢复模块系统设置模块更改口令模块更改口令模块管理员身份验证模块系统管理模块图3-5系统管理3.2
6、系统整体架构设计3.2.1总体结构主模块调用:考生录入模块修改模块录取模块统计模块系统管理模块研究生招生管理系统主模块考生录入模块修改模块系统管理模块图3-6总体结构3.3数据库结构设计3.3.1考生卷纸经阅卷后得到成绩单说明:每个考生有一份成绩单,每个成绩单只能下发给一个考生,因此考 生和成绩单是1:1的关系。图3-7考生卷纸经阅卷后得到成绩单3.3.2考生报考专业图3-8考生报考专业3.3.3招生管理员根据成绩单将考生信息录取到录取名单中说明:(1)1个招生管理员可以根据多个成绩单,将每个考生登录到相应的录取名单中(2) 1个考生可以由多个管理员根据成绩单录入姓§q口令)招生管理
7、员n政治来源录取考生成绩单(年龄J学力性别基础科目是否应届复试成绩专 业 基 础 科复试科目录取单位报考类别专业科目报考专业外语图3-9招生管理员根据成绩单将考生信息录取到录取名单中3.3.4专业招收学生图3-10专业招收学生3.3.5汇总E-R图图3-11汇总E-R图3.3.6数据库设计所生成的表表3-1考生表属性名含义取值范围ExamID-he 口 考号“081000000'.“ 081099999'StuName考生姓名2字母24表3-2考生信息表属性名含义取值范围StuName考生姓名2字母24疋向培养|非疋向培养1ExaSort报考类别委托培养1自筹经费P olSta
8、tus政治面貌2字母24Source来源2字母50Kno wledge学力2字母24ThisYear是否应届是|否计算机科学与技术1动 力理论学1振动控制1实Sp eciality报考专业验固力学1计算流体学1数字制造与信息化Sex性别男|女Age年龄0.999表3-3考生成绩表属性名含义取值范围ExamID-hz* 口. 考号“081000000'.“ 081099999'Sp eResult专业科目0.100BasResult基础科目0.100P oIResult政治0.100Lan Result外语0.100Sp eBasResult专业基础科目0.100表3-4专业表属
9、性名含义取值范围Sp eID专业代码00000.99999Sp eName专业名称2字母50表3-5招生管理员表属性名含义取值范围AdmName管理员姓名2字符24P assword密码6字符10表3-6录取表属性名含义取值范围ExamID-he 口 考号“081000000'.“ 081099999'AdmName管理员姓名2字符24MatrA partme nt录取单位2字母50(外语|政治|基础科目1RetrObject复试科目专业基础科目1专业科目)RetrResult复试成绩0.100表3-7招生表属性名含义取值范围#ExamIDw 口考号“081000000'
10、;.“081099999'Sp elD专业代码00000.999994. 详细设计4.1模块1描述4.1.1功能描述(1)主流程1)建立与数据库的连接2)获取系统设置3)显示对话框(即主界面)4)等待用户输入:如为报名:进入考生录入流程(显示报名对话框)。如为修改:进入修改流程(显示修改对话框)。如为录取:进入录入录取名单流程(显示录取对话框)。如为统计:进入统计流程(显示统计对话框)。37如为系统管理:进入系统管理流程(进行授权) 如为退出:检查所有子窗口,关闭对话框,断开与数据库的连接。(2)考生录入流程1)要求考生输入考生信息2)考生身份检验3)返回成功或失败信息4)结束考生录入
11、流程启动系统图4-1考生录入流程(3)信息修改流程1)要求选择所要修改的数据库如为考生信息:修改考生信息如为录取信息:修改录取名单如为专业信息:修改专业信息2)等待用户输入3)返回成功或失败信息4)结束修改流程图4-2信息修改流程(4) 考生录取流程1) 等待用户输入录取考生的考号和成绩2) 返回成功或失败信息3)结束录取流程图4-3考生录取流程(5) 统计流程1)等待用户输入2)如为开始统计:读入统计条件输出统计结果如为结束统计:结束统计流程图4-4统计流程(6)系统管理1)身份验证2)用户操作权限检验3)根据操作权限级别显示系统管理对话框4)等待用户选择操作5)结束系统管理流程启动系统*输
12、入口令NO查验YES显示主菜单* 退出流程退出数据备份丄数据恢复系统设置更改口令II输入要求输入数据输入口令输入文件名确认确认确认确认备份T恢复T设置T更改口令图4-5系统管理4.1.2性能描述(1)数据精确度需求查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到, 同时保证查准率。(2)时间特性一般操作的响应时间应在1 2秒内。(3) 适应性满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。4.1.3算法描述/逻辑流程部分编码及注释:P ublicclass DataBase Op erate private Connectioncon;/ 定义连接pub
13、lic static int length ;/ 定义数据条数/单独的方法创建数据库连接private void contect()try Class. forName( "com.mysql.jdbc.Driver");con,"root" , "root");DriverManager. getConnection ("jdbc:mysql:/localhost:3306/student"if(con.isClosedOXJOptionPane. showMessageDialog( null ,"数
14、据库连接失败!");System. exit (-1); catch(ClassNotFou ndExce pti on e)JOptionPane. showMessageDialog( null ,"驱动程序未找到!");System. exit (-1); catch (SQLException e)JOptionPane. showMessageDialog( null ,"数据库查询失败!");System. exit (-1);/从数据库中读取记录public Object叩 readsqKXcon tect();Object叩 O
15、b =null ;fin allytry con .close(); catch (SQLException ex)JOptionPane. showMessageDialog( null ,"数据库关闭失败!");41try int count = 0;Stateme nt stmt = con .createStateme nt();ResultSet rs = stmt.executeQuery("SELECT * FROM stude ntifo");while (rs.next()cou nt +;len gth = cou nt;ob = n
16、ew Objectcou nt7;rs = stmt.executeQuery( "SELECT * FROM stude ntifo");int i = 0;while (rs.next()obi =n ewObject7;obi0 = rs.getStri ng("ExamID");obi1 = rs.getStri ng("AdmName):obi2 = rs.getStri ng("RetrResult");obi3 = rs.getStri ng("RetrObject");i+;fin all
17、y try con. close。; catch (SQLException ex)JOptionPane. showMessageDialog( null ,"数据库关闭失败!");return ob;/插入一条记录到数据库public void writesql(Stuifo stu)con tect();try Stateme nt stmt = con .createStateme nt();stmt.execute Up date("in sert intostude ntifo(ExamlD,AdmName,RetrResult,RetrObject)
18、 values('"+ stu.getNo() +Hl HIstu.getName() +"','"+ stu.getSex() +HI HI+ stu.getID().getID() +"','"+ newSimpleDateFormat( "yyyy-MM-dd" ).format(stu.getBirthday() +stu.getSelfi ntroduceO +); catch (SQLException e)");JOptionPane. showMessageD
19、ialog( null ,"数据库更新失败!publicvoid updatesql(Stuifo stu)con tect();/System.out .println (""+stu.getNo();try Prep aredStateme nt ps =con.prep areStateme nt("UP DATE stude ntifo SETAdmName=?,RetrResult=?,RetrObject=? WHERE ExamID=?" );ps.setString(7,Long.toString (stu.getNo();p
20、s.setStri ng(1,stu.getNameO);p s.setStri ng(2,stu.getSexO);ps.setStri ng(3,stu.getlD().getlD();p s.setStri ng(5,newSimpleDateFormat( "yyyy-MM-dd" ).format(stu.getBirthday();p s.setStri ng(6,stu.getSelfi ntroduce();p s.execute Up date();/System.out. prin tl n(stu.getName(); catch (SQLExcept
21、ion e)System. out .println(e.getMessage()+"n" +e+"n" +e.getErrorCode()+ "n");JOptionPane. showMessageDialog( null ,"数据库更新失败!");JOptionPane. showMessageDialog( null ,"数据库关闭失败!");p ublicvoid deletesqKString no)con tect();try Stateme nt stmt =con. creat
22、eStateme nt(ResultSet.TYP E_SCROLL_SENSITIVEsultSet. CONCUR_ UP DATABLEResultSet rs = stmt.executeQuery("SELECT * FROM stude ntifo");int a=-1;while (rs.next()if (rs.getString( "ExamID" ).equals(no)rs.deleteRow(); catch (Exception e)JOptionPane. showMessageDialog( null ,"删除数据
23、失败!");System. out.println(e);/System.out .printin (""+stu.getNo();/在数据库中搜索相应记录p ublic Object叩 searchsql(Stri ng n ame)con tect();Object叩 ob =null ;43try int count = 0;Stateme nt stmt = con .createStateme nt();ResultSet rs = stmt.executeQuery("SELECT * FROM stude ntifo");whil
24、e (rs.next()if (rs.getString("AdmName".indexOf(name)!=-1)cou nt+;ob = new Objectcou nt7;rs = stmt.executeQuery( "SELECT * FROM stude ntifo");int i = 0;while (rs.nextO)"AdmName');Stri ng temp = rs.getStri ng( if (temp.indexOf(name)!=-1)obi = new Object7;obi0 = rs.getStri
25、ng("ExamID");obi1 = temp;obi2 = rs.getStri ng("RetrResult");obi3 = rs.getStri ng("RetrObject");i+; catch (SQLException e)JOptionPane. showMessageDialog( null ,"数据库查询岀错!");fin allytrycon .close(); catch (SQLException ex)JOptionPane. showMessageDialog( null ,&qu
26、ot;数据库关闭失败!");return ob;/从数据库中找到权限信息进行分配权限Public boolean login(String name,String word)boolean result = false ;try Stateme nt stmt = con .createStateme nt();con tect();45ResultSet rs = stmt.executeQuery("SELECT * FROM password");51while (rs.next()if (rs.getString("用户名").trim
27、().equals(name)if (rs.getString("密码").equals(word)result = true ; catch (Exception e)JOptionPane. showMessageDialog( null ,"连接数据库失败!");System. out.pnntln(e);fin allytry con. close(); catch (SQLException ex)JOptionPane. showMessageDialog( null ,"数据库关闭失败!");retur n result
28、;4.1.4接口(或关键函数)设计(1)用户接口使用基于对话框的GUI,用户通过鼠标的点击和键盘的输入完成操作,编辑框用于用户的输入。(2)外部接口 主模块:输入:操作系统传递至的各种消息以及用户的输入数据输出:用户界面显示上层模块:无下层模块:考生录入模块、修改模块、录取模块、统计模块、系统管理模块考生录入模块:输入:考生信息输入输出:考生信息插入到数据库上层模块:主模块下层模块:管理员身份检验模块、考生信息输入模块修改模块:输入:用户选择输出:用户界面显示上层模块:主模块下层模块:管理员身份检验模块、考生信息修改模块、录取考生信息修改模块、专业信息修改模块录取模块:输入:录取考生信息输入输
29、出:录取考生信息插入到数据库上层模块:主模块下层模块:管理员身份检验模块、录取输入模块 统计模块:输入:用户选择统计方式输出:用户界面显示上层模块:主模块下层模块:管理员身份检验模块、数据统计模块系统管理模块:输入:用户选择管理方式输出:用户界面显示上层模块:主模块下层模块:管理员身份检验模块、数据备份模块、数据恢复模块、系统管理模块、口令更改模块管理员身份验证模块:输入:管理员姓名、密码输出:成功信息或错误信息上层模块:主模块、考生录入模块、修改模块、录取模块、统计模块、系统管理模块下层模块:无 考生信息输入模块:输入:考生信息输出:考生信息上层模块:考生录入模块下层模块:考生信息校验模块、数据库操作模块 考生信息检验模块:输入:考生信息输出:成功信息或错误信息上层模块:考生信息检验模块下层模块:无 数据库操作模块:输入:数据库操作信息输出:成功信息或错误信息上层模块:考生信息输入模块、考生信息修
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度原材料采购与价格调整合同
- 2024年度润滑油品长距离输送合同
- 2024年度林业资源开发租赁合同
- 2024年度争议解决与不锈钢加工定制合同
- 2024年度广告投放与效果评估合同
- 2024年度物业管理合同协议与物业管理合同范本
- 2024年度旅游服务合同(标的旅游服务)
- 2024年度代理合同:国际货物代理协议
- 2024年度智能仓储物流系统租赁合同
- 2024年度建筑材料供货及安装合同
- 提高学生地理空间思维能力的教学方法
- 矿山环境保护 全套课件(上)
- 建筑幕墙工程(铝板、玻璃、石材)监理实施细则(全面版)
- 120院前急救岗前培训
- 体育公园运营管理方案
- 休闲生态农业观光园建设项目财务分析及效益评价
- 2024年诊所医生聘用合同
- 肺心病的护理诊断及措施
- 国际金融(英文版)智慧树知到期末考试答案2024年
- 2024年《药物临床试验质量管理规范》(GCP)网络培训题库
- 辽宁省名校联盟2024届高三下学期3月份联合考试化学
评论
0/150
提交评论