方法概要

管理软件开发项目,是一个非常复杂的问题。本方法虽只涉及非常粗浅的步骤和概念,相信正是因为其精简性,会给初学者带来指导性的效果。应该有一些用处吧。

1
将目标具体化

无论是为内部用户开发,还是为客户提供外包开发服务,都应该弄清楚系统的目标是什么,并将这些目标具体化。最好能列出一个清单来。
2
问题定义

这个阶段要能回答“要解决的问题是什么?”虽然有前一个阶段的目标具体化,还是应该认真调查、讨论,整理出优质的问题定义文档。
3
可行性研究

“对于上一个阶段的问题有可行的办法去实现吗?”为了回答这个问题,系统分析人员需要进行一次概念性的(或者高度抽象的)的系统分析和设计。可行性分析应该比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范围,论证这个问题是否值得去做,是否有可行的解决办法。
4
需求分析

详细地研讨“为了解决这个问题,目标系统必须做什么?”主要是确定目标系统必须具备哪些功能。在这一阶段要求用户密切配合。

通常这一阶段的成果是:1)数据流图;2)数据字典;3)简要的算法描述。

5
总体设计

这个阶段必须回答的问题是“概括地说,有哪些选择可以解决这些问题?”许多问题的解决方法有多种。如我们为客户开发CRM系统。其中可能会用到邮件发送的功能。这个功能中要使用的邮件服务器是租用还是自行开发呢?等。这样会有:

1)低成本解决方案

2)中等成本解决方案

3)高成本的较完美的解决方案

当然,这要看客户愿意支付的金额是多少了,或者你们的开发合同已经签订了,合同金额已经签订了。要选哪一个估计要由你们老板来定了。

一般会用层次图来描述软件的结构。

6
详细设计

总体设计阶段以比较抽象的方式提出了解决问题的方法。详细设计阶段的任务就是把解决方法具体化,也就是回答“应该怎样具体地实现这个系统呢?”

这个阶段的任务还不是编写程序,而是设计出程序的详细规范说明。这种说明类似于工程领域中工程师经常使用的工程蓝图,它们应该包含必要的细节,程序员可以根据它们写出实际的程序代码。

通常用HIPO图或PDL语言描述详细设计的结果。

7
编码和单元测试

这个阶段的任务是写出正确的容易理解、容易维护的程序模块。
8
综合测试

这个阶段的关键任务是通过各种测试使软件达到预定的要求。
9
软件维护

维护有四种:

1)纠错性维护;

2)适应性维护;

3)完善性维护;

4)预防性维护。

http://www.ypgogo.com/Space/methodinfo/id/17/methodid/394

正式验收:正式验收前,软件开发方应向信息技术管理部门提交软件开发过程中各阶段性文档,包括需求分析说明书、概要设计说明书、详细设计说明书、数据库设计说明书、源程序代码、可供安装使用的系统安装程序、系统管理员手册、用户使用手册、测试计划、测试报告、用户报告、数据移植计划及报告、系统上线计划及报告、用户意见书、验收申请等。

http://pm.chinaitlab.com/jindu/724970.html

如何管理软件开发项目?相关推荐

  1. 如何管理软件开发项目中,需求频繁的变更。

    在开发项目过程中,用户随时会提出一些新的需求,要求开发人员解决,这些需求的提出,有时在开发阶段中有时在开发阶段后.这种在需求分析的两个相邻子阶段中,或者在迭代周期的需求分析中,后一段或周期的需求分析结 ...

  2. 软件开发项目中的成本比例

    我以前说过一段话:"花费6/7的工作量,去保证那1/7的,有价值的工作.这不是太浪费了吗?" 结果 纯粹思维居然不同意:"老大,你真的是孤陋寡闻了.人均900行/月,已经 ...

  3. 软件开发项目的体系化管理流程

    软件开发项目的体系化管理流程 很多代码规范和新技术以及相关软件都是为了解决软件开发过程中的相关问题而发展出来的,所以在学习软件开发之前先要对其整体的流程有所了解. 各公司在软件开发项目方面的体系化管理 ...

  4. 软件开发项目的风险管理 (转)

    原作者:李艺兰 软件开发项目的风险管理 众所周知,软件开发过程可分为:需求分析.设计.编码.测试.安装及维护等几个过程(在RUP方法中:业务建模.需求.分析设计.实施.测试.部署),实际上一个完整的软 ...

  5. 软件开发项目文档模版

    这是一份软件开发项目的文档模版,编写给有需要的人. XX系统开发 开发团队: 组长: 组员: 备注:广州大学华软软件学院 目录 XX系统开发.............................. ...

  6. 承接各类软件开发项目

    承接各类软件开发项目.测试项目.培训教学 尊敬的各位来访者,您好! 首先感谢你对在下的关注,我的发展离不开各位的支持与厚爱. 本人的开发技术生涯伴随微软.NET平台发展已有近十年.所谓"知之 ...

  7. 在一个软件开发项目中进行实际日程安排的十二点提示(转)

    Laura Rose , QE Manager, Rational<?XML:NAMESPACE PREFIX = O /> <?XML:NAMESPACE PREFIX = ST1 ...

  8. 浅析软件开发项目中的需求分析

    [摘要]在软件开发项目中,需求分析是关乎软件项目开发成败的重要因素.现在的软件项目中返工开销占了总开销很大比例,而导致返工的主要原因是需求分析不明确.针对这一情况,文章阐述了软件开发中需求分析任务.需 ...

  9. 软件开发项目风险管理的几点体会

     参与过大型软件项目的人都会认识到许多事情都可能出错,一但出错就可能给项目带来危害.损失或其它不利影响.风险是在项目中发生的一系列事件或不利结果的可能性.软件开发是一项 高风险的活动,在项目开发过 ...

最新文章

  1. 问题解决:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  2. Perl调试器的用法
  3. 【转载】C++操作符
  4. python中的reindex_Pandas之ReIndex重新索引的实现
  5. Spring中三种配置Bean的方式
  6. console中应用MFC类的方法
  7. nditer —— numpy.ndarray 多维数组的迭代
  8. Netty的前期准备:初探NIO中的缓冲区
  9. Oracle分区查询
  10. 高考方向计算机基础试题题库,计算机基础考试题库 计算机基础考试题库(含答案).doc...
  11. 注册页面获取手机验证码
  12. “add measurements”(添加度量)菜单问题
  13. 剑指Offer66题之每日6题 - 第六天
  14. golang:字符类型(byte和rune)
  15. Win10微信 PC 端打字卡顿解决方法
  16. 牧牛图-南怀瑾上师讲解
  17. 信息管理导论川大667 | 第二章核心知识点
  18. PinBlock/PinBuffer的计算方法
  19. 技术分享:Proxy-Pool代理池搭建IP代理
  20. 动手学深度学习——矩阵求导之矩阵的迹和微分

热门文章

  1. 谈谈javascript中的多线程
  2. SQL SERVER 日期时间 格式
  3. 分布式服务框架Dubbo/Dubbox入门示例
  4. Linux 开机自启动
  5. HADOOP |MapReduce篇 (08) MapReduce特性
  6. Flink 创建流处理运行环境
  7. 【编程之美】中国象棋将帅问题
  8. 用c语言简单办法做一个字典_如何用c语言做一个简单的英语词典
  9. 伯克利BLAM纯激光SLAM
  10. 三星礼包 android,SAMSUNG 三星 Galaxy S8 智能手机 移动合约版(伪开箱)