软件开发过程与项目管理chapter_003PPT资料.ppt
《软件开发过程与项目管理chapter_003PPT资料.ppt》由会员分享,可在线阅读,更多相关《软件开发过程与项目管理chapter_003PPT资料.ppt(16页珍藏版)》请在冰豆网上搜索。
设计前,设计后MVC设计模式:
模型-视图-控制器(Model-View-Controller)
(1)为什么要使用MVC?
(2)MVC的优点(3)MVC的不足之处v多个视图能共享一个模型多个视图能共享一个模型v实现组件的松耦合实现组件的松耦合v代码重用性好代码重用性好v使用控制器来联接不同的模型使用控制器来联接不同的模型和视图去完成用户的需求和视图去完成用户的需求v视图和控制器做到行为同步视图和控制器做到行为同步v根据需求动态的打开或关闭、甚根据需求动态的打开或关闭、甚至在运行期间进行对象替换至在运行期间进行对象替换v模型的可移植性好模型的可移植性好v潜在的框架结构。
潜在的框架结构。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社软件详细设计基础软件详细设计基础v设计技术和工具设计技术和工具软件设计技术
(1)面向过程设计
(2)面向对象设计(3)两种方法的比较软件设计工具
(1)RationalROSETechnicalDeveloper
(2)PowerDesigner软件开发过程与项目管理软件开发过程与项目管理电子工业出版社面向对象的设计方法面向对象的设计方法v面向对象设计的概念面向对象设计的概念对象、操作和消息类、实例、继承和多态
(1)类:
具有共同属性的对象的抽象,是对象的模版
(2)实例:
类可以生成具有该类特征的对象,即类的一个实例(3)继承提供了一种重用对象的方式(4)多态是同一种事物表现出的多种形态,简单说是“一个接口,多种实现”软件开发过程与项目管理软件开发过程与项目管理电子工业出版社面向对象的设计方法面向对象的设计方法v视图层设计视图层设计视图层设计内容视图层设计过程
(1)熟悉用户并对用户进行合理的分类
(2)选取用户代表并分析其工作流程与习惯(3)设计并优化命令系统(4)对用户界面的细节进行设计(5)为用户演示快速原型,依据用户的反馈意见改进界面设计Web程序设计要考虑的问题用户的会话(session)管理、重复的表单提交和验证v用户如何与系统交互用户如何与系统交互v系统如何响应用户的命令系统如何响应用户的命令v系统的正常操作、成功以及操作系统的正常操作、成功以及操作失败时的提示信息失败时的提示信息v复杂的输出复杂的输出的格式设计的格式设计软件开发过程与项目管理软件开发过程与项目管理电子工业出版社面向对象的设计方法面向对象的设计方法v控制层设计控制层设计控制层通常为请求/响应数据进行导航(或路由)而存在。
同时它具有一定的数据处理功能,但不应该包含有业务逻辑。
控制层与视图层存在这一定的耦合性。
对于Java应用程序,实现控制层的最好方式是使用Servlet。
实现Servlet的控制功能,需要编写配置文件(web.xml)。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社面向对象的设计方法面向对象的设计方法v模型层设计模型层设计模型层设计又可以分为持久层、实体类、数据访问层和业务服务层设计持久层设计
(1)数据库的物理表结构设计:
数据库表结构及其表间关系设计
(2)实体类设计:
实体类包括属性和getXXX()方法和setXXX()方法(3)对象关系映射设计:
数据库表与实体类的映射设计软件开发过程与项目管理软件开发过程与项目管理电子工业出版社面向对象的设计方法面向对象的设计方法v映射文件的代码映射文件的代码vvvvvvvvvv软件开发过程与项目管理软件开发过程与项目管理电子工业出版社面向对象的设计方法面向对象的设计方法v模型层设计模型层设计数据访问层(DAO)设计
(1)数据层对数据进行管理,并向业务逻辑层提供标准化的开放访问接口
(2)主要功能:
数据创建、数据存储、数据查询、数据更新、数据删除、数据安全、事务支持、数据备份/恢复(3)DAO的责任在于提供给服务层(service)访问数据的能力并负责管理数据操作的监测与性能优化软件开发过程与项目管理软件开发过程与项目管理电子工业出版社面向对象的设计方法面向对象的设计方法v模型层设计模型层设计业务服务层(service)设计
(1)服务层与控制层的设计结构基本相同,也是通过一个导航配置查找服务接口,并通过接口获取所需要的业务数据。
(2)接口是不需要“分级”的,接口上的功能点(方法)应该是细粒度的。
(3)Service层的设计原则不需要过多的配置。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社工单类别管理模块的详细设计工单类别管理模块的详细设计v设计概览设计概览-程序调用关系软件开发过程与项目管理软件开发过程与项目管理电子工业出版社工单类别管理模块的详细设计工单类别管理模块的详细设计v设计概览设计概览-设计文档索引软件项目名称软件项目名称工单管理系统模块名称模块名称工单类别管理设计者设计者杨学瑜完成日期完成日期2007-08-08修改日期修改日期2007-09-05设设计计文文档档索索引引1视图层
(1)工单类别列表显示页面
(2)添加工单类别页面(3)修改工单类别页面(4)显示工单类别详细内容页面(5)删除工单类别页面2控制层控制层程序设计3模型层
(1)实体类设计
(2)数据库表及视图设计(3)数据访问接口设计(4)数据访问实现类设计(5)业务逻辑(服务)接口设计(6)业务逻辑(服务)实现类设计软件开发过程与项目管理软件开发过程与项目管理电子工业出版社工单类别管理模块的详细设计工单类别管理模块的详细设计v视图层设计视图层设计v控制层设计控制层设计v模型层设计模型层设计软件开发过程与项目管理软件开发过程与项目管理电子工业出版社小结小结v软件设计可以看作将需求规格说明书逐步转换为软件源代码的过程v在详细设计阶段,将抽象组件被细化为实际的组件,比如具体某个类或者对象。
v好的软件详细设计使得软件开发过程变得更容易,是提高软件质量的重要前提。
软件开发过程与项目管理软件开发过程与项目管理电子工业出版社软件开发与项目管理杨学瑜高立军编著电子工业出版社电子工业出版社http:
/