第1章 软件体系结构概述

来源:互联网 发布:什么是数据清洗 编辑:程序博客网 时间:2024/05/22 04:37

第1章               软件体系结构概述

1.  根据自己的经验,谈谈对软件危机的看法。

  答:软件危机主要表现在:

•   软件成本日益增长

•   开发进度难以控制

•   软件质量差

•   软件维护困难

软件危机的原因 

•   用户需求不明确

•   缺乏正确的理论指导

•   软件规模越来越大

•   软件复杂度越来越高

如何克服软件危机

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

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

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

 

2.  什么是软件重用,软件重用的层次可以分为哪几个级别?

 答:软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
     
级别有:代码的复用、设计结果的复用、分析结果的复用、测试信息的复用等。

 

3. 什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求?

答:可重用构件是指可以在多个软件系统的开发过程中被重复使用的软件产品。
可重用构件的特殊要求:

(1) 可重用构件应该具有功能上的独立性与完整性;

(2) 可重用构件应该具有较高的通用性;

(3) 可重用构件应该具有较高的灵活;

(4) 可重用构件应该具有严格的质量保证;

(5) 可重用构件应该具有较高的标准化程。

 

4.  基于构件的软件开发的优势是什么?基于构件的软件开发面临哪些挑战和困难?

  答:优势是:

(1)提高了软件的质量。可复用的构件相对于在单一应用中使用的模块来说,一般都更为成熟并具有较高的质量保证。

(2)对于提高软件开发的效率也有着显著的作用。软件复用已经渗透到了软件开发的各个阶段,在开发的各个阶段都有可以被重复使用的软件产品。

(3)成本大为节省。它避免了不必要的重复劳动和人力财力的浪费。同时也必须意识到基于构件的软件开发也是有一定成本和代价的。

挑战和困难:

(1)在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题;

(2)采用随处可以购买到的构件可能会使开发出来的软件产品丧失技术上的独创性和市场上的竞争力;

(3)第三方的构件开发商可能歇业,这会使购买的构件失去维护服务。这些都是在购买第三方构件进行软件开发时无法回避的问题,因此需要对这些风险进行充分的估计。

 

5.  简述3种应用最为广泛的构件技术规范COM、CORBA和EJB的各自特点。

  答:CORBA的特点:

(1)  实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。

(2)  应用程序间的统一接口。

(3)  采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义。

(4)  分层的设计原则和实现方式。

COM的特点:

(1)  语言无关性 。

(2)  可重用性 。

EJB的特点:

(1)  可移植性。

(2)  平台独立性。

(3)  简化了分布式对象的开发、部署和访问 。

 

6.    就项目管理方面,软件重用项目与非重用项目有哪些不同之处。

答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量, 大量使用构建, 软件的灵活性和标准化程度可得到提高。

 

7.  实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的。

  答:

 

 

8.  软件体系结构的研究范畴有哪些?举例加以说明?

  答:

 

9.  根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?

   答:构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器);

    连接件(connector)是关系的抽象,用以表示构件之间的相互作用。如过程调用、管道、远程过程调用等;

    限制(constrain):用于对构件和连接件的语义说明。

 

10.   在软件体系结构的研究和应用中,你认为还有哪些不足之处?

  答:(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。

    (2)ADL繁多,缺乏同意的ADL的支持。

    (3)软件体系结构研究缺乏统一的理论模型支持。

    (4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。

    (5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。

    (6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持,导致体系结构应用上的困难。

    (7)缺乏有效的体系结构复用方案。

    (8)体系结构发现方法研究相对欠缺