没有合适的资源?快使用搜索试试~ 我知道了~
软件工程理论、方法与实践答案 孙家广
5星 · 超过95%的资源 需积分: 48 95 下载量 11 浏览量
2013-10-04
18:42:04
上传
评论 7
收藏 1.29MB PDF 举报
温馨提示
试读
61页
软件工程理论、方法与实践答案 孙家广 从第一章到十一章全都有 在一个pdf里
资源推荐
资源详情
资源评论
第1章 概述(习题与参考答案)
[判断题]
1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。(×)
2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。(×)
3. 购买大多数计算机系统所需的硬件比软件更昂贵。(×)
4. 大多数软件产品在其生命周期中不需要增强功能。(×)
5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。(√)
6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。(×)
[选择题]
1. ( )因素促使计算机系统越来越复杂。(D)
A. 计算机内存和存储容量上的巨大增长
B. 外部输入/输出选项的更加多样性
C. 计算机体系结构方面的深刻变化
D. 以上所有选项
2. 下面的( )不再是现代软件工程师关注的问题。(A)
A. 为什么计算机硬件的成本这么高?
B. 为什么软件需要很长时间才能完成?
C. 为什么开发一个软件的成本这么高?
D. 为什么不能在产品发布前去除软件错误?
3. 软件会逐渐退化而不会磨损,其原因在于( )。(C)
A. 软件通常暴露在恶劣的环境下
B. 软件错误通常发生在使用之后
C. 不断的变更使组件接口之间引起错误
D. 软件备件很难订购
4. 大多数软件仍然是定制开发的,其原因在于( )。(C)
A. 软件组件重用是十分普遍的
B. 可重用的组件太昂贵而无法使用
C. 软件在不使用其他组件的情况下很容易构造出来
D. 商业组件在很多应用领域中可以得到
5. 下面的( )说法是正确的。(C)
A. 软件危机在 20 世纪 70 年代末期全面爆发
B. 当前先进的软件工程方法已经解决了软件危机的问题
C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题
D. 软件危机是指在软件产品中存在一系列的质量问题
6. 软件工程的基本目标是( )。(B)
A. 消除软件固有的复杂性
B. 开发高质量的软件
C. 努力发挥开发人员的创造性潜能
D. 更好地维护正在使用的软件产品
7. ( )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过
程,它包括方法、工具和过程三个要素。(D)
A. 软件产品
B. 软件过程
C. 软件测试
D. 软件工程
8. 软件工程的基本要素包括方法、工具和( )。(C)
A. 软件系统
B. 硬件环境
C. 过程
D. 人员
9. 软件工程师在从事软件工作时应使用下面的( )准则。(E)
A. 从来不为个人获利而窃取数据
B. 从来不散布或出售项目中自己工作的信息
C. 从来不故意毁坏或修改别人的程序、文件或数据
D. 从来不侵犯个人、小组或组织的隐私
E. 以上所有选项
[练习题]
1. 软件与其他工程学科所产生的制品有什么根本区别?
答案要点:
(1) 软件是人类思维和智能所延伸的产物,其数据、状态和逻辑关系的组合以及人类思维的
复杂性和不确定性导致它本身具有极高的复杂性;
(2) 软件具有不可见性,它是抽象的,形式化和逻辑化的。
(3) 软件具有可变性,有用的软件需要不断地修改和扩展,但是频繁的修改可能导致软件的
退化;
(4) 软件的开发在很大程度上依然是手工作坊式的,难以实现工厂化的生产。
2. 软件工程包括哪些基本要素?请简要说明这些要素及其作用。
答案要点:
软件工程包括过程、方法和工具三个要素。
y 软件工程过程定义了技术方法的采用、工程产品(包括模型、文档、数据、报告、表格
等)的产生、里程碑的建立、质量的保证和变更的管理,从而将人员、技术、组织与管
理有机地结合在一起,实现在规定的时间和预算内开发高质量软件的目标;
y 软件工程方法为软件开发提供了“如何做”的技术,通常包括某种语言或图形的模型表
示方法、良好的设计实践以及质量保证标准等;
y 软件工程工具为软件工程方法提供了自动的或半自动的软件支撑环境,辅助软件开发任
务的完成。现有的软件工具覆盖了从需求分析、系统建模、代码生成、程序调试和软件
测试等多个方面,形成了集成化的软件工程开发环境 CASE。
3. 软件工程是以系统的、可控的、有效的方式产生高质量的软件,请说明你对“高质量软件”
含义的理解。
答案要点:
软件质量是软件产品与明确的和隐含的需求相一致的程度,它通常由一系列的质量特性来进
行描述,包括正确性、可靠性、有效性、可用性、复用性、可维护性、可移植性等。例如,除了
要求软件正确运行之外,人们可能还希望软件运行的响应时间符合要求、软件使用方便快捷、程
序代码易于理解等,而“程序代码易于理解”往往是一种用户没有明确提出的需求,但却是影响
软件演化的重要因素。
4. 有人认为“软件工程过于耗费时间,并且妨碍开发人员的编程效率。”你是否认同这种观
点?请阐述理由。
答案要点:
这一观点是不正确的。
y 软件开发远不只是编程,管理不当导致的混乱、工作重复、交流不畅等才是大多软件项
目效率低下的主要原因。虽然直接编程在开发前期看来效率高,但是不完整的、不清晰
的或错误的需求和设计将导致在开发后期反复地修改程序,反而降低了整个开发效率,
其质量也无法保证,甚至导致软件开发最终失败的结果。
y 软件工程是帮助人们在有限的时间、金钱预算和人力、物力资源的约束下开发出质量尽
量高的软件的一系列理论和工具,虽然它在编程之外的工作上花费了大量时间,但所耗
费的时间与精力并不像其表面上所看起来的那样冗余与低效,而是从总体上做好整个体
系的设计与把握,全方位地规划开发过程,对节省成本、提高效率、保证最终产品质量
起到了事半功倍的作用。
第2章 软件过程(习题与参考答案)
[选择题]
1. ( )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件
设计与开发、软件确认、软件改进等活动组成。(A)
A. 软件过程
B. 软件工具
C. 软件产品
D. 软件工程
2. 软件过程的基本活动是( )。(A)
A. 分析、设计、实现、测试、演化
B. 沟通、计划、建模、构造、部署
C. 计划、分析、设计、实现、调试
D. 沟通、风险管理、度量、产品化、评审
3. ( )软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析
的依据。(B)
A. 真
B. 假
4. 软件开发的瀑布模型是( )。(A)
A. 适用于需求被清晰定义的情况
B. 一种需要快速构造可运行程序的好方法
C. 最适合于大规模团队开发的项目
D. 已不能用于现代环境的过时模型
5. 软件开发的增量模型是( )。(B)
A. 适用于需求被清晰定义的情况
B. 一种需要快速构造核心产品的好方法
C. 最适合于大规模团队开发的项目
D. 一种不适用于商业产品的创新模型
6. 快速原型开发模型是( )。(B)
A. 适用于客户需求被明确定义的情况
B. 适用于客户需求难以清楚定义的情况
C. 最适合于大规模团队开发的项目
D. 很难产生有意义产品的一种冒险模型
剩余60页未读,继续阅读
资源评论
- natashafly2013-12-21很不错,比较实用
- string02017-11-09很感兴趣,很有用。。。。。。
- DEN_0072015-02-07这本教材的习题及答案,可做为参考。
onelaw
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功