软件质量和软件质量保证的基本概念 ·质量度量模型 软件复杂性 软件可靠性 软件评审与软件容错技术
• 软件质量和软件质量保证的基本概念 • 质量度量模型 • 软件复杂性 • 软件可靠性 • 软件评审与软件容错技术
第十三章 管理技术与软件质量保证 软件工程管理是对软件生命周期中的一切活动的管 理,尤其是对软件开发过程的管理。 软件工程管理涉及到很多学科,如:系统工程学、 标准化、管理学、逻辑学、数学等。 软件工程管理涉及到诸多方面的内容,如软件工程 项目计划、制定软件工程规范、软件开发成本估算、 软件项目进度安排、软件配置管理、软件工程标准 化等。 ■软件工程管理的具体内容包括对开发人员、组织机 构、用户、过程控制,文档资料等方面的管理
第十三章 管理技术与软件质量保证 ◼ 软件工程管理是对软件生命周期中的一切活动的管 理,尤其是对软件开发过程的管理。 ◼ 软件工程管理涉及到很多学科,如:系统工程学、 标准化、管理学、逻辑学、数学等。 ◼ 软件工程管理涉及到诸多方面的内容,如软件工程 项目计划、制定软件工程规范、软件开发成本估算、 软件项目进度安排、软件配置管理、软件工程标准 化等。 ◼ 软件工程管理的具体内容包括对开发人员、组织机 构、用户、过程控制,文档资料等方面的管理
软件开发成本估算 p276
软件开发成本估算 ◼ p276
Effort estimation Several types of costs Facilities Sta仟f Methods a Tools The biggest component of cost is Effort Staff s effort represented by staff-days We must estimate effort as early as possible
Effort Estimation ◼ Several types of costs ◼ Facilities ◼ Staff ◼ Methods ◼ Tools ◼ The biggest component of cost is Effort ◼ Staff’s effort represented by staff-days ◼ We must estimate effort as early as possible
Effort estimation methods Expert Judgment Rand delphi technique Wolverton(1974)cost model Algorithmic Methods Walston and Felix (1977) boehm's constructive cost Model(COCoMO) Machine-Learning Method
Effort Estimation Methods ◼ Expert Judgment ◼ Rand’ Delphi technique ◼ Wolverton (1974) cost model ◼ Algorithmic Methods ◼ Walston and Felix(1977) ◼ Boehm’s Constructive Cost Model(COCOMO) ◼ Machine-Learning Method
Rand公司Deph技术的步骤: 1.组织者发给每位专家一份规格说明书和一张估算表。 2.专家研究规格说明书。可召集小组会议,就估算问题进行讨论 3.专家提出三个不同的估算值:最小值,最大值y最可能值z。 并无记名填表,说明理由 4.计算:E=x+4 5.召集会议,对大的变动之处进行讨论。基于讨论再一次估算 6.再次无记名填表。从(4)到(6)适当重复几次,最终获得 个多数专家公认的软件规模(KLOC
Rand公司Delphi技术的步骤: 1. 组织者发给每位专家一份规格说明书和一张估算表。 2. 专家研究规格说明书。可召集小组会议,就估算问题进行讨论 3. 专家提出三个不同的估算值:最小值x,最大值y, 最可能值z。 并无记名填表,说明理由。 4. 计算: 5. 召集会议,对大的变动之处进行讨论。基于讨论再一次估算 6. 再次无记名填表。从(4)到(6)适当重复几次,最终获得一 个多数专家公认的软件规模(KLOC) 6 x 4 y z E + + =
软件项目计划 在软件项目管理过程中一个关键的活动是 制定项目计划,它是软件开发工作的第 步。项目计划的目标是为项目负责人提供 个框架,使之能合理地估算软件项目开 发所需资源、经费和开发进度,并控制软 件项目开发过程按此计划进行。本节主要 软件项目计划的内容、软件开发成本估算 与风险分析、软件项目的进度安排
软件项目计划 ◼ 在软件项目管理过程中一个关键的活动是 制定项目计划,它是软件开发工作的第一 步。项目计划的目标是为项目负责人提供 一个框架,使之能合理地估算软件项目开 发所需资源、经费和开发进度,并控制软 件项目开发过程按此计划进行。本节主要 软件项目计划的内容、软件开发成本估算 与风险分析、软件项目的进度安排
螫件项目计划内容 ■范围。对该软件项目的综合描述,定义其所要做的 工作以及性能限制,它包括:项目目标、主发功能、 性能限制、系统接口、特殊要求、开发概述。 ■资源。包括:人员资源、硬件资源、软件资源等 ■进度安排。进度安排的主要工具有:工程网络图 Gantt图、任务资源表。 ■成本估算。保证项目能在预算内按时完成 培训计划。为用户各级人员制定培训计划
软件项目计划内容 ◼ 范围。对该软件项目的综合描述,定义其所要做的 工作以及性能限制,它包括:项目目标、主发功能、 性能限制、系统接口、特殊要求、开发概述。 ◼ 资源。包括:人员资源、硬件资源、软件资源等。 ◼ 进度安排。进度安排的主要工具有:工程网络图、 Gantt图、任务资源表。 ◼ 成本估算。保证项目能在预算内按时完成。 ◼ 培训计划。为用户各级人员制定培训计划
Estimating Completion Critical Path Method( CPM) Real time or actual time Available time Slack time Slack time available time real time Calculate slack time for each activity Critical path
Estimating Completion ◼ Critical Path Method ( CPM ) ◼ Real time or actual time ◼ Available time ◼ Slack time ◼ Slack time = available time - real time ◼ Calculate slack time for each activity ◼ Critical path
roject Personnel Staff roles and characteristic Work styles a Project organization
Project Personnel ◼ Staff roles and characteristic ◼ Work Styles ◼ Project organization