《软件体系结构考试习题集含答案》由会员分享,可在线阅读,更多相关《软件体系结构考试习题集含答案(14页珍藏版)》请在金锄头文库上搜索。
1、1.面向对象的方法优势体现在( ABD )A 简化软件开发过程B 支持软件复用C 提高软件运营效率D 改善软件结构2. 用户界面设计中的三条“黄金规则”是( ABC )A 使系统处在用户控制之中B 减少用户的记忆承担C 保持界面的一致性D 保证用户的易学性3. 用户界面的分析和设计过程是迭代的,其中涉及的活动是( ABCD )A 用户、任务以及环境的分析和建模B 界面设计C 界面实现D 界面确认4. 界面确认需要注意三个方面( ABC )A 界面对的完毕了用户的任务,适应用户的任务变化B 易学性和易用限度C 用户的接受限度D 用户的习惯5. 用户界面分析时通常采用的信息获取方式涉及( ABCD
2、 )A 用户会谈B 销售人员信息采集C 市场分析D 用户支持人员信息收集6. ( C )把完毕一个特定功能的动作序列抽象为一个过程名和参数表A 数据抽象B 动作抽象C 过程抽象D 类型抽象7. ( A)把一个数据对象的定义抽象为一个数据类型名A 数据抽象B 动作抽象C 过程抽象D 类型抽象8. 软件体系结构设计需要考虑以下( ABCD )A 合用性B 结构稳定性C 可扩展性D 可复用性9. 模块设计时应当考虑(AB )A 模块功能独立B 模块信息的隐藏C 模块接口的简朴D 模块实现简朴10. 一个完整的软件设计的重要活动涉及有( ABCD )A 体系结构设计B 界面设计C 模块/子系统设计、D
3、 数据模型、过程/算法设计等11. 模块化是指把一个复杂的问题分割成若干个可管理的小问题后,更易于理解,模块化正是以此为依据的,在划分模块的过程中应当考虑到( ABC )A 模块的可分解性、可组装型B 模块的可理解性、连续性、C 模块保护D 尽也许低分割模块,使得问题的难度降到最1. 什么是软件工程?构成软件工程的要素是什么?软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运营和维护过程,即将工程化应用于软件开发和管理之中,对所选方法的研究。软件工程的要素由方法、工具和过程组成。方法支撑过程和工具,而过程和工具促进方法学的研究。2. 什么是软件生存周期?软件开发过程模型与软件生存周
4、期之间是何关系?软件产品从形成概念开始,通过开发、使用和维护,直到最后退役的全过程叫软件生存周期。软件开发过程模型表达软件开发中各个活动的安排方式,出来软件开发各个活动之间 关系,是软件开发过程的概括,是软件工程的重要内容,其为软件管理提供里程碑和进度表,为软件开发过程提供原则和方法,其涉及有以软件需求完全拟定为前提的瀑布模型,以渐进式开发模型的原型和螺旋模型,以形式化开发方法为基础的变换模型。3. 叙述软件设计在软件工程中所处的位置和重要性位置:软件需求分析-需求规格说明-软件设计-设计文档- -软件编码总要性:(1)、是对软件需求的直接体现。 (2)、为软件实现提供直接依据 (3)、将综合
5、考虑软件系统的各种约束条件并给出相应方案 (4)、软件设计的质量将决定最终软件系统的质量。 (5)、及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。4. 软件设计应当包含哪些要素?软件设计应当包含:目的描述、设计约束、产品描述、设计原理、开发规划、使用描述。5. 简述UML的特点和用途。、答:为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的需求模型、设计模型和设计模型。提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概念、符号表达和约束。提供于实现语言和支持所有的方法学,覆盖了面向对象分析和设计的相关概念和方法学。独
6、立于任何开发过程,但支持软件开发全过程。提供对建模语言进行理解的形式化基础,用元模型描述基本语义,OCL描述良定义规则,自然语言描述动态语义。 增强面向对象工具之间的互操作性,便于不同系统之间的集成。支持较高抽象层次开发所需的各种概念,如协同、框架、模式和构件等,便于系统的重用。6. 在面向对象开发方法中,对象、类、继承、聚集、多态、消息等概念分别指什么?答:对象:是现实世界中个体或事物的抽象表达,是其属性和相关操作的封装。类:是某些对象的共同特性的表达。继承:类之间的继承关系是现实世界中遗传关系的直接模拟,它表达类之间的内在联系以及属性和操作的共享,即子类可以沿用某些父类的特性。聚集:除遗传
7、关系外,现实世界中还普遍存在着部分-整体关系。多态:指在父类及其子类中,对接口的定义形式相同,却可以对相应多种接口的实现形态。消息:消息传递时对象与其外表世界互相关联的唯一途径。7. UML的结构建模和行为建模有何区别?答:结构建模被称为静态建模,重要用来描述系统中包含的元素以及元素之间的关系。结构建模中的视图可以对各个层次和阶段的软件进行刻画。这些模型对系统的逻辑结构或物理结构进行描述,并不涉及系统的动态行为和过程。 行为建模被称为动态建模,它重要用来刻画系统中的动态行为,过程和环节。UML行为建模中提供的视图可以从不同侧面来描述软件系统的动态过程。结构建模对系统中的元素及其关系进行描述,而
8、行为建模对这些元素完毕特定任务的过程进行描述,两者互相结合就可以完毕描述整个系统的特性。8. 与传统开发方法相比,面向对象开发方法有何优势?(1)、简化软件开发过程 (2)支持软件复用(3)改善软件结构9. 简述抽象与逐步求精在软件设计中的意义。答:软件设计的困难随着问题的规模和复杂性不断增大,抽象是管理,控制复杂性的基本策略。使用抽象技术便于人们用“问题域”本来的概念和术语描述问题,而无须过早地转化为不熟悉的结构。而后不断的具体化,不断地用更接近计算机域的语言描述问题;最后在最低的抽象级别上给出可直接实现的“问题解”,即程序。10. 简述模块化与信息隐藏在软件设计中的意义。答: 模块化即把软
9、件划分为可独立命名和访问的部件,每个部件成为一个模块。模块化以“分治法”为依据,即将一个复杂的问题分割成若干个可管理的小问题后,更易于求解。模块因其可分解性、可组装性、可理解性、连续性及模块保护使软件管理更简朴有效。并且一个模块技术研发失败不会影响到另一个模块的技术研发,这样就大大减少了产品整体研发的风险。信息隐藏是指在设计和拟定模块时,使得一个模块内包含的特定信息(过程或数据)对于不需要这些信息的其他模块来说,是透明的。不仅支持模块的并行开发,并且还可以减少测试和后期维护的工作量。此外,整个系统欲扩充功能也只需“插入”新模块,原有的多数模块无需改动,提高了系统的灵活性和可扩展性。11. 内聚
10、度、耦合度分别指的是什么?为什么软件设计要追求高内聚、低耦合?答:内聚度是一个模块内部各成分之间关联限度的度量。耦合度是模块之间依赖限度的度量。高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完毕系统的维护开发,连续的支持业务的发展,而不会成为业务发展的障碍。12. 软件设计过程中包含哪些重要活动?分别介绍这些活动的重要目的。答:a、软件设计计划:明确设计过程的输入制品并使其处在就绪状态,定义设计过程的目的、输出制品及其验收准则,拟定覆盖设计过程中各个阶段的全局性设计策略,分派设计过程相关人员职责,针对设计过程中的活动制定工作计划。b、体系结构设计:建立软件系统的体系结构,有
11、时也称“顶层架构”。c、界面设计:为用户使用目的软件系统以实现其所有业务需求而提供和谐的人机交互界面。d、模块/子系统设计:拟定模块的接口定义,设计内部结构。明确协作关系。e、过程/算法设计:对模块内部的工作和执行过程进行描述,给出有关解决的精确说明。f、数据模型设计:拟定设计模型中需要持久保存的数据条目,基于关系数据模型设计这些数据条目的组织方式,必要时还需要设计特定于本软件项目将采用的关系数据库管理系统的优化机制,以提高持久数据操作的性能。13. 为什么软件设计是一个不断迭代的过程?答:设计者不也许一次就能完毕一个完整的设计,软件设计肯呢刚是一个多次反复的过程,在设计过程中,需要不断的添加
12、设计要素和设计细节,并对先前的设计方案进行修正。14. 哪些要素可以用来评价软件设计的质量答:1、结构良好; 2、充足性; 3、可行性; 4、简朴性;5、实用性;6、灵活性;7、健壮性;8、可移植性;9、可复用性;10、标准化15. 软件设计的质量对最终软件产品和软件开发过程会产生哪些影响答:1、开发效率;2、交付时间;3、风险管理;4、资源使用;5、成本;6、 人员培训;7、合法性。16. 可信软件有什么特点?列举几种在生活中常用的可信软件。答:特点:可靠性、可靠完全性、保密安全性、可生存性、实时性。例如:嵌入式软件系统:飞船导航软件、武器控制系统。大型分布式系统:银行网上交易系统、空管系统
13、。17. 容错设计的重要思想和方法答:重要思想:软件容错设计是使得软件能发现失效危险并从临失效状态恢复的软件设计技术。方法:恢复块技术、N-版本编程。18. 什么是软件设计规格说明?它在软件开发中起何重要用途?答:软件设计规格说明:软件设计过程中体现各个活动结果的文档,是软件设计的输出。软件设计相关的内容涉及软件体系结构描述、软件设计描述和软件接口设计描述部分。其中对所开发软件的目的、范围、约束的定义,对软件的结构、接口、数据等方面的设计作出了具体的说明。评审后的软件设计规格说明将作为后续软件实现活动的依据。19. 软件设计评审的目的是什么?设计评审中需要关注哪些方面?答:目的:保证设计规格说
14、明书可以实现所有的软件需求,及早发现设计中缺陷和错误,并保证设计 模型已经精化到合格的软件实现工程师可以造出符合软件设计者盼望的目的软件系统。 1.设计模型是否可以充足地,无漏掉地支持所有软件需求的实现。2设计模型是否已经精华至合理的限度,可以保证合格的软件实现工程师能偶构造出符合软件设计者盼望的目的软件系统。3设计模型的质量属性,即使设计模型是否已经通过充足的优化,以保证依照设计模型构造出来的目的软件产品可以表现出良好的软件质量属性。20. 基于UML的分析与设计过程包含哪些重要活动答:1用例分析与设计2慨念模型与顶层架构设计3用户界面设计4数据模型设计5设计精化6类设计7部署模型设计21.
15、 用例分析与设计在设计过程中起到什么作用答:用例分析与设计可以分为发现和拟定用例、生成用例图、对每个用例进行具体设计和描述等几个重要环节。它是基于UML的软件设计过程的基础,只有建立了清楚、准确的用例模型并对用例执行过程进行了较为全面的描述,才干使后续设计活动不会出现偏差。在为各个用例建立交互图设计模型的过程中,可以逐步发现各种系统概念层对象,它们是问题领域中存在的概念或对象,非常直观和容易理解。这些对象为下一步建立面向对象的概念模型提供了依据,并且可以作为顶层架构设计的基础。22. 什么概念模型设计?为什么要建立软件概念模型?(待定)答:定义:为了把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型,人们经常一方面将现实世界抽象为信息世界,然后将信息世界转换为机器世界。也就是说,一方面把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计