background image

3)编程:如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿

不到钱。

4)测试:目的是让你知道,什么时候算是完成了。如果你聪明,你就应该先写测试,

这样可以及时知道你是否真地完成了。否则,你经常会不知道,到底有哪些功能是真正完
成了,离预期目标还差多远。

软件开发中,客户和开发人员都有自己的基本权利和义务。

1)客户:

定义每个用户需求的商业优先级;
制订总体计划,包括用多少投资、经过多长时间、达到什么目的;
在项目开发过程中的每个工作周,都能让投资获得最大的收益;
通过重复运行你所指定的功能测试,准确地掌握项目进展情况;
能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调

整项目计划;

能够随时取消项目;项目取消时,以前的开发工作不是一堆垃圾,已开发完的功能是

合乎要求的,正在进行或未完成的的工作则应该是不难接手的。

2)开发人员:

知道要做什么,以及要优先做什么;
工作有效率;
有问题或困难时,能得到客户、同事、上级的回答或帮助;
对工作做评估,并根据周围情况的变化及时重新评估;
积极承担工作,而不是消极接受分配。

1.1.3 软件开发过程

软件开发过程一般分为以下

6 个阶段:

1. 计划

对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和

社会因素等

3 个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问

题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益
和开发进度作出估计。制订完成开发任务的实施计划。
2. 分析

软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、

正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来
的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写
需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据
流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件
系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口