从需求定义到软件体系结构_第1页
从需求定义到软件体系结构_第2页
从需求定义到软件体系结构_第3页
从需求定义到软件体系结构_第4页
从需求定义到软件体系结构_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、2021-10-912.22.2从需求定义到软件体系结构从需求定义到软件体系结构 2021-10-92什么是“工程”?定义有很多,通常来说:定义有很多,通常来说:用最少的代价解决问题用最少的代价解决问题 . 目的是处理实际的难题目的是处理实际的难题 . 以科学知识为手段以科学知识为手段 . 建造工具建造工具 . 服务于人类服务于人类目标:使普通人能做以前只有目标:使普通人能做以前只有专家圣手才能做的事情专家圣手才能做的事情2021-10-93工程的进化2021-10-94工程化的步伐手工(Craft)商业(Commerical)工程(Professional Engineering)行家里手和

2、业余天才熟练的工匠受过系统教育的专业人员直觉与强力既定程序分析与理论偶然的进步注重实效地优化以科学为指导地升级换代不经意的推广言传身教专业教育课程奢侈地使用原料注重成本与原料利用原料多次利用生产是为了使用而不是出售为销售而生产市场份额2021-10-95规范化循环规范化循环专门的解决方法专门的解决方法土方法土方法规范化规范化模型与理论模型与理论新的问题新的问题实践提高实践提高2021-10-962021-10-972021-10-982021-10-992021-10-910软件设计的目标和目的软件设计的目标和目的 软件需求:解决软件需求:解决“做什么做什么” 软件设计:解决软件设计:解决“怎

3、么做怎么做” 软件结构设计的任务软件结构设计的任务 问题结构问题结构( (软件需求软件需求) ) 软件结构软件结构 映射映射2021-10-9112.2.1 2.2.1 什么叫软件的体系结构什么叫软件的体系结构 n软件体系结构,又常被称为架构。软件体系结构,又常被称为架构。n“软件体系结构软件体系结构”你早就知道你早就知道nClient/ServernThree-tiernP2PnDistributedn2021-10-912n架构不是框框架构不是框框应用架构的基本思想应用架构的基本思想一个架构是一个可复用的设计构一个架构是一个可复用的设计构件,它规定了应用的体系结构,件,它规定了应用的体系结

4、构,阐明了整个设计、协作构件之间阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流的依赖关系、责任分配和控制流程。程。 2021-10-913“建筑体系结构”2021-10-914“建筑体系结构”2021-10-915SA的定义n后人精简Garlan and Shaw的定义为:体系结构体系结构 = = 组件组件 + + 连接件连接件 + + 约束约束Architecture = Components + Connectors + Constrains2021-10-916n除了构件,连接件和约束3个最基本的组成元素,软件体系结构还包括端口(port)和角色(role)两种元素。n构件的接

5、口由一组端口组成构件的接口由一组端口组成,每个端口表示了构件和外部环境的交互点。连接件作为建模软件体系结构的主要实体,同样也有接口。连接件的接口由一组角色组成,连接的每个角色定义了该连接表示的交互的参与者。 2021-10-917SA之重要n最早指出SA的重要性的是大师Edsger Dijkstra(1930-2002)“.the larger the project, the more essential the structuring!”(1968)2021-10-918程序=?n程序程序 = 算法算法 + 数据结构(数据结构(1960s )n程序程序 = 子程序子程序 + 子程序(子程序

6、(1970s )n对象对象 = 算法算法 + 数据结构数据结构程序程序 = 对象对象 + 对象(对象(1980s)n程序程序 = 组件组件 + 连接件(连接件(1990s)2021-10-919 软件体系结构学习主要内容软件体系结构学习主要内容软件体系结构的有关概念软件体系结构的有关概念软件体系结构的层次性软件体系结构的层次性软件体系结构的设计原理软件体系结构的设计原理2021-10-920什么是软件体系结构什么是软件体系结构 软件体系结构定义了软软件体系结构定义了软件局部和总体部件的构成件局部和总体部件的构成, ,以以及这些部件之间的相互作用及这些部件之间的相互作用关系。关系。 2021-1

7、0-921技术进步n每个新的体系结构的诞生,都给技术的每个新的体系结构的诞生,都给技术的进步带来深远影响进步带来深远影响nWWWn三层结构三层结构nCORBAnJ2EEn.NET软件体系结构软件体系结构软件体系结构包括两部分软件体系结构包括两部分: :(1)(1)过程构件过程构件( (模块模块) )的层次结构的层次结构(2)(2)数据构件数据构件2021-10-923软件的架构主要回答的问题软件的架构主要回答的问题软件的组成部分软件的组成部分软件的层次关系软件的层次关系模块的内部处理逻辑模块的内部处理逻辑模块之间的界面模块之间的界面软件体系结构可分为四种不同的体系:软件体系结构可分为四种不同的

8、体系:概念结构概念结构 包括部件、互连、原则和性能等包括部件、互连、原则和性能等代码结构代码结构 包括软件的配置管理、系统建造等包括软件的配置管理、系统建造等模块结构模块结构 包括模块界面、模块管理、模块控制和一致性等包括模块界面、模块管理、模块控制和一致性等执行结构执行结构 包括性能分析、调度分析、动态配置和不同的包括性能分析、调度分析、动态配置和不同的执行系统之间的接口等执行系统之间的接口等 与软件体系结构有关的研究:与软件体系结构有关的研究:体系结构风格体系结构风格(Architecture Styles)(Architecture Styles) 表示软件系统的一种特别的基本结构,以及

9、相表示软件系统的一种特别的基本结构,以及相关的构造方法关的构造方法设计模式设计模式(Design Patterns)(Design Patterns) 构造型模式、结构型模式、行为型模式构造型模式、结构型模式、行为型模式框架框架(Framework)(Framework) 另一种研究和构造软件体系结构的方法,更多另一种研究和构造软件体系结构的方法,更多的是关于应用领域问题的已建立的系统结构。的是关于应用领域问题的已建立的系统结构。框架和设计模式n构件通常是代码重用,而设计模式是设计重用,构件通常是代码重用,而设计模式是设计重用,框架则介于两者之间,部分代码重用,部分设框架则介于两者之间,部分代

10、码重用,部分设计重用,有时分析也可重用。计重用,有时分析也可重用。n有三种级别的重用:有三种级别的重用:(1)内部重用内部重用,即在同一应用中能公共使用的抽,即在同一应用中能公共使用的抽象块象块;(2)代码重用代码重用,即将通用模块组合成库或工具集,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;以便在多个应用和领域都能使用;(3)应用框架的重用应用框架的重用,即为专用领域提供通用的,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用或现成的基础结构,以获得最高级别的重用性。性。 n设计模式是对在某种环境中反复出现的设计模式是对在某种环境中反复出现的问题以及解决该问题的方

11、案的描述,它问题以及解决该问题的方案的描述,它比框架更抽象;比框架更抽象;n架构可以用代码表示,架构可以用代码表示,也能直接执行或也能直接执行或复用,而对模式而言只有实例才能用代复用,而对模式而言只有实例才能用代码表示码表示; ;n设计模式是比架构更小的元素,设计模式是比架构更小的元素,一个架一个架构中往往含有一个或多个设计模式,架构中往往含有一个或多个设计模式,架构总是针对某一特定应用领域,但同一构总是针对某一特定应用领域,但同一模式却可适用于各种应用。模式却可适用于各种应用。2021-10-928n成功的架构开发需要确定领域专用的成功的架构开发需要确定领域专用的“热点” (Hot spot

12、)。应用开发者在框架的基础上进行开发,只须扩展架构的某些部分,“热点”就是在应用领域的一种扩展槽,开发者根据自己的需要填充这些扩展槽n“食谱” (Cookbook)就是描述如何使用架构方法的文档。在“食谱”中包含了许多“烹饪”方法,这些“烹饪”方法相当于一些具体的操作步骤,描述了为解决某一专门问题如何使用架构的详细方法。架构的内部设计和实现细节通常不出现在“食谱”中。2021-10-929为什么要进行体系结构开发为什么要进行体系结构开发? n领域内的软件结构一致性好;领域内的软件结构一致性好; n建立更加开放的系统;建立更加开放的系统; n重用代码大大增加重用代码大大增加; ;n软件设计人员要

13、专注于对领域的了解,使软件设计人员要专注于对领域的了解,使需求分析更充分;需求分析更充分; n存储了经验存储了经验; ;n允许采用快速原型技术;允许采用快速原型技术; n有利于在一个项目内多人协同工作;有利于在一个项目内多人协同工作; n大粒度的重用使得平均开发费用降低大粒度的重用使得平均开发费用降低; ;2021-10-930n好的开始相当于成功一半好的开始相当于成功一半n设计模式是支撑架构的重要组件设计模式是支撑架构的重要组件n架构设计是骨架,设计模式就是肉架构设计是骨架,设计模式就是肉n时刻牢记架构设计的目标时刻牢记架构设计的目标1. 最大化的重用:2. 尽可能的简单明了:3. 最灵活的

14、拓展性:2021-10-931好的体系结构好的体系结构n与大多数好的设计一样与大多数好的设计一样n是一系列相容的原理和技术的产是一系列相容的原理和技术的产物,在项目的各个阶段保持一致物,在项目的各个阶段保持一致n在各种变化面前表现出弹性在各种变化面前表现出弹性n在产品的整个生命周期中充当向在产品的整个生命周期中充当向导导n重用成熟的工程知识重用成熟的工程知识2021-10-9322.3 软件体系结构的风格软件体系结构的风格 n软件体系结构风格主要分为两类。软件体系结构风格主要分为两类。 固定术语类:固定术语类:包括全局组织结构,如分层包括全局组织结构,如分层系统,管道过滤器系统,客户系统,管道

15、过滤器系统,客户/ /服务系统,服务系统,黑板系统等,还包括局部化的模式,如黑板系统等,还包括局部化的模式,如模型视图控制等其他面向对象开发模型视图控制等其他面向对象开发的模式。全局化的模式是在软件全局上的模式。全局化的模式是在软件全局上提供设计方式;而局部化的模式则侧重提供设计方式;而局部化的模式则侧重于软件系统的一小部分,是针对特定问于软件系统的一小部分,是针对特定问题提供解决方案。题提供解决方案。 2021-10-933 参数化模型类:这一类别的风这一类别的风格包括对特定应用领域的特定系格包括对特定应用领域的特定系统组织,它指定了构件及其交互统组织,它指定了构件及其交互的配置,如词法分析

16、器,类型分的配置,如词法分析器,类型分析器,优化器和代码生产器,还析器,优化器和代码生产器,还有一些参考模型,如人机交互框有一些参考模型,如人机交互框架,通信参考模型,以及在航空、架,通信参考模型,以及在航空、移动机器人等领域的大量特定领移动机器人等领域的大量特定领域方法。域方法。 2021-10-934体系结构风格的最关键四个要素n提供一个设计的词汇表提供一个设计的词汇表n定义一套配置规则定义一套配置规则n定义一套解释原则定义一套解释原则n定义基于这种风格的系统所进行的分析定义基于这种风格的系统所进行的分析2021-10-9352.3.2 2.3.2 常用的软件体系结构风格常用的软件体系结构

17、风格 n1、 管道和过滤器风格管道和过滤器风格 在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。 管道管道管道管道过滤器过滤器过滤器过滤器过滤器过滤器2021-10-9372、仓库风格和黑板风格 n仓库(Repositories)风格的体系结构有两种不同的构件组成:(1)中央数据结构中央数据结构,它说明当前状态;(2)独立构件的集合,独立构件的集合,它对中央数据结构进行操作。 2021-10-938n对于系统中数据和状态的控制方法有两种。(1)输入事务选择进行某种处理,并把执行结果作为当前状态存储到中央数据结构中,这时,仓库

18、是一个传统的数据库体系结构(2)另一种方法是,由中央数据结构的当前状态决定进行某种处理,这时,仓库是一个黑板(blackboard)体系结构。 2021-10-939存储器直接存取黑板(共享数据)知识源知识源知识源知识源知识源知识源计算2021-10-940仓库和黑板n仓库在计算机应用中几乎无处不在仓库在计算机应用中几乎无处不在n信息共享系统在很多领域有相似的信息共享系统在很多领域有相似的发展趋势,因为有相似的技术和商发展趋势,因为有相似的技术和商业压力的激励业压力的激励n黑板是一种特别的仓库,主要用于黑板是一种特别的仓库,主要用于需要对凌乱的信息进行处理的领域,需要对凌乱的信息进行处理的领域

19、,其控制策略必须是其控制策略必须是机会主义的机会主义的2021-10-9413、数据抽象和面向对象风格数据抽象和面向对象风格 n面向对象的风格主要是利用对象的3个特性,即封装特性、继承和多态封装特性、继承和多态特性,特性,建立构件对象。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对象是通过函数和过程的调用来交互的。 抽象数据类型过程调用对象对象对象对象对象2021-10-9434、客户/服务器风格(C/S结构) n三部分组成:l 中心服务数据系统l 客户应用程序l 网络 客户端通过网络直接连接到数据库服务器,由二者分担业务处理。2021-10-944用户1用户2用户3用户4用户5

20、Print ServerLink/RxLPT1LPT2COMPower/TXPWROKWIC0ACT/CH0ACT/CH1WIC0ACT/CH0ACT/CH1ETHACTCOL其他公用设备打印机调制解调器InternetIntranet数据库服务器客户机客户机/ /服务器体系结构服务器体系结构2021-10-945C/SC/S体系结构的处理流程体系结构的处理流程输入数据输出数据请求按钮表示层业务处理开始SQL 请求结束SQL 请求开始业务处理结束数据存取请求业务处理程序业务处理请求和业务处理所需的全部输入数据全部处理结束DBMS 执行SQL数据层业务处理开始数据存取请求业务处理结束数据存取程序

21、数据登录/更新/读取的请求数据登录/更新/读取的结果客户机客户机/ /服务器体系结构服务器体系结构应用系统的组成:应用系统的组成:显示逻辑部分显示逻辑部分(表示层表示层):实现与用户交互实现与用户交互应用处理部分应用处理部分(功能层功能层):进行具体运算和数据处理进行具体运算和数据处理数据管理部分数据管理部分(数据层数据层):对数据库中数据进行查询、对数据库中数据进行查询、 修改、更新等任务修改、更新等任务应用分层应用分层表示层表示层功能层功能层数据层数据层三层明确分割三层明确分割, 逻辑上独立逻辑上独立 胖客户机和瘦客户机胖客户机和瘦客户机客户机客户机“胖胖” 客户机客户机应用应用处理处理逻

22、辑逻辑显显示示逻逻辑辑服务器服务器数据数据管理管理逻辑逻辑数据库数据库“瘦瘦”客户机客户机表示表示显显示示逻逻辑辑数据数据管理管理逻辑逻辑数据库数据库表示表示应用处理应用处理应用应用处理处理逻辑逻辑客户机客户机服务器服务器三层三层C/S的基本硬件结构的基本硬件结构 将三层功能装载到硬件的三种基本方法将三层功能装载到硬件的三种基本方法表示层表示层表示层表示层表示层表示层功能层功能层数据层数据层数据层数据层功能层功能层功能层功能层数据层数据层客客户户机机服服务务器器(1)(1)将数据层和将数据层和 功能层放在功能层放在 一台服务器上一台服务器上(2)(2)将数据层和将数据层和 功能层放在功能层放在

23、 不同服务器上不同服务器上服服务务器器(3)(3)将功能层放将功能层放 在客户机上在客户机上2021-10-949 体系结构体系结构3.4 3.4 三层客户三层客户/ /服务器风格服务器风格 第三章第三章 软件体系结构风格软件体系结构风格表示层表示层数据层数据层功能层功能层三层客户机三层客户机/ /服务器体系结构服务器体系结构2021-10-950 处理流程处理流程3.4 3.4 三层客户三层客户/ /服务器风格服务器风格 输入数据输出数据请求按钮表示层业务处理开始SQL 请求结束SQL 请求开始业务处理结束数据存取请求业务处理程序业务处理请求和业务处理所需的全部输入数据全部处理结束DBMS

24、执行SQL数据层业务处理开始数据存取请求业务处理结束数据存取程序数据登录/更新/读取的请求数据登录/更新/读取的结果功能层第三章第三章 软件体系结构风格软件体系结构风格三层三层C/SC/S体系结构的处理流程体系结构的处理流程2021-10-9515、浏览器/服务器风格(B/S结构) n具体结构为:浏览器浏览器/Web服务器服务器/数据数据库服务器库服务器。B/S体系结构主要是利用不断成熟的WWW浏览技术,结合浏览器的多种脚本语言,用通用浏览器实现原来需要复杂的专用软件才能实现的功能。 2021-10-952浏览器浏览器/ /服务器体系结构服务器体系结构2021-10-953结合三层C/S的B/

25、S结构(四层)数据库数据库客户端数据库驱动应用服务中间服务器客户端(Browser)WebApp.Web Server客户端远程连接客户机2021-10-9546、分层系统风格 n分层分层(layered)系统组织成一个层次结构,每一层为上层服务,并作为下层客户每一层为上层服务,并作为下层客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层次对相邻的层可见内部的层次对相邻的层可见。 n这种风格支持基于可增加抽象层的设计。这样,允许将一个复杂问题分解成一个增量步骤序列的实现。由于每一层最多只影由于每一层最多只影响两层,同时只要给相邻层提供相同的接响两层,同时只要给相邻层提供相同的接口。

26、口。2021-10-955过程调用构件元素可用系统基本功能核心层用户2021-10-956层次模型的结构关系层次模型的结构关系客户客户层层N层层N-1层层1使用使用抽象的最高层抽象的最高层抽象的最低层抽象的最低层2021-10-957层次风格特点n每层为上一层提供服务,使用下一层的每层为上一层提供服务,使用下一层的服务,只能见到与自己邻接的层服务,只能见到与自己邻接的层n适当时候适当时候(必不得已的时候必不得已的时候),可以允许一定,可以允许一定的越层操作的越层操作n大的问题分解为若干个渐进的小问题,大的问题分解为若干个渐进的小问题,逐步解决,隐藏了很多复杂度逐步解决,隐藏了很多复杂度n修改一

27、层,修改一层,最多影响两层最多影响两层,而通常只能,而通常只能影响上层。接口稳固,则谁都不影响影响上层。接口稳固,则谁都不影响2021-10-958 使用层,不需要去了解层的实现细节不需要去了解层的实现细节 可以使用另一种技术来改变基础的层,而不会影响上面的层的应用。 可以减少不同层之间的依赖。 容易制定出层标准。 底下的层可以用来建立顶上的层的多项服务。 层不可能封装所有的功能,一旦有功能变动,势必要波及所有的层。 效率降低。2021-10-959应用层协议应用层协议表示层协议表示层协议会晤层协议会晤层协议传输层协议传输层协议 物物 理理 介介 质质应用层应用层表示层表示层会晤层会晤层传输层

28、传输层网络层网络层数据链路层数据链路层物理层物理层应用层应用层表示层表示层会晤层会晤层传输层传输层网络层网络层数据链路层数据链路层物理层物理层网络层网络层数据链路层数据链路层物理层物理层网络层网络层数据链路层数据链路层物理层物理层中继系统中继系统 中继系统中继系统主机系统主机系统主机系统主机系统2021-10-9602021-10-9617、基于事件的隐式调用风格 n基于事件的隐式调用风格的思想是构件不直接调用一个过程不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其它构件可以把某一过程注册为与它所关心的事件相关联。当一个事件被触发时,系统自动调用在这个事件中注册的过程,这样,一个事

29、件的触发就导致了另一模块中的过程的调用。 2021-10-962n从体系结构上说,这种从体系结构上说,这种风格的构件是一风格的构件是一些模块些模块,这些模块既可以是一些过程,这些模块既可以是一些过程,又可以是一些事件的集合。过程可以用又可以是一些事件的集合。过程可以用通用的方式调用,也可以在系统事件中通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过注册一些过程,当发生这些事件时,过程被调用。程被调用。 2021-10-963n基于事件的隐式调用风格的主要特基于事件的隐式调用风格的主要特点是事件的点是事件的触发者并不知道哪些构件触发者并不知道哪些构件会被这些事件影响会被这些事

30、件影响。这样不能假定构。这样不能假定构件的处理顺序,甚至不知道哪些过程件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系会被调用,因此,许多隐式调用的系统也包含显式调用作为构件相互的补统也包含显式调用作为构件相互的补充形式充形式 2021-10-9648、模型视图控制器风格nMVC模式把涉及数据管理和显示的功能分散到不同的对象上,降低对象间的耦合。MVC是一个设计模式,它强制性地使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、模型、视图、控制器视图、控制器。它们各自处理自己的任务,并且尽量降低部分间的耦合。每一部分处理特定的任务,并负责完成与其它部分

31、的通信。2021-10-965Model-View-Controller模式2021-10-966MVC模式nMVC模式的目的就是实现Web系统的职能分工。nModel层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。nView层用于与用户的交互,通常用JSP来实现。nController层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。 2021-10-967MVCMVC的优点:的优点:n 各施其职,互不干涉各施其职,互不干涉n 有利于开发中的分工有利于开发中的分工n 有利于组件

32、的重用有利于组件的重用 2021-10-968MVC的缺点: n MVC的缺点是由于它没有明确的定义,所以完全理解MVC并不是很容易。 n 如何将MVC运用到应用程序中没有准确的解决方案,需要设计者认真考虑。n 由于将一个应用程序分成了三个部件,所以使用MVC同时也意味着你将要管理比以前更多的文件,意味着代码文件增多,因此,对于文件的管理需要费点心思,开发的工作量也要增加了。 n 模型和视图的严格分离可能使得调试困难一些,但比较容易发现错误。 2021-10-9699、C2风格 nC2体系结构风格可以概括为:体系结构风格可以概括为:通过连接件绑定在一起的按照一通过连接件绑定在一起的按照一组规则

33、运作的并行构件网络组规则运作的并行构件网络。 2021-10-970C2风格中的系统组织规则n 系统中的构件和连接件都有一个顶部和一系统中的构件和连接件都有一个顶部和一个底部;个底部;n 构件的顶部应连接到某连接件的底部,构构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的;件与构件之间的直接连接是不允许的;n 一个连接件可以和任意数目的其它构件和一个连接件可以和任意数目的其它构件和连接件连接;连接件连接;n 当两个连接件进行直接连接时,必须由其当两个连接件进行直接连接时,必须由其中一个的底部到另一个

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

35、成带有整体性构成带有整体性、普遍性、一般性的结构和结构关系的方法、普遍性、一般性的结构和结构关系的方法。在。在设计中,遵循这些风格的构成原则,对软件的开设计中,遵循这些风格的构成原则,对软件的开发和维护十分有益。发和维护十分有益。2021-10-972 体系结构软件设计的问题体系结构软件设计的问题 工具工具 如何描述软件的总体结构如何描述软件的总体结构方法方法 用什么方法由问题结构导出用什么方法由问题结构导出 软件结构软件结构评估准则评估准则 什么样的软件结构是什么样的软件结构是 “最优的最优的”2021-10-973体系结构文档的用处体系结构文档的用处n软件开发过程中各种角色之间交流软件开发

36、过程中各种角色之间交流设计思想的媒介设计思想的媒介n进行上层分析的基础。此基础上可进行上层分析的基础。此基础上可以验证体系结构设计方案,精炼或以验证体系结构设计方案,精炼或改变必要的方案改变必要的方案n让别人理解系统的第一手资料让别人理解系统的第一手资料2021-10-974有利于软件开发者之间交流有利于软件开发者之间交流n基本想法是什么?n我该做什么 (如,实现哪些需求) ?n我该在哪做 (如,这项功能实现在哪里) ?n我和谁交互?接口是什么?n有什么可以重用的代码?n必须遵从什么约定(质量目标、旧体系/接口、预算等)?n有哪些硬性规定(设计、接口、约束等)?2021-10-9752.4 软件体系结构描述方法软件体系结构描述方法 n2.4.1 软件体系结构描述方法概述1 1、软件体系结构描述方法、软件体系结构描述方法 图形表达工具:使用较多的图形表达工具:使用较多的UMLUML中的中的“4 41 1”视图视图 模块内连接语言模块内连接语言 基于构件的系统描述语言基于构件的系统描述语言 软件体系结构的描述语言(软件体系结构的描述语言(ADLADL) 2 2、软件体系

温馨提示

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

最新文档

评论

0/150

提交评论