(1)代码行技术是比较简单的定量估算软件规模的方法。(√)
(2)功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。(√)
(3)常用的制订进度计划的工具主要有Word和Excel两种。(×)
解析:制订进度计划常用的工具不仅限于Word和Excel,还包括专门的项目管理工具和甘特图软件等
(4)民主制程序员组的一个重要特点是,小组成员完全平等,享有充分民主,通过协商做出技术决策(√)
(5)主程序员组的两个关键特性是专业化和层次性。(√)
(6)现代程序员组中,技术组长既负责技术工作,又负责非技术事务。(×)
解析:现代程序员组中,技术组长通常负责技术工作,而非技术事务通常由项目经理或其他管理人员负责。
(7)风险有两个显著特点,二个是不确定性,另一个是损失。(√)
(8)回避风险是指,风险倘若发生,就接受后果。(×)
解析:回避风险是指采取措施来避免风险的发生,而不是接受风险后果。
(9)软件质量保证的措施主要有,基于非执行的测试(也称为复审)、基于执行的测试和程序正确性证明。(√)
(10)总体上说,软件工程文档可以分为用户文档、开发文档和管理文档3类。(√)
(11)文档是影响软件可维护性的决定因素。(√)
(12)适应性维护是在软件使用过程中,用户会对软件提出新的功能和性能要求,为了满足这些新的要求而对软件进行修改,使之在功能和性能上得到完善和增强的活动。(√)
(13)进行软件维护活动时,直接修改程序,无须修改文档。(×)
进行软件维护活动时,除了修改程序外,也需要相应地修改相关的文档,以保持一致性和可维护性。
(14)软件生命周期的最后一个阶段是书写软件文档。(×)
解析:软件生命周期的最后一个阶段通常是维护阶段,其中包括维护文档、更新文档等活动。
(15)CMM是指导软件开发的一种面向对象的新技术。(×)
解析:CMM 代表“Capability Maturity Model”(能力成熟度模型),它是一个用于评估和指导软件开发过程的框架。CMM 并不是一种面向对象的新技术,而是一种管理和评估软件开发过程成熟度的方法。它有不同的级别,每个级别表示组织的软件过程能力的不同成熟度水平。 CMM 有五个级别,从初始级别(Level 1)到优化级别(Level 5)。每个级别都定义了一组特定的过程目标和实践。
(1)软件工程针对维护工作的主要目标是提高软件的可维护性,降低(B)。
A.维护的效率
B.维护的工作量
C.文档
D.维护的代价
解析:软件工程在维护工作中的主要目标是提高软件的可维护性,降低维护的工作量
(2)(B)的作用是为有效、定量地进行管理,把握软件工程过程的实际情况和它所产生的产品质量。
A.估算
B.度量
C.风险分析
D.进度安排
解析:度量的作用是为了有效、定量地进行管理,以了解软件工程过程的实际情况和产品质量。
(3)LOC和FP是两种不同的估算技术,但两者有许多共同的特征,只是LOC和FP技术对于分解所需要的(A)不同。
B.分解要求
C.使用方法
D.改进过程
A.详细程度
解析:LOC(Lines of Code,代码行数)和FP(Function Points,功能点)是两种不同的估算技术,它们在分解软件所需的详细程度上有所不同。
(4)项目团队原来有6个成员,现在又增加了6个成员,这样沟通渠道增加了多少?(A)
A.4.4倍
B.2倍
C.6倍
D.6条
解析:原来有6个成员时,沟通渠道数为6(6-1)/2 = 15。现在增加了6个成员,总共有12个成员。新的沟通渠道数为12(12-1)/2 = 66。
所以,新的沟通渠道数相对于原来增加了66-15=51条。
51/15 *100%=3.4倍
但是每这个选项。
(5)下列哪项不是风险管理的过程?(D)。
A.风险规划
B.风险识别
C.风险评估
D.风险收集
解析:风险管理的过程包括风险规划、风险识别和风险评估,但不包括风险收集
(6)按照软件配置管理的原始指导思想,受控制的对象应是(C)
A.软件过程
B.软件项目
C.软件配置项
D.软件元素
解析:按照软件配置管理的原始指导思想,受控制的对象是软件配置项。
(7)下面(D)不是人们常用的评价软件质量的4个因素之一。
A.可理解性
B.可靠性
C.可维护性
D.易用性
解析:人们常用的评价软件质量的四个因素是可理解性、可靠性、可维护性和可用性
(8)使用软件时提出增加新功能,就必须进行(C)维护。
A.预防性
B.适应性
C.完善性
D.纠错性
解析:当用户提出增加新功能时,需要进行完善性维护来满足新需求。
(9)软件维护的副作用是指(C)。
A.运行时误操作
B.隐含的错误
C.因修改软件而造成的错误
D.开发时的错误
解析:因修改软件而造成的错误。软件维护的副作用指的是在修改软件过程中可能引入新的错误。
(10)软件文档是软件工程实施的重要成分,它不仅是软件开发各阶段的重要依据,而且
也影响软件的(B)。
A.可用性
B.可维护性
C.可扩展性
D.可移植性
解析:软件文档不仅是软件开发阶段的重要依据,还影响软件的可维护性。
(11)影响软件可维护性的主要因素不包括(C)。
A.可修改性
B.可测试性
C.可用性
D.可理解性
解析:影响软件可维护性的主要因素包括可修改性、可测试性、可理解性,但不包括可用性。
(12)CMM表示(A)。
A.软件过程成熟度模型
B.软件配置管理
C.软件质量认证
D.软件重用
解析:CMM代表软件过程成熟度模型,用于评估和指导软件开发过程的成熟度。
(1)请简述软件项目管理和软件工程的区别和关系。
软件项目管理和软件工程的区别和关系:
软件项目管理和软件工程的关系在于:
(2)请简述软件估算的意义。
(3)怎样进行代码行LOC度量?怎样进行功能点FP度量?
(4)请简述制订进度计划的两种方式。
(5)目前项目开发时常用的小组组织方法有哪些?
(6)请简述主程序员组的优缺点。
优点:
缺点:
(7)民主制和主程员制各存在什么问题?
(8)如何进行软件项目的风险分析?
(9)请简述软件质量的定义。
软件质量的定义:软件质量是指软件产品或系统在满足特定需求的同时,具备良好的性能、可靠性、可维护性、安全性等特征的程度。
(10)针对软件质量保证问题,最有效的办法是什么?
针对软件质量保证问题,最有效的办法是进行全面的软件测试。通过测试可以发现和修复软件中的缺陷和错误,确保软件在交付前具备高质量和稳定性。软件测试包括单元测试、集成测试、系统测试、验收测试等多个阶段,覆盖不同层次和不同方面的功能和性能。
(11)软件配置管理的目的是什么?
软件配置管理的目的是确保软件系统的可控性和可追溯性。它通过对软件配置项的标识、控制、记录和审计,管理软件系统的变更和版本,以满足软件开发和维护的需求。软件配置管理可以帮助保证软件开发过程的可控性,确保软件的正确性和稳定性。
(12)请简述软件配置管理的工作内容。
软件配置管理的工作内容包括:
(13)为什么要进行软件维护?软件维护的作用有哪些?
软件维护是指对已经交付使用的软件进行修改、改进和优化的过程。软件维护的目的是确保软件系统的稳定性、可靠性和可用性,满足用户的需求和期望。软件维护的作用包括:
(14)软件维护的副作用表现在哪4个方面?
可读性下降、引入新缺陷、成本增加、兼容性问题
(15)请简述软件文档的意义。
(16)假设你所在的信息系统开发公司指定你为项目负责人。你的任务是开发一个应用系统,该系统类似于你的小组以前做过的那些系统,不过这个规模更大而且更复杂一些。需求已经由客户写成了完整的文档。你将选用哪种小组结构?为什么?你准备采用哪(些)种软件过程模型?为什么?
在面对这个更大且更复杂的项目时,我会选择采用瀑布模型的小组结构。瀑布模型适用于规模较大、需求相对稳定的项目,有明确的阶段划分和交付节点,便于控制和管理。小组结构可以将开发人员划分为不同的职能组,如需求分析组、设计组、编码组和测试组,每个组专注于自己的任务,并按照瀑布模型的阶段顺序进行工作。
对于软件过程模型的选择,我会采用增量模型和迭代模型的结合。增量模型将整个项目划分为多个增量,每个增量都是一个可交付的、具有完整功能的子系统。迭代模型则将每个增量划分为多个迭代,每个迭代都包括需求分析、设计、编码和测试等阶段。这种结合可以在保证整体进度的同时,允许在每个迭代中进行反馈和调整,减少风险和提高开发效率。
综上所述,我会选择瀑布模型的小组结构,并采用增量模型和迭代模型的结合作为软件过程模型。这样可以在保证项目控制和管理的同时,灵活应对需求和变更,并逐步交付具备完整功能的子系统。
软件工程十四章课后习题已经全部更新完成,谢谢大家!如有问题,可在评论区指出!