软件工程--课后答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章:
1.1 简述软件的定义、软件的特点和软件危机的表现。
软件的定义:软件是由计算机程序、数据和文档组成的。
软件的特点:1)抽象性,2)软件生产无明显的制造过程,3)无磨损性,4)对计算机系统的依赖性,5)软件的手工开发方式,6)软件本身复杂性,7)软件的高成本软件危机的表现:1)软件开发周期大大超过规定日期,2)软件开发成本严重超标,3)软件质量难于保证。
1.2 什么是软件工程和软件工程化?
软件工程:
软件工程化:把软件工程理论应用到软件开发组织中,以改进软件产品开发的时间(T)、质量(Q)、成本(C)和服务(S)。
1.3简要说明软件工程三要素与质量关注点之间的关系。
软件工程的三要素:方法、工具和过程。关系看P4
1.4如何构造软件过程?
软件过程构造时首先应建立一个公共过程框架,其中定义了少量可用于所有项目的框架活动;再给出各个框架活动的任务集合,使得框架活动能够适合于项目的特点和项目组的需求;最后是保护性活动。
1.5什么是软件生存周期?软件生存周期分为哪几个阶段?各阶段的任务是什么?
软件生存周期:是软件产品或软件系统从设计、投入使用到被淘汰的全过程。
软件生存周期:定义、开发、维护。
1)定义:包括问题定义、可行性研究和需求分析。
2)开发时期包括设计、编码和测试。
3)维护时期包括维护阶段。
1.6常用的软件工程方法和开发模型各有哪些?
软件工程方法:生命周期法(又称传统方法或结构化方法)、面向对象方法和原型法。
软件开发模型:瀑布模型、快速原型模型、演化模型、面向对象模型、形式化方法模型。
1.7什么是软件工具、软件开发环境和软件工程环境?
软件工具:是用来辅助软件开发、运行、维护、管理和支持等过程中活动的软件。
1.8软件工程的基本原理:
1)按软件生存期分为阶段制定计划并认真实施。
2) 坚持进行阶段评审。
3)坚持严格的产品控制。
4)使用现代程序设计技术。
5)明确责任,使得工作结果能够得到清楚的审查。
6)人员应少而精。
7) 不断改进开发过程。
第二章:
2.3软件文档可分为哪几类?各包括哪几类文档?
软件文档可分3类。为1)开发文档,2)管理文档,3)用户文档。
2.5软件质量的特性有哪些?各特性的含义是什么?
软件质量的六大特性包括:功能性、可靠性、易使用性、效率、可维护性、可移植性。
功能性:是一组功能及其指定的性质有关的一组属性。
可靠性:是与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属性。
易使用性:是一组规定或潜在的用户为使用软件所需做出的努力和对这样的使用所作的评价有关的一组属性。
效率:是与在规定的条件下,软件的性能水平与所使用资源量之间关系有关的一组属性。
可维护性:是与进行指定的修改所需的努力有关的一组属性。
可移植性:是与软件可从某一环境转移到另一环境的能力有关的一组属性。
2.6什么是软件质量保证?
软件质量保证:是确保软件产品从诞生到消亡为止的所有阶段的质量活动,即为确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。
2.8 软件过程标准:为了能协调好开发项目的各个阶段和各个部分之间的联系和衔接问题,需要一系列的统一的约束和规定。
2.9 软件文档在产品的开发过程中起重要的作用:
1)提高软件开发过程的能见度。
2)实现对软件开发的工程管理。
3)提高开发效率。
4)便于协调以后的软件开发、使用和维护工作。
2.11 ISO系列标准的主导思想:
1)强调质量并非在产品检验中得到,而是形成于生产的全过程。
2)必须使影响产品质量的全部因素在生产全过程中始终处于受控状态。
3)企业具有持续提供符合要求产品的能力。
4)质量管理必须坚持进行质量改进。
2.12 软件过程工程化的实施步骤:
总体上可分为1)实施前的准备工作,2)实施工作,3)实施结束与持续改进工作。
第三章:
3.1什么是项目和项目管理?
项目:是指在一定的资源约束下完成既定目标的一次性任务。
项目管理:是指通过项目经理和项目开发组织机构运用系统理论和方法对项目及其资源进行计划,组织,协调,控制,旨在实现项目的特定目标的管理方法体系。
项目管理的三要素:目标、成本、进度。
3.2软件项目管理的职责是什么?软件项目经理应具备什么能力?
软件项目管理的职责:
1)制定计划:规定要完成的任务和要求,安排资源,人员和进度等。
2)建立组织:建立分工明确的实施计划的责任制机构,以保证任务的完成。
3)配备人员:根据任务要求在各岗位上任用各种层次的技术人员和管理人员。
4)协调或追踪与指导:时刻跟踪项目的进展情况,协调,指导和激励各种人员完成所分配的任务。
5)控制或检验:对照计划和标准,监督和检验项目实施的情况。
软件项目经理人员的能力要求:
1)综合问题的能力。
2)总结和表达问题。
3)沟通能力。
3.6软件配置管理的目的是什么?
1)标识变更;2)控制变更;3)确保变更正确的实现;4)向其他有关的人报告变更。
第四章:
4.1什么是系统工程和需求工程?
计算机系统工程:是一个问题求解活动,其目的是揭示,分析所有基于计算机的系统功能和性能等要求,并把它们分配到基于计算机系统的各个单独的系统元素中去,确定它们的约束条件和接口。
需求工程:提供适当的机制以了解用户想要什么。分析需要,评价可行性,协调合理的解决方案,无歧义地规约解决方案,确认方案以及它们转换到可运行系统时对管理的需求。
4.4需求获取方法有几种?各有什么优缺点?
需求获取的方法:1)访谈和倾听,2)问卷调查,3)收集和研究现有文档,4)观察工作流程。
1)访谈倾听方法的优点是可以通过当面沟通获得比较准确的需求;可以通过被访谈者的表情或形体获得一些难以表达得信息。其缺点是需要被访谈者有专门的时间,成本较高;也可能被被访谈者有所顾忌而有所保留
2)问卷调查方法的优点是因为通常是匿名,意见比较充分;容易收取,列表和分析,因而成本低。时间短而调查氛围大。其缺点是反馈率可能会比较低,会损失一些难以表达的信息,没法收集模糊或不完整的回答,需要较长的准备时间,数据信息比较万元归纳。
3)收集和研究文档的优点是成本很低和信息稳定;缺点是范围有限,可能找不到最有意义的文档,很大程度上存在分析员的个人偏见,难以获得新数据。
4)观察方法的优点是高度可靠,准确地看到所发生的情况,也可以对工作进行实时测量,成本也相对低。其缺点是被观察时的工作状态可能与平时不同,难以观察到较大难度或需要长时间的工作,不易于做计划,经常会被中断。
第五章:
5.1可行性研究的任务是什么?
1)识别用户需求
2)设计并推荐系统实现方案
3)评价系统可行性
4)建立成本和进度限制
5)编写文档并提交审查
5.3什么是技术、法律、用户操作和经济可行性?
①技术可行性:主要包括风险、资源和技术分析。
②法律可行性:指的是侵权和责任问题,如是否违反专利法、著作权法和软件保护条例