软件开发流程回顾

来源:互联网 发布:手机上怎样改淘宝评价 编辑:程序博客网 时间:2024/06/10 01:45
1.需求分析
系统分析员向用户了解需求,并深入了解和分析,根据自己经验列出功能需求文档后再次向用户确认需求。(感觉需求太重要了,需求不定,搞的开发人员焦头烂额的)
2.概要设计
主要对软件系统设计的考虑,基本的流程,组织结构和模块划分等
3.详细设计
描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试(概要和详细设计整理清楚,考虑完全之后开发才会更顺利)
4.编码
在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都出现过。编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候吗?从来没有!
(这些话充分说明详细设计有多关键,只有在前期将层次结构,模块设计,调用关系捋清楚后,代码实现才会更容易。后边一句bug永远存在,真是一大安慰啊。要想在软件开发追求十全十美,简直是在虐自己。)
5.测试
测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。软件测试有很多种:按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和整体联调;按照测试条件,可以分为正常操作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。以上都很好理解,不再解释。总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外部测试都是正常的,因为永远都会有不可预料的问题存在。
(呵呵,永远都会有不可预料的问题存在)
6.软件交付
7.验收
8.维护
原创粉丝点击