相信大家做了几个项目,虽然都是紧紧张张的完成了,但是没有一个很好的开发流程。在小优看来,有条理的开发项目会有更高的效率。也许开发的实际情况各有不同,但是这个时候只要对流程有所取舍,那么也会对项目的开发有所帮助。今天小优给大家分享一下项目的开发流程都有哪些。此文有些长,希望大家耐心的看下去。
一、需求分析
相关系统分析员向用户初步了解需求,然后用相关的工具软件列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。
系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚列出系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。
系统分析员向用户再次确认需求。
二、概要设计
首先,开发者需要对软件系统进行概要设计,即系统设计。 概要设计是需要对软件系统的设计进行考虑, 包括系统的基本处理流程(包括系统逻辑、业务逻辑)、系统的组织结构(一级功能、二级功能等)、模块划分(不同的功能模块分析)、功能分配、接口设计(公用接口、私有接口、类的继承等)、运行设计、数据结构设计(数据表的设计)和出错处理设计等,为软件的详细设计提供基础。
三、详细设计
在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,
以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。
四、编码实现
在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。
在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都出现过。
编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候吗?从来没有!
五、软件测试
测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。
软件测试有很多种:
1.按照测试执行方,可以分为内部测试和外部测试;
2.按照测试范围,可以分为模块测试和整体联调;
3.按照测试条件,可以分为正常操作情况测试和异常情况测试;
4.按照测试的输入范围,可以分为全覆盖测试和抽样测试。
六、软件交付
在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。
《用户安装手册》详细介绍安装软件对运行环境的要求、安装软件的定义和内容、在客户端、服务器端及中间件的具体安装步骤、安装后的系统配置。
《用户使用指南》包括软件各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明。
七、系统验收和维护
根据软件设计的需求对照系统功能的完成情况,是否有遗落或者风格等问题。软件在使用的过程中,用户在使用的过程中还会出现各种未知的情况,程序员或者产品设计方,根据产品使用方的实际情况进行一定时间的软件维护。
以上就是一个项目的具体开发流程。
一个项目的开发是需要很多个部门相互配合来制作的,在这个过程中,程序员是占了很大的比重的,因此程序员除了自己的个人专业硬实力之外,对项目开发流程的熟悉、与其他部门的沟通对接、对客户、用户偏好的了解等这些软实力也还是非常重要的。