体系结构 完整版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章
1.软件复用:利用现有的软件资源来开发新应用系统的过程。其中软件资源可能是已经存在的软件,也可能是专门用于开发设计且可复用的软件构件。
2.可复用的软件的资源即复用成分,是软件服用技术的核心与基础。
3.实现软件复用需要解决三个问题:
1.有可以复用的对象
2.所复用的对象的对象是可用的
3.复用者要知道怎样去使用被复用的对象
4..软件重用再工程五个阶段:
(1)候选阶段(2)选择阶段(3)资格说明阶段(4)分类和存储阶段(5)查找和检索5.软件复用:
(1)代码复用分为目标代码复用和源代码复用
(2)设计复用比源程序复用的级别更高
(3)分析复用要比设计复用的级别更高
(4)测试复用主要包括测试用例复用和测试过程复用
6.软件复用的实现技术:组装和生成
在组装中软件构件是复用的基石
在生成中由程序生成器完成对软件结构模式的复用
7.从构件的表示角度出发,分为人工智能方法、超文本和信息科学方法
信息科学方法:枚举层次关键词分类方法
8.软件构件化:就是要让软件开发过程向机械加工一样,可以使用各种标准的和非标准的零件来组装机器。
9.抽象构件模型:提供服务接口--(软件构件:属性集合行为集合)--接收服务接口
10.网络服务技术:OMG的CORBA;SUN公司的J2EE/JavaBeans/EJB;Microsoft的DCOM/COM/COM+
11.构件获取的四种方式:
(1)从构件库中,按照适合新系统的原则选取,并做适应性修改已获得可重用的构件。(2)根据新功能模块进行自行开发,以获取新构件
(3)对遗留系统进行功能分析,将具有潜在应用价值的模块提取出来,使其接口进行标准化以获得可重用性构件
(4)通过商业方式购买合适的构件,利用互联网资源进行共享或免费获取
12.框架:是一种为特定领域应用提供可扩展模版的架构实例。它表述了整个设计过程、指明了协作对象之间的依赖关系、明确了责任分配和控制流
13.软件体系结构主要包括:构件、连接件和配置约束
14.构件:可预制和可重用的软件部件,是组成体系结构的基本计算单元或数据存储单元
1.模型的作用:使复杂的信息关联变得简单易懂,使我们能够洞察杂乱的和庞大的数据背后所隐藏的规律,使我们能够将系统需求映射到软件的框架结构上去。
2.软件体系结构模型能够帮助人们从全局的角度来把握整个系统的框架结构。
3.软件体系结构模型:(5种)
结构模型:这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义。系统语义主要包括系统的配置、约束、隐含的假设条件、风格、性质等。
动态模型:是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。例如,描述系统的重新配置或演化。动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。
框架模型:框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。
过程模型:过程模型研究构造系统的步骤和过程。结构是遵循某些过程脚本的结果。
功能模型:功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。功能模型可以看作是一种特殊的框架模型。
4.“4+1”视图模型
逻辑视图(概念视图)逻辑试图主要是用来描述系统的功能需求,即系统提供给最终用户的服务.表述了系统的功能需求及其之间的相互关系。按照应用领域的概念来描述系统的框架结构。在面向对象技术中,通过抽象、封装、继承,可以用对象模型来代表逻辑视图
开发视图(模块视图)开发视图主要用来描述系统的组织,与逻辑视图密切相关,都是描述了系统的静态结构。但是侧重点有所不同,开发视图与系统实现紧密相关。模块视图负责软件模块的组织和管理,该视图以构件为着眼点,是系统开发的核心视角之一。
过程视图进程试图侧重系统的动态行为即系统运行时所表现出来的相关特征。着重解决系统的可靠性、并发性、分布性、容错性、吞吐量等。反映软件的行为结构。
物理视图物理试图主要描述硬件配置。服务于系统工程人员,解决系统的拓扑结构、系统安装、通信等问题。主要考虑如何把软件映射到硬件上,也要考虑系统性能、规模、可靠性等。可以与进程视图一起映射。
场景视图场景是用户需求和系统功能实例的抽象,设计者通过分析如何满足每个场景所要求的约束来分析软件的体系结构。场景是整个体系结构设计的依据。
(1)不能体现体系结构的构造是多层次抽象的过程,不能充分表达系统的体系结构风格(2)数据作为系统的重要组成部分,”4+1”视图中没有得到充分的体现
(3)”4+1”视图不能充分的反映系统要素之间的联系,如构件、功能和角色之间的关联(4)在实现体系结构模型时,缺乏构造视图和建立视图之间关系的指导信息
5.核心模型::=(构件,连接件,约束)
构件::={端口1,端口2,...端口N}
连接件::={角色1,角色2,...角色M}
约束::={(端口i,角色j),...}
6.构件是软件体系结构中的基本要素。构件具有一定功能和可明确辨识的软件单位。
7.软件可以有不同的粒度。一个构件可以小到只有一个过程,也可以大到包含一个应用程序。可包含函数对象进程二进制对象类库和数据包等
8.常见的构件:纯计算单元,数据存储单元,管理器,控制器
9.构件组合遵循三个原则:
(1)使参与组合的构件保持自身的独立性,从而有利于构件和所形成的复合构件具有更强的复用能力和演化能力
(2)构件之间的组合应该由构件以外的实体来实施,如连接件。
(3)构件组合应有助于根据参与组合的构件的行为和性质来推导符合构件的行为和性质,从而有助于基于可复用构件的应用系统的开发
10.常用的连接件:过程调用,数据流,消息传递
11.对于构件而言,连接件是黏合剂,是构件交互的实现。连接件和构件之间的区别主要在于他们在软件体系结构中承担不同的作用
12.软件体系结构工程=形式化模型+软件技术+软件工程P33
13.描述软件框架结构常用方法:一种是实践派风格,使用通用的建模符号;一种是学院派风格,使用了体系结构描述语言(ADL)集中描述了整个系统的高层结构
实践派风格包括图形表示方法,模块内连接语言,基于构件的系统描述语言和UML描述方法
14.P49页图