软件体系结构(考试习题集含)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精选文档
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)
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.数据模型、过程 /算法设计等
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.可信软件有什么特色?列举几种在生活中常用的可信软件。
答:特色:靠谱性、靠谱完好性、保密安全性、可生计性、及时性。
比如:嵌入式软件系统:飞船导航软件、武器控制系统。
大型散布式系统:
银行网上交易系统、空管系统。
17.容错设计的主要思想和方法
答:主要思想:软件容错设计是使得软件能发现无效危险并从临无效状态
恢复的软件设计技术。
方法:恢复块技术、 N- 版本编程。
18.什么是软件设计规格说明?它在软件开发中起何重要用途?
答:软件设计规格说明:软件设计过程中表现各个活动结果的文档,是软
件设计的输出。
软件设计有关的内容包含软件系统结构描绘、软件设计描
绘和软件接口设计描绘部分。
此中对所开发软件的目标、范围、拘束的定
义,对软件的结构、接口、数据等方面的设计作出了详尽的说明。
评审后
的软件设计规格说明将作为后续软件实现活动的依照。
19.软件设计评审的目标是什么?设计评审中需要关注哪些方面?
答:目标:保证设计规格说明书能够实现全部的软件需求,提早发现设计
中缺点和错误,并保证设计模型已经精化到合格的软件实现工程师能够造
出切合软件设计者希望的目标软件系统。
1.设计模型能否能够充分地,无遗漏地支持全部软件需求的实现。
2 设计模型能否已经精髓至合理的程度,
能够保证合格的软件实现工程师能偶结构出切合软件设计者希望的目标软
件系统。
3 设计模型的质量属性,即便设计模型能否已经经过充分的优化,
以保证依照设计模型结构出来的目标软件产品能够表现出优秀的软件质量
属性。
20.鉴于UML的剖析与设计过程包含哪些主要活动》
答: 1 用例剖析与设计 2 慨念模型与顶层架构设计3 用户界面设计 4 数据模型设计 5 设计精化 6 类设计 7 部署模型设计
21.用例剖析与设计在设计过程中起到什么作用
答:用例剖析与设计能够分为发现和确立用例、生成用例图、对每个用例
进行详细设计和描绘等几个主要步骤。
它是鉴于UML的软件设计过程的基础,只有成立了清楚、正确的用例模型并对用例履行过程进行了较为全面
的描绘,才能使后续设计活动不会出现误差。
在为各个用例成立交互图设计
模型的过程中,能够逐渐发现各样系统观点层对象,它们是问题领域中存在
的观点或对象,特别直观和简单理解。
这些对象为下一步成立面向对象的观
点模型供给了依照,并且能够作为顶层架构设计的基础。
22.什么观点模型设计?为何要成立软件观点模型?(待定)
答:定义:为了把现实世界中的详细事物抽象、组织为某一数据库管理系统
支持的数据模型,人们经常第一将现实世界抽象为信息世界,而后将信息世
界变换为机器世界。
也就是说,第一把现实世界中的客观对象抽象为某一种
信息结构,这类信息结构其实不依靠于详细的计算机系统,不是某一个数据
库管理系统( DBMS )支持的数据模型,而是观点级的模型,称为观点模
型。
原由:因为观点模型用于信息世界的建模型,是现实世界到信息世界的第
一层抽象,是用户与数据库设计人员之间进行沟通的语言,所以观点模型
一方面拥有较强的语义表达能力,能够方便、直接地表达应用中的各样语
义知识,另一方面它还简单、清楚、易于用户理解。
.
精选文档
答:设计精化主要包含:精化软件结构、调整软件构成类、精髓交互模型、精髓类之间的关系
作用:经过剖析和设计,已成立起必定程度的设计模型,其包含了较完好
的静态结构模型(顶层架构图、剖析类图)和动向行为模型(交互图),
以及用户界面设计和数据模型设计,但其设计模型的抽象层次与软件实现
之间还有必定差距,有必需对这些模型再进行剖析,细化和优化,已生成
高质量的设计模型,为后续的实现阶段确立坚固基础
24.为何要对类的行为进行设计?怎样设计类的行为?
25.列举能够使得用户记忆负担减少的原则
答: 1. 减少短期记忆要求
2.成立存心义的默认设置
3.定义切合只感觉快捷方式
4.界面的视觉布局应当模拟真切世界
5.以渐进的方式来揭露信息
.。