一、前言
接触软件工程有一段时间了,在系统化的工程里,我需要在自己理解的基础上,和大家一起探索、总结交流,分享,让我们在软件工程的世界里发现更美好的世界!在软件工程中不得不提起软件计划,它为软件工程,以及我们在构建软件和构建生活等等具有可操作的指导意义,为构建新软件建立方向以尽可能少的时间等完成软件阶段项目。软件计划的基本概念在百度中是这样写道:软件项目计划(Software Project Planning)是一个软件项目进入系统实施的启动阶段,主要进行的工作包括:确定详细的项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时间计划、成本和预算计划、人力资源计划等。
软件项目计划 |
|
1. 1 简介 |
1. 4 成本估算 |
1. 2 计划内容 |
1. ▪ 估算方法 |
2. ▪ 范围 |
2. ▪ 估算模型 |
3. ▪ 资源 |
2. 5 风险分析 |
4. ▪ 进度安排 |
1. 6 进度安排 |
3. 3 工程规范 |
2. 7 计划制定 |
|
3. 8 编制方针 |
|
4. 9 计划模板 |
二、提纲挈领,掌握框架
三、问题定义
问题定义:为软件需求分析功能与性能的依据。
(一)、定义内容:
包括:问题背景,开发系统的现状,开发的条件与理由,总体要求;问题的性质,类型转换,什么目标,开发条件,环境要求等。
问题定义报告是可行性研究的前提,问题定义报告不能是一厢情愿的,必须双方达成共识。有的时候一些小的系统也可以不写问题定义报告。经济可行性是领导最为关心的问题,研究的是投入产出,回收周期的估算的问题。而技术人员更多的关注的是技术可行性,需要考虑硬件是否符合
(二)、定义的步骤:
系统分析员到问题现场
->听取用户对系统的要求
->调查开发的背景理由
->看用户的报告
->加工整理
->与用户及负责人反复讨论
->改进不正确的地方
->写出双方都满意的问题定义报告文档
->确定双方是否可以进行深入系统可行性研究方向的意向
(三)实例:
某校教材科提出开发微机教材销售系统的要求,经过上述过程,写出问题定
义报告,说明微机教材销售系统的目标范围:
1、项目:教材销售系统;
2、背景:人工销售效率低,容易出错,
3、项目目标:建立一个高级无差错的微机教材销售系统;
4、项目范围:硬件利用现有微机,软件开发费<1500元;
5、初步设想:建议增加缺书统计与采购功能;
6、可行性研究:建议运行一周,费用不超过100元;
四、可行性研究
(一)可行性研究:
①问题识别 |
⑥环境分析 |
②信息分析 |
⑦ 确立系统方案,作出各种估算 |
③市场调查 |
⑧物理分析 |
④动态分析 |
⑨功能分析 |
⑤ 分析准备 |
⑥⑩模型评审
|
③市场调查:了解市场对待开发软件的需求情况;调查市场上已有的类似软件系统的功能、性能、价格情况
⑤分析准备:确立分析计划;规定由谁参加分析作业,任务分配;对参加分析的人员进行必要的培训
⑥环境分析
明确系统的目的和限制条件
1.使用单位的状况、经营方针和组织机构
2.使用单位的计算机利用情况
3.相关的硬件、软件及其它接口部分
4.用户的操作环境及操作要求
5.习惯,法律、制度上对软件的制约
(二)可行性研究的步骤
1.复查系统规模和目标;
2.研究目前正在使用的系统;
3.导出新系统的高层逻辑模型;
4.向用户推荐建议方法;
5.推荐行动方针,作出一个关键性的决定;
6.草拟开发计划,写出可行性论证报告;
7.提交上级和专家审查
五、软件计划内容
软件计划书是用管理员,技术人员和用户都能理解的术语来描述的具体包括:
1.软件范围:内容有:软件功能规模,软件能力对硬件的要求,接口界面的性质和复杂性
2.环境资源:
包括:⑴人力资源,在不同的阶段对不同的人员的要求,参见人员参与图
⑵硬件,包括目标机器,及其他机器
⑶软件,包括支撑软件和实用软件
⑷ 制定进度表,包括交付日期,如何组织分配力量
⑸ 软件成本,只要双方都能接区即可
资源性能描述:要什么样水平的人,什么样的功能性能的硬件和软件。
六、软件价格估计
软件的生产率是软件价格的基础,由此得出一些影响软件价格的因素:人口因素,产品因素,工程因素,资源因素。
软件成本的估算就是对一个软件项目开发全过程中的花费的代价的估算,,现在已有了一些可用的模型:
1.参数化算法: C=f(vi)
C是软件价格
Vi所选取的影响软件价格的独立参数
2.代码行(LOC)价格估算技术
有关参数:①源代码行,是软件产品计量单位,不包括注释,作业命....②劳动量:一个人参加劳动时间的长短;③软件生产率:单位劳动时间完成软件的数量;④L0C计算方法:首先,对设计的系统进行功能分解;然后,再根据历史数据和经验选择每个软件功能块的LOC价格;
3.任务分解方法
思想:首先把软件开发工程分解为若千个相对独立的任务,再分别估计每个开发任务的成本,最后累加得出总成本。
4.自动估计成本方法
减轻人的劳动但要有大量的经验数据做基础,要有良好数据库系统支持。
七、成本/收益分析
效益分析的目的:
从经济角度分析开发一个新系统是否划算,从而帮助领导决策是否开发一个新系统。
1.成本估计:是估计开发成本运行费用及新系统将带来的效益,方法有:⑴自顶向下估价:先估计系统再估计子系统。⑵自底向上估价:先估计系统中的每个模块再合成整体成本。
2.成本/效益分析法:
运行费:取决与系统的操作费用和维护费用;
系统的经济效益:因为新系统而增加的收入+折系统节省的运行费;
系统经济效益一般在整个生存周期内都存在;
八、几个有关概念:
1.货币的时间价值:一般用利用率表示。
2.纯收入:是指整个生存周期之内的累计经济效益与投资之差。
3.投资回收期:就是累计的经济效益等于最初投资所需的时间。
4.投资回收率: 用来衡量投资效益的大小。