第5章《软件工程》
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件策划的输入/ 软件策划的输入/输出
策 《合同》/《立项建议书》 合同》 立项建议书》 《用户需求报告》 用户需求报告》 划 过 程 1)《软件开发计划书》 1)《软件开发计划书》 2)《质量保证计划》 2)《质量保证计划》 3)《配置管理计划》 3)《配置管理计划》 4)《里程碑及评审计划》 4)《里程碑及评审计划》
第5章 软件策划
了解: 了解: (1) (1)软件策划的概念 (2) (2)软件策划的步骤 (3) (3)软件策划的具体目标 (4) (4)软件策划的时机 (5) (5)定义软件过程 (6) (6)软件项目跟踪与监督 (7) (7)软件策划管理文档 理解: 理解: 风险的种类与化解风险的方法 掌握: 掌握: (1) (1)软件项目工作量和开发费用的估计方法 (2) 软件开发计划书》 (2)《软件开发计划书》的内容与编写方法
代码行法( 代码行法(LOC)和功能点法(PF)的比较 )和功能点法( )
FP功能点估算法常用在项目开始或项目需求基本明确时使用, FP功能点估算法常用在项目开始或项目需求基本明确时使用, 功能点估算法常用在项目开始或项目需求基本明确时使用 这时进行估算其结果的准确性比较高,假如这个时候使用LOC 这时进行估算其结果的准确性比较高,假如这个时候使用LOC 代码行估算法,则误差会比较大。 代码行估算法,则误差会比较大。 使用FP功能点估算法无需懂得软件使用何种开发技术。LOC代 使用FP功能点估算法无需懂得软件使用何种开发技术。LOC代 FP功能点估算法无需懂得软件使用何种开发技术 码行估算法与软件开发技术密切相关。 码行估算法与软件开发技术密切相关。 FP功能点法是从用户为角度进行估算,LOC代码行估算法则是 FP功能点法是从用户为角度进行估算,LOC代码行估算法则是 功能点法是从用户为角度进行估算 从开发者角度进行估算的。 从开发者角度进行估算的。 通过一些行业标准或企业自身度量的分析,FP功能点估算法 通过一些行业标准或企业自身度量的分析,FP功能点估算法 是可以转换为LOC代码行的。 是可以转换为LOC代码行的。 LOC代码行的
方法3 方法3:功能点估计法
通过研究需求来确定各种输入、输出、 通过研究需求来确定各种输入、输出、计算和数据库 需求的数量和特性。通常的步骤是: 需求的数量和特性。通常的步骤是: 计算输入、输出、查询、 1 、计算输入、输出、查询、主控文件和接口需求 的数目; 的数目; 2、将这些数据进行加权乘,得到总的功能点数; 将这些数据进行加权乘,得到总的功能点数; 3、估计每个功能点的规模,得出总的规模估计; 估计每个功能点的规模,得出总的规模估计; +25%、 4、估计者根据对复杂度的判断,总数可以用+25%、 估计者根据对复杂度的判断,总数可以用+25% 调整。 0、或-25% 调整。
策划阶段主要进行的活动
定义软件过程。就是根据选定的生命周期模型, 1. 定义软件过程。就是根据选定的生命周期模型,规定每一开发阶 段的工作步骤及文档标准。 段的工作步骤及文档标准。 进行软件估计。就是指对软件项目进行量化估计, 2. 进行软件估计。就是指对软件项目进行量化估计,并记录估计结 果的过程。 果的过程。 进行风险分析。就是对政策风险、技术风险、技能风险、 3. 进行风险分析。就是对政策风险、技术风险、技能风险、资源风 险等进行逐个分析与分解。 险等进行逐个分析与分解。 进行项目跟踪与监督。就是对策划阶段输出的软件开发计划, 4. 进行项目跟踪与监督。就是对策划阶段输出的软件开发计划,进 行动态跟踪与实时监督,一旦发现偏差,必须立即纠正。 行动态跟踪与实时监督,一旦发现偏差,必须立即纠正。 5. 完成软件开发计划书 。 使参与软件开发计划制定的组或个人意见统一。 6. 使参与软件开发计划制定的组或个人意见统一。
比如有10000行旧代码,假定30%要重新设计,50%要重新 比如有10000行旧代码,假定30%要重新设计,50%要重新 10000行旧代码 30%要重新设计 编码,70%要重新测试,那么其等价的新代码行为: 编码,70%要重新测试,那么其等价的新代码行为: 要重新测试 [(30%+50%+70%)/3]× (新代码行 新代码行) [(30%+50%+70%)/3]×10000=5000 (新代码行) 意即: 意即:重用这 10000 代码相当于新编写 5000 代码行的 工作量。 工作量。
软件策划的目标
对三个软件估计已建立文档: (1) 对三个软件估计已建立文档: ──工作产品规模估计 ──工作产品规模估计 ──工作量及成本估计 ──工作量及成本估计 ──计算机资源估计; ──计算机资源估计; 计算机资源估计 软件项目活动和约定,是有计划的并巳建立文档。 (2) 软件项目活动和约定,是有计划的并巳建立文档。 受影响的组和个人,同意他们对软件项目的约定。 (3) 受影响的组和个人,同意他们对软件项目的约定。 受影响的组和个人有: 受影响的组和个人有: ──软件工程组(项目组) ──软件工程组(项目组) 软件工程组 ──软件估计组 ──软件估计组 ──系统测试组 ──系统测试组 ──质量保证组 ──质量保证组 ──配置管理组 ──配置管理组 ──合同管理组 ──合同管理组 ──文档支持组 ──文档支持组
5.1 软件策划概论
软件策划为软件开发者和管理者制定合理的工作计划, 软件策划为软件开发者和管理者制定合理的工作计划, 又为软件项目跟踪和监控提供考核依据。 又为软件项目跟踪和监控提供考核依据。 既做计划有出谋略。 既做计划有出谋略。 属于软件管理和软件决策的范畴, 属于软件管理和软件决策的范畴,是项目经理以上人 员的职责范围。 员的职责范围。
软件工作产品规模和工作量的估计方法
序号 1 规模估计方法 功能点个数 工作量估计方法 N个功能点/人月 个功能点/ 工作量估计方法说明 一个人的月工作量, 一个人的月工作量,能完成的功能点个 数 2 性能点个数 N个性能点/人月 个性能点/ 一个人的月工作量, 一个人的月工作量,能完成的性能点个 数 3 4 5 代码行数 实体个数 需求个数( 需求个数(Use Case个数) Case个数) 个数 6 文档页数 N页文档/人月 页文档/ N行代码/人月 行代码/ N个实体/人月 个实体/ N个需求数/人月 个需求数/ 一个人的月工作量, 一个人的月工作量,能完成的代码行数 一个人的月工作量, 一个人的月工作量,能完成的实体个数 一个人的月工作量,能完成的Use 一个人的月工作量,能完成的Use case 个数 一个人的月工作量, 一个人的月工作量,能完成的文档页数
软件策划的目的
为软件开发和软件管理制定合理的工作计划
软件策划的基础
软件生命周期模型
软件策划的步骤
步骤 1 步骤名称 估计软件工作产品 的规模及所需 的资源 2 制定时间表 步骤内容 软件工作产品,包括需求规格说明书,概要设计说明书, 软件工作产品,包括需求规格说明书,概要设计说明书,详 细设计说明书,源代码,测试计划和测试报告, 细设计说明书,源代码,测试计划和测试报告,质量保 证计划,软件配置管理计划, 证计划,软件配置管理计划,里程碑及评审点计划 包括开发进度时间表和管理进度时间表:软件开发计划、质 包括开发进度时间表和管理进度时间表:软件开发计划、 量保证计划、软件配置管理计划、测试计划、 量保证计划、软件配置管理计划、测试计划、评审计划 3 鉴别和评估风险 政策风险,资源风险,市场突变风险, 政策风险,资源风险,市场突变风险,技术风险和技能风险 等 4 与相关组或人协商 策划中的有关 约定 策划的结果要实事求是, 策划的结果要实事求是,要得到各有关方面的同意和认可
方法1 方法1:希腊古都法(Delphi 法 )
无历史数据条件下,其步骤是: 无历史数据条件下,其步骤是: 协调人向各专家提供项目需求规格和估计表格; 1 、协调人向各专家提供项目需求规格和估计表格; 协调人召集小组会,专家讨论与规模相关的因素; 2 、协调人召集小组会,专家讨论与规模相关的因素; 专家匿名填写迭代估计表格; 3 、专家匿名填写迭代估计表格; 4 、协调人整理出一个估计,以迭代表形式返回专家; 协调人整理出一个估计,以迭代表形式返回专家; 协调人召集小组会,讨论较大的估计差异; 5 、协调人召集小组会,讨论较大的估计差异; 专家复查估计,在迭代表上提交另一个匿名估计; 6 、专家复查估计,在迭代表上提交另一个匿名估计; 直到最低估计和最高估计一致为止。 7 、重复 4-6 ,直到最低估计和最高估计一致为止。
1.定义软件过程
根据生存周期模型,规定软件的开发阶段, 根据生存周期模型,规定软件的开发阶段,以 及每一阶段的工作步骤和文档标准等内容。 及每一阶段的工作步骤和文档标准等内容。 生存周期模型 项目类型 软件过程
2.进行软件估计
软件估计的内容和方法包括如下三个方面: 软件估计的内容和方法包括如下三个方面: (1)对软件工作产品的规模进行量化估计 2) (2)对软件工作产品成本的费用进行量化估计 (3)对关键计算机资源进行量化估计 )
对代码行的估计方法
指所有的可执行的源代码行数。 LOC 指所有的可执行的源代码行数。1 LOC 的价值和人月代码 行数,体现软件组织的生产力。 行数,体现软件组织的生产力。 例如, 例如,统计发现某公司每一万行 C 语言源代码形成的源文件 为 250 K 。 某项目的源文件大小为 3.75 M ,则可估计该项目源代码大约 万行, 人月, 为 15 万行,该项目累计投入工作量为 240 人月,每人月费 包括人均工资,福利,办公费用公滩等), ),1 用为 10000 元(包括人均工资,福利,办公费用公滩等),1 的价值为: LOC 的价值为: (240×10000)/150000 = 16 元/1 LOC 240×10000) 项目的人月均代码行数为: 项目的人月均代码行数为: LOC/人月 人月。 150000/240=625 LOC/人月。 IT企业软件项目规模估计方法有以下四种: IT企业软件项目规模估计方法有以下四种: 企业软件项目规模估计方法有以下四种
软件策划的时机
《用户需求报告》之后,《需求规格说明书》 用户需求报告》之后, 需求规格说明书》 之前
5.2
软件策划方法
经验数据加结构化方法的要点: 经验数据加结构化方法的要点: 粒度由粗到细的分解:自顶向下、逐步细化、 (1) 粒度由粗到细的分解:自顶向下、逐步细化、 逐项逐条逐日安排计划。 逐项逐条逐日安排计划。 (2) 粒度由细到粗的综合:自底向上、逐步归纳、 粒度由细到粗的综合:自底向上、逐步归纳、 逐日逐周逐月安排计划。 逐日逐周逐月安排计划。 同类项目经验数据类比法、 (3) 同类项目经验数据类比法、同行专家协商策 划法。 划法。
方法2 类比法( 方法2:类比法(续)
注:用类比法中,往往还要解决可重用代码的估算问题。下 用类比法中,往往还要解决可重用代码的估算问题。 面的公式计算等价新代码行: 面的公式计算等价新代码行:
等价新代码行=[(重新设计%+重新编码%+重新测试%)/3]× 等价新代码行=[(重新设计%+重新编码%+重新测试%)/3]×已有的旧代码行 =[(重新设计%+重新编码%+重新测试%)/3]
方法2 方法2:类比法Hale Waihona Puke Baidu
有历史数据条件下,其步骤是: 有历史数据条件下,其步骤是: 1.整理出历史项目功能点列表和实现每个功能点的代码行; 1.整理出历史项目功能点列表和实现每个功能点的代码行; 整理出历史项目功能点列表和实现每个功能点的代码行 2.标识出估计项目的功能点列表与历史项目功能点列表的差 2.标识出估计项目的功能点列表与历史项目功能点列表的差 异; 3.按照历史项目每个功能点的代码行,确定估计项目每个功 3.按照历史项目每个功能点的代码行, 按照历史项目每个功能点的代码行 能点的代码行; 能点的代码行; 4.通过步骤1 的循环,得出所有功能点的估计; 4.通过步骤1和3 的循环,得出所有功能点的估计; 通过步骤 5.产生总的规模估计。 5.产生总的规模估计。 产生总的规模估计