软件开发工程管理(五)分析报告.ppt
文本预览下载声明
软件开发工程管理 第五讲 上讲提要 需求规约说明 需求验证 需求管理 项目计划介绍 本讲主要内容 LOC FP 估算技术 COCOMO 软件项目计划 计划从估算开始 建立计划 整体计划 贯穿项目始终 详细计划 完成规格说明之后必须产生的 估算什么? 估算成本 内部成本 外部成本 估算开发周期 影响估算的因素 项目复杂性 项目规模 结构不确定性 软件项目计划活动 ——估算需要的资源 有哪些项目资源? 开发环境 可复用构件 人员 软件项目计划活动 ——软件项目估算(1) 怎么进行估算? 将估算拖延到项目的后期 基于已经完成的类似项目进行估算 使用相对简单的分解技术以生成项目成本及工作量估算 使用一个或多个经验模型进行软件成本及工作量的估算 软件项目计划活动 ——软件项目估算(2) 估算内容: 产品规模度量 产品成本估算 产品规模度量 ——代码行(1/4) 代码行数 代码行(LOC) Lines Of Code 已交付源代码指令(KDSI) Thousand Delivered Source Instructions 产品规模度量 ——代码行(2/4) 产品规模度量 ——代码行(3/4) 可用的度量 每千行代码(KLOC)的错误数 每千行代码(KLOC)的缺陷数 每个代码行(LOC)的花费 每千行代码(KLOC)的文档页数 每人月的错误数 每人月的代码行(LOC) 每页文档的花费 产品规模度量 ——代码行(4/4) 支持者: LOC是所有软件开发项目的“生成品” 易于计算 很多软件估算模型使用LOC作为输入 反对者: LOC测量依赖于语言 对设计得很好但较小的程序会产生不利的评判 估算时需要一些难以得到的信息 思考题 计算每个项目的生产率 计算组织的总体生产率 产品规模度量 ——功能点(1/10) 功能点(function point): 用来量化程序规模,又与编程语言无关的度量单位 FP由五个使用户受益的外部用户类型组成: 外部输入类型 外部输出类型 外部查询类型 内部逻辑文件类型 外部接口文件类型 产品规模度量 ——功能点(2/10) 外部输入类型 该输入事务使内部计算机文件更新 外部输出类型 输出数据给用户的事务 外部查询类型 根据用户提供的信息引发,但不更新内部文件 内部逻辑文件类型 系统使用的固定“文件” 外部接口文件类型 与其他计算机应用程序的交互 产品规模度量 ——功能点(3/10) 每种类型对系统规模的影响由“复杂度因子”决定 复杂度分为“高”、“中”和“低”三种 产品规模度量 ——功能点(4/10) 各个因子的复杂程度可由相关表格查得 产品规模度量 ——功能点(5/10) 功能点计算步骤: 为产品的各个组件指定对应的复杂度级别 查表找出对应级别的功能点系数 对分配给每个组件的功能点求和 即:FP = Σ(各个复杂度等级的信息域数量 × 权值 ) 思考题 软件学院某项目需要实现一个程序,该程序可从成绩管理系统中取出学生成绩和学号,从学籍管理系统中取出学生基本信息,然后生成一个报告,该报告将学生信息按照平均分降序排列输出。假定该报告是高复杂度的、其他所有元素为中等复杂度的,试计算该程序的功能点。 某内部逻辑文件中包括了关于借阅图书的信息。该信息包含两种独立的记录类型:借阅记录和书目记录。其中借阅记录包括借阅记录编号、借阅时间、借阅期限、借阅者编号、被借书目编号等,书目记录包括书名、书编号、书类别等。查表计算该逻辑文件所对应的功能点数。 产品规模度量 ——功能点(6/10) 思考:两个项目的功能点相等,意味着两个项目的规模一定相同吗? 所以,前文得到的实际上是UFP(unadjusted) 应针对不同问题对该值加以规正 使用TCF 产品规模度量 ——功能点(7/10) 技术复杂因子TCF(Technical Complexity Factor) 共有14个因子 每个因子的取值范围为0~5 0为不存在或没有影响 3为平均的影响 5为重大的影响 产品规模度量 ——功能点(8/10) FP计算步骤(续): 计算UFP 计算技术复杂因子TCF(Technical Complexity Factor) 查表得到各部分影响度 累加得到总影响度DI(Degree Of Influence) TCF = 0.65 + 0.01*DI 计算功能点FP FP = UFP*TCF 产品规模度量 ——功能点(9/10) 可用的度量 每个功能点(FP)的错误数 每个功能点(FP)的缺陷数 每个功能点(FP)的花费 每个功能
显示全部