资源预览内容
第1页 / 共49页
第2页 / 共49页
第3页 / 共49页
第4页 / 共49页
第5页 / 共49页
第6页 / 共49页
第7页 / 共49页
第8页 / 共49页
第9页 / 共49页
第10页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章 软件设计,主要内容: 软件体系结构的概念 软件设计思想 结构化设计方法 面向对象设计方法,讨论要点,(1)什么是软件结构? (2)如何建立设计模型?,软件设计的目标和目的,软件需求:解决“做什么” 软件设计:解决“怎么做” 软件设计的任务 问题结构(软件需求) 软件结构 从软件需求规格说明书出发,形成软件的具体设计方案。,映射,软件的总体结构主要回答的问题,软件的组成部分 软件的层次关系 模块的内部处理逻辑 模块之间的界面,软件体系结构,软件体系结构包括两部分: (1)过程构件(模块)的层次结构 (2)数据构件,4.1 软件体系结构,软件体系结构的有关概念 软件体系结构的层次性 软件体系结构的设计原理,软件体系结构的有关概念,什么是软件体系结构 软件体系结构的发展 软件体系结构的研究范畴,软件设计的目标,设计应该是便于维护和升级的,因而应该是模块化的 设计应该是便于移植的 设计应该具有适应性 设计过程应该受到理性化的控制 设计应该表现出概念的完整性,软件设计思想,强调信息隐蔽的单元概念 应用基于操作和数据封装构成的单元设计技术 应用专门的机制可靠地处理并发控制和分布系统问题 提出基于模型的系统结构和设计方法 明确提出软件体系结构的设计思想,什么是软件体系结构,软件体系结构定义了软件局部和总体计算部件的构成,以及这些部件之间的相互作用关系。 从整体看,软件体系结构是由结构和功能各异、相互作用的部件集合,按照层次构成的。它包括了系统基础构成单元、它们之间的作用关系、在构成系统时它们的合成方法以及对合成约束的描述。,普通部件及其支持的相互作用,软件体系结构可分为四种不同的体系: 概念结构 包括部件、互连、原则和性能等 代码结构 包括软件的配置管理、系统建造等 模块结构 包括模块界面、模块管理、模块控制和一致性等 执行结构 包括性能分析、调度分析、动态配置和不同的执行系统之间的接口等,与软件体系结构有关的研究: 体系结构风格(Architecture Styles) 表示软件系统的一种特别的基本结构,以及相关的构造方法 设计模式(Design Patterns) 构造型模式、结构型模式、行为型模式 框架(Framework) 另一种研究和构造软件体系结构的方法,更多的是关于应用领域问题的已建立的系统结构。,软件体系结构的层次结构,软件的构成 软件的物质基础 软件的结构基础 软件的层次结构模型 软件体系结构的层次结构模型 软件体系结构的体系,软件的构成,软件体系结构需要基础 软件体系结构需要层次 软件体系结构需要模式,软件的物质基础,软件设计的物质基础是计算机硬件,当前的计算机硬件决定了软件设计和实现的出发点,计算机硬件的发展影响着软件体系结构。,计算机硬件体系结构分类,SISD单指令流单数据流计算机,控制,处理,存储,指令,数据,指令,计算机硬件体系结构分类,SIMD单指令流多数据流计算机,控制,处理2,存储2,指令,数据2,存储1,存储n,处理1,处理n,数据1,数据n,计算机硬件体系结构分类,MISD多指令流单数据流计算机,控制2,处理2,存储2,指令1,存储1,存储n,处理1,处理n,数据,数据,控制1,控制n,指令2,指令n,指令1,指令2,指令n,计算机硬件体系结构分类,MIMD多指令流多数据流计算机,控制2,处理2,存储2,指令1,存储1,存储n,处理1,处理n,控制1,控制n,指令2,指令n,指令1,指令2,指令n,数据2,数据1,数据n,多处理机系统,具有共享存储结构的多处理机,控制,处理,MAP,控制,处理,MAP,存储,存储,互连网络,通道,I/O,通道,I/O,多处理机系统,具有分布存储结构的多处理机,控制,处理,MAP,控制,处理,MAP,互连网络,I/O,存储,存储,分布计算系统,分布计算网络,交换机,交换机,电信网络,网络,软件的结构基础,结构控制流 部件连接方式 结构化连接模式 基本数据类型 抽象数据类型 进程及运行环境 分时并发计算 资源共享/并行同步 实时系统 软件结构的四视图观,软件体系结构的四视图,概念视图,模块视图,代码视图,运 行 视 图,部件 连接器 配置,模块 子系统 层,模块限制,新模块分割,部件 连接器 配置,运行限制,新模块分割,模块,变化成运行实体,运行实体,源代码,硬 件 和 操 作 系 统 体 系 结 构,软件的层次结构模型,计算机网络的体系结构 计算机操作系统的体系结构,软件体系结构的层次结构模型,第6层:应用层,第5层:系统结构模式层层,第4层:资源和管理调度层,第3层:基础控制描述层,第2层:软化的硬件层,第1层:计算机硬件层,客户机/服务器体系结构,应用系统的组成: 显示逻辑部分(表示层):实现与用户交互 应用处理部分(功能层):进行具体运算和数据处理 数据管理部分(数据层):对数据库中数据进行查询、 修改、更新等任务,应用分层,表示层,功能层,数据层,三层明确分割, 逻辑上独立,瘦客户机和胖客户机,客户机,“胖” 客户机,应用 处理 逻辑,显 示 逻 辑,服务器,数据 管理 逻辑,数据库,“瘦” 客户机,表示,显 示 逻 辑,数据 管理 逻辑,数据库,表示 应用处理,应用 处理 逻辑,客户机,服务器,三层C/S的基本硬件结构,将三层功能装载到硬件的三种基本方法,表示层,表示层,表示层,功能层,数据层,数据层,功能层,功能层,数据层,客 户 机,服 务 器,(1)将数据层和 功能层放在 一台服务器上,(2)将数据层和 功能层放在 不同服务器上,服 务 器,(3)将功能层放 在客户机上,层次模型的结构关系,客户,层N,层N-1,层1,使用,抽象的最高层,抽象的最低层,2. 软件设计的问题,工具 如何描述软件的总体结构 方法 用什么方法有问题结构导出 软件结构 评估准则 什么样的软件结构是 “最优的”,公认的、被多次使用的系统结构被称为结构风格、设计模式、(设计)框架。 如果说一门工程技术的成熟表现在其基本设计构件的提出和系统化,那么体系结构的风格、模式、框架就是软件工程中的基本构件。 体系结构概念能否成熟到使软件设计发生根本革命的水平?,广泛提及的体系结构风格: 管道和过滤器 (Pipe and Filters) 数据抽象或对象(Data Abstraction and Object Orientted) 隐式调用/消息(Event-Based/Implicit Invocation) 层次(Layered System) 仓库(Repositories) 解释器(Interpreters) 过程控制(Process Control) 分布式系统(Distributed System) 客户/服务器(Client/Server) 主程序/子程序(Main/Sub Programs) 状态转换(State Transition) 专用领域(Domain Specific Styles),对体系结构风格的理解 结构风格以结构组织为特性定义了一个软件系统族,表达了部件以及部件之间的关系。 体系结构风格通过组件应用的限制及其与构建有关的组成和设计规则来表现组件和组件之间的关系。 体系结构风格表示了软件系统的一种特别的基本结构,以及相关的构造方法。 体系结构风格应该使一些对软件构成带有整体性、普遍性、一般性的结构和结构关系的方法。在设计中,遵循这些风格的构成原则,对软件的开发和维护十分有益。,面向电子商务的应用体系结构图,网络平台,以有应用系统,数据库,中间件基础设施 J2EE/CORBA/COM+传统中间件,操作系统,B2B集成平台,应用集成平台,应用系统,工作流,o5,S(o5),o6,S(o6),分布式对象体系结构,o1,S(o1),o2,S(o2),o3,S(o3),o4,S(o4),基本系统组件是对象,提供一组服务,对外给出 服务的接口 对象之间不存在客户机与服务器的界限,接受服 务者扮演客户机角色,提供服务者就是服务器 对象可能分布在网络的多台计算机上,通过中间 件相互通信,软件总线 (中间件),OMG体系结构和服务参考模型,公共对象服务,与特定非标准化应 用系统有关的对象,横向工具对象,与特定纵向领 域有关的对象,应用系统接口,领域接口,CORBA工具接口,CORBA对象请求代理(ORB),CORBA服务接口,.NET体系,通用语言运行时刻环境(CLR),基本类库,数据和XML,Web服务,用户接口,通用语言运行规范(CLS),VB.NET,C+,C#,Perl,Visual Studio .NET,某制造企业的架构,用户界面,销 售 公 司,子 系 统,生 产 计 划 部,生 产 设 备 处,采 购,财 务 处,人 事 处,劳 资 处,专 卖 处,科 技 处,仓 库,办 公 室,市 场 部,DDL,专用 构件库,采 购 管 理,分 析 对 比,财 务 管 理,销 售 管 理,计 划 管 理,汇 总 执 行,文 档 审 计,文 档 批 阅,特 权 管 理,文 档 转 发,MIS通用构件库,查 询,统 计,计 帐,报 表,计 划,OA构件库,录 入,通 信,维护构件库,归 档,恢 复,转 储,基本构件库,ODBC,应用数据库,运行和维护平台,UNIX,Window NT,TCP/IP,ORACLE,领域框架示例之一:政府招商引资,招商服务相关单位,招商引资,工商 管理,财政 结算,税务 管理,电子 银行,信息 发布,统计 分析,咨询 服务,业务 受理,业 务 预 审,流 程 定 制,业 务 流 转,投 资 咨 询,网 上 洽 谈,投 诉 受 理,政 策 法 规,办 事 流 程,招 商 简 报,领域框架示例之二:统计局,信息 输入,系统 管理,统计 查询,数据 收集,数据 上报,统计局综 合信息库,数据接口,基础 数据库,综合 信息库,统计局综合管理系统,政 府 信 息 资 源 库,MIS的构件提取的案例,在不同行业的仓库物流模型寻找共性,进行模式复用,采购,MIS的构件提取的案例,物资库,供应商,原料库,物资,物流模型的构件提取,仓库 管理,顾客,仓库 管理,销售,物资,物资,物资,物资,物资,采购和销售的仓库物流模型 在MIS领域中模式复用 可作为MIS通用构件库的高级构件,MIS的构件提取的案例,再一次模式复用,所有处理过程的基本IPO(Input,Process,Output)模式 可作为基本构件库的高级构件或标准,来检验所有MIS系统或非MIS系统中处理过程是否全面包括输入、输出和处理三部分。,入库申请,商品仓库系 统调度模型,进库,出库申请,仓库管理,出库,仓库,入库批准,出库批准,入库商品,出库商品,递交申请,脱机打印系 统管理模型,打印申请,执行申请,打印管理,打印机,打印任务集,递交批准,执行批准,递交的任务,执行的任务,生产申请,资源的生产 消费模式,资源生产,消费请求,资源管理,资源消费,资源仓库,生产批准,消费批准,生产的资源,消费的资源,从两个不同领域且不同侧面 的模型,抽象出一个模式,可把该模式转化为构件类,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号