- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.2.1 面向对象设计 面向对象分析和设计基于相同的模型,一般认为没有严格的阶段性和很明显的界限,面向对象设计可看成面向对象分析的一种扩展。 面向对象分析是对目标系统的问题空间的理解、分析和反映,面向对象设计是用面向对象方法构造目标系统的解空间。 面向对象设计阶段还是有明确的目标,具体内容包括: (1) 设计软件体系结构,定义系统的高层划分,确定主要组件及其接口。 (2) 详细设计软件类或接口。按照架构模式定义信息系统的边界类、控制类和实体类,详细设计类的属性和方法,设计程序执行的交互图。 (3) 设计数据库接口,解决面向对象模型到数据库模型的过渡。 面向对象设计模型 面向对象设计模型是由Coad和Yourdon提出的。该模型由四部分和五个层次组成。如下图所示: 五个层次分别对应于,认定主题词,认定对象,认定结构,属性和实例关联的定义、服务和消息关联的定义 问题空间部件:是针对总体进行的设计,它包括完成目标系统的主要功能的对象。“问题空间部件”以面向对象分析为基础,通过扩展和调整,使之适应需求的变化,并为实现有关的功能所需的类、对象操作等提供实现途径。 人机交互部件:主要给出人机交互需要的对象。其主要工作有对用户进一步熟悉、分析用户的工作流程与习惯、设计系统命令、设计用户界面细节,设计用户界面专用类等。 任务管理部件:提供协调和管理目标系统软件各个任务的对象。“任务管理部件”的设计是在多用户,多任务或多线程操作系统上开发应用程序的需要。同时也通过任务描述软件系统中各子系统间的通信和协同。其主要工作有识别任务,包括有事件驱动的任务、由时间驱动的任务、关键任务及任务的优先级,定义任务,定义任务调度功能等。 数据管理部件:将目标系统中依赖于开发平台的数据存取操作与其它功能分开,以提高对象的独立性。 3.2.2 设计软件体系结构 分层模式 包 子系统和接口 一、 层 下层组件负责对上层组件提供服务 上层组件可以使用下层组件定义的服务,但下层组件对上层组件一无所知。 层与层之间通常是不透明的,每一层都具有独立的职责 不同层的软件构件可以分布在多台机器上,也可以部署在同一台机器上 1、层的概念 自从C/S出现之后,软件就被分层了: Client端的软件完成前台任务,Server端的软件完成后台任务(一般是DB Server) Client使用Server端的服务,依赖于Server端 自从Internet出现之后,软件进一步分层: Client端的软件(IE浏览器)完成输入输出任务,Web Server上的程序提供业务逻辑处理,后台DB Server完成数据的存取 C/S常被称为传统的两层,B/S称为三层 本书的分层将不包含有关系统软件(如IE、DBMS等),仅讨论应用系统 2、分层模式 传统C/S,无明显分层 两层 三层 四层 多层 基本思想:将逻辑功能相似的类封装到一个组件中。 比如都是用于数据库访问的类做成数据库访问组件,所有表达销售领域对象的类做成销售组件。 传统的C/S应用程序 界面窗口程序中包含所有的内容,如输入输出、界面逻辑控制、业务逻辑运算等 经典的三层结构 经典的三层结构 表现层:处理用户和信息系统之间的交互。 可以是简单的命令行窗口,也可以功能完善的图形用户界面(胖客户端程序),如基于HTML的浏览器界面(瘦客户端程序)。 业务逻辑层:也称为领域层或应用层,是信息系统所有和领域相关的工作。 如根据输入数据或已有数据进行计算,依赖于数据访问层获取数据或保存数据,类库形式。 数据访问层:一般指与数据库的交互,主要责任是数据库记录的存取。 如专门的数据访问类 简化的层次结构 表现层 业务层+数据访问层 甚至简化成没有分层: 窗口程序=表现+业务逻辑+数据存储 程序几乎不能重用 扩展的四层结构 表现层:等同于三层中的表现层。 控制层/中介层:是表现层和领域层的中介层,也称应用控制器。主要表示业务逻辑中的工作流,一般针对于用例的事件流控制。此外还负责会话状态、数据的合成或分解等事务。 领域层:业务逻辑中的领域类的集合,不包含复杂工作流。 数据访问/数据映射层:负责将基于对象的领域层数据映射到数据库关系表中的记录。也称为数据持久层,可自行开发或采用持久化框架。 模型视图控制器架构MVC 模型:即相关的数据,它是对象的内在属性 视图:是模型的外在表现形式,一个模型可以对应一个或者多个视图,视图还具有与外界交互的功能 控制器:是模型与视图的联系纽带,控制器提取通过视图传输进来的外部信息转化成相应事件,然后由对应的控制器对模型进行更新; 相应的,模型的更新与修改将通过控制器通知视图,保持视图与模型的一致性 3、多层的物理配置 由于应用软件封装成不同层次的独立组件,这给软件部署带来了灵活性: 物理一层:所有应用
文档评论(0)