Java应用开发与课程设计实例.ppt_第1页
Java应用开发与课程设计实例.ppt_第2页
Java应用开发与课程设计实例.ppt_第3页
Java应用开发与课程设计实例.ppt_第4页
Java应用开发与课程设计实例.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

2019/11/19,1,Java程序设计及应用开发教程,主编:虞益诚,E-mail:yuyich,2019/11/19,第16章应用开发与课程设计实例,2,第16章Java应用开发与课程设计实例,16.1系统开发概述16.2需求分析16.3总体设计16.4详细设计16.5本章小结学习的目的在于应用。Java应用开发是对所学知识的梳理与综合,也是服务于社会的集中体现。本章主要讲述了系统开发概述、需求分析、系统总体构思、系统模块设计、系统数据流程、数据库、设计,同时介绍了详细设计和主要程序代码实现过程。,2019/11/19,第16章应用开发与课程设计实例,3,16.1系统开发概述,通常,系统开发要经历系统规划、系统分析、系统设计、系统实施、系统运行与维护五个阶段。系统规划是制定信息系统的发展战略、系统的总体方案、数据规划、功能规划与信息资源配置规划。系统分析系指系统初步调查、系统可行性研究、系统详细调查、需求分析等。系统设计包括总体设计与详细设计,涵盖系统总体结构设计、输入输出设计、处理过程设计、代码设计、数据库设计、系统平台方案的选择,物理模型的提出等。系统实施包括程序设计与调试,系统软硬件配置、安装与调试,人员的培训,系统的切换运行等。系统运行与维护系指系统运行的组织与管理,系统评价,系统纠错性维护、适应性维护、完善性维护、预防性维护等。限于篇幅在此我们主要关注需求分析、系统总体设计与详细设计。,2019/11/19,第16章应用开发与课程设计实例,4,16.2系统开发概述需求分析,16.1.1系统概述学生管理信息系统(SMIS:StudentManagementInformationSystem)主要分析、编辑与实现学生信息的输入、修改、设置、查询与统计等基本功能。它可用来管理学生信息与提高系统管理工作的效率。16.1.2系统平台需求1.软件环境软件基本运行的平台环境为Windows2000/XP操作系统、J2EE运行平台(SDK1.5),JCreator。为提高开发效率,尚宜采用快速开发平台JBuilder系列。2.硬件环境系统在Windows2000/XP、JCreator及JBuilder下开发,通常的微机系统均能够胜任,只不过快慢而已,但推荐:CPU为1G以上、内存256M以上、硬盘容量在10G以上为好。,2019/11/19,第16章应用开发与课程设计实例,5,16.3总体设计,16.1.3系统功能需求系统开发的总体任务是实现学生信息管理的系统化、规范化和自动化。需求分析是在系统开发总体任务的基础上完成的,从发展的角度充分了解用户各方面的需求。16.3总体设计16.3.1系统总体构思在前期需求分析的基础上,从信息系统的目标出发,建立系统的总体结构,确立各个模块层次,设计完善的数据库系统,以保证总体目标的实现,为设计良好的用户界面与安全可靠的系统打下基础。16.3.2系统模块设计依据需求分析及主要任务的表述,可对上述各项功能按照结构化程序设计的要求进行集中、分层结构化,自上而下逐层设置得到系统功能模块结构图,系统总体功能模块结构如图16-1所示。,2019/11/19,第16章应用开发与课程设计实例,6,2019/11/19,第16章应用开发与课程设计实例,7,16.3.3系统数据流程,用户的需求具体体现在各种信息的提供、保存、更新、查询和统计打印上,这就要求系统数据流应充分满足各种信息的输入和输出。本系统数据流程图如图16-2所示。16.3.4数据库的设计数据库规划与设计是数据库应用与系统开发的关键问题。数据库设计过程如图16-3所示为。,2019/11/19,第16章应用开发与课程设计实例,8,13.2URL编程0,数据库表的主要内容如下:学生基本信息表表示了学生的基本信息:学号、姓名、性别、出生日期、家庭地址等,如表16-1所示。学生成绩信息表包括了学号、学分、成绩总分、语文、数学、英语等,如表16-1所示。学生成绩信息表包括了班级、学院、专业、班主任、教室(所在教室)、等,如表16-2所示。,2019/11/19,第16章应用开发与课程设计实例,9,16.4详细设计,依据系统需求分析和系统总体设计的基础与结论,我们可以展开对主要模块分析,阐述系统的详细设计和主要代码实现过程(限于篇幅,详细可参阅所供例题、开发实例源程序)。16.4.1主控平台模块基于功能需求和总体设计的结果,本平台可以驱动:初始化、信息管理、成绩管理、信息查询、数据统计、系统帮助等诸多子模块,通过点击主控菜单的方式进入相应的功能模块。主控界面窗体如图16-4所示。,2019/11/19,第16章应用开发与课程设计实例,10,16.4详细设计_部分代码1,importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;jbcl.layout.*;importjava.sql.*;importjavax.swing.border.TitledBorder;publicclassMainClassextendsJFrame/主窗体平台类,引出子类及方法等JPanelcontentPane;ResultSetrs;/定义内容面版与数据关联所用库对象Stringsql=newString();DatabaseDB=newDatabase();/使用Database类定义DBpublicstaticstudmessSMall=newstudmess();/设置显示窗体类对象供返回用publicstaticeditStudmesseditmess=neweditStudmess();publicstaticdelStudmessdelImess=newdelStudmess();publicstaticStudShowStudShmess=newStudShow();JMenuBarmainMenu=newJMenuBar();/开始声明系统菜单栏及菜单项目JMenumenuIni=newJMenu();/开始定义系统菜单及其菜单项目JMenuItemitemExit=newJMenuItem();JMenujMenuSysini=newJMenu();/初始化JMenuItemjMenuItemdi=newJMenuItem();JMenuItemjMenuItemjz=newJMenuItem();JMenuItemjMenuItemzx=newJMenuItem();JMenuItemjMenuItembf=newJMenuItem();JMenuItemjMenuItemhf=newJMenuItem();JMenuItemjMenuItemau=newJMenuItem();JMenuItemjMenuItemrp=newJMenuItem();JMenumenuInfo=newJMenu();/信息管理,2019/11/19,第16章应用开发与课程设计实例,11,16.4详细设计_部分代码2,JMenuItemitemShow=newJMenuItem();JMenuItemitemAdd=newJMenuItem();JMenuItemitemEdit=newJMenuItem();JMenuItemitemDelete=newJMenuItem();JMenumenuGrade=newJMenu();/成绩管理JMenuItemitemShowG=newJMenuItem();JMenuItemitemAddG=newJMenuItem();JMenumenuOrder=newJMenu();JMenuItemitemByTotal=newJMenuItem();JMenuItemitemByChinese=newJMenuItem();JMenuItemitemByMath=newJMenuItem();JMenuItemitemByEnglish=newJMenuItem();JMenuItemitemByCgrade=newJMenuItem();/按学分排序JMenumenuSearchAll=newJMenu();/信息查询JMenuItemitemSearchGrade=newJMenuItem();/查询成绩JMenumenuSearch=newJMenu();/查询人员JMenuItemitemSearchByName=newJMenuItem();JMenuItemitemSearchByNum=newJMenuItem();JMenuItemitemSearchByClass=newJMenuItem();JMenumenuSum=newJMenu();/数据统计JMenuItemitemSumPeople=newJMenuItem();JMenuItemitemSumGrade=newJMenuItem();JMenumenuHelp=newJMenu();/系统帮助JMenuItemitemAbout=newJMenuItem();JMenuItemitemTool=newJMenuItem();JMenuItemitemGuide=newJMenuItem();JMenujMenuSetup=newJMenu();JMenuItemjMenuItemtiut=newJMenuItem();JMenuItemjMenuItemSp=newJMenuItem();JMenuItemjMenuItemExam=newJMenuItem();JMenuItemjMenuItemKm=newJMenuItem();JMenuItemjMenuItemClass=newJMenuItem();JMenuItemjMenuItemxq=newJMenuItem();,2019/11/19,第16章应用开发与课程设计实例,12,16.4详细设计_部分代码3,XYLayoutxYLayout1=newXYLayout();Labellabel2=newLabel();JButtonjButton1=newJButton();TitledBordertitledBorder1=newTitledBorder();publicMainClass()/主构造方法enableEvents(AWTEvent.WINDOW_EVENT_MASK);tryMenusInit();catch(Exceptione)e.printStackTrace();privatevoidMenusInit()throwsException/菜单显示信息初始化,略有省略contentPane=(JPanel)this.getContentPane();contentPane.setLayout(xYLayout1);this.setSize(newDimension(400,300);this.setTitle(高校学生管理信息系统);jMenuini.setText(初始化);/初始化菜单显示信息及字体设置jMenuini.setFont(newjava.awt.Font(Dialog,Font.PLAIN,12);itemExit.setText(退出本系统);/下条语句为设置:“退出本系统”注册监听itemExit.addActionListener(newMainClass_itemExit_ActionAdapter(this);itemExit.setFont(newjava.awt.Font(Dialog,0,12);jMenuItembf.setText(数据库备份);/数据库备份菜单显示信息及字体设置jMenuItembf.addActionListener(newMainClass_jMenuItembf_ActionAdapter(this);jMenuItembf.setFont(newjava.awt.Font(Dialog,Font.PLAIN,12);jMenuItemhf.setText(数据库恢复);jMenuItemhf.addActionListener(newMainClass_jMenuItemhf_ActionAdapter(this);jMenuItemhf.setFont(newjava.awt.Font(Dialog,Font.PLAIN,12);jMenuIni.setText(初始化);jMenuIni.setFont(newjava.awt.Font(Dialog,0,12);,2019/11/19,第16章应用开发与课程设计实例,13,16.4详细设计_部分代码4,jMenuInfo.setText(信息管理);jMenuInfo.setFont(newjava.awt.Font(Dialog,0,12);jMenuGrade.setText(成绩管理);jMenuGrade.setFont(newjava.awt.Font(Dialog,0,12);itemSearchAll.setText(信息查询);itemSearchAll.setFont(newjava.awt.Font(Dialog,0,12);itemSearchGrade.setText(查询成绩);itemSearchGrade.addActionListener(newMainClass_itemSearchGrade_ActionAdapter(this);itemSearchGrade.setFont(newjava.awt.Font(Dialog,0,12);/子菜单及部分菜单项省略jMenuSum.setText(数据统计);jMenuSum.setFont(newjava.awt.Font(Dialog,0,12);jMenuSetup.setText(系统设置);jMenuSetup.setFont(newjava.awt.Font(Dialog,Font.PLAIN,12);jMenuHelp.setText(帮助);menuHelp.setFont(newjava.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(newjava.awt.Font(宋体,Font.BOLD,27);label2.setForeground(Color.red);label2.setText(高等院校);jButton1.setBackground(Color.lightGray);jButton1.setFont(newjava.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/11/19,第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,newXYConstraints(274,78,118,42);contentPane.add(jButton1,newXYConstraints(24,126,351,48);jMenuSetup.addSeparator();this.setJMenuBar(mainMenu);/以下是部分监听类classMainClass_itemExit_ActionAdapterimplementsActionListener/系统退出监听MainClassadaptee;MainClass_itemExit_ActionAdapter(MainClassadaptee)this.adaptee=adaptee;publicvoidactionPerformed(ActionEvente)adaptee.itemExit_actionPerformed(e);classMainClass_jMenuItembf_ActionAdapterimplementsActionListener/数据备份监听MainClassadaptee;MainClass_jMenuItembf_ActionAdapter(MainClassadaptee)this.adaptee=adaptee;publicvoidactionPerformed(ActionEvente)adaptee.jMenuItembf_actionPerformed(e);/部分省略classMainClass_itemtiut_actionAdapterimplementsjava.awt.event.ActionListener/院系监听MainClassadaptee;MainClass_itemtiut_actionAdapter(MainClassadaptee)this.adaptee=adaptee;publicvoidactionPerformed(ActionEvente)adaptee.itemByCgrade_actionPerformed(e);,2019/11/19,第16章应用开发与课程设计实例,15,16.4详细设计0,16.4.2初始化模块该模块提供了:数据库备份、数据库恢复、系统初始化(包括专项设置、数据初始化与数据结转)、添加用户、修改密码和退出系统等功能,从而为系统提供了数据库的安全性备份与恢复,系统数据的按需自动清零、数据跨年度的结转以及用户程序结束后有效退出等,在此,主要介绍数据库备份、数据库恢复、退出系统。数据库备份主要程序如下:voidjMenuItembf_actionPerformed(ActionEvente)Filefilebak=newFile(“.bakdb.bak”);/备份文件对象FilefileDb=newFile(“.dataStudent_Info.mdb”);/数据库文件对象FileinputStreamfin=null;FileoutStreamfout=null;/文件输入与输出流try/将数据库复制到备份数据库。if(!filebak.exists();filebak.createNewfile();fin=newFileinputStream(fileDb);fout=newFileoutputStream(filebak);intread0;while(read0=filein.read()!=-1)fout.write(byte)read0;JOptionPane.showMessageDialog(this,”备份成功!”,”提示”,JOptionPane.INFORMATION_MESSAGE);catch(Exceptione)JOptionPane.showMessageDialog(this,e.toString(),”提示”,JOptionPane.ERROR_MESSAGE);finallytry/关闭文件输入输出流if(fin!=null)fin.close();if(fout!=null)fout.close();catch(Exceptionex),2019/11/19,第16章应用开发与课程

温馨提示

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

评论

0/150

提交评论