软件工程期末考试总复习题.doc

上传人:本田雅阁 文档编号:2558194 上传时间:2019-04-07 格式:DOC 页数:120 大小:1.51MB
返回 下载 相关 举报
软件工程期末考试总复习题.doc_第1页
第1页 / 共120页
软件工程期末考试总复习题.doc_第2页
第2页 / 共120页
软件工程期末考试总复习题.doc_第3页
第3页 / 共120页
软件工程期末考试总复习题.doc_第4页
第4页 / 共120页
软件工程期末考试总复习题.doc_第5页
第5页 / 共120页
点击查看更多>>
资源描述

《软件工程期末考试总复习题.doc》由会员分享,可在线阅读,更多相关《软件工程期末考试总复习题.doc(120页珍藏版)》请在三一文库上搜索。

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 技术人 员水平初级高级 高级 高级 D.中级中级 高级 中级高级中高级 初级 中高级中级中高级 中级 初级 管理人 员数量多中 少 中 E.中中 中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1