




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【例1】由于软件工程有如下的特点,使软件管理比其它工程的管理更为困难。软件产品( A )。( B )标准的过程。大型软件项目往往是( C )项目。( D )的作用是为有效地定量地进行管理,把握软件工程过程的实际情况和它所产生的产品质量。在制定计划时,应当对人力、项目持续时间、成本作出( E );( H )实际上就是贯穿于软件工程过程中一系列风险管理步骤。最后,每一个软件项目都要制定一个( F ),一旦( G )制定出来,就可以开始着手( H )。供选择的答案: A C. 可见的 不可见的 “一次性” “多次” 存在 不存在 D H. 进度安排 度量 风险分析 估算 追踪和控制 开发计划答案:A
2、. , B. , C. , D. , E. , F. , G. , H. 。分析:由于软件工程有如下的特点:软件产品不可见;不存在标准的软件过程;大型软件项目往往是“一次性”的项目,使得软件得管理比其它工程的管理更为困难;通常,软件人员和用户确定了软件项目的目标和范围之后,度量的作用就是为了有效地定量地进行管理。对开发过程进行度量的目的是为了改进开发过程,而对产品进行度量的目的是为了提高产品的质量。在软件项目管理过程中一个关键的活动是制定计划。在做计划时,必须就需要的人力、项目持续时间、成本作出估算;风险分析对于软件项目管理是决定性的,它实际上就是贯穿于软件工程过程中一系列风险管理步骤,其中包
3、括风险识别、风险估计、风险评价和风险驾驭等步骤。每一个软件项目都要制定一个进度安排,但不是所有的进度都要一样地安排。一旦制定了开发计划,就可以开始着手追踪和控制活动。 【例2】在软件项目估算时,将代码行LOC和功能点FP数据在两个方面使用:一是作为一个估算变量,度量软件每一个( A )的大小;一是联合使用从过去的项目中收集到的( B )和其它估算变量,进行成本和( C )估算。LOC和FP是两种不同的估算技术,但两者有许多共同的特征,只是LOC和FP技术对于分解所需要的( D )不同。当用( E )作为估算变量时,功能分解是绝对必要且应达到很详细的程度,而用( F )作为估算变量时,分解程度可
4、以不很详细。( E )是直接估算,( F )是间接估算。若计划人员对每个功能分别按最佳的、可能的、悲观的三种情况给出LOC或FP估计值,记作a, m, b,则LOC或FP 的期望值E的公式为( G ),m是加权的最可能的估计值,遵循( H )。供选择的答案: A C 模块 软件项目 分量 持续时间 工作量 进度 基线数据 改进数据 D 详细程度 分解要求 改进过程 使用方法 E, F FP LOC G. E = (a+m+b)/3 E = (a+4m+b)/6 E = (2a+3m+4b)/3 H. 概率 概率 概率 泊松答案:A. , B. , C. , D. , E. , F. , G.
5、, H. 。分析:在软件项目估算时,将代码行LOC和功能点FP数据在两个方面使用:一是作为一个估算变量,度量软件每一个分量的大小;一是联合使用从过去的项目中收集到的基线数据(即对以往项目所做的估算值,保留下来作为后续项目的估算参考)和其它估算变量,进行成本和工作量估算。LOC和FP是两种不同的估算技术,但两者有许多共同的特征,项目计划人员首先给出一个有界的软件范围的叙述,再由此叙述尝试着把软件分解成一些小的可分别独立进行估算的子功能。然后对每一个子功能估算其LOC或FP(即估算变量)。接着,把基线生产率度量(如,LOCPM或FPPM)用做特定的估算变量,导出子功能的成本或工作量。将子功能的估算
6、进行综合后就能得到整个项目的总估算。LOC或FP估算技术对于分解所需要的详细程度是不同的。当用LOC做为估算变量时,功能分解是绝对必要的且需要达到很详细的程度。而估算功能点所需要的数据是宏观的量,当把FP当做估算变量时所需要的分解程度不很详细。我们还应注意,LOC是直接估算的,而FP是通过估计输入、输出、数据文件、查询和外部接口的数目,以及14种复杂性校正值间接地确定的。避开所用到的估算变量,项目计划人员可对每一个分解的功能提出一个有代表性的估算值范围。利用历史数据或凭实际经验(当其它的方法失效时),项目计划人员对每个功能分别按最佳的、可能的、悲观的三种情况给出LOC或FP估计值。记作a、m、
7、b。当这些值的范围被确定之后,也就隐含地指明了估计值的不确定程度。接着计算LOC或FP的期望值E。E = (a + 4m + b) / 6. (加权平均)其中,可能的估计值m是加权最重的最可能的估算值且遵循概率分布。【例3】定义一个人参加劳动时间的长短为( A ),其度量单位为PM(人月)或PY(人年)。而定义完成一个软件项目(或软件任务)所需的( A )为( B ),其度量单位是人月项目(任务),记作PM(人月)。进一步地,定义单位( A )所能完成的软件( C )的数量为软件( D ),其度量单位为LOCPM。它表明一般指( E )的一个平均值。例如,一个软件的开发工作量如下表所示。该软件
8、共有源代码2900行,其中, 500行用于测试,2400行是执行( F )的源代码。则劳动生产率是( G ) (LOCPM)。表 软件开发所需工作量例阶 段软件计划需求分析设 计编 码测 试总 计需要工作量(人月)1.01.53.01.03.510.0供选择的答案: A, B, D. 生产率 工作量 成本 劳动量 E. 开发全过程 某开发阶段 软件生存期 某开发任务 F, C. 软件 程序 进程 产品 G. 520 120 320 240答案:A. , B. , C. , D. , E. , F. , G. 。分析:定义一个人参加劳动时间的长短为劳动量,其度量单位为PM(人月),PY(人年)。
9、它不同于工作量。而定义完成一个软件项目(或软件任务)所需的劳动量为工作量,其度量单位是人月项目(任务),记作PM(人月)。进一步地,定义单位劳动量所能完成的软件产品的数量为软件生产率,其度量单位为LOCPM。它表明一般指开发全过程的一个平均值。题例所示的软件共有源代码2900行,其中, 500行用于测试,2400行是执行程序的源代码。则劳动生产率是(2900500)10 240(LOCPM)。【例4】对于一个大型的软件项目,由于项目的复杂性,需要进行一系列的估算处理。主要按( A )和( B )手段进行。估算的方法分为三类:从项目的整体出发,进行( B )的方法称为( C )估算法。把待开发的
10、软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发总工作量的方法称为( D )估算法。而把待开发的软件项目与过去已完成的软件项目做类比,区分出类似部分和不同部分分别处理的方法称为( E )估算法。( F )是由多位专家进行成本估算的方法。 供选择的答案: A, B. 类推 类比 分解 综合 C F. 差别 自顶向下 自底向上 专家判定技术 循序渐进 比较答案:A. , B. , C. , D. , E. , F. 。分析:对于一个大型的软件项目,由于项目的复杂性,开发成本的估算不是一件简单的事,要进行一系列的估算处理。主要靠分解和类推的手段进行。基本估算方法
11、分为三类。 自顶向下的估算方法:这种方法的主要思想是从项目的整体出发,进行类推。即估算人员根据以前已完成项目所消耗的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去,再来检验它是否能满足要求。这种方法的优点是估算工作量小,速度快。缺点是对项目中的特殊困难估计不足,估算出来的成本盲目性大,有时会遗漏被开发软件的某些部分。 自底向上的估计法:这种方法的主要思想是把待开发的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发的总工作量。这是一种常见的估算方法。它的优点是估算各个部分的准确性高。缺点是缺少各项子任
12、务之间相互联系所需要的工作量,还缺少许多与软件开发有关的系统级工作量(配置管理、质量管理、项目管理)。所以往往估算值偏低,必须用其它方法进行检验和校正。 差别估计法:这种方法综合了上述两种方法的优点,其主要思想是把待开发的软件项目与过去已完成的软件项目进行类比,从其开发的各个子任务中区分出类似的部分和不同的部分。类似的部分按实际量进行计算,不同的部分则采用相应的方法进行估算。这种的方法的优点是可以提高估算的准确程度,缺点是不容易明确“类似”的界限。专家判定技术是由多位专家进行成本估算。由于单独一位专家可能会有种种偏见,最好由多位专家进行估算,取得多个估算值。 E【例5】 Putnam模型是一种
13、( A )模型。需要建立一条连续的( B ),称为Rayleigh-Norden曲线。可以由此导出一个( C ),把已交付的源代码(源语句)行数与工作量和开发时间联系起来。请选择合适的答案完成下面大型软件项目的开发工作量分布图。 ( E ) ( H ) ( G )( F ) ( D ) D供选择的答案: A. 单值 多值 静态多变量 动态多变量 静态单变量 B, C. 软件方程 函数曲线 资源需求曲线 工作量分布 D H. 安装 系统定义 测试与确认 设计与编码 功能设计规格说明答案:A. , B. , C. , D. , E. , F. , G. , H. 。分析:Putnam模型是1978
14、年Putnam提出的模型,是一种动态多变量模型。它假定在软件开发的整个生存期中工作量有特定的分布。这种模型是依据在一些大型项目(总工作量达到或超过30个人年)中收集到的工作量分布情况而推导出来的,但也可以应用在一些较小的软件项目中。大型软件项目的开发工作量分布可以用下图所示的Rayleigh-Norden曲线表示。该曲线的典型形状由Lord Rayleigh最早有分析地导出,并由Norden使用收集到的软件开发中的经验数据证实了这条曲线。用Rayleigh-Norden曲线可以导出一个“软件方程”,把已交付的源代码(源语句)行数与工作量和开发时间联系起来。 其中,td是开发持续时间(以年计),
15、 K是软件开发与维护在内的整个生存期所花费的工作量(以人年计),L是源代码行数(以LOC计),Ck是技术状态常数,它反映出“妨碍程序员进展的限制”,并因开发环境而异。【例6】一个规模为10KDSI的商用微机远程通信的嵌入型软件,使用中间COCOMO模型进行软件成本估算。程序的名义工作量MM = ( A );程序实际工作量MM = ( B );开发所用的时间TDEV = ( C );如果软件开发人员的工资都按每月6000美元计算,则该软件项目的开发人员的工资总额 = ( D )。表1 中间COCOMO模型的名义工作量与进度公式总体类型工 作 量进 度组 织 型 MM3.2 (KDSI)1.05T
16、DEV2.5 (MM)0.38半独立型 MM3.0 (KDSI)1.12TDEV2.5 (MM)0.35嵌 入 型 MM2.8 (KDSI)1.20TDEV2.5 (MM)0.32表2 影响工作量的因素fi 的取值影响工作量因素fi情 况 取 值 1 软件可靠性 只用于局部地区,恢复问题不严重 1.00(正常) 2 数据库规模 20000字节 0.94(低) 3 产品复杂性 用于远程通信处理 1.30(很高) 4 时间限制 使用70%的CPU时间 1.10(高) 5 存储限制 64K中使用45K 1.06(高) 6 机器 使用商用微处理机 1.00(额定值) 7 周转时间 平均2小时 1.00
17、(额定值) 8 分析员能力 优秀人才 0.86(高) 9 工作经验 远程通信工作3年 1.10(低) 10 程序员能力 优秀人才 0.86(高) 11 工作经验 微型机工作6个月 1.00(正常) 12 语言使用经验 12个月 1.00(正常) 13 使用现代程序设计技术 1年以上 0.91(高) 14 使用软件工具 基本的微型机软件 1.10(低) 15 工期 9个月 1.00(正常)供选择的答案: A, B. 45.8 51.5 44.38 54.2 C. 8.9月 9.8月 7.8月 10.9月 D. 26.4万美元 36万美元 20.96万美元 30.9万美元答案:A. , B. ,
18、C. , D. 。分析:考虑如题中表2的15种影响软件工作量的因素,通过定下乘法因子,修正COCOMO工作量公式和进度公式,可更合理地估算软件(各阶段)的工作量和进度。此时,实际工作量计算公式改成: 由此得到程序名义工作量 MM = 2.8 *(10)1.20 44.38 (MM)开发所用时间 TDEV 2.5 *(51.5)0.32 8.9 (月)如果分析员与程序员的工资都按每月6,000美元计算,则该项目的开发人员的工资总额为51.5 * 6000 309000 (美元)【例7】在特定情况下,是否必须进行风险分析,是对项目开发的形势进行( A )后确定的。( A )可以按如下步骤进行:明确
19、项目的目标、总策略、具体策略和为完成所标识的目标而使用的方法和资源;保证该目标是( B ),项目成功的标准也是( B );考虑采用某些条目作为项目成功的( C );根据估计的结果来确定是否要进行风险分析。一般来说,风险分析的方法要依赖于特定问题的需求和有关部门所关心的方面。具体分3步进行。第一步识别潜在的风险项,首先进行( D )过程;第二步估计每个风险的大小及其出现的可能性,选择一种( E ),它可以估计各种风险项的值;第三步进行风险评估。风险评估也有三个步骤:确定( F ),确定( G ),把风险与“参照风险”做比较。供选择的答案: A. 风险管理 风险估计 风险评价 风险测试 B. 可度
20、量的 不可度量的 准确的 不确定的 C. 规范 标准 过程模型 设计要求 D, E. 信息分类 信息收集 度量尺度 标准 度量工具 信息获取 F, G. 风险的范围 风险的特性 风险的级别 风险的评价标准 风险的排除策略答案:A. , B. , C. , D. , E. , F. , G. 。分析:在特定的情况下,是否必须进行风险分析,是对项目的开发形势进行风险估计后确定的。因为风险分析需要相当大的费用。只有在软件的费用、软件的作用、软件的性能及软件与系统的关系等各方面对系统有比较大的影响时,即软件的风险对于整个系统的成败,或对系统的风险有关键的影响时,才有必要进行软件的风险分析和管理。风险估
21、计的步骤如下: 明确项目的目标、总策略、具体策略和为完成所标识的目标而使用的方法和资源; 保证该目标是可度量的,项目成功的标准也是可度量的; 考虑采用以下的某些条目作为项目成功的标准: 最大限度的收益, 最小的费用, 最小的风险损失, 最大限度的市场, 最小的周期性的波动, 形成有益的形象, 最佳的服务质量, 最高的增长率, 员工的满意度最高, 公司声望最高; 根据估计的结果来确定是否要进行风险分析。一般来说,风险分析的方法要依赖于特定问题的需求和有关部门所关心的方面。下面给出一种结构化的、一致的方法来进行风险分析。具体分3步进行。第一步识别潜在的风险项。当确定要进行风险分析之后,就要收集信息
22、,表明相关的风险。这就需要观察风险的征兆,理解其产生的原因,并列出所有的风险项。首先进行信息收集。可以从过去完成的项目中收集已有的经验和收集来自群众的经验;可以模拟著名的事例;可以考虑类似的因素和进行常识性的判断;可以进行试验或测试以得到有关的结果,可以用各种方式来获得可能忽略的情况;此外,还可以针对经常发生的错误进行普查统计等。一般来说,通过过去的历史来认识软件项目的风险也许时一种最好的办法。例如,一些数字表明修复一个需求或设计阶段的错误的费用可能比修复一个测试阶段的错误的费用高100倍到1000倍。因此,可以把需求阶段标识为一个软件开发各阶段的风险区域。然后进行信息分类。必须将收集到的信息
23、以某种方式进行分类。一种简单而有用的方法是把风险项分为三类:有风险、可预见的风险、不可预见的风险。“有风险”是指经常发生的情况;“可预见的风险”是指以较高概率出现的情况;“不可预见的风险”是指不能识别的、未知的、不能观察的风险,是可能发生但事前很难预料的风险。对于每一种类型,还可以按其原因分成三种子类型:缺乏信息、缺乏管理及缺乏时间。其它分类方法可以按直接或间接分类,按运行性或策略性分类,按技术、进度、成本、支持分类。第二步估计每个风险的大小及其出现的可能性,风险估计要度量所标识的各个风险可能造成的损失,即各种风险项的值(后果及程度),用以减少度量的不确定性。可以按以下步骤进行:选择某一种度量
24、尺度,用以估计计算各种风险项的值,并具有合适的精度。由于要估计的风险信息可能有3种形式:叙述性、定性或定量,所以可选的尺度可以是命名尺度、序次尺度、坐标尺度或比例尺度。待估计的信息与度量尺度之间要建立对应关系,不同类型的信息有不同的度量尺度。例如,叙述性信息需要有命名尺度或序次尺度,定量的信息需要坐标或比例性的尺度。下表列出定量的风险等级:风险等级失效概率 说 明极高0.99 0.81超过当前的技术水平,肯定是技术问题。很高0.80 0.61超过当前的技术水平,极像是技术问题。高0.60 0.50最新的、尚未充分成熟的技术,好像是技术问题。中等0.49 0.24最佳技术,只会有很小的技术问题。
25、低0.24 0.10使用的技术,没有技术问题。很低0.09 0.01在使用中的系统。在使用不同的方法和技术进行风险估计时常常会出现偏差,这是由于缺少可用来进行判断的信息,从而限制了风险估计的精度。由于信息分散,各人的理解和解释不同,造成“信息可用性偏差”。其次,选择的观念不同、专家的偏爱、采样规模的影响、样本相关的影响,以及修正的偏差等,都会产生估计的偏差。特别要注意的是:对于连续发生的事件和间断的不连续发生事件,这些偏差会造成什么样的影响。必须采用一些技术来克服或消减风险估计中的不确定性。风险一般可以看成属于以下三种过程之一:行为型、自然型和随机型。过程种类 克服和消减叙述型的不确定性克服和
26、消减度量型的不确定性行为型受定义人类行为的能力的限制受理性的人类行为的限制自然型理论上无限制,但实际上有一定范围受度量系统的精度的限制随机型理论上无限制,但实际上有一定范围无法消减不确定性第三步进行风险评估。因为软件项目所面临的是风险的一个较大的集合及其相互之间的影响,因此,必须针对这一点进行风险评估,以达到以下的目的:首先,考虑各种风险的综合影响后,对已识别风险发生的可能性及其后果给出最终的量值(如果情况发生变化,也许要重新分析风险发生的可能性和可能的后果);其次,提供某种机制,对各个风险标明优先次序,以便予以适当安排;最后,通过考虑其它可替代的方案,寻找避免风险的基本方法,即为高层决策人员
27、提供全部必要的信息,以作出合理的有依据的决策。进行风险评估有三个步骤: 确定风险评估的标准。其目的是可用以衡量每个风险的后果,即判定在项目的生存期中各个阶段的风险的后果是否可以接受。此标准应与项目成功的标准相关。 确定风险的级别。其目的是把项目作为整体来评估。就是说,人们必须理解各种风险之间的相互作用,以及修改某些因素会如何影响它们之间的相互作用。为了说明可被评估的风险,引入“参照风险”。“参照风险”可以是一组单个风险的集合,或对项目会造成最大损害的一个或多个风险。必须仔细认清各风险间可能发生的耦合或复合情况。说明在把系统视为一个整体时,风险将导致系统失败的概率。 把风险与“参照风险”做比较。
28、把已评定的风险与在早期确定的“参照风险”相比较,结果可能是以下3种情况之一: 可接受(评定的风险低于“参照风险”); 不可能接受(评定的风险大大高于“参照风险”); 不适合接受(评定的风险大于,但几乎等于“参照风险”)。【例8】假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内可能节约5000元。3000元是现在投资的钱,5000元是5年内节省的钱,两者不能简单地比较。假定年利率为12%,利用计算货币现在价值的公式,可以算出该计算机应用系统投入使用后每年预计节省的金额的现在价值。年节省(元)利率(1 + 0.12)n现在价值(元) 累计现
29、在价值(元)110001.12892.86 892.86210001.25800.00 1692.86310001.40714.29 2407.15410001.57636.94 3044.09510001.76568.18 3612.27则该系统的纯收入是( A ),投资回收期是( B ),投资回收率为( C )。供选择的答案: A. 512.3元 729.28元 602.4元 612.27元 B. 2. 4年 3.93年 4.25年 2.78元 C. 25% 30% 20% 15%答案:A. , B. , C. 。分析:效益包括经济效益,也包括社会效益。前者是有形的,后者是无形的。系统的经
30、济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。运行费用包括操作员人数、工作时间、消耗的物资等。在计算系统的经济效益时,应按照货币的时间价值来计算,这是因为对项目的投资在前,而系统效益的产生在后,且常常有一个较长的过程。通常,用利率表示货币的时间价值。若设年利率为i,现已存入P元,则n年后可得到的钱数为:F = ( 1 + i ) n,F就是P元钱在n年后的价值。 反之,若n年后能收入F元,那么这些钱现在的价值是:P = F( 1 + i ) n。由此,可从题意得:该计算机应用系统在5年中的纯收入为:3612.27 - 3000 = 612.27 (元)。投资回收期约为:3
31、 +(3000-2407.15)/(3044.09-2407.15) 3.93 (年)。投资回收率设为r,由下列方程式: 3000 = 1000/(1+ r)+1000/(1+ r)2+1000/(1+ r)3+ +1000/(1+ r)5解得r = 20%。纯收入就是在整个生存期之内系统的累计经济效益(折合成现在值)与投资之差。投资回收期就是使累计的经济效益等于最初的投资所需的时间。投资回收率时投入资金所获得的利率。【例9】软件项目管理的主要职能包括:( A ),建立组织,配备人员,( B )和( C )。由于软件项目的特有性质,使得项目管理存在一定困难。第一、( D ),软件工程过程充满了
32、大量高强度的脑力劳动;第二、( E ),在特定机型上,利用特定的硬件配置,由特定的系统软件和支撑软件支持,形成了特定的开发环境;第三、( F ),软件项目经历的各个阶段都深透了大量的手工劳动,远未达到自动化的程度;第四、( G ),用户要经过专门的培训,才能掌握操作步骤,且需要配备专职维护人员进行售后服务;第五、( H ),为高质量地完成软件项目,充分发掘人员的智力才能和创造精神。在总结和分析足够数量失误的软件项目之后可知,造成软件失误的原因大多与( I )工作有关。在软件项目开始执行时,执行的过程中及项目进行的最后阶段都会遇到种种问题。供选择的答案: A C. 编码 制定计划 开发 指导 测
33、试 检验 D H. 软件工作渗透了人的因素 智力密集,可见性差 单件生产 使用方法繁琐,维护困难 劳动密集,自动化程度低 I. 设计 维护 测试 管理 实践 指导 审核 分析答案:A. , B. , C. , D. , E. , F. , G. , H. , I. 。分析:软件管理的主要职能包括: 制定计划:规定待完成的任务、要求、资源、人力和进度等。 建立组织:为实施计划,保证任务的完成,需要建立分工明确的责任制机构。 配备人员:任用各种层次的技术人员和管理人员。 指导:鼓励和动员软件人员完成所分配的工作。 检验:对照计划或标准,监督和检查实施的情况。软件项目管理上的困难主要有: 智力密集,
34、可见性差:软件工程过程充满了大量高强度的脑力劳动。软件开发的成果是不可见的逻辑实体,软件产品的质量难以用简单的尺度加以度量。对于不深入掌握软件知识或缺乏软件开发实践经验的人员,是不可能领导做好软件管理工作。软件开发任务完成得好也看不见,完成得不好有时也能制造假象,欺骗外行的领导。 单件生产:在特定机型上,利用特定的硬件配置,由特定的系统软件或支撑软件的支持,形成了特定的开发环境。再加上软件项目特定的目标,采用特定的开发方法、工具和语言,使得软件具有独一无二的特色,几乎找不到与之完全相同的软件产品。这种建立在内容、形式各异的基础上的研制或生产方式,与其它领域中大规模现代化生产有着很大的差别,也自
35、然会给管理工作造成许多实际困难。 劳动密集,自动化程度低:软件项目经历的各个阶段都渗透了大量的手工劳动,这些劳动又十分细致、复杂和容易出错。尽管近年来开展了软件工具和CASE的研究,但总体来说,仍远未达到自动化的程度。软件产业所处的这一状态,加上软件本身的复杂性,使得软件的开发和维护难于避免多种错误,软件的正确性难于保证,软件产品质量的提高自然受到了很大的影响。 使用方法繁琐,维护困难:用户使用软件需要掌握计算机的基本知识,或者接受专门的培训,否则面对多种使用手册、说明和繁琐的操作步骤,学会使用要花费很大力气。另一方面,如果遇到软件运行出了问题,且没有配备专职维护人员,又得不到开发部门及时的售
36、后服务,软件的使用者更是徒唤奈何。 软件工作渗透了人的因素:为高质量地完成软件项目,充分发掘人员的智力才能和创造精神,不仅要求软件人员具有一定的技术水平和工作经验,而且还要求他们具有良好的心理素质。软件人员的情绪和他们的工作环境,对他们工作有很大的影响。与其它行业相比,它的这一特点十分突出,必须给予足够的重视。造成软件失误的原因:在总结和分析足够数量失误的软件项目之后,看出其原因大多与管理工作有关。在软件项目开始执行时,遇到的问题往往是:可供利用的资料太少;项目负责人的责任不明确;项目的定义模糊;没有计划或计划过分粗糙;资源要求未按时做出安排而落空;没有明确规定子项目完成的标准;缺乏使用工具的
37、知识;项目已有更动,但预算未随之改变。在软件项目执行的过程中可能会发生:项目审查只注意琐事而走过场;人员变动造成对工作的干扰;项目进行情况未能定期汇报;对阶段评审和评审中发现的问题如何处置未做出明确规定;资源要求并不像原来预计的那样大;未能做到严格遵循需求说明书;项目管理人员不足。项目进行到最后阶段可能会发生:未做质量评价;取得的知识和经验很少交流 ;未对人员工作情况做出评定;未做严格的移交;扩充性建议未写入文档资料。总之,问题涉及到软件项目研制中的计划制定、进度估计、资源使用、人员配备、组织机构和管理方法等软件管理的许多侧面。四、习题保护伞活动( E )过程框架( C )框架( B )【9-
38、1】任务集合SQA点( D )、交付物软件过程是软件( A )中的一系列相关软件工程( B )的集合。每一个软件过程又是由一组( C )、项目( D )、软件工程产品和交付物以及质量保证(SQA)点等组成。一个软件过程可以用右图的形式来表示。首先建立一个( E )过程框架,其中定义了少量可适用于所有软件项目的框架( B ),再给出各个框架( B )的任务集合,最后是保护伞活动,如软件质量保证、软件配置管理以及测量等。软件过程模型的选择基于项目和应用的特点、采用的( F )和工具、要求的控制和需交付的产品。供选择的答案: A F. 工程 公共 活动 生存期 方法 工作任务 功能 里程碑( E )
39、度量( C )度量( D )度量面向( H )度量面向( F )度量面向( G )度量【9-2】软件的度量包括( A )和( B )。软件产品的( A )包括产生的代码行数、执行速度等。软件产品的( B )则包括若干质量特性。我们还可进一步将软件度量如右图所示那样分类。软件( C )度量主要关注软件工程过程的结果;( D )度量则指明了软件适应明确和不明确的用户要求到什么程度;( E )度量主要关注软件的一些特性而不是软件开发的全过程。从图中还可看到另一种分类方法:面向( F )的度量用于收集与直接度量有关软件工程输出的信息和质量信息。面向( G )的度量提供直接度量的尺度。面向( H )的度
40、量则收集有关人们开发软件所用方式的信息和人们理解有关工具和方法的效率的信息。供选择的答案: A B. 直接度量 尺度度量 二元度量 间接度量 C E. 质量 技术 成本 生产率 F H. 过程 对象 人 存取 规模 进程 功能 数据【9-3】估算资源、成本和进度时需要经验、有用的历史信息、足够的定量数据和作定量度量的勇气。通常估算本身带有( A )。项目的复杂性越高,规模越大,开发工作量( B ),估算的( A )就( C )。项目的结构化程度提高,进行精确估算的能力就能( D ),而风险将( E )。有用的历史信息( F ),总的风险会减少。供选择的答案: A. 风范(范型) 风格 风险 度
41、量 B F. 增加 越多 降低 不变 越少 越高 越大【9-4】 在考虑各种软件开发资源时,( A )是最重要的资源。如果把软件开发所需的资源画成一个金字塔形:在塔的上层是最基本的资源( A ),在底部为( B )。( B )包括硬件资源和软件资源。( C )、( D )和其它硬件设备属于硬件资源。IPSE工具属于软件资源中的( E )。为了提高软件的生产率和软件产品的质量,可建立( F )。供选择的答案: A, B. 方法 人力 工具 上下文环境 C, D. 虚拟机 目标机 自动机 宿主机 E, F. 维护工具 分析设计工具 支持工具 编程工具 可复用构件库 框架工具 原型化模拟工具【9-5
42、】任何软件项目都必须做好项目管理工作,最常使用的进度管理工具是( A ),当某一开发项目的进度有可能拖延时,应该( B )。对于一个典型的软件开发项目,各开发阶段需投入的工作量的百分比大致是( C )。各阶段所需不同层次的技术人员大致是( D ),而管理人员在各阶段所需数量也不同,相对而言大致是( E )。供选择的答案: A. 数据流图 程序结构图 因果图 PERT图 B. 增加新的开发人员 分析拖期原因加以补救 从别的小组抽调人员临时帮忙 推迟预定完成时间需求分析设 计 编 码 测 试 投入 工作量2525 25 25 C.1020 30 401530 15 40510 65 30 技术人
43、员水平初级高级 高级 高级 D.中级中级 高级 中级高级中高级 初级 中高级中级中高级 中级 初级 管理人 员数量多中 少 中 E.中中 中 中多少 多 多少多 少 多【9-6】一个32KDSI的声音输入系统是一个输入原型,或是一个可行性表演模型。所需可靠性非常低,因为它不打算投入生产性使用。把此模型看做半独立型软件。试问该软件的名义工作量和实际工作量。【9-7】风险分析实际上是4个不同的活动,按顺序依次为( A )、( B )、风险评价和( C )。在风险评价时,应当建立一个三元组: ri, li, xi ,ri是风险描述,li是( D ),而xi是风险的影响。一个对风险评价很有用的技术是定
44、义( E )。( F )、( G )、( H )是三种典型的( E )。在做风险分析的上下文环境中一个( E )就存在一个单独的点,叫做参照点或( I )。在这个点上要公正底给出判断。实际上,参照点能在图上表示成一条平滑的曲线的情况很少,多数情况它是一个( J )。供选择的答案: A C. 风险驾驭和监控 风险识别 风险估计 风险消除 D. 风险的大小 风险的概率 风险的时间 风险的范围 E. 风险参照水准 风险度量 风险监控 风险工具 F H. 生产率 功能 成本 进度 范围 性能 I, J. 凹点 崩溃点 终点 区域 拐点 原点【9-8】对于一个小型的软件开发项目,一个人就可以完成需求分析
45、、设计、编码和测试工作。但随着软件项目规模增大,需要有多人共同参与同一软件项目的工作。当几个人共同承担软件开发项目中的某一任务时,人与人之间必须通过交流来解决各自承担任务之间的( A )问题,即通信问题。通信需花费时间和代价,会引起软件错误( B ),( C )软件生产率。如果一个软件开发小组有n个人,每两人之间都需要通信,则共有( D )条通信路径。假设一个人单独开发软件,生产率是5000行人年,且在每条通信路径上耗费的工作量是250行人年。若4个人组成一个小组共同开发这个软件,则小组中每个人的软件生产率为( E )。若小组有6名成员,则小组中每个成员的软件生产率为( F )。因此,有人提出
46、,软件开发小组的规模不能太大,人数不能太多,一般在( G )人左右为宜。供选择的答案: A. 分配 管理 接口 协作 B, C. 降低 增加 不变 D. n(n+1)/2 n(n-1)/2 n(n-1)(n-2)/6 n2/2 E, F. 4875 4375 4625 5735 G. 815 12 25 28【9-9】软件项目的进度管理有许多方法,但( A )不是常用的进度控制图示方法。在几种进度控制图示方法中,( B )难以表达多个子任务之间的逻辑关系,使用( C )不仅能表达子任务之间的逻辑关系,而且可以找出关键子任务。在( C )中,用带箭头的边表示( D ),用圆圈结点表示( E ),
47、它标明( D )的( F )。供选择的答案: A C. 甘特图 IPO PERT 时标网状图 D F. 数据流 控制流 事件 处理 起点或终点 任务【9-10】软件项目组织的原则是( A )、( B )和( C )。一般有( D )、( E )、( F )三种组织结构的模式。( F )实际上是( D )和( E )两种模式的复合。( E )这种模式在小组之间的联系形成的接口较多,但便于软件人员熟悉小组的工作,进而成为这方面的专家。供选择的答案: A C. 推迟责任的落实 尽早落实责任 减少接口 增加联系 责权分离 责权均衡 D F. 矩阵形模式 主程序员小组模式 按课题划分的模式 按职能划分的
48、模式 民主制小组模式 【9-11】软件开发小组的目的是发挥集体的力量进行软件研制。因此,小组从培养( A )的观点出发进行程序设计消除软件的( B )的性质。通常,程序设计小组的组织形式有三种,如下图所示的a属于( C ),b属于( D ),c属于( E )。 (a) (b) (c)供选择的答案: A, B. “局部” “全局” “集体” “个人” C E. 层次式小组 民主制小组 主程序员制小组五、习题解答【9-1】A. , B. , C. , D. , E. , F. 。工作任务里程碑、交付物SQA点保护伞活动任务集合框架活动公共过程框架软件过程是软件生存期中的一系列相关软件工程活动的集合
49、。每一个软件过程又是由一组工作任务、项目里程碑、软件工程产品和交付物以及质量保证(SQA)点等组成。一个软件过程可以用右图的形式来表示。首先建立一个公共过程框架,其中定义了少量可适用于所有软件项目的框架活动,而不考虑它们的规模和复杂性。再给出各个框架活动的任务集合,使得框架活动能够适合于项目的特点和项目组的需求。最后是保护伞活动,如软件质量保证、软件配置管理以及测量等,它们独立于任何一个框架活动并将贯穿于整个过程。软件过程模型的选择基于项目和应用的特点、采用的方法和工具、要求的控制和需交付的产品。【9-2】A. , B. , C. , D. , E. , F. , G. , H. 。生产率度量
50、质量度量面向功能的度量面向人的度量面向规模的度量技术度量软件的度量包括直接度量和间接度量。软件产品的直接度量包括产生的代码行数、执行速度、存储量大小、在某种时间周期中所报告的差错数。软件产品的间接度量则包括功能性、复杂性、效率、可靠性、可维护性和许多其它的质量特性。只要事先建立特定的度量规程,很容易做到直接度量开发软件所产生的代码行数等。但是,软件的功能性、效率、可维护性等质量特性却很难用直接度量判明,只有通过间接度量才能推断。我们还可进一步将软件度量如图所示那样分类。软件生产率度量主要关注软件工程过程的结果;软件质量度量则指明了软件适应明确和不明确的用户要求(软件使用合理性)到什么程度;技术
51、度量主要关注软件的一些特性(如逻辑复杂性、模块化程度)而不是软件开发的全过程。从图中还可以看到另一种分类方法:面向规模的度量用于收集与直接度量有关的软件工程输出的信息和质量信息。面向功能的度量提供直接度量的尺度。面向人的度量则收集有关人们开发软件所用方式的信息和人们理解有关工具和方法的效率的信息。估算资源、成本和进度时需要经验、有用的历史信息、足够的定量数据和作定量度量的勇气。通常估算本身带有( A )。项目的复杂性越高,规模越大,开发工作量( C ),估算的( A )就( D )。项目的结构化程度的提高,进行精确估算的能力就能( E ),而风险将( F )。有用的历史信息( G ),总的风险
52、会减少。供选择的答案: A. 风范(范型) 风格 风险 度量 B G. 增加 越大 降低 不变 减少 越高【9-3】A. , B. , C. , D. , E. , F. 。估算资源、成本和进度时需要经验、有用的历史信息、足够的定量数据和作定量度量的勇气。估算本身带有风险。增加风险的各种因素如图所示。项目的复杂性对于增加软件估算的不确定性影响很大。复杂性越高,估算的风险就越高。但是,复杂性是相对度量,它与项目参加人员的经验有关。项目的规模对于软件估算的精确性和功效影响也比较大。因为随着软件规模的扩大,软件元素之间的相互依赖、相互影响程度迅速增加,因而估算的一个重要方法问题分解会变得更加困难。由
53、此可知,项目的规模越大,开发工作量越大,估算的风险越高。项目的结构化程度也影响项目估算的风险。所谓结构性是指功能分解的简便性和处理信息的层次性。结构化程度的提高,进行精确估算的能力就能提高,而风险将减少。历史信息的有效性也影响估算的风险。回顾过去,就能够仿效做过的事,且改进出现问题的地方。在对过去的项目进行综合的软件度量之后,就可以借用来比较准确地进行估算,安排进度以避免重走过去的弯路,而总的风险也减少了。人风险靠对不确定性程度定量地进行估算来度量,此外,如果对软件项目的作用范围还不十分清楚,或者用户的要求经常变更,都会导致对软件项目所需资源、成本、进度的估算频频变动,增加估算的风险。【9-4
54、】A. , B. , C. , D. , E. , F. 。其中,C、D的答案顺序可互换。工具软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算。若把软件开发所需的资源画成一个金字塔,在塔的底部必须有现成的用以支持软件开发的工具硬件工具及软件工具,在塔的高层是最基本的资源人。在考虑各种软件开发资源时,人是最重要的资源。在安排开发活动时必须考虑人员的技术水平、专业、人数、以及在开发过程各阶段中对各种人员的需要。硬件是作为软件开发项目的一种工具而投入的。在软件项目计划期间,考虑三种硬件资源:宿主机(软件开发时使用的计算机及外围设备);目标机(运行已开发成功软件的计算机及外围设备);其它硬
55、件设备(专用软件开发时需要的特殊硬件资源)。宿主机连同必要的软件工具构成一个软件开发系统。通常这样的开发系统能够支持多种用户的需要,且能保持大量的由软件开发小组成员共享的信息。但在许多情况下,除了那些很大的系统之外,不一定非要配备专门的开发系统。因此,所谓硬件资源,可以认为是对现存计算机系统的使用,而不是去购买一台新的计算机。宿主机与目标机可以是同一种机型。软件在开发期间使用了许多软件工具来帮助软件的开发。这些软件工具叫做计算机辅助软件工程(CASE)。主要的软件工具分类为:业务系统计划工具集;项目管理工具集;支持工具;分析和设计工具;编程工具;组装和测试工具;原型化和模拟工具;维护工具;框架
56、工具。这些框架工具能够提供一个建立集成项目支撑环境(IPSE)的框架。在多数情况,框架工具实际提供了数据库管理和配置管理的能力与一些实用工具,能够把各种工具集成到IPSE中。为了促成软件的复用,以提高软件的生产率和软件产品的质量,可建立可复用的软件构件库。根据需要,对软件构件稍做加工,就可以构成一些大的软件包。这要求这些软件构件应加以编目,以利引用,并进行标准化和确认,以利于应用和集成。【9-5】A. , B. , C. , D. , E. 。PERT技术叫做计划评审技术,是安排开发进度,制定软件开发计划的最常用的方法。它采用网络图来描述一个项目的任务网络。通常用两张表来定义网络图。一张表给出
57、与一特定软件项目有关的所有任务(也称为任务分解结构),另一张表给出应当按照什么样的次序来完成这些任务(有时称为限制表)。当某一开发项目的进度有可能拖延时,应该分析拖期原因加以补救,切忌中途加人,否则反而会降低软件生产率。对于一个典型的软件开发项目,各开发阶段需投入的工作量的百分比大致遵循402040规则。即在整个软件开发过程中,编码的工作量占20,编码前的工作量占40,编码后的工作量占40。对于一些规模较小的项目(1个人年或者更少),只要向专家做些咨询,也许一个人就可以完成所有的软件工程步骤。而对一些规模较大的项目,在整个软件生存期中,各种人员的参与情况是不一样的。如图所示。在软件计划和需求分
58、析阶段,对软件系统进行定义,主要工作是由管理人员和高级技术人员在做,初级技术人员参与较少。待到对软件进行具体设计、编码及测试时,管理人员逐渐减少对开发工作的参与,高级技术人员主要在设计方面把关,具体编码及调试参与较少,大量的工作将由初级技术人员去做。到了软件开发的后期,需要对软件进行检验、评价和验收,管理人员和高级技术人员又将投入很多的精力。【9-6】 对于这样一个规模为10KDSI的商用微机远程通信的嵌入式软件,使用中间COCOMO模型进行软件成本估算。名义工作量为MM = 3.0*(10)1.12 = 146 (人月)。又查表知 f1 = 0.75,其它 fi = 1.00,则最终计算出的
59、实际工作量为MM = 146 * 0.75 = 110 (人月)。【9-7】A. , B. , C. , D. , E. , F. , G. , H. , I. , J. 。其中,F、G、H的答案顺序可互换。风险分析实际上是4个不同的活动: 风险识别,风险估计,风险评价和风险驾驭与监控。在进行风险评价时,可建立一系列三元组: ri, li, xi ,其中,ri是风险,li是风险出现的可能性(概率),而xi是风险产生的影响。在做风险评价时,应进一步审查在风险估计时所得到的估计的准确性,尝试对已发现的风险进行优先排队,并着手考虑控制和或消除可能出现风险的方法。在做风险评价时常采用的一个非常有效的方
60、法就是定义风险参照水准。对于大多数软件项目来说,性能、支持、成本、进度就是典型的风险参照水准。就是说,对于成本超支、进度延期、性能降低、支持困难,或它们的某种组合,都有一个水准值,超出它就会导致项目被迫终止。在软件风险分析的上下文中,一个风险参照水准就有一个点,叫做参照点或崩溃点。在这个点上,要公平地给出可接受的判断,看是继续执行项目工作,还是终止它们(出的问题太大)。实际上,参照点能在图上被表示成一条平滑的曲线的情况很少。在多数情况中,它是一个区域,在此区域中存在许多不确定性的范围。【9-8】A. , B. , C. , D. , E. , F. , G. 。对于一个小型的软件开发项目,一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2011年山东事业单位考试公共基础知识真题及答案解析【哒哒】
- 软件测试行业的职业素养与道德核心及试题及答案
- 影视行业工业化制作流程优化与2025年质量控制创新实践报告
- 中药提取与分离技术2025年中药提取与分离技术市场前景研究报告
- 数字化浪潮中的公路货运行业:2025年效率提升与智能仓储技术应用
- 2025年工业废气深度净化技术革新分析报告
- 无人机培训机构运营管理方案
- 石油公司运营管理方案
- 公路运输公司运营管理方案
- 房地产公司运营管理方案
- 2025河南中考:政治必背知识点
- 互联网公司网络安全工程师入职培训
- 【四川卷】【高二】四川省成都市蓉城名校联盟2023-2024学年高二下学期期末联考数学试题
- 2025年中南出版传媒集团湖南教育出版社分公司招聘笔试参考题库含答案解析
- 艾滋病病人的心理护理
- 铁路旅客运输服务铁路客运车站服务工作课件
- 广东惠州事业单位招聘医疗卫生岗考试模拟题带答案2025年
- 《面试技巧与策略》课件
- 2023年贵州省粮食储备集团有限公司面向社会公开招聘工作人员15人笔试参考题库附带答案详解
- 公司注册合同协议
- 心功能分级课件
评论
0/150
提交评论