【系统分析师之路】系统分析师必知必会(项目管理篇)
一. 可行性研究
1. 可研的概念
可研是对开发信息系统收益的度量。
生命周期任何检查点都可进行可行性评估。
2. 可研的分类
1. 技术可行性
技术风险,技术方案能否实现。给定资源范围能否实现
2. 经济可行性
成本估算,收益评估,评估是否值得开发
3. 运行操作可行性
行政,制度,人员素质满足操作要求
4. 法律可行性
合同,侵权及各种与法律抵触问题
5. 进度可行性
对项目进度表的合理性进行的度量
3. 可研步骤
核实问题定义与目标
分析现有系统
为新系统建模:获得新系统框架,概念性认识
用户复核
提出并评价解决方案
确定最终解决方案:回答是否可行,若可行,什么地方最合理,说明理由;
草拟开发计划:粗略,开发所需资源,人员,时间进度安排;
提交可研报告
二. 范围管理
将产生项目产品所需进行的项目工作(项目范围)渐进明细和归档的过程
1. 过程
范围计划制定,收集需求,定义范围,创建WBS,范围确认,范围变更控制。
1. 范围计划制定
必须包含范围说明和范围管理计划。
范围说明中至少要说明项目论证,项目产品,项目可交付成果,项目目标。
范围管理计划是描述如何对范围进行管理,项目范围怎样变化才能与项目要求相一致等问题。它应该包括一个对项目范围预期的稳定而进行的评估。
2. 创建WBS
将项目可交付成果细分为较小的,更加易于管理的部分。在这个过程中,项目组要建立一个工作分解结构WBS。
3. 范围确认
对项目范围进行正式认定,项目主要干系人,如项目客户和项目发起人等要在这个过程中正式接受可交付成果的定义。
4. 范围控制
控制好变更必须有一套规范的变更管理流程,在发生变更时,遵循规范的变更程序来管理变更。
通常对发生的变更,需要识别是否在既定的项目范围内,如果是在项目范围之内,那么就需要评估变更所造成的影响,以及如何应对措施。受影响的各方都应该清楚明了自己所受到的影响。
如果变更是在项目之外,那么就需要商务人员与用户方进行谈判,看是否增加费用,还是放弃变更。
三. 风险管理
贯穿项目过程的一系列管理步骤。
1. 风险识别
该过程自始自终进行,风险项目检查表列出了所有可能的与每一个风险因素有关的提问。
2. 风险评估
风险估计主要是确定风险发生的概率和后果,风险评价是确定该风险的经济意义以及维护的经济效益分析。
3. 风险量化和处理
得出量化序列表,项目确认研究,所需应急资源等量化结果。
风险处理包括三种方法:风险控制,风险自留,风险转移。
4. 风险监控
跟踪识别的风险,识别剩余风险和出现的风险,修改风险管理计划,保证风险计划的实施,并评估削减风险的效果。
包括对风险发生的监督和对风险管理的监督。
5. 风险曝光度
风险发生率 * 风险所造成的损失。
风险曝光度越大的风险越要值得注意。
6. 风险分类
软件风险是指在软件开发过程中面临的一些不确定性和可能造成的损失。
软件风险可以分为商业风险,项目风险和技术风险三个大类。
1)商业风险
威胁待开发软件生存能力。
包括开发一个没有人真正需要的优秀产品或系统(市场风险)。
产品不再符合公司的整体商业策略(策略风险);
建造一个销售部分都不知道如何去卖的产品;
由于重点转移以及人员变动,而失去了高级管理层的支持(管理风险);
没有得到预算或者是人力资源方面的保证(预算风险)。
2)项目风险
潜在的预算,进度,个人,资源,用户和需求方面的问题,以及他们对软件项目的影响。
3)技术风险
潜在的设计,实现,接口,检验和维护方面的问题。
规格说明的多义性,技术上的不确定性,技术陈旧,不成熟技术也是
四. 质量管理
1. 质量基础
软件需求是软件质量测试的基础;
开发标准定义了用于指导软件开发方式的准则;
期望需求间接的定义了用户对某些特征的期望。
2. Pokayoko
PoKayoko是防差错系统,它的基本理念是:绝不允许哪怕一点点缺陷产品的出现。必须在实际中达到零缺陷。
每天的每一件事都有可能出现差错,导致缺陷。
我们不可能消除差错,但必须及时发现和立即纠正;防止差错形成缺陷。
3. 软件质量保证
软件质量保证是建立一套有计划的,有系统的方法,来向管理层保证,拟定出的标准,步骤,实践和方法能够正确的被所有项目所采用,目的是使项目开发过程对于管理人员来说是可见的。
SQA是一种应用于整个软件过程的活动,它包含了:
一种质量管理方法
有效的软件工程技术
在整个软件过程中采用正式的技术评审
一种多层次的测试策略。
对软件文档及其修改的控制
保证软件遵从软件开发标准
度量和报告机制
SQA有基于非执行的测试(即评审),基于执行的测试(即测试),和程序正确性证明。软件评审是最为重要的SQA活动之一。
它的作用是在发现及改正错误的成本相对较小时就及时发现并排出错误。
4. 正式技术评审FTR
审查和走查是进行正式技术评审的两类具体方法。
正式技术复审FTR是一种由软件工程师进行的软件质量保证活动。FTR的目标是:
在软件任何的一种表示形式中,发现功能,逻辑或实现的错误。
正式经过复审的软件的确满足需求
保证软件的表示符合预定义的标准
得到以一种一致的方式开发的软件
使项目更易于管理
FTR实际上是一种复审的方式,包括了走查,审查和轮查,以及其他软件小组的技术评估。每次FTR都是以会议的形式进行。
软件质量保证是软件项目控制的重要手段,软件评审是软件质量保证的主要活动之一,其主要方法是审查和复审。
五. 配置管理
1. 基本概念
软件配置管理SCM是在整个生命周期中,对软件及其相关产品的变更进行管理,以提高效率避免混乱,有效保护软件资源的一种技术。
SCM可以有效记录某一特定的软件产品的全部配置项(代码,文档,数据和测试用例等)的历史变更轨迹,控制变更行为,使变更在一种受控的状态下进行。
软件配置管理活动主要有:编制配置管理计划,配置标识,配置控制,配置状态报告,配置评价,发行管理与交付。
SCM可被视为应用于整个软件过程的软件质量保证活动。
软件配置管理的主要目标是使改进变化可以更容易地被适应,并减少当变化必须发生时所需花费的工作量。
2. 配置管理库作用
记录配置相关的所有信息
利用库中信息可以评价配置效果
从库中提取各种配置管理过程的管理信息
3. 配置管理库的分类
开发库
开发人员使用,需要频繁修改,控制宽松
受控库
阶段产品。
产品库
最终产品。
4. 基线
是软件生存期各个发展阶段的工作成果,软件开发各阶段的配置基线如下:
计划阶段:开发计划
需求分析阶段:需求规格说明书,用户手册
设计阶段:设计规格说明
编码阶段:程序清单
测试阶段:测试报告
5. 配置状态报告
记录每一项变更,提高开发人员之间的通信能力,避免理解不一致和冲突。
主要内容:变更内容,原因,申请人,实施人,时间,变更影响分析;
6. 软件配置项
一般认为软件生存周期各个阶段活动的产物经过批准后,即可称之为软件配置项。
软件配置项包括了:
与合同,过程,计划和产品有关的文档和资料
源代码目标代码,可执行代码
相关产品包括了软件工具,库内的可重用软件,外购软件及顾客提供的软件等。
六.进度管理
1.甘特图
Gantt图是一种简单的水平条形图,它以一个日历为基准描述项目任务,横坐标表示时间,纵坐标表示任务
图中的水平线段表示对一个任务的进度安排,线段的起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。
简单说来,它就是将关键路径分析的结果应用到项目日程表中;
甘特图中的里程碑是阶段产出文档的编制与评审。
1)优点
标明了个任务的计划进度和当前的进度,能动态的反应软件开发进展情况。
2)缺点
难以反应多任务之间存在的复杂逻辑关系。
3. PERT图
包括WBS及工作包先后关系的网络图。
提供了定量工具:关键路径,估算单个任务最可能的开发持续时间,计算边界时间。
PERT图是进度安排的常用图形描述方法之一,它能够反应任务之间的依赖关系。
在PERT图上通过关键路径分析可以计算完成整个项目的最短工期。
PERT图主要描述不同任务之间的依赖关系;Gantt图主要描述不同任务之间的重叠关系
4. 优先日程图
也叫做前导图。
允许相互依赖的活动可以部分并行执行;
5. 进度计划启发式方法
主要用于复杂的项目计划的分析。
6. 图的区分
关键路径法是多种项目进度分析方法的基础。
甘特图将关键路径法分析的结果应用到项目日程表中;
PERT图是关键路径法的延伸,为项目实施过程中引入活动持续期的变化;
优先日程法允许相互依赖的活动可以部分并行进行。它就是前导图法。
7. 进度调整
项目进度计划调整通常包含以下几种情况:
1)关键活动的调整
对于关键路径,由于其中任一活动持续时间的缩短或延长都会对整个项目工期产生影响。
2)非关键活动的调整
为了更充分地利用资源,降低成本.必要时可对非关键活动的时差做适当调整,但不得超出总时差,且每次调整均需进行时间参数计算,以观察每次调整对计划的影响。
3)增减工作项
增加工作项,只对原遗漏或不具体的逻辑关系进行补充;减少工作项,只是对提前完成的工作项或原不应设置的工作项予以消除。
4)资源调整
若资源供应发生异常时,应进行资源调整。
8. 松弛时间
松弛时间为最早开始时间(ES)与最迟开始时间(LS)之差
或者最早结束时间(EF)与最迟结束时间(LF)之差
七. 成本管理
成本是信息系统生命周期内各阶段的所有投入之和,按照成本性态分类,可以分为固定成本、变动成本和混合成本。
1. 固定成本
固定成本是指其总额在一定期间和一定业务量范围内,不受业务量变动的影响而保持固定不变的成本。
例如,管理人员的工资、办公费、固定资产折旧费、员工培训费等。
固定成本又可分为酌量性固定成本和约束性固定成本。
酌量性固定成本是指管理层的决策可以影响其数额的固定成本,
例如,广告费、员工培训费、技术开发经费等;
约束性固定成本是指管理层无法决定其数额的固定成本,即必须开支的成本,
例如,办公场地及机器设备的折旧费、房屋及设备租金、管理人员的工资等。
2. 可变成本
变动成本也称为可变成本,是指在一定时期和一定业务量范围内其总额随着业务量的变动而成正比例变动的成本。
例如,直接材料费、产品包装费、外包费用、开发奖金等。
变动成本也可以分为酌量性变动成本和约束性变动成本。开发奖金、外包费用等可看作是酌量性变动成本;
约束性变动成本通常表现为系统建设的直接物耗成本,以直接材料成本最为典型
3. 混合成本
混合成本就是混合了固定成本和变动成本的性质的成本。
例如,水电费、电话费等。这些成本通常有一个基数,超过这个基数就会随业务量的增大而增大。
例如,质量保证人员的工资、设备动力费等成本在一定业务量内是不变的,超过了这个量便会随业务量的增加而增加。
有时,员工的工资也可以归结为混合成本,因为员工平常的工资一般是固定的,但如果需要加班,则加班工资与时间的长短便存在着正比例关系
4. 软件规模估算方法
1)修改法
某公司决定采用某开源电子邮件系统作为公司内部使用的电子邮件系统,但该系统无法完全满足公司需求,需要对该软件进行一定程度的扩充和修改。在项目正式启动前,需要对该软件项目的规模进行估算,适合的软件规模估算方法就是修改法。
修改法主要用于这种情况:一个项目中包含对已有软件的使用,但该软件必须进行某种程度的修改才能作为项目的一部分。
计划者要估算必须完成的修改的数目及类型,从而估算出软件的规模
2)标准构件法
软件由不同的“标准构件”组成,这些构件对于一个特定的应用领域而言是通用的。
因此根据相应的历史数据,可以估算出单个构件的规模,从而估算出整个软件的规模
3)功能点法
功能点法使用软件所提供的功能的测量作为规范化值,功能点是基于软件信息域的可计算的测试及软件复杂性的评估而导出的。
4)模糊逻辑法
使用了近似推理技术。计划者必须标识应用的类型,建立其定性的规模估算,之后在使用的范围内精化该估算。