软件体系期末复习终结版

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章软件体系结构概论

一、软件危机的表现:

①软件成本日益增长

②开发进度难以控制

③软件质量差

④软件维护困难

二、软件危机的原因:

①用户需求不明确

②缺乏正确的理论指导

③软件规模越来越大

④软件复杂度越来越高

三、如何克服软件危机:

①人们面临的不光是技术问题,更重要的是管理问题,管理不善必然导致失败。

②要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与工业化的生产技术。

③在技术上,应该采用基于重用的软件生产技术;在管理上,应该采用多维的工程管理模式。

软件工程包含的三个要素:方法、工具和过程。

四、构件的定义:

构件是指语义完整、语义正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述,通讯接口和实现代码的复合体。

五、构件模型的三个主要流派:

OMG(对象管理集团)的CORBA(通用对象请求代理结构)SUN的EJB (Enterprise Java Bean)

Microsoft的DCOM(分布式构件的对象模型)

六、构件获取的途径:

①从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件。

②通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件。

③从市场上购买现成的商业构件(COTS)构件。

④开发新的符合要求的构件。

七、构件管理:1、构件描述2、构件分类与构件库组织3、人员及权限管理

构件分类方法:1、关键字分类法2、刻面分类法3、超文本组织法

八、构件重用:

为了让构件在新的软件项目中发挥作用,库的使用者必须完成以下工作:

①检索与提取构件:

基于关键字的检索:优点:简单,易于实现;

刻面检索法:优点:易于实现相似构件的查找;

超文本检索法:优点:用户界面友好;

其他......

②理解与评价构件

③修改构件

④构件组装:

基于功能的组装技术:构件以子程序/过程/函数形式出现;采用“子程序调用”和“参数传递”的方式将构件组装起来;强内聚,松耦合。

基于数据的组装技术:子程序调用与参数传递;面向数据的设计方法。

面向对象的组装技术:构造法和子类法。

九、软件重用概念:

软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。

软件元素包括:程序代码,测试用例,设计文档,设计过程.....

十、软件体系的结构的定义:软件体系结构为软件系统提供了一个结构,行为和属性的搞基抽象,由构成系统的元素的描述。这些元素的相互作用,指导元素集成的模式以及这些模式的约束组成,软件体系结构不仅仅指定了系统的组织结构和拓扑结构。并且显示系统需求的构成,系统的元素之间的对应关系。提供了一些设计决策的基本原理。

第二章软件体系结构建模

一、根据建模侧重点不同,可以将软件体系结构的模型分为5种:

①结构模型最直观,最普遍

②框架模型

③动态模型

④过程模型

⑤功能模型

二、“4+1”视图模型

“4+1”视图模型从5个不同的视角包括逻辑视图、物理视图、开发视图、进程视图和场景视图来描述软件体系结构。

逻辑视图也成为概念视图,主要支持系统功能需求的抽象描述,即系统最终将提供给用户什么样的服务。

开发视图也称为模块视图,主要侧重于软件的组织和管理,软件可以通过程序库或子系统进行组织。

进程视图(过程分解)也称过程视图侧重于系统的运行特性,主要关注一些非功能性的需求(并发性,分布性,系统集成性,容错能力)

物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到系统系能、规模、可靠

性等。

场景视图:场景可以看作是那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。 场景可以用文本表示,也可以用图形表示。 场景视图的作用:

a. 以视图为驱动来发现体系结构元素

b. 在体系结构设计结束后,此视图承担验证和描述的角色。

三、 体系结构的核心模型由5种元素组成:构件、连接件、配置、端口、角色;其中构件、 连接件、配置是最基本的元素。

构件:具有某种功能的可重用的软件模板单元,表示系统中主要的计算元素和数据存储; 连接件:表示构件之间的交互;

配置:表示构件和连接件的拓扑逻辑和约束; 端口:表示构件的外部环境的交互点;

角色:定义了该连接件表示的交互参与者。 四、 软件体系结构的生命周期

① 软件体系结构的非形式化描述 ② 软件体系结构的规范描述和分析 ③ 软件体系结构的求精及验证 ④ 软件体系结构的实施

⑤ 软件体系结构的演化和扩展

⑥ 软件体系结构的提供、评价和度量 ⑦ 软件体系结构的终结。

第三章 软件体系结构风格

一、软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领域中众多系统所共有的结构和语义特性,并描写如何将各个模块和子系统有效地组织成一个完整的系统。

二、通用软件体系结构风格:

① 数据流风格(批处理序列,管道/过滤器)

② 调用/返回风格(主程序/子程序,面向对象风格,层次结构) ③ 独立构件风格(进程通信,事件系统) ④ 虚拟机风格(解释器,基于规则的系统)

⑤ 仓库风格(数据库系统,超文本系统,黑板系统) 管道/过滤器风格优点:

① 具有良好的隐蔽性、高内聚、低耦合的特点 ② 简单性

③ 支持软件重用

④ 具有较强的可维护性和可拓展性

⑤ 允许对一些如吞吐量、死锁等属性的分析 ⑥ 支持并行执行 缺点:

① 通常导致进程成为批处理的结构

软件体系结构

配置

连接件

构件

端口角色

1:N

1:N

1:N

相关文档
最新文档