软件工程与实践第12章
- 格式:ppt
- 大小:302.00 KB
- 文档页数:33
第12章自测题及参考答案一、名词解释1.软件项目计划2.人力资源3.硬件资源4.软件资源5.专家估算6.类推估算7.算式估算8.COCOMO估算9.工程网络图10.软件配置管理11.软件配置项12.基线13.版本控制14.变更控制二、填空题1.软件工程包括软件开发技术和______两大部分内容。
2.软件工程管理不同于其他工程管理,它对保证高质量的______产品更具有极为重要的意义。
3.软件工程管理的具体内容包括对开发人员、组织机构、用户、______等方面的管理。
4.在一个软件项目的开发过程中要自始至终得到______的密切合作与支持。
5.软件项目计划的第一项活动是确定______。
6.主程序员组织机构的制度突出了主程序员的领导,责任集中在少数人身上,有利于提高______。
7.在一个大系统的开发过程中,由于______失误造成的后果要比程序错误造成的后果更为严重。
8.软件开发人员一般分为:______、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员。
9.在软件项目管理过程中,一个关键的活动是______。
10.目前软件工程规范可分为三级:国家标准与国际标准、行业标准与工业标准和______。
11.成本估算方法中,有自顶向下估算方法、自底向上估算方法和______方法。
12.差别估算的缺点是不容易明确“差别”的界限,但它的优点是可以提高______。
13.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。
因此,基线可以作为项目的一个______。
14.在软件开发和维护过程中,一个软件往往有许多版本,版本控制工具用来存储、更新、恢复和管理一个软件的______。
三、选择题1.软件工程管理是对软件项目的开发管理,即对整个软件( )的一切活动的管理。
A.软件项目B.生存期C.软件开发计划D.软件开发2.单元测试是发现编码错误,集成错误是发现接口错误,确认错误是发现功能错误,系统测试是发现( )错误。
软件⼯程习题解答(含基本章节应试例⼦以及⼀个UML案例)软件⼯程习题解答⼀、软件⽣存周期各阶段的基本任务?1. 问题定义:(1)回答要解决的问题是什么。
(2)系统分析员应该提出关于问题性质、⼯程⽬标和规模的书⾯报告。
(3)经过和⽤户讨论,澄清含糊不清的地⽅,改正理解不正确的地⽅,得出⼀份双⽅都满意的⽂档。
(4)问题定义是软件⽣命周期中最简短的阶段。
2.可⾏性研究:(1)前⼀阶段定义的问题有可⾏的解决办法吗?(2)系统分析员要进⾏⼀次⼤⼤压缩和简化了的系统分析和设计。
导出⾼层逻辑模型(⽤数据流图表⽰)。
确定⼯程规模和⽬标,准确估计系统的成本和效益。
(3)使⽤部门的负责⼈根据可⾏性研究的结果决定是否继续进⾏该⼯程的开发⼯作。
3.需求分析:(1)主要确定⽬标系统必须具备哪些功能。
(2)系统分析员和⽤户密切配合,充分交流,得出经⽤户确认的系统逻辑模型(数据流图、数据字典、算法描述)。
4.总体设计:(1)回答如何解决问题。
(2)系统分析员应使⽤系统流程图或其他⼯具描述每种可能系统;估计每种⽅案的成本和效益。
推荐⼀较好的系统──有其详细计划。
设计软件的结构(⽤层次图或结构图描述)。
5.详细设计:(1)回答应该怎样具体地实现这个系统。
(2)设计出程序的详细规格说明(⽤HIPO层次图加输⼊/处理/输出图)或PDL语⾔(过程设计语⾔)。
6.编码和单元测试:(1)写出正确的容易理解,容易维护的程序模块。
(2)程序员:选取⼀种适当的⽤⾼级语⾔书写程序(或汇编语⾔)。
仔细测试编写出的每⼀个模块。
7.综合测试:(1)通过各种类型的测试,使软件达到预定的要求。
(2)最基本的测试是集成测试和验收测试⽅法。
集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配的过程中对程序进⾏必要的测试。
验收测试是按照需求规格说明书的规定,由⽤户对⽬标系统进⾏验收。
(3)⽤正式⽂档将测试计划、详细测试⽅案以及实际测试结果保存。
第12章面向对象实现1.面向对象实现应该选用哪种程序设计语言?为什么?答:(1)面向对象实现应该尽量选用面向对象语言来实现面向对象分析、设计的结果。
(2)原因①一致的表示方法。
面向对象开发基于不随时间变化的、一致的表示方法。
既有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。
②可重用性。
既可重用面向对象分析结果,也可重用相应的面向对象设计和面向对象程序设计结果。
③可维护性。
程序显式地表达问题域语义,对维护人员理解待维护的软件有很大帮助。
在选择编程语言时,应该考虑的首要因素是哪个语言能最恰当地表达问题域语义。
2.面向对象程序设计语言主要有哪些技术特点?答:(1)支持类与对象概念的机制。
(2)实现聚集结构的机制。
(3)实现泛化结构的机制。
(4)实现属性和服务的机制。
(5)类型检查机制。
(6)类库。
(7)效率。
(8)持久保存对象的机制。
(9)参数化类的机制。
(10)开发环境。
3.选择面向对象程序设计语言时主要应该考虑哪些因素?答:(1)将来能否占主导地位。
(2)可重用性。
(3)类库和开发环境。
(4)其他因素,包括售后服务、对运行环境的需求、集成已有软件的难易程度等。
4.良好的面向对象程序设计风格主要有哪些准则?答:面向对象程序设计风格应遵循如下准则:(1)提高重用性。
(2)提高可扩展性。
(3)提高健壮性。
5.测试面向对象软件时,单元测试、集成测试和确认测试各有哪些新特点?答:(1)单元测试,是在类层面上的测试。
由于继承和复合,类(或对象)在很多情况下已不再是单纯意义上的单个操作。
因此,具体的测试将在多有与操作有关的每个子类语境中进行。
(2)集成测试,由于面向对象软件中类的成分直接和间接交互,使得传统测试放法已经失去意义。
因此有两种策略可供选择,分别是基于线程的测试和基于使用的测试。
(3)确认测试,关注与用户可见的动作和用户识别的系统输出,但基于场景的测试总是主宰面向对象系统的确认测试。