软件工程参考答案(中文注释)

发布时间 : 星期六 文章软件工程参考答案(中文注释)更新完毕开始阅读

50. Software testing strategy begins from small scale to large scale, undergoes four different

testing: unit testing, Integration testing, validation testing, System testing. 软件测试的策略,从小型到大型,经历了四个不同的测试:单元测试,集成测试,确认测试,系统测试 51. Because a component is not a stand-alone program, driver and/or stub software must

often be developed for each unit test. 因为一个组件是不是一个独立的程序,驱动程序和/或存根软件必须经常被开发为每个单元测试 52. In the context of an integration test strategy, regression testing is the reexecution of

some subset of tests that have already been conducted to ensure that changes have not propagated unintended side effects. 在一个集成测试策略的背景下,回归测试是对已经进行,确保变化不会传播意想不到的副作用的一些子集的重新执行测试

(十四) chapter 15

53. List three characteristics of software testability: Operability, observability, Controllability软件可测试性三个特点:可操作性observability(可观测性),可控性 54. There are two kinds of test case design methods for conventional software: white-box testing and black-box testing. 传统的软件测试案例设计方法:白盒测试和黑盒测试 (十五) chapter 16

55. There are two different strategies for integration testing of OO Systems: Thread-based testing and use-based testing. 有面向对象的系统集成测试的两种不同的策略:基于线程的测试和基于使用的测试

(十六) chapter 17 (十七) chapter 18

56. Effective software project management focuses on the four P's: People, Product, process, project.有效软件项目管理的重点是四个P:人,产品,工艺,工程 57. An effective project manager should have four key traits: Problem solving, managerial identity, achievement, influence and team building一个有效的项目经理应该有四个主要特点:解决问题,管理者的身份,成就,影响和团队建设 58. An agile team is a self-organizing team that has autonomy to plan and make technical

decisions. 一个敏捷团队是一个自组织团队,自主制定的技术决策。

二、 Definition of terminology (3 points/ terminology)

(一) Chapter 1

1. Software(中文原书第七版P3)

软件是:

(I)指令的集合(计算机程序〕、通过执行这些指令可以满足预期的特征、功能和性能需 求。(2)数据结构,使得程序可以合理利用信息;(3)软件描述信息,它以硬拷贝 和虚拟形式存在,用来描述程序操作和使用.

特性:1.软件是设计开发的,而不是传统意义上生产制造的

2.软件不会“磨损”

3.虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顽客常求定制的

2. software engineering(P7)

(软件工程是)运用工程学的原理和方法来组织和管理软件的生产和维护,以保证软件产品开发,运行和维护的高质量和高生产率。

software myths(P13)

软件神话,即关于软件及其开发过程被人盲目相信的一些说法 legacy software 遗留软件(P6)

一些年代久远的旧的程序,遗留软件的特点是维护代价高昂,而且质量差,很难修改成继续可用的产品。

特点:遗留软件系统??在几十年前开发,它们不断被修改以满足商业雷要和计算平台的变化。这类系统的繁衍使得大型机构十分头痛,因为它们的维护代价高昂且系统浦化风险较高。遗留软件常常存在另一个特点—质量差。通常,遗留系统的设计难以扩展,代码令人费解,文档混乱甚至根本没有,测试用例和结果从未归档,变更历史管理混乱等,有着数不清的问题。

(二) Chapter 2

3. software process(P8P19)

软件过程是 工作产品构建时所执行的一系列活动、动作和任务的集合。活动(activity)主要实现宽泛的目标(如与利益相关者进行沟通),与应用领域、项目大小、结果复杂性或者实施软件工程的重要程度没有直接关系。动作( action )(如体系结构设计)包含了主要工作产品(如体系结构设计模型)生产过程中的一系列任务。任务(task)关注小而明确的目标,能够产生实际产品(如构建一个单元侧试)。 4. Process pattern过程模式(P21)

过程模式(grvcess pattern).描述了软件工程工作中遇到的过程相关的问题、明确了问题环境并给出了针对该问题的一种或几种可证明的解决方案。

(三) chapter 3

5. pair programming结对编程(P46)

结对编程 指的是两个软件开发人员共用一台计算机,其中一个人负责具体细节工作,而另一个人关注整体,但这两个人的角色可以随时互换。这是一种高效、科学而充满乐趣的软件开发方式。

(四) chapter 4

6.

Requirements Engineering需求工程(P63)

从软件过程的角度来看,需求工程是一个软件工程动作,开始于沟通活动并持续到建模活动。它必须适应于过程、项目、产品和人员工作的需要。需求工程在设计和构造之间建立起联系的桥梁.需求工程过程通过执行七个不同的活动来实现:起始、导出、精化、协商、规格说明,确认和管理.

7. QFD(P71)

质量功能部署{Quality Function Deployment, QFD }是一种将客户要求

转化成软件技术需求的质量管理技术。QFD确认了三类需求:正常需求、期望需求、令人兴奋的需求。

(五) chapter 5

8. CRC model(P103)

类一职责一协作者(Class-Responsibility-Collaborator, CRC J建模提供了一个简单方法,可以识别和组织与系统或产品需求相关的类。 chapter 6

(六) chapter 7

9. software architecture软件架构(P132)

软件架构意指“软件的整体结构和这种结构为系统提供概念完整性的方式”。从最简单的形式来看,体系结构是程序模块的结构或组织、这些模块交互的形式以及这些模块所用数据的结构。然而在更广泛的意义上,模块可以概括为表示主要的系统元案及其交互。

10. Separation of concerns 关注点分离(P133)

关注点分离是一个设计概念,它表明任何复杂问题如果被分解为可以独立解决和(或)优化的若干块,该复杂问题能够更容易地被处理。一个关注点是一个特征或行为,被指定为软件需求模型的一部分。通过将关注点分割为更小的关注点(由此产生更多可管理的块)。使得解决一个问题需要付出更少的工作盈和时间。 11. Information hiding 信息隐藏(P134)

隐蔽意味着通过定义一系列独立的模块可以得到有效的模块化,独立模块相互之间只交流实现软件功能所必需的那些信息。抽象有助于定义构成软件的过程〔或信息)实体。隐蔽定义并加强了对模块内过程细节的访问约束和对模块所使用的任何局部数据结构的访问约束[[Ros75l。

将信息隐蔽作为模块化系统的一个设计标准,在测试和随后的软件维护过 程中需要进行修改时,可提供最大的益处。 12. Refactoring 重构

很多敏捷方法(第3章)都建议一种重要的设计活动—重构,重构是一种重新组织的技术,可以简化构件的设计(或代码)而无需改变其功能或行为。Fowler[Fow(10」这样定义重构:“重构是使用这样一种方式改变软件系统的过程:不改变代码〔设计〕的外部行为而是改进其内部结构。’当重构软件时,检查现有设计的冗余性、没有使用的设计元素、低效的或 不必要的算法、拙劣的或不恰当的数据结构以及其他设计不足,修改这些不 足以获得更好的设计。

(七) chapter 8 (八) chapter 9 (九) chapter 10 (十) chapter 11 (十一) chapter 12 (十二) chapter 14 (十三) chapter 15 (十四) chapter 16 (十五) chapter 17

13. software configuration 软件配置

软件配置管理(5CM)是在整个软件过程中应用的一种普适性活动。因为变更可能随时出现,SCM活动用于:(1)标识变更,2)控制变更。3)保证恰当地实施变更。4)向其他可能的相关人员报告变更.

明确地区分软件支持和软件配置管理是很重要的。软件支持是一组发生在软件已经交付给客户并投入运行后的软件工程活动。而软件配置管理则是在软件项目开始时就启动,并且只有当软件被淘汰时才终止的一组跟踪和控制活动。 14. Baseline

基线是一个软件配置管理概念.它能够帮助我们在不严重阻碍合理变更的条件下控制变更。IEEE } IEEE标准610.12-199U)是这样定义基线的: 已经通过正式评审和批准的规格说明或产品,它可以作为进一步开发的基拙,并且只有通过正式的变更控制规程才能修改它。

(十六) chapter 18

三、 answer the questions

(一) Chapter 1

1. What are the characteristics of software that are different than those of hardware(比硬件

不同的软件的特点是什么P3) 1.软件是设计开发的,而不是传统意义上生产制造的 2.软件不会“磨损”

3.虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的客户需求定制的

2. what type of changes are made to legacy systems?(什么类型的更改导致了遗留系统?P6) (1)软件需要进行适应性调整,从而可以满足新的计算环境或者技术的需求.

联系合同范文客服:xxxxx#qq.com(#替换为@)