软件行业项目开发流程是怎样的?

开发一个软件需要部门、技术、设计、编码、测试以及上线等步骤,今天我就来告诉大家这些步骤的简单信息。

1、需求部门

需求部门,是外包公司的叫法,产品部门一般在做自己的产品才有。

外包公司又分为产品外包,人家公司要做一个软件系统,外包公司接过来做,

需求部门:了解客户的需求,整理成需求文档便于软件的形成

人才外包:使用别的公司的人才来开发软件

2、技术部

架构师或者技术经理(项目经理)将需求部门的需求文档分析以后形成一个系统的需求分析文档,将功能细化

3、概要设计(架构师,技术经理)

形成数据库设计,db设计文档

定义出当前系统的各个业务模块,模块中的具体功能,以及此系统和外部对接的api

以及当前系统中各个子系统之间的接口

4、详细设计文档(在国内鲜有一个公司做)

将系统中的所有功能在文档上写一遍,定义类,类中的方法,以及伪代码,交给程序员实现即可

5、编码

给项目组各个成员分配模块,编写代码,以及自测

如果按照一个正常的开发流程,一个项目的编码差不多只占30%的时间

6、测试部门测试

黑盒测试:仅仅测试系统的功能正确性,流程正确性,如果发现了bug,则提交会程序员修改

白盒测试:不仅仅功能正确性,流程正确性测试,而要深入到代码级别测试代码的性能和健壮性

自动化测试:开发一个自动化测试工具帮助测试人员进行系统测试,例如:压力测试

相关概念:瀑布开发模式:将系统的所有功能全部实现以后,再统一测试

迭代开发模式:开发一些比较重要的功能,交给测试部门测试

进入第二批功能的开发,交给测试部门测试(里程碑)

7、系统交付 (上线)

  • 买服务器 (web服务器,数据库服务器)

  • 托管到机房(每个服务器分配一个IP地址)

  • 在每台机器上按照功能划分,安装相应的软件,确定操作系统版本 + IIS 版本 + DB版本 +.netframework哪个版本

  • 注意:一定要告诉机房的网管,先安装 IIS 再安装.netframework

  • 发布系统源码到Web服务器,将数据还原到数据库服务器上并且初始化基础数据

  • 找测试部门的测试人员整体再测试一遍系统

其实一个软件从前期准备,到后期推出也不过如此。