当前位置:文档之家› 软件项目管理习题答案

软件项目管理习题答案

软件项目管理习题答案
软件项目管理习题答案

软件工程经管习题

第1章工程经管

1.给出工程的定义。

工程是一个特定的、待完成的优先任务,是在一定的时间内,利用有限的经费,满足一系列特定目标的多项相关工作的总称。

2.列举工程的属性。

唯一性、一次性、多目标属性、生命周期属性、相互依赖性、冲突属性。

3.给出工程的五个组成要素。

工程的范围、工程的组织、工程的费用、工程的质量、工程的进度。

4.工程的生命周期可以分为哪四个阶段?

概念阶段、开发阶段、实施阶段、收尾阶段。

第2章软件工程经管知识范畴

1.从软件工程经管的角度看,软件生存周期包括哪些阶段,每个阶段的工作成果是什么?软件计划→需求分析→软件设计→软件编码→软件测试→软件实施→软件维护

计划任务书、需求规格说明书、设计说明书、程序/文档清单、测试报告、用户报告

2.从软件工程的观点看,软件生存周期的第1阶段是什么?其工作成果是什么?

第一阶段是软件计划,工作成果是计划任务书。

3.软件工程经管的角色(开发方)有哪些?

工程经理、系统分析员、系统设计人员、程序员、测试员、实施人员、系统经管员

4.阐述与传统的部门经管相比,工程经管有哪些基本特点?P30

一、至少两家单位或两个组织协同工作是软件工程经管的组织特点。

二、首先要成立工程经管委员会,并根据工程开展的具体需要设立多个小组。

三、工程经管委员会是公司软件工程经管的最高决策机构。

四、在工程开展过程中,组织结构会有适当变化。

第3章软件工程全生命周期的阶段划分

1.软件工程生命周期模型中,将任务分为哪些阶段?最重要的哪个阶段,其任务是什么?

整个软件开发活动可划分为四个主要工作阶段:立项、设计、实现及收尾。最重要的阶段是设计。系统设计阶段主要完成系统的总体设计、详细设计、边界设计、信息模型设计、过程设计,功能设计以及软硬件环境的搭建与准备等工作。

2.软件工程中,软件系统设计做什么?软件系统实现做什么?软件收尾阶段做什么?P49-51

软件系统设计包括需求分析和系统设计两方面的工作。需求分析是系统设计的(包括概要设计、详细设计等)的前提,也是系统设计内容的重要组成部分。

实现阶段的任务包括编码、测试、试运行等多个连续循环往复的软件开发工作,也正是这些工作的不断反复与循环才最终获得客户满意的交付成果,它是设计模型的物理实现,是直接面向用户的真实系统。

收尾阶段包括工程验收、系统运行、系统维护、知道软件系统生命周期结束等一系列收尾过程的活动。

3.软件工程中,工程定义需要做哪些具体的工作?P46-47

工程定义阶段主要考虑工程的立项问题,具体任务是问题定义、可行性分析、交付成果。

4.软件工程生命周期中,通常设定哪些里程碑节点,各个节点交付的成果物是什么?P55

①工程立项完成期:立项建议书、可行性分析报告。

②工程启动完成期:工程进度计划、质量保证计划。

③需求分析完成期:需求分析说明书。

④系统设计完成期:概要设计说明书、详细设计说明书。

⑤软件编码完成期:源程序代码、用户使用手册。

⑥软件测试完成期:测试计划、测试报告。

⑦系统试运行完成期:系统试运行报告。

⑧工程验收完成期:验收报告。

5.根据软件实施主体来分类,软件工程可以分成哪几类?P37

自主研发工程、外包软件工程。

6.软件工程的生命周期中的立项阶段包括哪些内容?设计阶段包括哪些内容?实现阶段包括哪些内容?收尾阶段包括哪些内容?

立项阶段(工程定义、工程启动)。设计阶段(需求分析、设计)。

实现阶段(编码、测试、试运行)。收尾阶段(验收、运行维护、结束)。

7.按照软件开发的螺旋式模型,软件开发过程分为几个阶段?P42 图3-3

制定计划、风险分析、工程实施和客户评估。

8.阐述软件工程各阶段之间的作用和意义。P53

①需求分析是软件工程的立项之本。

②系统设计是软件工程成败的关键。

③编码是软件工程实例化的根本途径。

④测试是保障软件开发质量的重要环节。

⑤实施是软件工程用户化的基本手段。

第4章软件工程启动阶段的知识与经管

1.简述甘特图的功能与作用,并举出一个在软件工程经管中使用的实例。P73

甘特图主要用于进度和工程计划的安排。表明各项任务的计划进度和当前进度,能动态反应软件开发的进展情况,主要功能:进度经管、质量经管、成本经管。

2.编制软件工程的进度计划通常需要经历哪些步骤?P69

①分析工程结构。②分解工程工作。③确定责任分配矩阵。④编制工程进度计划。

3.软件工程成本估算方法有哪几种?软件成本由哪几部分组成?有哪些方法可以节约成本?

规范值估算法、Putnam估算法、COCOMO模型估算法。

软件成本=直接成本(开发成本、经管成本、质量成本)+间接成本(员工福利、日常开销)。

方法:采取有效的工程经管手段,保证软件按计划高质量完成,减少返工以达到节省成本的目的。

4.软件工程的大计划一般用什么图表示,详细计划一般用什么图表示?

软件工程的大计划一般用WBS图表示,详细计划一般用甘特图表示。

5.软件质量要素有哪些?P94

功能性、可靠性、易使用性、效率、可维护性、可移植性。

6.给出软件成本计算中的规范值估算法公式,并解释各个变量含义。P79

程序规模的估算值=(A+4M+B)/6(程序的最小规模A,最大规模B,最可能的规模M)

开发工作量=修正系数(程序长度规范生产率)修正系数=1+0.1×n

7.软件立项包括哪些内容?P60

工程发起,工程论证,工程审核,工程立项。

8.在工程启动阶段,完成团队建设之后,工程经理需要召集工程利益相关人员,召开工程启动会议。通过启动会议实现哪些目标?P63

工程动员、明确工程组织、工作职责和工作流程、制定全面工程进度计划、确定工程实施过程中问题的处理办法、变更处理流程、制定沟通和检查计划。

9.工程进度计划是整个工程计划的核心内容之一,完成其编制工作,一般经过哪些步骤?P69 分析工程结构、分解工程工作、确定责任分配矩阵、编制软件工程进度计划。

第5章软件工程需求分析阶段的知识和经管

1.需求分析的主要任务有哪些?P111

问题定义、需求描述、需求的验证

2.需求分析阶段的团队组织中,最重要的角色是哪些?P115-116

工程经理、系统分析人员、程序员、质量经管人员、配置经管人员、用户方技术人员、用户方业务人员。

3.需求分析阶段的沟通形式有哪些?沟通手段有哪些?简述沟通的重要性。P123

①正式的形式。即按照本阶段工作计划的安排,对用户进行需求调研,或是相关人员参与问题的讨论等。

②非正式的形式。通过共同进餐、闲聊、体育活动等方式,培养与用户方合作人员的个人

友谊,换取用户在工作中最大的支持。

重要性:通过沟通保证工程信息在工程相关人员内部及时、正确地提取、收集、传播、存储并最终进行处理,为满足用户实际需求的软件产品奠定良好的基础,对工程的工程实施具有重要意义。

4.为什么需求阶段的每次会议需要由专人写备忘录并让客户签字或用邮件送给与会人员周知?

确保工作质量、分清各自责任、高效推进工程、避免理解歧义

5.通常需求分析分为哪些阶段(“三个阶段”或“需求三步法”)?P113-115

访谈式、诱导式、确认式。

6.需求开发过程的四个主要活动是什么?P124

需求获取、需求分析、需求定义和需求验证。

7.阐述需求分析主要划分为哪三个阶段,其内容是什么?

①访谈式。和具体用户方领导、业务层人员进行访谈式沟通,主要目的是从宏观上把握用户的具体需求,了解现有的组织架构、业务流程、硬件环境、软件环境、现有系统等具体情况、建立起良好的沟通渠道和方式。

②诱导式。在分析人员已经了解了具体用户方的组织架构、业务流程、硬件环境、软件软件环境、现有系统等信息的基础上,做出简单的用户流程和操作界面,同时结合以往的工程经验对用户采用诱导式、启发式的调研方法和手段,和用户一起探讨业务流程设计的合理性、准确性、方便性、习惯性和易操作性。

③确认式。进行具体的流程细化、数据项的确认阶段。

第6章软件工程设计阶段的知识和经管

1.软件工程中主要进行哪些设计?P157-184

体系结构设计、功能模块设计、信息模型设计、用户界面设计。

2.软件工程设计中,主要进行哪些具体的设计?P149

数据库设计、系统架构设计、界面设计、模块设计、系统间通信设计、批处理设计、(子系统设计、业务流程设计)

3.设计团队在工程经理的领导下,由哪些人员组成。P149

工程经理、体系结构设计师、子系统设计员、用户界面设计员、数据库设计员、质量经管员、配置经管员。

4.子系统设计人员最主要的设计是什么?P150

模块设计

5.信息系统中,数据持久化有关的设计是由哪一种人员完成的?P151

数据库设计员

6.软件系统中,功能模块的设计原则是什么?P162-165

信息隐藏、高内聚度、低耦合性。(提高模块内聚度,获得模块独立性,尽量使用数据耦合,减少控制耦合,限制外部环境耦合,杜绝内容耦合)

7.系统模块设计的主要(核心)工作有哪些?P165-166

接口定义、数据结构与程序流程的确定、确定各功能模块之间的组织关系。

8.为了提高用户界面的易使用性和美观程度,界面设计中应遵循的一些基本原则P177

用户界面适合于软件的功能、使用简单性和易理解性、一致性原则、及时反馈信息、出错处理、灵活性。

第7章----第18章及其他

1.软件工程有哪些风险?P320-324

范围风险、质量风险、进度风险、费用风险、技术风险、人力资源风险、法律风险。

2.软件系统试运行的目的是什么?P249-250

①通过用户对实际业务的模拟操作,检验系统的设计和实现功能是否满足用户的实际业务需求。在实际业务环境下,查找软件编码中潜在的问题和错误。

②操作人员使用系统进行实际工作体会,提前开始系统的可用性评价是非常有益的。

③提前在实际运行环境下检验系统处理业务峰值数据的稳定性和系统的健壮性。

④为系统正式运行积累宝贵的经验,有助于系统的顺利上线运行。

3.系统运行维护人员的职责是什么?

监视系统运行(包括批处理等)、故障报告(包括联系维护人员)

4.简述制定编码规范的重要性,编码规范包括哪些内容?P196

①符号名的命名规范

符号的名字应尽量能反应它所代表的类型、含义、功能、调用特点等,同时也要有一定的实际意义,使得非本程序编写的同好能够见名知意,有助于加强对程序功能的理解,增加程序的可读性。

②程序的注释

包括序言性注释和功能性注释。序言性注释一般位于每个程序模块定义的各类对象之前,给出关于该类的各项说明,而功能性注释通常位于语句间,用于描述语句的作用和功能。

(处理流程、公用代码、书写风格、基本要素等)

5.简述软件、工程和经管的内涵,阐述软件工程经管的重要性。

软件:程序、文档和数据的集合。

工程:工程是一个特定的、待完成的优先任务,是在一定的时间内,利用有限的经费,满足一系列特定目标的多项相关工作的总称。

经管:是指对特定任务进行组织控制的活动。软件工程经管指对软件工程进行组织控制的经管活动。

重要性:通过对软件开发人员经管,实现对软件开发的进度、质量和成本的控制经管。即在规定期限内,按照质量要求,在预算内开发一个软件系统,使软件工程能够按照既定的目标和要求顺利的完成,故健全合理的经管方法和理念是软件工程成功的决定性因素。

(按需求界定目标、按目标制定计划、按计划组织资源、按计划执行经管、按目标落实和考核阶段性成果、按目标进行评估、分析、总结、改进和完善。)

6.软件开发过程中,会涉及到硬件环境、网络环境、操作系统、数据库经管系统、程序设计语言、开发工具、软件架构、配置经管等问题。从软件工程经管的角度,简述应该在软件开发的哪个阶段,涉及哪些问题,进行哪些相关的工作。

立项阶段:包括工程定义和工程计划,应该考虑软硬件环境、工程成本、配置经管、进行可行性分析、成立工程经管委员会,准备好软件开发的一切相关事宜。

设计阶段:包括需求分析和设计,应该考虑软件架构、硬件环境、用户手册制作、划分系统组成元素,进行问题分析、需求描述、需求评审以及系统设计的工作。

编码阶段:包括编码、测试和试运行。应该考虑设计语言、开发工具、数据库经管系统、网络环境的问题,进行编码、测试和试运行的工作。

收尾阶段:包括验收、运行维护。应考虑后续服务与用户反馈的问题。进行产品验收。维护以及相关功能的升级工作。

7.软件工程编码阶段的成果物是什么?P212

源程序代码、软件开发文档资料资料。

8.简述软件工程过程中制定沟通计划的重要性,沟通形式有哪些,定期沟通的话通常如何计划,并具体描述哪些阶段进行哪些沟通?

①正式的形式。即按照本阶段工作计划的安排,对用户进行需求调研,或是相关人员参与问题的讨论等。

②非正式的形式。通过共同进餐、闲聊、体育活动等方式,培养与用户方合作人员的个人友谊,换取用户在工作中最大的支持。

(书面沟通、口头沟通、正式沟通、非正式沟通,也有内部沟通、外部沟通和横向沟通。)

重要性:通过沟通保证工程信息在工程相关人员内部及时、正确地提取、收集、传播、存储并最终进行处理,为满足用户实际需求的软件产品奠定良好的基础,对工程的工程实施具有重要意义。

对于重要的阶段,较为正式的定期沟通定为每天或者每三天进行一次会议,与客户商定好方式、地点和人员,并在会议前交付相关文档说明,在会议后及时制作会议总结,也可以通过电话、电子邮件、聚会的方式进行沟通,以便让相关人员及时跟进相关计划,了解计划进度,及时更正错误,从而更好地进行软件工程。

立项阶段:口头沟通、书面沟通(了解明确需求,避免概念模糊)

设计阶段:书面沟通、口头沟通(设计细节,开发进度)

实现阶段:书面沟通、非正式沟通(开发进度与质量)

收尾阶段:正式沟通、书面沟通(质量)

9.提高软件开发效率和质量,主要有哪些方法?

结构设计、成熟的软件包、开源软件、CASE工具、面向对象代码重用方法、制定编码规范、代码生成工具、好的软件开发工具、平台。

相关主题
文本预览
相关文档 最新文档