软件体系结构试题及参考答案

时间:2022-11-23 05:11:18 期末试题 我要投稿
  • 相关推荐

软件体系结构试题及参考答案

  试题在软件体系结构课程的学习中起到了测试的作用。以下是阳光网小编要与大家分享的软件体系结构试题及参考答案,供大家参考!

软件体系结构试题及参考答案

  软件体系结构试题及参考答案(一)

  面向对象的方法优势体现在( ABD )

  A. 简化软件开发过程

  B. 支持软件复用

  C. 提高软件运行效率

  D. 改善软件结构

  用户界面设计中的三条“黄金规则”是( ABC )

  A. 使系统处于用户控制之中

  B. 减少用户的记忆负担

  C. 保持界面的一致性

  D. 保证用户的易学性

  用户界面的分析和设计过程是迭代的,其中包括的活动是( ABCD )

  A. 用户、任务以及环境的分析和建模

  B. 界面设计

  C. 界面实现

  D. 界面确认

  界面确认需要注意三个方面( ABC )

  A. 界面正确完成了用户的任务,适应用户的任务变化

  B. 易学性和易用程度

  C. 用户的接受程度

  D. 用户的习惯

  用户界面分析时通常采用的信息获取方式包括( ABCD )

  A. 用户会谈

  B. 销售人员信息采集

  C. 市场分析

  D. 用户支持人员信息收集

  ( C )把完成一个特定功能的动作序列抽象为一个过程名和参数表

  A. 数据抽象

  B. 动作抽象

  C. 过程抽象

  D. 类型抽象

  ( A)把一个数据对象的定义抽象为一个数据类型名

  A. 数据抽象

  B. 动作抽象

  C. 过程抽象

  D. 类型抽象

  软件体系结构设计需要考虑以下( ABCD )

  A. 适用性

  B. 结构稳定性

  C. 可扩展性

  D. 可复用性

  9. 模块设计时应该考虑(AB )

  A. 模块功能独立

  B. 模块信息的隐藏

  C. 模块接口的简单

  D. 模块实现简单

  10. 一个完整的软件设计的`主要活动包括有( ABCD )

  A. 体系结构设计

  B. 界面设计

  C. 模块/子系统设计、

  D. 数据模型、过程/算法设计等

  11. 模块化是指把一个复杂的问题分割成若干个可管理的小问题后,更易

  于理解,模块化正是以此为依据的,在划分模块的过程中应该考虑到( ABC )

  A. 模块的可分解性、可组装型

  B. 模块的可理解性、连续性、

  C. 模块保护

  D. 尽可能低分割模块,使得问题的难度降到最小

  软件体系结构试题及参考答案(二)

  1. 什么是软件工程?构成软件工程的要素是什么?

  软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,对所选方法的研究。软件工程的要素由方法、工具和过程组成。方法支撑过程和工具,而过程和工具促进方法学的研究。

  2. 什么是软件生存周期?软件开发过程模型与软件生存周期之间是何关系?

  软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程叫软件生存周期。软件开发过程模型表示软件开发中各个活动的安排方式,出来软件开发各个活动之间 关系,是软件开发过程的概括,是软件工程的重要内容,其为软件管理提供里程碑和进度表,为软件开发过程提供原则和方法,其包括有以软件需求完全确定为前提的瀑布模型,以渐进式开发模型的原型和螺旋模型,以形式化开发方法为基础的变换模型。

  3. 叙述软件设计在软件工程中所处的位置和重要性

  位置:软件需求分析--------需求规格说明------软件设计------设计文档-

  -----------软件编码

  总要性:(1)、是对软件需求的直接体现。

  (2)、为软件实现提供直接依据

  (3)、将综合考虑软件系统的各种约束条件并给出相应方案

  (4)、软件设计的质量将决定最终软件系统的质量。

  (5)、及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。

  4. 软件设计应该包含哪些要素?

  软件设计应该包含:目标描述、设计约束、产品描述、设计原理、开发规划、使用描述。

  5. 简述UML的特点和用途。、

  答:为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的需求模型、设计模型和设计模型。

  提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概念、符号表示和约束。

  提供于实现语言和支持所有的方法学,覆盖了面向对象分析和设计的相关概念和方法学。

  独立于任何开发过程,但支持软件开发全过程。

  提供对建模语言进行理解的形式化基础,用元模型描述基本语义,OCL描述良定义规则,自然语言描述动态语义。

  增强面向对象工具之间的互操作性,便于不同系统之间的集成。 支持较高抽象层次开发所需的各种概念,如协同、框架、模式和构件等,便于系统的重用。

  6. 在面向对象开发方法中,对象、类、继承、聚集、多态、消息等概念

  分别指什么?

  答:对象:是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。

  类:是某些对象的共同特征的表示。

  继承:类之间的继承关系是现实世界中遗传关系的直接模拟,它表示类之间的内在联系以及属性和操作的共享,即子类可以沿用某些父类的特征。 聚集:除遗传关系外,现实世界中还普遍存在着部分-整体关系。

  多态:指在父类及其子类中,对接口的定义形式相同,却可以对相应多种接口的实现形态。

  消息:消息传递时对象与其外表世界相互关联的唯一途径。

  7. UML的结构建模和行为建模有何区别?

  答:结构建模被称为静态建模,主要用来描述系统中包含的元素以及元素之间的关系。结构建模中的视图可以对各个层次和阶段的软件进行刻画。这些模型对系统的逻辑结构或物理结构进行描述,并不涉及系统的动态行为和过程。 行为建模被称为动态建模,它主要用来刻画系统中的动态行为,过程和步骤。UML行为建模中提供的视图可以从不同侧面来描述软件系统的动态过程。结构建模对系统中的元素及其关系进行描述,而行为建模对这些元素完成特定任务的过程进行描述,两者相互结合就能够完成描述整个系统的特性。

  8. 与传统开发方法相比,面向对象开发方法有何优势?

  (1)、简化软件开发过程 (2)支持软件复用(3)改善软件结构

  9. 简述抽象与逐步求精在软件设计中的意义。

  答:软件设计的困难随着问题的规模和复杂性不断增大,抽象是管理,控制复杂性的基本策略。使用抽象技术便于人们用“问题域”本来的概念和术语描述问题,而无须过早地转化为不熟悉的结构。而后不断的具体化,不断地用更接近计算机域的语言描述问题;最后在最低的`抽象级别上给出可直接实现的“问题解”,即程序。

  10. 简述模块化与信息隐藏在软件设计中的意义。

  答: 模块化即把软件划分为可独立命名和访问的部件,每个部件成为一个模块。模块化以“分治法”为依据,即将一个复杂的问题分割成若干个可管理的小问题后,更易于求解。模块因其可分解性、可组装性、可理解性、连续性及模块保护使软件管理更简单有效。而且一个模块技术研发失败不会影响到另一个模块的技术研发,这样就大大降低了产品整体研发的风险。信息隐藏是指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据)对于不需要这些信息的其他模块来说,是透明的。不仅支持模块的并行开发,而且还可以减少测试和后期维护的工作量。此外,整个系统欲扩充功能也只需“插入”新模块,原有的多数模块无需改动,提高了系统的灵活性和可扩展性。

  11. 内聚度、耦合度分别指的是什么?为什么软件设计要追求高内聚、低耦合?

  答:内聚度是一个模块内部各成分之间关联程度的度量。

  耦合度是模块之间依赖程度的度量。

  高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。

  12. 软件设计过程中包含哪些主要活动?分别介绍这些活动的主要目标。 答:a、软件设计计划:明确设计过程的输入制品并使其处于就绪状态,定义设计过程的目标、输出制品及其验收准则,确定覆盖设计过程中各个阶段的全局性设计策略,分配设计过程相关人员职责,针对设计过程中的活动制定工作计划。

  b、体系结构设计:建立软件系统的体系结构,有时也称“顶层架构”。 c、界面设计:为用户使用目标软件系统以实现其所有业务需求而提供友好的人机交互界面。

  d、模块/子系统设计:确定模块的接口定义,设计内部结构。明确协作关系。

  e、过程/算法设计:对模块内部的工作和执行过程进行描述,给出有关处理的精确说明。

  f、数据模型设计:确定设计模型中需要持久保存的数据条目,基于关系数据模型设计这些数据条目的组织方式,必要时还需要设计特定于本软件项目将采用的关系数据库管理系统的优化机制,以提高持久数据操作的性能。

  13. 为什么软件设计是一个不断迭代的过程?

  答:设计者不可能一次就能完成一个完整的设计,软件设计肯呢刚是一个多次反复的过程,在设计过程中,需要不断的添加设计要素和设计细节,,并对先前的设计方案进行修正。

  14. 哪些要素可以用来评价软件设计的质量

  答:1、结构良好; 2、充分性; 3、可行性; 4、简单性;

  5、实用性;6、灵活性;7、健壮性;8、可移植性;9、可复用性;

  10、标准化

  15. 软件设计的质量对最终软件产品和软件开发过程会产生哪些影响 答:1、开发效率;2、交付时间;3、风险管理;4、资源使用;5、成本;

  6、人员培训;7、合法性。

  16. 可信软件有什么特点?列举几种在生活中常用的可信软件。 答:特点:可靠性、可靠完全性、保密安全性、可生存性、实时性。

  例如:嵌入式软件系统:飞船导航软件、武器控制系统。大型分布式系统:银行网上交易系统、空管系统。

【软件体系结构试题及参考答案】相关文章:

计算机体系结构试题及答案03-31

化工制图试题及参考答案04-02

面试试题及参考答案12-09

商法模拟试题及参考答案04-02

数字逻辑试题及参考答案04-02

电力拖动模拟试题及参考答案04-02

商法期末复习试题及参考答案04-02

商法考试题及参考答案04-02

资产评估模拟试题及参考答案04-02