软件工程三要素
过程
方法
工具
软件过程的定义
软件过程是用于软件开发及维护的一系列活动、方法及实践。
常见软件过程分类(五大类)
客户-供应商过程:内部直接影响到客户、外部直接影响开发、向客户交付软件以及软件正确操作与使用的过程。
工程过程:软件系统、产品的定义、设计、实现以及维护的过程。
支持过程
管理过程:整个软件生命周期中为工程过程、支持过程和客户-供应商过程的实践活动提供指导、跟踪和监控的过程。
组织过程
常见软件过程(主要列举管理过程)
项目管理:计划、跟踪和协调项目执行及生产所需资源的管理过程。(主要关注时间、成本)
质量管理:对项目产品和服务的质量加以管理,从而获得最大的客户满意度。(主要关注质量)
风险管理:整个项目的生命周期中对风险不断的识别、诊断和分析,回避风险、降低风险或消除风险,并在项目以及组织层次上建立有效的风险管理机制。
子合同管理:选择合格的子合同商并对其进行管理的过程。
定义:软件质量是软件产品满足明确或隐含需要能力的性能和特性的总体。
软件质量度量模型的组成:
软件质量特性
软件质量子特性
软件质量度量评价标准
六个一级质量特性
功能性
可靠性
易用性
效率
可维护性
可移植性
一级特性对应的二级特性(选择题)
质量计划:确定项目应达到的质量标准,以及如何满足质量标准的计划安排和方法。
质量成本:为达到产品或服务质量而付出所有努力的总成本。
预防成本
评价成本
失效成本
质量保证:确保项目达到有关标准而开展的有计划、有组织的工作活动。
正规的质量评价:质量审计
总结性的质量评价:质量改进
质量控制:确定项目结果与质量标准是否相符,并及时纠正产品缺陷的过程。
静态方法:审计
动态方法:测试
项目:项目是为完成某一独特的产品、服务或成果所做的一次性努力。
项目管理:项目管理(PM)就是在项目活动中运用相关知识, 技能, 工具和技术满足项目的要求。
项目管理的五大过程组:启动、计划、执行、控制和收尾。
项目管理的十大知识领域:
项目集成管理
项目范围管理
项目时间管理
项目成本管理
项目质量管理
项目人力资源管理
项目沟通管理
项目风险管理
项目采购管理
项目相关利益者管理
可行性分析——净现值
定义:净现值是成本效益分析的有力工具之一。
优点:
适用性强,能基本满足项目年限相同的互斥投资方案决策。
能灵活地考虑投资风险。
WBS:WBS是面向可交付成果的对项目任务的分组,它组织并定义了整个项目范围。它是一个分级的树型结构,是对项目由粗到细的分解过程。
算法模型
专家判断
类比
自顶向下
自底向上
甘特图
缺点:无法描述任务的逻辑关系
关键路径法(CPM)
定义
关键路径:项目网络图中花费时间最长的活动路线叫做关键路径。
关键活动;组成关键路径的活动。
关键路径法的缺点:关键路径法中的活动周期是确定的,固定不变的,这与现实不太符合。
关键路径的特点:
关键路径上活动持续时间总和是项目的工期。
关键路径上任何一个活动的延迟都会导致整个项目完工时间延迟。
关键路径是相对的,也是变化的,非关键路径可能变为关键路径,关键路径也可能变为非关键路径。
计算
核心:正向求最早开始时间和最早结束时间,二者取大作为最早开始时间;反向求最晚开始时间和最晚结束时间,二者取小作为最晚结束时间。
PERT技术(工程评估评审技术)的步骤:
估计每个活动的最可能的时间,乐观的时间,悲观的时间,计算活动的期望周期与标准偏差;
正向遍历得到期望达到事件的日期;
满足目标的可能性。
关键链法(CCPM)步骤:
资源:资源是执行项目所需要的任何项和人。
资源分配直方图
风险的定义:一个不确定的事件或者情况,若其一旦发生,会对项目的目标,例如:进度、成本和质量,产生积极或消极的影响。
风险管理的框架
风险处理方法
配置管理的任务
标志变更
控制变更
确保变更正确实现
向受变更影响的组织和个人报告变更
配置项:软件配置管理的对象,一个软件配置项是项目中一个特定的、可文档化的工作产品集。