软件工程实用案例 第8章 基于构件的开发

上传人:知** 文档编号:186554300 上传时间:2021-07-19 格式:PPTX 页数:54 大小:298.43KB
返回 下载 相关 举报
软件工程实用案例 第8章 基于构件的开发_第1页
第1页 / 共54页
软件工程实用案例 第8章 基于构件的开发_第2页
第2页 / 共54页
软件工程实用案例 第8章 基于构件的开发_第3页
第3页 / 共54页
软件工程实用案例 第8章 基于构件的开发_第4页
第4页 / 共54页
软件工程实用案例 第8章 基于构件的开发_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《软件工程实用案例 第8章 基于构件的开发》由会员分享,可在线阅读,更多相关《软件工程实用案例 第8章 基于构件的开发(54页珍藏版)》请在金锄头文库上搜索。

1、第八章 基于构件的开发 面向对象的软件实现是把设计结果翻译成某种程序, 然后测试该软件。 面向对象程序的质量,基本上由面向对象设计的质量 决定,但是,所采用的程序语言的特点和程序,设计 风格也将对程序的可靠性、可复用性及可维护性产生 重要影响。 面向对象实现阶段的主要任务包括:选择合适的面向 对象的编程语言与开发环境,基于选择的语言和开发 环境编码,实现详细设计中所得到的类,对象,算法 等,将编写好的各个构件代码模块,根据构件之间的 关系集成在一起,对软件进行测试和调试,完成各个 部分和整个系统。 本章主要讨论问题: 系统实施前的准备工作有哪些? 基于构件类模型的编码的过程和方法? 构件复用的

2、层次?配置管理的重要性? 宿主机-目标主机开发要注意哪些问题? 问题1: 系统实施前的准备工作有哪些? 8.1 实施阶段的准备工作 无论程序编制还是系统测试,都需要一定客观的条件 环境,包括软件、硬件、模拟的客户网络和工作模式 等要素,同时这个阶段需要大量投入技术人员。在正 式开始编程前,需要开展如下准备工作。 1.硬件准备。 2.软件准备。 3.开发人员准备。 4.数据准备 8.2基于构件的编码 8.2.1 开发环境 由构件详细到代码,首先需要选择实现系统的编程语 言、开发环境,这些在设计阶段应该都已经得到考虑, 例如:对网上计算机销售系统的设计是以JavaWeb开发 作为基础,实现的主要语

3、言有Java、HTML、 JavaScript等,采用经典MVC框架模式的应用 JSP+Servlet+Javabean+DAO结构,开发工具主要有: Myeclipse、JDK1.7.0、Tomcat6、MysSQl。 MyEclipse( MyEclipse Enterprise Workbench ),是 基于Eclipse开发的功能强大的企业级集成开发环境,主要 用于Java、JavaEE以及移动应用的开发。 JDK(Java Development Kit)是 Java语言的软件开发工具 包,主要用于移动设备、嵌入式设备上的java应用程序。 JDK是整个java开发的核心,它包含了

4、JAVA的运行环境 (JVM+Java系统类库)和JAVA工具。 Apache Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并 发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP程序的首选。 MySQL是一个关系型数据库管理系统,目前属于Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之 一,在WEB应用方面,MySQL是最好的RDBMS (RelationalDatabaseManagementSystem,关系数据库管 理系统)应用软件。 问题2: 基于构件类模型的编码的过程和方法? 8.2基于构件的编码 8.

5、2.2 从雇员管理构件设计类图到编码 1.雇员管理构件设计模型 在信息管理系统中对业务数据的管理功能是系统最基 础的功能,也是最容易被复用的模块,业务管理一般 包含对数据的添加、删除、修改、查询这四种基本功 能,在实际情况中,根据需要又可以扩展统计、运 算、分析功能。 以“雇员管理”构件为例,该构件包括了对雇员基本 信息的管理功能,有根据名字模糊查询雇员信息、根 据编号查询雇员信息、添加雇员信息、删除雇员信 息、修改雇员信息五个基本功能,“雇员管理”构件 的详细设计类图如图8-1。 2.数据表 “雇员管理构件”所使用的数据表emp存放在关系 数据库pms中,emp表结构及字段注释如下表8-1所

6、示。 8.2.3 雇员管理构件编码 1. 视图层 (1)雇员查询页面 emp_list.jsp 功能描述:在该页面上,客户在文本框中输入需要查询员 工的名字或工作的关键字,点击查询按钮,可以模糊查询 并将查询结果显示在下表中,如果客户未输入任何关键字 则显示出全部员工记录。如图8-2雇员查询页面所示。 a href=EmpServlet?empno= window.location=emp_list.jsp; JavaScriptJavaScript代码代码 弹出消息显示删弹出消息显示删 除结果除结果。 8.2.3 雇员管理构件编码 2.控制层 EmpServlet.java 功能描述:控制类

7、EmpServlet负责接收视图层发出的 各种请求show(根据编号查询雇员)、insert(添加雇员) 、update(修改雇员信息)、delete(删除雇员)、findall( 根据名字工作关键字模糊查询),然后调用对应的方法 进行处理,这些方法会将数据封装到实体对象中,实 例化DAO层接口,将实体对象交给DAO层完成数据的 处理。 (1)EmpServlet类代码如下: Stringstatus=request.getParameter(status); if(show.equals(status) this.show(request,response); if(insert.equal

8、s(status) this.insert(request,response); if(update.equals(status) this.update(request,response); if(delete.equals(status) this.delete(request,response); if(findall.equals(status) this.findall(request,response); 接收页面上请求接收页面上请求 (statusstatus),),根根 据不同的据不同的 status,status,调用对调用对 应的方法进行处应的方法进行处 理理。 publi

9、cvoidfindall(HttpServletRequestrequest, HttpServletResponseresponse) throwsServletException,IOException try StringkeyWord=request.getParameter(empno); if(keyWord=null)keyWord=; IEmpDAOEDAO=newEmpDAOImpl(); Listall=EDAO.findAll(keyWord); request.setAttribute(emplist,all); request.getRequestDispatcher

10、(emp_list.jsp).forward (request,response); catch(Exceptione) 实例化实例化DAODAO层接口层接口 ,得到对象,得到对象EDAOEDAO, 由由EDAOEDAO执行执行findALLfindALL 方法,完成按雇员方法,完成按雇员 名字名字/ /工作模糊查询工作模糊查询 的任务的任务 publicvoidshow(HttpServletRequestrequest, HttpServletResponseresponse) throwsServletException,IOException Stringpages=emp_list.

11、jsp; try Stringno=request.getParameter(empno); IEmpDAOdao=newEmpDAOImpl(); Empemp=dao.findById(no); request.setAttribute(emp,emp); pages=emp_update.jsp; catch(Exceptione) request.getRequestDispatcher(pages).forward(request, response); 实例化实例化DAODAO层接层接 口,得到对象口,得到对象 daodao,由,由daodao执行执行 findByIdfindBy

12、Id方法,方法, 完成按雇员编号完成按雇员编号 查询的任务查询的任务 publicvoidinsert(HttpServletRequestrequest, HttpServletResponseresponse)throwsServletException, IOException Stringpages=emp_list.jsp; tryEmpemp=newEmp(); emp.setEmpno(request.getParameter(empno); emp.setEname(request.getParameter(ename); emp.setJob(request.getParam

13、eter(job); emp.setHiredate(newSimpleDateFormat(yyyy-MM-dd). parse(request.getParameter(hiredate); emp.setSal(Float.parseFloat(request.getParameter(sal) IEmpDAOdao=newEmpDAOImpl(); if(dao.doCreate(emp) pages=insert_success1.jsp; catch(Exceptione) request.getRequestDispatcher(pages).forward(request,re

14、sponse); 实例化实例化DAODAO层接口层接口 ,得到对象,得到对象daodao, 由由daodao执行执行 doCreatedoCreate方法,完方法,完 成按雇员添加的成按雇员添加的 任务任务 publicvoidupdate(HttpServletRequestrequest, HttpServletResponseresponse) throwsServletException,IOException Stringpages=emp_list.jsp; try Stringempno=request.getParameter(empno); Stringename=reque

15、st.getParameter(ename); Stringjob=request.getParameter(job); java.util.Datehiredate=new SimpleDateFormat(yyyy-MM-dd).parse(request.getParameter(hiredate); floatsal=Float.parseFloat(request.getParameter(sal); Empemp=newEmp(); emp.setEmpno(empno); emp.setEname(ename); emp.setJob(job); emp.setHiredate(

16、hiredate); emp.setSal(sal); IEmpDAOEDAO=newEmpDAOImpl(); if(EDAO.doUpdate(emp)pages=update_success.jsp; catch(Exceptione) request.getRequestDispatcher(pages).forward(request,response); 实例化DAO层接 口,得到对象 EDAO,由EDAO 执行doUpdate方 法,完成雇员信 息修改的任务 publicvoiddelete(HttpServletRequestrequest, HttpServletResponseresponse) throwsServletException,IOException Stringpages=emp_list.jsp; Stringempno=request.getParameter(empno); try IEmpDAOEDAO=newEmpDAOImpl(); if(EDAO.doRemove(empno) pages=delete_success.jsp; cat

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号