软件体系结构复习1

  • 第一章 软件体系结构概论

一、如何理解软件体系结构的概念?它与建筑体系结构、计算机硬件系统的“体系结构”有哪些共性

  软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统元素之间的对应关系,提供了一些设计决策的基本原理;;它们都涉及到一系列构件的组织和设计,以及这些构件之间的关系。这些构件通过特定的连接方式组合在一起,形成了一个具有特定功能的整体。

二、什么是软件体系结构

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

三、如何理解“软件工程的研究和应用可缓解软件危机造成的被动局面”

  因为造成软件危机的真正原因不单是技术问题,更是管理问题。软件工程即是用现代工程的概念原理技术方法进行计算机软件的开发管理和维护。它可以更好地反应用户需求,应对需求变更,保证维护易于进行,节约开发成本,提高产品质量。所以软件工程的发展大大缓解了软件危机造成的局面。

四、软件产业发展的必经之路就是走工业的发展模式,这种发展模式典型特点是什么

  进行符合标准构件的构件生产;基于标准构件的产品生产(组装)。其中构件是核心和基础,复用是必需的手段。

                                                                                                                                                                                                                                                                                                                                                                                  

五、什么是构件、软件重用、哪些软件元素可重用、软件重用的优点

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

  (构件)软件元素:程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。把这种可重用元素成为软构件,简称构件。可重用的软件元素越大,就说重用的粒度越大。

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

  软件重用的优点:1.减少重复性工作2.提高软件生产率3.降低开发成本4.缩短开发周期5.方便改善软件质量

六、什么是构件模型,有哪些常见的构件模型,它们的目标和作用是什么,国内在构件模型的研究上有什么进展?

  构建模型:对构件本质特征的抽象描述。

  常用构件模型:1.OMG的CORBA,通用对象请求代理结构

2.Sun的EJB,JAVA bean

3.微软的DCOM,分件式构件对象模型

         目的是提高构件的可重用性

  国内进展:北京大学杨芙清院士等人提出的“青鸟构件模型”

  

七、构件库中对构件的分类方法有哪些?

关键字分类法 刻面分类法 超文本组织方法

八、构件的组装技术可分为哪三种,请简要解释一下。

基于功能的组装技术:基于功能的组装技术采用子程序调用参数传递的方式将构件组装起来。它要求库中的构件以子程序/过程/函数的形式出现,并且接口说明必须清晰。

基于数据的组装技术:根据当前软件问题的核心数据结构设计出一个框架,然后根据框架中各结点的需求提取构件并进行适应性修改,再将构件逐个分配至框架中的适当位置。此后,构件的组装方式仍然是传统的子程序调用与参数传递。这种组装技术也要求库中构件以子程序形式出现,但它所依赖的软件设计方法不再是功能分解,而是面向数据的设计方法

面向对象的组装技术:

构造法:在子类中引进基类的对象作为子类的成员变量,然后在子类中通过成员变量重用基类的属性和方法。

子类法:将新子类直接说明为库中基类的子类,通过继承和修改基类的属性与行为完成新子类的定义。

九、软件复用的级别有哪些,并举例说明。

代码的复用:包括目标代码和源代码的复用。其中目标代码的复用级别最低,历史也最久,当前大部分编程语言的运行支持系统都提供了连接(Link)、绑定(Binding)等功能来支持这种复用。

设计的复用:设计结果比源程序的抽象级别更高,因此它的复用受实现环境的影响较少,从而使可复用构件被复用的机会更多,并且所需的修改更少。

分析的复用:这是比设计结果更高级别的复用,可复用的分析构件是针对问题域的某些事物或某些问题的抽象程度更高的解法,受设计技术及实现条件的影响很少,所以可复用的机会更大。。

测试信息的复用:主要包括测试用例的复用和测试过程信息的复用。

十、软件开发方法从70年代至今经历了哪几个过程?

无体系结构设计阶段:以汇编语言进行小规模应用程序开发为特征

萌芽阶段:出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征

初期阶段:出现了从不同侧面描述系统的结构模型,以UML为典型代表

高级阶段:以描述系统的高层抽象结构为中心,不关心具体的建模细节,划分了体系结构模型与传统软件结构的界限,该阶段以Kruchten提出的“4+1”模型为标志。

十一、为什么基于构件的软件开发方法能有效地提高开发效率?

基于构件的软件开发方法是一种基于分布对象技术、强调通过可复用构件设计与构造软件系统的软件复用途径。基于构件的软件系统中的构件可以是COTS(Commercial-Off-the-Shelf)构件,也可以是通过其它途径获得的构件(如自行开发)。他体现了“购买而不是重新构造”的哲学,将软件开发的重点从程序编写转移到了基于已有构件的组装,以更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担 ,从而降低软件开发的费用。

  • 26
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值