软件工程导论(第13章)
软件工程导论张海藩课后习题答案(完整版)

作业一 基本概念(第1-2章) 作业二 需求分析(第3章) 作业三 系统设计(第5章) 作业四 详细设计(第6章) 作业五 系统实现(第7章) 作业六 系统维护(第8章) 作业七 面向对象方法学引论(第9章) 作业八 面向对象分析(第10章) 作业九 面向对象设计(第11章) 作业十 面向对象实现(第12章) 作业十一 软件项目管理(第13章)
M40e0 8.2(0 8 191 99 5)60 7,357,677(字 9) 408e09.8
如果字长为32位,则这个存储器的价格是:
P0.00 33 20.71291 99 5 77 4 35777,16 27(7 美9 元)
如果一条指令为一个字长,则为使存储器装满程序共需 73,577,679条指令。
E2 病人
F2生理信号
E3 时钟
F3日前、时间
F5安全范围 D2患者安全范围
P2 分析信号
危及病人信息
P3 产生警告信息
F2生理信号
F4警告信息
P1 接收信号
F2生理信号
E1 护士
P4 定时取样 生理信号
定时的生理信号 F6日志
P5 更新日志
D1患者日志
E1 护士
F6日志 F1要求报告
P6 产生病情报告
2-4目前住院病人主要由护士护理,这样做不仅需要大量护 士,而且由于不能随时观察危重病人的病情变化,还会延 误抢救时机。某医院打算开发一个以计算机为中心的患者 监护系统,请分层次地画出描述本系统功能的数据流图。
医院对患者监护系统的基本要求是随时接收每个病人的生 理信号(脉搏、体温、血压、心电图等),定时记录病人情 况以形成患者日志,当某个病人的生理信号超出医生规定 的安全范围时向值班护士发出警告信息,此外,护士在需 要时还可以要求系统印出某个指定病人的病情报告。
软件工程导论第5版习题十三参考答案

3、下面叙述对一个计算机辅助设计(CAD)软件的需求:该CAD软件接受由工程师提供的二维或三维几何图形数据。
工程师通过用户界面与CAD系统交互并控制它,该用户界面应该表现出良好的人机界面设计特征。
几何图形数据及其他支持信息都保存在一个CAD数据库中。
开发必要的分析、设计模块,以产生所需要的设计结果,这些输出将显示在各种不向的图形设备上。
应该适当地设计软件,以便与外部设备交互并控制它们。
所用的外部设备包括鼠标、数字化扫描仪和激光打印机。
要求:(1)进一步精化上述要求,把CAD软件的功能分解成若干个子功能;(2)用代码行技术估算每个子功能的规模;(3)用功能点技术估算每个子功能的规模;(4)从历史数据得知,开发这类系统的平均生产率是620LOC/PM,如果软件工程师的平均月工资是8000元,请估算开发本系统的工作量和成本;(5)如果从历史数据得知,开发这类系统的平均生产率是6.5FP/PM,请估算开发本系统的工作量和成本。
答:(1)习题中仅对需求做了粗略描述,每项需求都应该进一步扩展,以提供细节需求和定量约束。
例如,在开始估算软件规模之前,需要确定“良好的人机界面设计特征”的具体含义,以及对“CAD数据库”的规模和复杂度的具体需求。
经过对需求的进一步精化,分解出软件的下述7个主要的子功能:·用户界面及控制机制;·二维几何图形分析;·三维几何图形分析;·数据库管理;·计算机图形显示机制;·外部设备控制;·设计分析模块。
(2)为了用代码行技术估算软件规模,应该针对每个子功能都分别估计出下述3个值:乐观值(即最小规模),悲观值(即最大规模)和可能值(即最可能规模)。
然后用式(10.1)所示的加权平均法计算每个子功能的规模,结果示于表l0.4。
(3)使用功能点技术估算软件规模时,对软件的分解是基于信息域特性而不是基于软件功能。
表l0.5给出了对5个信息域特性的估计值。
软件工程导论概要.优秀精选PPT

。这时软件危机出
这个阶段要回答的关键问题是:“对上一阶段所确定的问题有行得通的解决办法吗?” 系统分析员需要进行一次大大压缩和简化了的
现,随之而来人们开始研究消除危机的途径,从而形成一 系统分析和设计的过程,也就是在较抽象的高层次上进行的分析和设计的过程。
这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。
通常把在软件生命周期全过程中使用的一整套技术方法 的集合称为方法学(Methodology),也称为范型 (Paradigm)。
软件工程方法学的3要素:方法、工具和过程
一. 传统方法学
也称为生命周期方法学或结构化范型。从时间角度
1)对软件开发成本和进度的估计常常很不准确; 2)用户对完成的软件系统不满意的现象经常发生; 3)软件产品的质量往往靠不住; 4)软件常常是不可维护的; 5)软件通常没有适当的文档资料; 6)软件成本在计算机系统总成本中所占的比例逐年上升; 7)软件开发生产率提高的速度跟不上计算机应用的发展
趋势。
1)软件本身特点造成;
极限编程的整体开发过程:
如何开发门软件新,以的满足学对软科件日—益增—长的软需求件工程学。
软件危机:计算机软件的开发和维护过程中所遇 到的一系列严重问题。(正常、不正常运行软件都 具有这种问题)
软件危机的实质: 如何开发软件,以满足对软件日益增长的需求 如何维护数量不软件工程学:主要应用工程的方法和技术 研究软件开发与维护的方法、工具和管理的一 门交叉学科。
2)程序设计方法学:主要应用数学的方法研 究程序的性质以及程序设计的理论和方法的学 科。
1.2 软件工程
软件工程的介绍 1968年NATO会议:软件工程就是为了经济地获 得可靠的且能在实际机器上有效地运行的软件, 而建立和使用完善的工程原理。
软件工程导论复习重点总结很全第六版

第1章软件工程学概述1.1 软件危机1.1.1 软件危机旳简介软件危机(软件萧条、软件困扰): 是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。
软件危机包括下述两方面旳问题:怎样开发软件, 满足对软件日益增长旳需求;怎样维护数量不停膨胀旳已经有软件。
软件危机旳经典体现:(1)对软件开发成本和进度旳估计常常很不精确;(2)顾客对“已完毕旳”软件系统不满意旳现象常常发生;(3)软件产品旳质量往往靠不住;(4)软件常常是不可维护旳;(5)软件一般没有合适旳文档资料;(6)软件成本在计算机系统总成本中所占旳比例逐年上升;(7)软件开发生产率提高旳速度, 远远跟不上计算机应用迅速普及深入旳趋势。
1.1.2 产生软件危机旳原因(1)与软件自身旳特点有关(2)与软件开发与维护旳措施不对旳有关1.1.3 消除软件危机旳途径对计算机软件有对旳旳认识。
认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完毕旳工程项目。
应当推广使用在实践中总结出来旳开发软件旳成功技术和措施, 并继续研究探索。
应当开发和使用更好旳软件工具。
总之, 为了处理软件危机, 既要有技术措施(措施和工具), 又要有必要旳组织管理措施。
1.21.2.1 软件工程旳简介软件工程: 是指导计算机软件开发和维护旳一门工程学科。
采用工程旳概念、原理、技术和措施来开发与维护软件, 把通过时间考验而证明对旳旳管理技术和目前可以得到旳最佳旳技术措施结合起来, 以经济地开发出高质量旳软件并有效地维护它, 这就是软件工程。
(期中考)软件工程旳本质特性:软件工程关注于大型程序旳构造软件工程旳中心课题是控制复杂性软件常常变化开发软件旳效率非常重要友好地合作是开发软件旳关键软件必须有效地支持它旳顾客在软件工程领域中是由具有一种文化背景旳人替具有另一种文化背景旳人发明产品1.2.2 软件工程旳基本原理用分阶段旳生命周期计划严格管理坚持进行阶段评审实行严格旳产品控制采用现代程序设计技术成果应能清晰地审查开发小组旳人员应当少而精承认不停改善软件工程实践旳必要性1.2.3 软件工程措施学软件工程包括技术和管理两方面旳内容。
《软件工程导论》考试重点

第一章1.软件危机的概念:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重的问题。
2.产生软件危机的原因:(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3)尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.软件配置的主要包括程序、文文件和数据等成分。
配置管理工具:commit,分支,合并。
4.软件工程的定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。
(ppt上定义)、、、、、//6.通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范型//7.软件工程方法学包含三个要素:方法、工具和过程。
//8.目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学//9.传统方法学也称为生命周期方法学或结构化范型//10.面向对象方法学的四个要点://1.把对象作为融合了数据及在数据上的操作行为的统一的软件构件//2.把所有对象都划分成类//3.按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。
//4.对象彼此间仅能通过发送消息互相联系。
11.软件生命周期:软件定义(问题定义,可行性研究,需求分析)、软件开发(总体设计,详细设计,编码,单元测试,总体测试)、运行维护(持久地满足用户的需要)12.最基本的测试是集成测试和验收测试。
13.瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,概念.方法.优缺点.区别。
软件工程导论13软件项目管理

应用系统组成模型:这个模型主要用于估算构建原型的工作量, 应用系统组成模型 : 这个模型主要用于估算构建原型的工作量 , 模型名字暗示在构建原型时大量使用已有的构件。 模型名字暗示在构建原型时大量使用已有的构件。 早期设计模型:这个模型适用于体系结构设计阶段。 早期设计模型:这个模型适用于体系结构设计阶段。 后体系结构模型: 后体系结构模型 : 这个模型适用于完成体系结构设计之后的软 件开发阶段。 件开发阶段。
WHPU
8-2
经理管什么? 经理管什么?
计划 计划
预 算 预 算 进度 标准
组 织 组 织
WHPU
8-3
内容
13.1 估算软件规模 13.2 开发工作量估算 13.3 进度计划 13.4 人员组织 13.5 质量保证 13.6 软件配置管理 13.7 能力成熟度模型
WHPU
8-4
13.1 估算软件规模
④
⑤
E是以人月或人年为单位的工作量, 是以人月或人年为单位的工作量, 是以人月或人年为单位的工作量 t是以月或年为单位的项目持续时间; 是以月或年为单位的项目持续时间; 是以月或年为单位的项目持续时间 B是特殊技术因子 它随着对测试、质量保证、 B是特殊技术因子,它随着对测试、质量保证、文档及管理技术的需求的增加而缓 是特殊技术因子, 慢增加,对于较小的程序(KLOC=5-15),B=0.16,对于超过 的程序, 慢增加 , 对于较小的程序 = , = , 对于超过70 KLOC的程序, 的程序 B=0.39; ; P是生产率参数,它反映了下述因素对工作量的影响: 是生产率参数, 是生产率参数 它反映了下述因素对工作量的影响: – 总体过程成熟度及管理水平 – 使用良好的软件工程实践的程度 – 使用的程序设计语言的级别 – 软件环境的状态 – 软件项目组的技术及经验 – 应用系统的复杂程度 开发实时嵌入式软件时, 的典型值为 的典型值为2 开发实时嵌入式软件时,P的典型值为 000;开发电信系统和系统软件时,P=10 ;开发电信系统和系统软件时, 000;对于商业应用系统来说.P=28 000。可以从历史数据导出适用于当前项目的生 ;对于商业应用系统来说. 。
张海藩《软件工程导论》(第6版)配套题库【课后习题(1-13章)】【圣才出品】

圣才电子书
更有效的技术和方法;
十万种考研考证电子书、题库视频学习平台
④应该开发和使用更好的软件工具。
4.简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 答:(1)结构化范型 ①要点 结构化范型属于传统方法学。传统的软件开发方法大部分采用瀑布模型。这种模型要求 每一阶段都以前一阶段形成的文档为基础完成工作。每一阶段将要完成时,都要求开发人员 进行验证或确认。 ②优点 把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不 同人员分工协作,从而降低了整个软件开发过程的困难程度。 ③缺点 当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化时,开发出的软件 往往不成功;而且维护起来仍然很困难。 (2)面向对象范型 ①要点 a.软件中的任何元素都是对象,复杂的软件对象由简单的软件对象组合而成。 b.所有对象划分成各种对象类,每个对象都定义了一组数据和一组方法。 c.按照子类和父类的关系,把若干个对象类组成一个层次结构的系统。 d.对象彼此之间仅能通过传递消息互相联系。 ②优点
(2)假设在 1985 年一名程序员每天可开发出 10 条指令,程序员的平均工资是每月 4000 美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。
(3)假设在 1995 年存储器字长为 32 位,一名程序员每天可开发出 30 条指令,程序 员的月平均工资为 6000 美元,重复(1)、(2)题。
存储器的价格按下面公式描述的趋势逐年 下降:
如果计算机字长为 16 位 , 则 存 储 器 价 格 下 降 的 趋 势 为 :
在上列公式中 y 代表年份,M 是存储容量(字数),P1 和 P2 代表价格。基于上述假设可以比较计算机硬件和 软件成本的变化趋势。要求计算:
软件工程导论教学大纲-章程

《软件工程导论》教学大纲安徽大学计算机科学与技术学院2017 年 3 月《软件工程导论》教学大纲课程编号:ZJ36047课程名称:软件工程导论英文名称:Introduction to Software Engineering 学分/学时:2/34 课程性质:学科平台课程适用专业:软件工程先修课程:计算机导论开课单位:计算机科学与技术学院一、课程的教学目标与任务《软件工程导论》课程是软件工程专业高等教育的专业基础课程和学科平台课程,是“科研训练计划”教育课程。
《软件工程导论》以科学技术方法论为逻辑起点,结合部分管理方面的基本理论,讲授软件工程与方法论的联系,从而提高软件的质量和生产率。
本课程以软件工程专业本科二年级学生为讲授对象,是集理论性与应用性为一体的学科。
设置本课程的目的是:使学习者在全面了解软件工程发展历史、基本理论的基础上,系统掌握软件开发过程中的现代方法和管理手段,具备用工程化方法设计和构建规范软件的思想,从而为后续软件工程开发方法的系列课程奠定理论基础。
学习本课程的要求是:学习者应深刻认识软件危机产生的原因,纠正对软件开发的错误认识,掌握软件工程科学方法论的基本概念和基本原理,初步具备作为专业人员组织软件开发和设计工作的能力。
为检验掌握软件开发应遵循的原则和编写文档的基本方法的程度,最后的考核是通过考试进行,同时以加深对课程内容的理解。
二、课程具体内容及基本要求第一章软件工程的范畴 ( 2学时)基本内容包括:第一节历史方面一、定义软件(1)介绍软件的形式化定义。
结合经典教科书中关于软件的定义,介绍软件中所包含的三个要素:①指令的集合;②数据结构;③软件描述信息。
(2)阐述非形式化定义中软件具有的特性。
对比其他人工产品的特性,总结软件所具有的三个特性。
二、软件工程的发展历程和应用领域第二节经济方面结合例子阐述经济学原则在软件生产方面的重要性。
第三节维护性方面介绍软件生命周期模型和步骤,阐述维护工作在生命周期模型中的重要性和具体分类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. 面向FP的估算模型
(1) Albrecht & Gaffney模型 E=-13.39+0.0545FP (2) Maston,Barnett和Mellichamp模型 E=585.7+15.12FP 从上面列出的模型可以看出,对于相同的KLOC或FP值,用不 同模型估算将得出不同的结果。主要原因是,这些模型多数都是仅 根据若干应用领域中有限个项目的经验数据推导出来的,适用范围 有限。因此,必须根据当前项目的特点选择适用的估算模型,并且 根据需要适当地调整(例如,修改模型常数)估算模型。
FP=UFP×TCF
功能点数与所用的编程语言无关,看起来功
能点技术比代码行技术更合理一些。但是,在判
断信息域特性复杂级别和技术因素的影响程度时 ,存在着相当大的主观因素。
8
13.2 工作量估算 软件估算模型使用由经验导出的公式来预测软件 开发工作量,工作量是软件规模(KLOC或FP)的函数 ,工作量的单位通常是人月(pm)。 支持大多数估算模型的经验数据,都是从有限个
项目的样本集中总结出来的,因此,没有一个估算模
型可以适用于所有类型的软件和开发环境。
9
13.2.1 静态单变量模型
这类模型的总体结构形式如下: E=A+B×(ev)C 其中,A、B和C是由经验数据导出的常数,E是以人月为单位的 工作量,ev是估算变量(KLOC或FP)。下面给出几个典型的静
态单变量模型。
贯穿于软件的整个生命周期之中。
软件项目管理 ---- 从一组项目计划活动开始,其基础
是工作量估算和完成期限估算。
2
13.1
估算软件规模
13.1.1 代码行技术 • 代码行技术是比较简单的定量估算软件规模的方法。 • 为了使得对程序规模的估计值更接近实际值,可以由多 名有经验的软件工程师分别做出估计。每个人都估计程序 的最小规模(a)、最大规模(b)和最可能的规模(m),分别算 出这3种规模的平均值,再用下式计算程序规模的估计值 L=
11
13.2.2 动态多变量模型
动态多变量模型也称为软件方程 式,它是根据从4000多个当代软件项 目中收集的生产率数据推导出来的。 该模型把工作量看作是软件规模和开 发时间这两个变量的函数。动态多变 量估算模型的形式如下: E=(LOC×B0.333/P)3×(1/t)4 (13.2) 其中, E是以人月或人年为单位的工作量; t是以月或年为单位的项目持续时间; B是特殊技术因子,它随着对测试、质 量保证、文档及管理技术的需求的增 加而缓慢增加,对于较小的程序( KLOC=5~15),B=0.16,对于超过70 KLOC的程序,B=0.39;
13.3.1 估算开发时间
Brooks规律:向一个已经延期的项目增加人力,只会使得它更加 延期。 随着开发小组规模的扩大,个人生产率将下降,以至开发时间 与从事开发工作的人数并不成反比关系。出现这种现象主要有 下述两个原因: 1. 当小组变得更大时,每个人需要用更多的时间与组内其他 成员讨论问题、协调工作,因此增加了通信开销。 2. 如果在开发过程中增加小组人员,则最初一段时间内项目 组总生产率不仅不会提高反而会下降。这是因为新成员在 开始时不仅不是生产力,而且在他们学习期间还需要花费 小组其他成员的时间。
16
项目组规模与项目组总生产率的关系 当几个人共同承担软件开发项目中的某一任务时,人与人之间 必须通过交流来解决各自承担任务之间的接口问题,即所谓通 信问题。通信需花费时间和代价,会引起软件错误增加,降低 软件生产率。 • 若两个人之间需要通信,则称在这两个人之间存在一条通信路 径。如果一个软件开发小组有 n 个人,每两人之间都需要通信, 则总的通信路径有 n(n-1)/2 (条)。
级别决定,如表13.1(见书307页)所示。
6
(2) 计算技术复杂性因子TCF
这一步骤度量14种技术因素对软件规模的影响程度。这些因
素包括高处理率、性能标准(例如,响应时间)、联机更新等, 在表13.2(见书307页)中列出了全部技术因素,并用Fi(1≤i≤14)
代表这些因素。根据软件的特点,为每个因素分配一个从0(不存
13.3
•
进度计划
项目管理者的目标是定义全部项目任务,识别出关键任务,
跟踪关键任务的进展状况,以保证能及时发现拖延进度的情况。 为达到上述目标,管理者必须制定一个足够详细的进度表,以 便监督项目进度并控制整个项目。 • 软件项目的进度安排是通过把工作量分配给特定的软件工程 任务并规定完成各项任务的起止日期,从而将估算出的项目工 作量分布于计划好的项目持续期内。 • 进度计划将随着时间的流逝而不断演化。在项目计划的早期, 首先制定一个宏观的进度安排表,标识出主要的软件工程活动 和这些活动影响到的产品功能。随着项目的进展,把宏观进度 表中的每个条目都精化成一个详细进度表,从而标识出完成一 个活动所必须实现的一组特定任务,并安排好了实现这些任务 的进度。 15
a 4m b 6
3
单位是代码行数(LOC),或是千行代码数(KLOC)
代码行技术的主要优点:代码是所有软件 开发项目都有的“产品”,而且很容易计 算代码行数。 代码行技术的缺点: 源程序仅是软件配 臵的一个成分,用它的规模代表整个软件 的规模似乎不太合理;用不同语言实现同 一个软件所需要的代码行数并不相同;这 种方法不适用于非过程语言。
第13章
软件项目管理
大型软件工程项目的失败 ---- 才使人们逐渐认识到软
件项目管理的重要性和特殊性。
失败的原因 ---- 不是软发工程师无能,而主要是管理
不善。
所谓管理 ---- 就是通过计划、组织和控制等一系列活
动,合理地配臵和使用各种资源,以达到既定目标的
过程。
软件项目管理 ---- 先于任何技术活动之前开始,并且
13
下面以后体系结构模型为例,介绍COCOMO2模型。该模型把软件开 发工作量表示成代码行数(KLOC)的非线性函数: E= a KLOC b f i
i 1 17
(13.3)
其中: E 是开发工作量(以人月为单位), A 是模型系数, KLOC 是估计的源代码行数(以千行为单位), B 是模型指数, fi(i=1~17) 是成本因素。 每个成本因素都根据它的重要程度和对工作量影响大小被赋予 一定数值(称为工作量系数)。这些成本因素对任何一个项目的开 发工作量都有影响,即使不使用COCOMO2模型估算工作量,也应该 重视这些因素。Boehm把成本因素划分成产品因素、平台因素、人 员因素和项目因素等4类。 表13.3(见书310页)列出了COCOMO2模型使用的成本因素及与 14 之相联系的工作量系数。
P是生产率参数,它反映了下述因素对 工作量的影响: 总体过程成熟度及管理水平; 使用良好的软件工程实践的程度; 使用的程序设计语言的级别; 软件环境的状态; 软件项目组的技术及经验; 应用系统的复杂程度。 开发实时嵌入式软件时,P的典型值为 2000;开发电信系统和系统软件时, P=10000;对于商业应用系统来说, P=28000。可以从历史数据导出适用于 当前项目的生产率参数值。 从(13.2)式可以看出,开发同一 个软件(即LOC固定)的时候,如果把 项目持续时间延长一些,则可降低完成 项目所需的工作量。
发工作量估算模型,这3个层次的 模型在估算工作量时,对软件细节 考虑的详尽程度逐级增加。这些模 型既可以用于不同类型的项目,也 可以用于同一个项目的不同开发阶 段。这3个层次的估算模型分别是 (1) 应用系统组成模型。这个模 型主要用于估算构建原型的工作量 ,模型名字暗示在构建原型时大量 使用已有的构件。 (2) 早期设计模型。这个模型适 用于体系结构设计阶段。 (3) 后体系结构模型。这个模型 适用于完成体系结构设计之后的软 件开发阶段。
2. 估算功能点的步骤
(1) 计算未调整的功能点数UFP
首先,把产品信息域的每个级或复杂级,并根据其等级为每个 特性分配一个功能点数(例如,一个简单级的输入项分配3个 功能点,一个平均级的输入项分配4个功能点,而一个复杂级 的输入项分配6个功能点)。 然后,用下式计算未调整的功能点数UFP: UFP=a1×Inp+a2×Out+a3×Inq+a4×Maf+a5×Inf 其中,ai(1≤i≤5)是信息域特性系数,其值由相应特性的复杂
在或对软件规模无影响)到5(有很大影响)的值。然后,用下式 计算技术因素对软件规模的综合影响程度DI: DI=
F
i 1
14
i
技术复杂性因子TCF由下式计算: TCF=0.65+0.01×DI
因为DI的值在0~70之间,所以TCF的值在0.65~1.35之间。
7
(3) 计算功能点数FP 用下式计算功能点数FP:
为了克服代码行技术的缺点,人们又提出 了功能点技术。
4
13.1.2 功能点技术 功能点技术依据对软件信息域特性和软件复杂性的评估结果, 估算软件规模。这种方法用功能点(FP)为单位度量软件规模。 1. 信息域特性 功能点技术定义了信息域的5个特性: (1) 输入项数(Inp) : 用户向软件输入的项数,这些输入给软件提 供面向应用的数据。输入不同于查询,后者单独计数,不计入输入 项数中。 (2) 输出项数(Out) : 软件向用户输出的项数,它们向用户提供 面向应用的信息,例如,报表和出错信息等。报表内的数据项不单 独计数。 (3) 查询数(Inq) : 查询即是一次联机输入,它导致软件以联机 输出方式产生某种即时响应。 (4) 主文件数(Maf) : 逻辑主文件(即数据的一个逻辑组合,它 可能是大型数据库的一部分或是一个独立的文件)的数目。 (5) 外部接口数(Inf) : 机器可读的全部接口(例如,磁盘或磁带 上的数据文件)的数量,用这些接口把信息传送给另一个系统。 5
18
任务的确定与并行性
• 当参加同一软件工程项目的人数不止一人的时候,开发 工作就会出现并行情形。 • 软件开发进程中设臵许多里程碑。里程碑为管理人员提 供了指示项目进度的可靠依据。 • 软件工程项目的并行性提出了一系列的进度要求。 • 因为并行任务是同时发生的,所以进度计划表必须决定 任务之间的从属关系,确定各个任务的先后次序和衔接, 确定各个任务完成的持续时间。 • 项目负责人应注意构成关键路径的任务,即若要保证整 个项目能按进度要求完成,就必须保证这些任务要按进 度要求完成。