好文档 - 专业文书写作范文服务资料分享网站

软件工程简答题答案第五版

天下 分享 时间: 加入收藏 我要投稿 点赞

4. 比较关系数据库和面向对象数据库。 答:采用关系模型的数据库称作关系数据库。

采用面向对象数据模型的数据库称作面向对象数据库。

5. 如何选择合适的数据管理系统。

答:决定采用何种数据管理系统,要综合考虑技术和非技术两方面的因素。

1) 非技术因素

(1) 数据管理系统的成熟成都和先进性 (2) 价格

(3) 开发队伍的技术背景 (4) 与其他系统的关系 2) 技术因素 (1) 文件系统

(2) 关系数据库管理系统 (3) 面向对象数据库管理系统

6. 数据库与数据库管理系统有什么区别?

答:数据库(Database)是长期存储在计算机内,有组织、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有 较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。而数据库管理系统(Database Management System)是用于建立、使用、维护数据库的软件。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

7. 面向对象和数据库技术是如何进行整合的? 答:书P380。

8. 对象如何在数据库中存放?

答:用关系数据库存放对象的基本策略是:把由每个类直接定义并需要永久存储的全部对象实例存放在一个数据库表中。每个这样的类对应一个数据库表,经过规范化之后的类的每个属性对应数据库表的一个属性,类的每个对象实例对应数据库中的一个元组。

第十五章 形式化方法

3.Petri网适合于分析与设计哪些系统?它是通过什么方式来反应系统动态行为的? 答:Petri网在软件分析中,是一种系统的数学和图形的描述与分析方法。对于具有并发、

异步、分布、并行、不确定性或随机性的信息处理系统,都可以利用Petri网构造出要开发的Petri网模型。它通过使用标记去模拟系统的动态行为和并发活动。

4.Petri网可以奉行系统的哪些行为特征?这些特征的含义各是什么? 答:行为特征及其含义如下:

(1) 可达性:可达性是研究任何系统动态特征的基础。 (2) 有界性。

(3) 活性:在操作系统中,活性的概念与安全无死锁紧密相关。 (4) 可逆性。 (5) 可覆盖性。 (6) 持久性。

(7) 同步距离:同步距离是条件/事件系统中与两个事件间相互独立成都紧密相关的一

种量度。

(8) 公平性:包括有界公平性和无条件公平性。

5.Petri网的性能分析方法有哪几种?其原理各是什么? 答:分析方法可分为三类。

(1) 可覆盖性树。这种方法实质上包含了所有可达标识或它们的可覆盖标识的枚举,适

用于所有类型的网。

(2) 矩阵方程求解。这种方法求解能力强,但在许多情况下,它仅适用于Petri网的一

些特殊之类或特殊情况。

(3) 分层或化简。这种方法实在保证网系统要分析的性质不变的情况下进行分层或化

简,它设计一些变换的方法的研究。

第十六章 软件实现

1. 软件实现完成什么任务?

答:软件实现就是在详细设计的基础上,用一种程序设计语言来讲设计转换为程序,得到的结果是源程序代码。

2. 你了解当前流行的编程语言吗?(列举两种以上)它们的特点是什么?适合设计什么样

的系统?

答:(1)C语言:具有很强功能的语言,支持复杂的数据结构,可大量运用指针,具有丰富灵活的操作运算符及数据处理操作符。还可以直接对位进行操作,程序运行效率高。适合科学工程计算。

(2)JAVA语言:是由Sun公司开发的一种面向对象的、分布式的、安全的程序设计语言。因为它运行在JAVA虚拟机上,因此它与硬件无关,也体现了它的易移植性。

3. 良好的编程风格带来的好处是什么?请举例说出有哪些公认的良好的编程风格? 答:一个公认的、良好的编程风格可以减少编码的错误,减少读程序的时间,从而提高软件的开发效率。

4. 在代码上提高程序的效率,可以做哪些方面的工作?

答:(1)在进行编码以前,应建华算法中的算术表达式和逻辑表达式,使之显得简洁。 (2)对嵌套循环仔细审查,在循环内部的语句和表达式越少越好。 (3)应尽量避免使用多维数组。 (4)应尽量避免使用指针和复杂的列表。 (5)采用效率高的算术运算。 (6)要避免采用混合数据类型。

(7)只要有可能,就应当采用占用内存少的数据类型。

5. 冗余编程的目的是什么?

答:冗余是改善系统可靠性的一种重要技术。冗余编程目的在于保证一个软件在出现错误时能有另一个软件能提高相同的功能以保证工作继续进行。

6. 硬件冗余和软件冗余的区别是什么?

答:硬件冗余仅使用两个或两个以上的硬件保持系统运行。软件冗余这是两个功能相同但源程序不同的两个软件。

7. 举例说明冗余可以提高系统可靠性的原因。 答:书P430。

8. 发展软件容错技术的目的是什么?

答:提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让差错潜入软件的技术;另一种是容错技术,即对某些无法避开的差错,使其影响减至最少的技术。但是,无论使用多么高明的避开错误技术,在理论上都无法证明程序的正确性,无法做到完美无缺和绝无错误,这就需要采用容错技术以使错误发生时不影响系统的特性,或使错误发生时对用户的影响限制在某些允许的范围内。

9. 你认为容错软件应该具有什么样的功能? 答:(1)在一定程度上对自身错误具有屏蔽能力。 (2)在一定程度上能从错误状态自动恢复到正常状态。

(3)程序存在错误而且发生时,仍然能在一定程度上完成预期的功能。 (4)在一定程度上具有容错的能力。 10.

请简单叙述容错软件的设计过程。

答:其设计步骤如下:

(1) 首先要按设计任务要求进行常规设计,尽量保证设计的正确。 (2) 根据系统的工作环境,对可能出现的错误分类,确定实现容错的范围。

(3) 按照“成本-效益”最优的原则,选用某种冗余手段(结构、信息、时间)来实现

对各类错误的屏蔽。

(4) 分析或验证上述冗余结构的容错效果。

第十七章 软件质量

1. 软件质量的定义是什么?

答:(1)软件产品具备满足给定需求的特性及特征的总体的能力。 (2)软件拥有所期望的各种属性组合的程度。 (3)用户认为软件满足他们综合期望的程度。 (4)软件组合特性可以满足用户预期需求的程度。

2. McCall提出的软件质量特性有哪些?

答:McCall认为软件质量由12个特性组成,分别面向软件产品的运行、修正、转移。 (1) 产品运行:正确性、可靠性、可使用性、效率、完整性、安全性。 (2) 产品修正:可维护性、可测试性、灵活性。 (3) 产品转移:互连性、可移植性、复用性。

3. 请分析成立软件管理小组的利弊? 答:书P452。

4. 软件质量度量存在哪些质量标准? 答:(1)客观性。 (2)可靠性。 (3)适用性。

(4)标准化。 (5)可比较性。 (6)经济性。 (7)有效性。

5. 什么叫做软件质量保证?其工作原则是什么?

答:软件质量保证是一个复杂的系统,它采用一定的技术、方法和工具,来处理和调整软件产品满足需求时的相互关系,以确保软件产品满足或超过在该产品的开发过程中所规定的标准。其工作原则如下:

(1) 尽可能做到质量特征的具体化及量化。 (2) 要找出每个阶段的具体质量特征。 (3) 针对具体产品和相应项目制定质量计划。 (4) 检查质量测试结果。 (5) 进行各种质量评审。 (6) 优化的建设性的质量保证。 (7) 尽早发现并改正错误和缺陷。 (8) 集中进行质量保证。 (9) 独立的质量测试。

(10) 对所应用的软件质量保证措施的评价。

6. 如何选择参加评审的成员?

答:首先要寻找一个主席,合适的主席的标准是能够识别和评价错误的专家,有威信和信服力。选择了主席后,由主席和测试对象的主持人共同选择其他参加成员。选择的成员应当包括具有转么知识,及在数据库和应用领域有长期经验的专家,被评审系统的可能用户及有能力并擅长用系统分析的方法发现逻辑矛盾的人。

7. 走查与审查有什么区别?

答:走查是审评过程中采用的一种方法。走查时,软件设计者或程序开发人员指导一名或多名其他参加评审的成员,通读已书写的设计文档或编码,其他成员负责提出问题,并对有关技术、风格、可能的错误、是否有违背评审标准的地方进行评论。

审查是一种正式的评定技术。由除被审查对象的作者之外的某人或某一小组自习检查软件需求、设计或编码,以找出故障和其他一些问题。

8. 评审有什么优点?还有什么需要改进? 答:优点:

0fq0600lbe8qp2012imx4yj364q360011p0
领取福利

微信扫码领取福利

微信扫码分享