




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019/5/30,1,Java程序设计及应用开发教程,主编: 虞益诚,E-mail:,2019/5/30,第16章 应用开发与课程设计实例,2,第16章 Java应用开发与课程设计实例,16.1 系统开发概述 16.2 需求分析 16.3 总体设计 16.4 详细设计 16.5 本章小结 学习的目的在于应用。Java应用开发是对所学知识的梳理与综合,也是服务于社会的集中体现。本章主要讲述了系统开发概述、需求分析、系统总体构思、系统模块设计、系统数据流程、数据库、设计,同时介绍了详细设计和主要程序代码实现过程。,2019/5/30,第16章 应用开发与课程设计实例,3,16.1 系统开发概述,通常,系统开发要经历系统规划、系统分析、系统设计、系统实施、系统运行与维护五个阶段。 系统规划是制定信息系统的发展战略、系统的总体方案、数据规划、功能规划与信息资源配置规划。 系统分析系指系统初步调查、系统可行性研究、系统详细调查、需求分析等。 系统设计包括总体设计与详细设计,涵盖系统总体结构设计、输入输出设计、处理过程设计、代码设计、数据库设计、系统平台方案的选择,物理模型的提出等。 系统实施包括程序设计与调试,系统软硬件配置、安装与调试,人员的培训,系统的切换运行等。 系统运行与维护系指系统运行的组织与管理,系统评价,系统纠错性维护、适应性维护、完善性维护、预防性维护等。 限于篇幅在此我们主要关注需求分析、系统总体设计与详细设计。,2019/5/30,第16章 应用开发与课程设计实例,4,16.2 系统开发概述需求分析,16.1.1系统概述 学生管理信息系统(SMIS: Student Management Information System)主要分析、编辑与实现学生信息的输入、修改、设置、查询与统计等基本功能。它可用来管理学生信息与提高系统管理工作的效率。 16.1.2系统平台需求 1. 软件环境 软件基本运行的平台环境为Windows2000/XP操作系统、J2EE运行平台(SDK1.5),JCreator。为提高开发效率,尚宜采用快速开发平台JBuilder 系列。 2. 硬件环境 系统在Windows2000/XP、JCreator及JBuilder下开发,通常的微机系统均能够胜任,只不过快慢而已,但推荐:CPU为1G以上、内存256M以上、硬盘容量在10G以上为好。,2019/5/30,第16章 应用开发与课程设计实例,5,16.3 总体设计,16.1.3 系统功能需求 系统开发的总体任务是实现学生信息管理的系统化、规范化和自动化。需求分析是在系统开发总体任务的基础上完成的,从发展的角度充分了解用户各方面的需求 。 16.3 总体设计 16.3.1 系统总体构思 在前期需求分析的基础上,从信息系统的目标出发,建立系统的总体结构,确立各个模块层次,设计完善的数据库系统,以保证总体目标的实现,为设计良好的用户界面与安全可靠的系统打下基础。 16.3.2 系统模块设计 依据需求分析及主要任务的表述,可对上述各项功能按照结构化程序设计的要求进行集中、分层结构化,自上而下逐层设置得到系统功能模块结构图,系统总体功能模块结构如图16-1所示。,2019/5/30,第16章 应用开发与课程设计实例,6,2019/5/30,第16章 应用开发与课程设计实例,7,16.3.3 系统数据流程,用户的需求具体体现在各种信息的提供、保存、更新、查询和统计打印上,这就要求系统数据流应充分满足各种信息的输入和输出。本系统数据流程图如图16-2所示。 16.3.4 数据库的设计 数据库规划与设计是数据库应用与系统开发 的关键问题。 数据库设计过程如图16-3所示为。,2019/5/30,第16章 应用开发与课程设计实例,8,13.2 URL编程0,数据库表的主要内容如下: 学生基本信息表表示了学生的基本信息:学号、姓名、性别、出生日期、家庭地址等,如表16-1所示。 学生成绩信息表包括了学号、学分、成绩总分、语文、数学、英语等,如表16-1所示。 学生成绩信息表包括了班级、学院、专业、班主任、教室(所在教室)、等,如表16-2所示。,2019/5/30,第16章 应用开发与课程设计实例,9,16.4 详细设计,依据系统需求分析和系统总体设计的基础与结论,我们可以展开对主要模块分析,阐述系统的详细设计和主要代码实现过程(限于篇幅,详细可参阅所供例题、开发实例源程序)。 16.4.1 主控平台模块 基于功能需求和总体设计的结果,本平台可以驱动:初始化、信息管理、成绩管理、信息查询、数据统计、系统帮助等诸多子模块,通过点击主控菜单的方式进入相应的功能模块。主控界面窗体如图16-4所示。,2019/5/30,第16章 应用开发与课程设计实例,10,16.4 详细设计_部分代码1,import java.awt.*; import java.awt.event.*; import javax.swing.*; jbcl.layout.*;import java.sql.*;import javax.swing.border.TitledBorder; public class MainClass extends JFrame /主窗体平台类,引出子类及方法等 JPanel contentPane; ResultSet rs; /定义内容面版与数据关联所用库对象 String sql =new String(); Database DB=new Database(); /使用Database类定义DB public static studmess SMall = new studmess(); /设置显示窗体类对象供返回用 public static editStudmess editmess=new editStudmess(); public static delStudmess delImess=new delStudmess(); public static StudShow StudShmess=new StudShow(); JMenuBar mainMenu = new JMenuBar(); /开始声明系统菜单栏及菜单项目 JMenu menuIni=new JMenu(); /开始定义系统菜单及其菜单项目 JMenuItem itemExit=new JMenuItem(); JMenu jMenuSysini = new JMenu(); /初始化 JMenuItem jMenuItemdi = new JMenuItem(); JMenuItem jMenuItemjz = new JMenuItem(); JMenuItem jMenuItemzx = new JMenuItem(); JMenuItem jMenuItembf = new JMenuItem();JMenuItem jMenuItemhf = new JMenuItem(); JMenuItem jMenuItemau = new JMenuItem();JMenuItem jMenuItemrp = new JMenuItem(); JMenu menuInfo=new JMenu(); /信息管理,2019/5/30,第16章 应用开发与课程设计实例,11,16.4 详细设计_部分代码2,JMenuItem itemShow=new JMenuItem(); JMenuItem itemAdd=new JMenuItem(); JMenuItem itemEdit=new JMenuItem(); JMenuItem itemDelete=new JMenuItem(); JMenu menuGrade=new JMenu(); /成绩管理 JMenuItem itemShowG=new JMenuItem(); JMenuItem itemAddG=new JMenuItem(); JMenu menuOrder=new JMenu(); JMenuItem itemByTotal=new JMenuItem();JMenuItem itemByChinese=new JMenuItem(); JMenuItem itemByMath=new JMenuItem();JMenuItem itemByEnglish=new JMenuItem(); JMenuItem itemByCgrade=new JMenuItem(); /按学分排序 JMenu menuSearchAll=new JMenu(); /信息查询 JMenuItem itemSearchGrade=new JMenuItem(); /查询成绩 JMenu menuSearch=new JMenu(); /查询人员 JMenuItem itemSearchByName=new JMenuItem(); JMenuItem itemSearchByNum=new JMenuItem(); JMenuItem itemSearchByClass=new JMenuItem(); JMenu menuSum=new JMenu(); /数据统计 JMenuItem itemSumPeople=new JMenuItem();JMenuItem itemSumGrade=new JMenuItem(); JMenu menuHelp=new JMenu(); /系统帮助 JMenuItem itemAbout=new JMenuItem();JMenuItem itemTool=new JMenuItem(); JMenuItem itemGuide=new JMenuItem();JMenu jMenuSetup = new JMenu(); JMenuItem jMenuItemtiut = new JMenuItem();JMenuItem jMenuItemSp = new JMenuItem(); JMenuItem jMenuItemExam = new JMenuItem();JMenuItem jMenuItemKm = new JMenuItem(); JMenuItem jMenuItemClass = new JMenuItem();JMenuItem jMenuItemxq = new JMenuItem();,2019/5/30,第16章 应用开发与课程设计实例,12,16.4 详细设计_部分代码3,XYLayout xYLayout1 = new XYLayout(); Label label2 = new Label(); JButton jButton1 = new JButton(); TitledBorder titledBorder1 = new TitledBorder(“); public MainClass() /主构造方法 enableEvents(AWTEvent.WINDOW_EVENT_MASK); try MenusInit(); catch(Exception e) e.printStackTrace(); private void MenusInit() throws Exception / 菜单显示信息初始化,略有省略 contentPane = (JPanel) this.getContentPane();contentPane.setLayout(xYLayout1); this.setSize(new Dimension(400, 300);this.setTitle(“高校学生管理信息系统“); jMenuini.setText(“初始化“); /初始化菜单显示信息及字体设置 jMenuini.setFont(new java.awt.Font(“Dialog“, Font.PLAIN, 12); itemExit.setText(“退出本系统“);/下条语句为设置:“退出本系统”注册监听 itemExit.addActionListener(new MainClass_itemExit_ActionAdapter(this); itemExit.setFont(new java.awt.Font(“Dialog“, 0, 12); jMenuItembf.setText(“数据库备份“);/数据库备份菜单显示信息及字体设置 jMenuItembf.addActionListener(new MainClass_ jMenuItembf _ActionAdapter(this); jMenuItembf.setFont(new java.awt.Font(“Dialog“, Font.PLAIN, 12); jMenuItemhf.setText(“数据库恢复“); jMenuItemhf.addActionListener(new MainClass_ jMenuItemhf _ActionAdapter(this); jMenuItemhf.setFont(new java.awt.Font(“Dialog“, Font.PLAIN, 12); jMenuIni.setText(“初始化“); jMenuIni.setFont(new java.awt.Font(“Dialog“, 0, 12);,2019/5/30,第16章 应用开发与课程设计实例,13,16.4 详细设计_部分代码4,jMenuInfo.setText(“信息管理“); jMenuInfo.setFont(new java.awt.Font(“Dialog“, 0, 12); jMenuGrade.setText(“成绩管理“); jMenuGrade.setFont(new java.awt.Font(“Dialog“, 0, 12); itemSearchAll.setText(“信息查询“); itemSearchAll.setFont(new java.awt.Font(“Dialog“, 0, 12); itemSearchGrade.setText(“查询成绩“); itemSearchGrade.addActionListener(new MainClass_ itemSearchGrade _ActionAdapter(this); itemSearchGrade.setFont(new java.awt.Font(“Dialog“, 0, 12); /子菜单及部分菜单项省略 jMenuSum.setText(“数据统计“); jMenuSum.setFont(new java.awt.Font(“Dialog“, 0, 12); jMenuSetup.setText(“系统设置“); jMenuSetup.setFont(new java.awt.Font(“Dialog“, Font.PLAIN, 12); jMenuHelp.setText(“帮助“);menuHelp.setFont(new java.awt.Font(“Dialog“, 0, 12); contentPane.setBackground(Color.pink); /设置内容面板背景色 contentPane.setEnabled(true);contentPane.setToolTipText(“); contentPane.setActionMap(null);label2.setAlignment(Label.CENTER); label2.setBackground(Color.lightGray); label2.setFont(new java.awt.Font(“宋体“, Font.BOLD, 27); label2.setForeground(Color.red);label2.setText(“高等院校“); jButton1.setBackground(Color.lightGray); jButton1.setFont(new java.awt.Font(“隶书“, Font.BOLD, 38); jButton1.setForeground(Color.blue);jButton1.setBorder(titledBorder1); jButton1.setText(“学生管理信息系统“); /添加系统一级菜单:初始化.信息管理.成绩管理.信息查询.数据统计.系统设置.帮助 mainMenu.add(menuIni); mainMenu.add(menuInfo);mainMenu.add(menuGrade); mainMenu.add(menuSearchAll);mainMenu.add(menuSum); mainMenu.add(jMenuSetup);mainMenu.add(menuHelp);,2019/5/30,第16章 应用开发与课程设计实例,14,16.4 详细设计_部分代码5,menuIni.add(itemExit); menuIni.addSeparator(); /添加初始化菜单的菜单项与分隔条 menuIni.add(jMenuSysini); menuIni.addSeparator(); menuIni.add(jMenuItembf); menuIni.add(jMenuItemhf); menuIni.addSeparator();menuIni.add(jMenuItemau); menuIni.add(jMenuItemrp);jMenuSysini.add(jMenuItemdi); /添加二级初始化的菜单项 jMenuSetup.add(itemtiut); jMenuSetup.add(itemSp); /添加系统设置菜单的菜单项 jMenuSetup.addSeparator();jMenuSetup.add(itemExam); jMenuSetup.add(itemkm); jMenuSetup.addSeparator();jMenuSetup.add(itemClass);jMenuSetup.add(itemxq); menuHelp.add(itemAbout); /添加帮助菜单的菜单项 menuHelp.addSeparator() ;menuHelp.add(itemTool);menuHelp.add(itemGuide); contentPane.add(label2, new XYConstraints(274, 78, 118, 42); contentPane.add(jButton1, new XYConstraints(24, 126, 351, 48); jMenuSetup.addSeparator(); this.setJMenuBar(mainMenu); /以下是部分监听类 class MainClass_itemExit_ActionAdapter implements ActionListener /系统退出监听 MainClass adaptee; MainClass_itemExit_ActionAdapter(MainClass adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.itemExit_actionPerformed(e); class MainClass_ jMenuItembf _ActionAdapter implements ActionListener /数据备份监听 MainClass adaptee; MainClass_ jMenuItembf _ActionAdapter(MainClass adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee. jMenuItembf _actionPerformed(e); /部分省略 class MainClass_ itemtiut_actionAdapter implements java.awt.event.ActionListener /院系监听 MainClass adaptee; MainClass_ itemtiut _actionAdapter(MainClass adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.itemByCgrade_actionPerformed(e);,2019/5/30,第16章 应用开发与课程设计实例,15,16.4 详细设计0,16.4.2 初始化模块 该模块提供了:数据库备份、数据库恢复、系统初始化(包括专项设置、数据初始化与数据结转)、添加用户、修改密码和退出系统等功能,从而为系统提供了数据库的安全性备份与恢复,系统数据的按需自动清零、数据跨年度的结转以及用户程序结束后有效退出等,在此,主要介绍数据库备份、数据库恢复、退出系统。 数据库备份主要程序如下: void jMenuItembf _actionPerformed(ActionEvent e) File filebak=new File(“.bakdb.bak”); /备份文件对象 File fileDb=new File(“.dataStudent_Info.mdb”); /数据库文件对象 FileinputStream fin=null; FileoutStream fout =null; /文件输入与输出流 try /将数据库复制到备份数据库。 if (!filebak.exists() ; filebak.createNewfile();fin=new FileinputStream(fileDb); fout=new FileoutputStream(filebak);int read0; while (read0=filein.read() != -1) fout.write(byte) read0; JOptionPane.showMessageDialog(this,” 备份成功!”,”提示”, JOptionPane.INFOR MATION_MESSAGE); catch(Exception e) JOptionPane.showMessageDialog(this,e.toString(),”提示”, JOptionPane. ERROR_MESSAGE); finally try /关闭文件输入输出流 if (fin!=null) fin.close();if (fout!=null) fout.close(); catch (Except
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年自考专业(工商企业管理)真题附答案详解(黄金题型)
- 2025邮政行业职业技能鉴定试题含答案详解(轻巧夺冠)
- 2025云南省蒙自市中考物理检测卷有完整答案详解
- 2025证券从业资格综合提升测试卷(培优B卷)附答案详解
- 2024年绍兴文理学院单招《物理》考试历年机考真题集附答案详解【能力提升】
- 盲盒产品供应链管理与优化方案
- 智能路灯节能降耗规划方案
- 半导体材料加工生产线设备维护保养信息共享方案
- 群体事件应急决策与指挥中心建设方案
- 二手家电回收绿色回收渠道建设方案
- 基础教育教学成果奖评审组织实施方案
- 建行考试题目及答案
- 医院拆除工程方案范本(3篇)
- Unit 1 第4课时 Section B 1a-2b 导学案-七年级英语上册
- 2026届上海市交通大学附属中学嘉定分校英语高三上期末联考模拟试题
- 第3课 团团圆圆过中秋 第1课时(课件)2025-2026学年道德与法治二年级上册统编版
- 小学二年级数学上册教材分析教学计划
- 第6课 从小爱科学 第1课时(课件)2025-2026学年道德与法治三年级上册统编版
- 学会自我保护课件教学
- 感染性关节炎护理查房
- 标准化作业管理制度
评论
0/150
提交评论