软件工程软件体系结构_第1页
软件工程软件体系结构_第2页
软件工程软件体系结构_第3页
软件工程软件体系结构_第4页
软件工程软件体系结构_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程软件体系结构第四章第四章 软件设计软件设计主要内容:主要内容:软件体系结构的概念软件体系结构的概念软件设计思想软件设计思想结构化设计方法结构化设计方法面向对象设计方法面向对象设计方法软件工程软件体系结构讨论要点(1)(1)什么是软件结构?什么是软件结构?(2)(2)如何建立设计模型?如何建立设计模型?软件工程软件体系结构软件设计的目标和目的软件设计的目标和目的 软件需求:解决软件需求:解决“做什么做什么” 软件设计:解决软件设计:解决“怎么做怎么做” 软件设计的任务软件设计的任务 问题结构问题结构( (软件需求软件需求) ) 软件结构软件结构 从软件需求规格说明书出发,形成软从软件需求

2、规格说明书出发,形成软件的具体设计方案。件的具体设计方案。映射映射软件工程软件体系结构软件的总体结构主要回答的问题软件的总体结构主要回答的问题软件的组成部分软件的组成部分软件的层次关系软件的层次关系模块的内部处理逻辑模块的内部处理逻辑模块之间的界面模块之间的界面软件工程软件体系结构软件体系结构软件体系结构软件体系结构包括两部分软件体系结构包括两部分: :(1)(1)过程构件过程构件( (模块模块) )的层次结构的层次结构(2)(2)数据构件数据构件软件工程软件体系结构4.1 4.1 软件体系结构软件体系结构软件体系结构的有关概念软件体系结构的有关概念软件体系结构的层次性软件体系结构的层次性软件

3、体系结构的设计原理软件体系结构的设计原理软件工程软件体系结构软件体系结构的有关概念软件体系结构的有关概念什么是软件体系结构什么是软件体系结构软件体系结构的发展软件体系结构的发展软件体系结构的研究范畴软件体系结构的研究范畴软件工程软件体系结构软件设计的目标软件设计的目标设计应该是便于维护和升级的,因而应设计应该是便于维护和升级的,因而应该是模块化的该是模块化的设计应该是便于移植的设计应该是便于移植的设计应该具有适应性设计应该具有适应性设计过程应该受到理性化的控制设计过程应该受到理性化的控制设计应该表现出概念的完整性设计应该表现出概念的完整性软件工程软件体系结构软件设计思想软件设计思想强调信息隐蔽

4、的单元概念强调信息隐蔽的单元概念应用基于操作和数据封装构成的单元设计应用基于操作和数据封装构成的单元设计技术技术应用专门的机制可靠地处理并发控制和分应用专门的机制可靠地处理并发控制和分布系统问题布系统问题提出基于模型的系统结构和设计方法提出基于模型的系统结构和设计方法明确提出软件体系结构的设计思想明确提出软件体系结构的设计思想软件工程软件体系结构什么是软件体系结构什么是软件体系结构 软件体系结构定义了软件局部和软件体系结构定义了软件局部和总体计算部件的构成总体计算部件的构成, ,以及这些部件之以及这些部件之间的相互作用关系。间的相互作用关系。 从整体看,软件体系结构是由结构和从整体看,软件体系

5、结构是由结构和功能各异、相互作用的部件集合,按照层功能各异、相互作用的部件集合,按照层次构成的。它包括了系统基础构成单元、次构成的。它包括了系统基础构成单元、它们之间的作用关系、在构成系统时它们它们之间的作用关系、在构成系统时它们的合成方法以及对合成约束的描述。的合成方法以及对合成约束的描述。软件工程软件体系结构普通部件及其支持的相互作用普通部件及其支持的相互作用序序号号部件类型部件类型部件支持的相互作用类型部件支持的相互作用类型1模块模块(Module)过程调用、数据共享过程调用、数据共享2对象对象(Object)方法调用方法调用3过滤器过滤器(Filter)数据流数据流4过程过程(Proc

6、ess)消息传递、远程调用、消息传递、远程调用、通讯协议、同步通讯协议、同步5数据文件数据文件(Data file) 读写读写6数据库数据库(Database)模式、查询语言模式、查询语言7文档文档(Document)共享表示假设共享表示假设软件工程软件体系结构软件体系结构可分为四种不同的体系:软件体系结构可分为四种不同的体系:概念结构概念结构 包括部件、互连、原则和性能等包括部件、互连、原则和性能等代码结构代码结构 包括软件的配置管理、系统建造等包括软件的配置管理、系统建造等模块结构模块结构 包括模块界面、模块管理、模块控制和一致性等包括模块界面、模块管理、模块控制和一致性等执行结构执行结构

7、 包括性能分析、调度分析、动态配置和不同的包括性能分析、调度分析、动态配置和不同的执行系统之间的接口等执行系统之间的接口等软件工程软件体系结构 与软件体系结构有关的研究:与软件体系结构有关的研究:体系结构风格体系结构风格(Architecture Styles)(Architecture Styles) 表示软件系统的一种特别的基本结构,以及相表示软件系统的一种特别的基本结构,以及相关的构造方法关的构造方法设计模式设计模式(Design Patterns)(Design Patterns) 构造型模式、结构型模式、行为型模式构造型模式、结构型模式、行为型模式框架框架(Framework)(Fr

8、amework) 另一种研究和构造软件体系结构的方法,更多另一种研究和构造软件体系结构的方法,更多的是关于应用领域问题的已建立的系统结构。的是关于应用领域问题的已建立的系统结构。软件工程软件体系结构软件体系结构的层次结构软件体系结构的层次结构软件的构成软件的构成软件的物质基础软件的物质基础软件的结构基础软件的结构基础软件的层次结构模型软件的层次结构模型软件体系结构的层次结构模型软件体系结构的层次结构模型软件体系结构的体系软件体系结构的体系软件工程软件体系结构软件的构成软件的构成软件体系结构需要基础软件体系结构需要基础软件体系结构需要层次软件体系结构需要层次软件体系结构需要模式软件体系结构需要模

9、式软件工程软件体系结构软件的物质基础软件的物质基础 软件设计的物质基础是计算软件设计的物质基础是计算机硬件,当前的计算机硬件决定机硬件,当前的计算机硬件决定了软件设计和实现的出发点,计了软件设计和实现的出发点,计算机硬件的发展影响着软件体系算机硬件的发展影响着软件体系结构。结构。软件工程软件体系结构计算机硬件体系结构分类计算机硬件体系结构分类SISD单指令流单数据流计算机单指令流单数据流计算机指令指令数据数据指令指令软件工程软件体系结构计算机硬件体系结构分类计算机硬件体系结构分类SIMD单指令流多数据流计算机单指令流多数据流计算机指令指令数据数据2数据数据1数据数据n软件工程软件体系结构计算机

10、硬件体系结构分类计算机硬件体系结构分类MISD多指令流单数据流计算机多指令流单数据流计算机指令指令1数据数据数据数据指令指令2指令指令n指令指令1指令指令2指令指令n软件工程软件体系结构计算机硬件体系结构分类计算机硬件体系结构分类MIMD多指令流多数据流计算机多指令流多数据流计算机指令指令1指令指令2指令指令n指令指令1指令指令2指令指令n数据数据2数据数据1数据数据n软件工程软件体系结构多处理机系统多处理机系统具有共享存储结构的多处理机具有共享存储结构的多处理机软件工程软件体系结构多处理机系统多处理机系统具有分布存储结构的多处理机具有分布存储结构的多处理机软件工程软件体系结构分布计算系统分布

11、计算系统分布计算网络分布计算网络交换机交换机交换机交换机电信网络电信网络网络网络软件工程软件体系结构软件的结构基础软件的结构基础结构控制流结构控制流部件连接方式部件连接方式结构化连接模式结构化连接模式基本数据类型基本数据类型抽象数据类型抽象数据类型进程及运行环境进程及运行环境分时并发计算分时并发计算资源共享资源共享/ /并行同步并行同步实时系统实时系统软件结构的四视图观软件结构的四视图观软件工程软件体系结构软件体系结构的四视图软件体系结构的四视图概念视图概念视图模块视图模块视图代码视图代码视图运运行行视视图图部件部件连接器连接器配置配置模块模块子系统子系统层层模块限制模块限制新模块分割新模块分

12、割部件部件连接器连接器配置配置运行限制运行限制新模块分割新模块分割模块模块变化成运行实体变化成运行实体运行实体运行实体源代码源代码硬硬件件和和操操作作系系统统体体系系结结构构软件工程软件体系结构软件的层次结构模型软件的层次结构模型计算机网络的体系结构计算机网络的体系结构计算机操作系统的体系结构计算机操作系统的体系结构软件工程软件体系结构软件体系结构的层次结构模型软件体系结构的层次结构模型软件工程软件体系结构客户机客户机/ /服务器体系结构服务器体系结构应用系统的组成:应用系统的组成:显示逻辑部分显示逻辑部分(表示层表示层):实现与用户交互实现与用户交互应用处理部分应用处理部分(功能层功能层):

13、进行具体运算和数据处理进行具体运算和数据处理数据管理部分数据管理部分(数据层数据层):对数据库中数据进行查询、对数据库中数据进行查询、 修改、更新等任务修改、更新等任务应用分层应用分层表示层表示层功能层功能层数据层数据层三层明确分割三层明确分割, 逻辑上独立逻辑上独立 软件工程软件体系结构瘦客户机和胖客户机瘦客户机和胖客户机客户机客户机“胖胖” 客户机客户机应用应用处理处理逻辑逻辑显显示示逻逻辑辑服务器服务器数据数据管理管理逻辑逻辑数据库数据库“瘦瘦”客户机客户机表示表示显显示示逻逻辑辑数据数据管理管理逻辑逻辑数据库数据库表示表示应用处理应用处理应用应用处理处理逻辑逻辑客户机客户机服务器服务器

14、软件工程软件体系结构三层三层C/S的基本硬件结构的基本硬件结构 将三层功能装载到硬件的三种基本方法将三层功能装载到硬件的三种基本方法表示层表示层表示层表示层表示层表示层功能层功能层数据层数据层数据层数据层功能层功能层功能层功能层数据层数据层客客户户机机服服务务器器(1)(1)将数据层和将数据层和 功能层放在功能层放在 一台服务器上一台服务器上(2)(2)将数据层和将数据层和 功能层放在功能层放在 不同服务器上不同服务器上服服务务器器(3)(3)将功能层放将功能层放 在客户机上在客户机上软件工程软件体系结构层次模型的结构关系层次模型的结构关系客户客户层层N层层N-1层层1使用使用抽象的最高层抽象

15、的最高层抽象的最低层抽象的最低层软件工程软件体系结构2. 2. 软件设计的问题软件设计的问题 工具工具 如何描述软件的总体结构如何描述软件的总体结构方法方法 用什么方法有问题结构导出用什么方法有问题结构导出 软件结构软件结构评估准则评估准则 什么样的软件结构是什么样的软件结构是 “ “最优的最优的”软件工程软件体系结构公认的、被多次使用的公认的、被多次使用的系统结构系统结构被称为结被称为结构风格、设计模式、构风格、设计模式、( (设计设计) )框架。框架。如果说一门工程技术的成熟表现在其基本如果说一门工程技术的成熟表现在其基本设计构件的提出和系统化,那么体系结构设计构件的提出和系统化,那么体系

16、结构的风格、模式、框架就是的风格、模式、框架就是软件工程中的基软件工程中的基本构件本构件。体系结构概念能否成熟到使软件设计发生体系结构概念能否成熟到使软件设计发生根本革命的水平?根本革命的水平?软件工程软件体系结构广泛提及的体系结构风格:广泛提及的体系结构风格:v管道和过滤器管道和过滤器 ( (Pipe and Filters) )v数据抽象或对象数据抽象或对象( (Data Abstraction and Object Orientted) )v隐式调用隐式调用/ /消息消息( (Event-Based/Implicit Invocation) )v层次层次( (Layered System

17、) )v仓库仓库( (Repositories) )v解释器解释器( (Interpreters) )v过程控制过程控制( (Process Control) )v分布式系统分布式系统( (Distributed System) )v客户客户/ /服务器服务器( (Client/Server) )v主程序主程序/ /子程序子程序( (Main/Sub Programs) )v状态转换状态转换( (State Transition) )v专用领域专用领域( (Domain Specific Styles) )软件工程软件体系结构对体系结构风格的理解对体系结构风格的理解v结构风格以结构风格以结构组

18、织为特性结构组织为特性定义了一个软件系统定义了一个软件系统族,表达了部件以及部件之间的关系。族,表达了部件以及部件之间的关系。v体系结构风格通过组件应用的限制及其与构建有体系结构风格通过组件应用的限制及其与构建有关的组成和设计规则来关的组成和设计规则来表现组件和组件之间的关表现组件和组件之间的关系系。v体系结构风格表示了软件系统的一种体系结构风格表示了软件系统的一种特别的基本特别的基本结构结构,以及相关的构造方法。,以及相关的构造方法。v体系结构风格应该使一些对软件体系结构风格应该使一些对软件构成带有整体性构成带有整体性、普遍性、一般性的结构和结构关系的方法、普遍性、一般性的结构和结构关系的方

19、法。在。在设计中,遵循这些风格的构成原则,对软件的开设计中,遵循这些风格的构成原则,对软件的开发和维护十分有益。发和维护十分有益。软件工程软件体系结构面向电子商务的应用体系结构图面向电子商务的应用体系结构图网络平台网络平台以有应用系统以有应用系统数据库数据库中间件基础设施中间件基础设施J2EE/CORBA/COM+传统中间件传统中间件操作系统操作系统B2B集成平台集成平台应用集成平台应用集成平台应用系统应用系统工作流工作流软件工程软件体系结构o5S(o5)o6S(o6)分布式对象体系结构分布式对象体系结构o1S(o1)o2S(o2)o3S(o3)o4S(o4) 基本系统组件是对象,提供一组服务

20、,对外给出基本系统组件是对象,提供一组服务,对外给出 服务的接口服务的接口 对象之间不存在客户机与服务器的界限,接受服对象之间不存在客户机与服务器的界限,接受服 务者扮演客户机角色,提供服务者就是服务器务者扮演客户机角色,提供服务者就是服务器 对象可能分布在网络的多台计算机上,通过中间对象可能分布在网络的多台计算机上,通过中间 件相互通信件相互通信软件总线软件总线 (中间件)(中间件)软件工程软件体系结构OMG体系结构和服务参考模型体系结构和服务参考模型公共对象服务公共对象服务与特定非标准化应与特定非标准化应用系统有关的对象用系统有关的对象横向工具对象横向工具对象与特定纵向领与特定纵向领域有关

21、的对象域有关的对象应用系统接口应用系统接口领域接口领域接口CORBA工具接口工具接口CORBA对象请求代理(对象请求代理(ORB)CORBA服务接口服务接口软件工程软件体系结构.NET体系体系通用语言运行时刻环境(通用语言运行时刻环境(CLR)基本类库基本类库数据和数据和XMLWeb服务服务用户接口用户接口通用语言运行规范(通用语言运行规范(CLS)VB.NETC+C#PerlVisual Studio .NET软件工程软件体系结构某制造企业的架构某制造企业的架构用户界面用户界面销销售售公公司司子子系系统统生生产产计计划划部部生生产产设设备备处处采采购购财财务务处处人人事事处处劳劳资资处处专专

22、卖卖处处科科技技处处仓仓库库办办公公室室市市场场部部DDL专用专用构件库构件库采采购购管管理理分分析析对对比比财财务务管管理理销销售售管管理理计计划划管管理理汇汇总总执执行行文文档档审审计计文文档档批批阅阅特特权权管管理理文文档档转转发发MIS通用构件库通用构件库查查询询统统计计计计帐帐报报表表计计划划OA构件库构件库录录入入通通信信维护构件库维护构件库归归档档恢恢复复转转储储基本构件库ODBC应用数据库应用数据库运行和维护平台运行和维护平台UNIXWindow NTTCP/IPORACLE软件工程软件体系结构领域框架示例之一:政府招商引资领域框架示例之一:政府招商引资招商服务相关单位招商服务

23、相关单位招商引资招商引资工商工商管理管理财政财政结算结算税务税务管理管理电子电子银行银行信息信息发布发布统计统计分析分析咨询咨询服务服务业务业务受理受理业业务务预预审审流流程程定定制制业业务务流流转转投投资资咨咨询询网网上上洽洽谈谈投投诉诉受受理理政政策策法法规规办办事事流流程程招招商商简简报报软件工程软件体系结构领域框架示例之二:统计局领域框架示例之二:统计局信息信息输入输入系统系统管理管理统计统计查询查询数据数据收集收集数据数据上报上报统计局综统计局综合信息库合信息库数据接口数据接口基础基础数据库数据库综合综合信息库信息库统计局综合管理系统统计局综合管理系统政政府府信信息息资资源源库库软件

24、工程软件体系结构MIS的构件提取的案例的构件提取的案例采购采购半成品库半成品库供应商供应商原料库原料库成品库成品库成成品品顾客顾客原料原料本成品本成品仓库仓库管理管理生产生产车间车间仓库仓库管理管理销售销售成成品品成成品品半成品半成品半成品半成品半成品半成品原料原料原料原料采采购购供供应应商商三三级级商商品品库库仓仓库库管管理理销销售售商商品品 顾顾客客二二级级商商品品库库一一级级商商品品库库仓仓库库管管理理仓仓库库管管理理商商品品商商品品商商品品 在不同行业的仓库物流模型寻找共性,进行模式复用在不同行业的仓库物流模型寻找共性,进行模式复用软件工程软件体系结构采购采购MIS的构件提取的案例的构

25、件提取的案例物资库物资库供应商供应商原料库原料库物资物资物流模型的构件提取物流模型的构件提取仓库仓库管理管理顾客顾客仓库仓库管理管理销售销售物资物资物资物资物资物资物资物资物资物资 采购和销售的仓库物流模型采购和销售的仓库物流模型在在MISMIS领域中模式复用领域中模式复用可作为可作为MISMIS通用构件库通用构件库的高级构件的高级构件软件工程软件体系结构MIS的构件提取的案例的构件提取的案例再一次模式复用再一次模式复用采购采购物资库物资库供应商供应商原料库原料库物资物资仓库仓库管理管理顾客顾客仓库仓库管理管理销售销售物资物资物资物资物资物资物资物资物资物资供应者供应者输入输入接受者接受者处理

26、处理输出输出所有处理过程的基本所有处理过程的基本IPO(Input,Process,Output)IPO(Input,Process,Output)模式模式可作为可作为基本构件库基本构件库的高级构件或标准,来检验所有的高级构件或标准,来检验所有MISMIS系统或非系统或非MISMIS系统中处理过程是否全面系统中处理过程是否全面包括输入、输出包括输入、输出和处理三部分。和处理三部分。软件工程软件体系结构入库申请入库申请商品仓库系商品仓库系统调度模型统调度模型进库进库出库申请出库申请仓库管理仓库管理出库出库仓库仓库入库批准入库批准出库批准出库批准入库商品入库商品出库商品出库商品递交申请递交申请脱机打印系脱机打印系统管理模型统管理模型打印申请打印申请执行申请执行申请打印管理打印管理打印机打印机打印任务集打印任务集递交批准递交批准执行批准执行批准

温馨提示

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

评论

0/150

提交评论