在很多人看来,计算机软件开发主要就是开发人员的工作,只要把想法告诉他们,他们就能把软件开发出来,这种情况是存在的,要不这个软件非常简单,要不有这样能力的开发人员综合能力是非常强的,但这种认知也是片面的,开发一个计算机软件不单单只是开发人员的工作,有时候开发人员工作所占用的资源、时间甚至只是整个项目中非常小的一部分。那到底开发一个计算机软件的基本流程是怎么样的?需要什么人员的参与呢?下面就由小编来给大家介绍一下。

在小编看来,计算机软件的开发流程按顺序可以划分为:可行性分析;需求分析;设计(概要、详细);开发阶段;测试阶段;运行维护。

windows软件开发架构和逻辑_UI

基本流程

一、可行性分析

1、公司要对项目确定项目经理,由公司和项目经理确定项目的主要组成人员,包括:产品经理、架构工程师、UI工程师、开发工程师、测试工程师等。

2、项目经理组织业务人员、产品经理等对项目的场景、效益、技术、管理等各方面进行调研和可行性分析,并把存在的问题及时与客户进行交流,输出项目的调研报告、可行性分析报告等。

3、若经过可行性分析,项目组能在规定的时间和资源范围内完成该项目,则出成本和资源使用计划书,并把相关资料提交给公司和客户,可以着手准备下一步的工作;若经过调研和分析,项目组无法在规定的时间和资源范围内完成该项目,则把相关依据提交给公司和客户,协调对资源进行调整,调整完成后进入下一步的工作。

二、需求分析

1、产品经理要进行需求采集、需求分析和需求确认这几方面的工作,然后输出需求分析文档和产品原型图,文档和产品原型图要及时与客户进行沟通,不符合客户要求的要及时修改,并做好修改记录。

windows软件开发架构和逻辑_windows软件开发架构和逻辑_02

产品原型图

2、确定原型图后,产品经理可输出业务流程图和页面跳转流程图,并与客户做开发前的需求确认工作。

3、产品经理输出培训文档,对项目组的人员进行需求讲解。

4、架构工程师根据需求对整个软件的体系架构和关键模块进行分析设计。

5、架构工程师和开发工程师根据需求和架构设计,制定项目开发计划和模块分解表。

6、UI工程师根据需求、原型图和开发计划,制定UI设计计划,以保证及时完成各页面UI设计工作。

三、概要设计

1、架构工程师根据需求和体系架构对软件运行环境、模块编码、流程控制、接口、运行控制和数据结构进行设计,并输出概要设计文档。

2、开发工程师根据概要设计文档设计数据库结构,并输出数据库设计说明书。

3、UI工程师根据需求分析、原型图和UI设计计划,制定UI设计规范,并输出文档。

四、详细设计

1、UI工程师根据产品原型图、UI设计规范,设计软件界面效果图。

2、开发工程师确定每个模块的算法,写出每个模块详细的过程描述。

3、开发工程师确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节,并形成详细设计文档。

4、为每一个模块设计出一组测试用例,以便在开发阶段对模块代码进行预定的测试。

5、开发工程师根据数据库设计说明书进行数据库物理设计,设计数据库表、字段、描述等,统一命名规则。

windows软件开发架构和逻辑_产品经理_03

数据库表

五、开发阶段

1、开发工程师根据产品原型图、UI效果图、详细设计文档,选择合适的开发环境、开发工具、开发语言等,统一每个模块、页面的命名规范。

2、开发工程师搭建软件框架,进行模块编码。

3、开发工程师对自己开发出来的模块要进行测试用例自测或是开发人员之间互相测试,排除出现的问题。

4、开发工程师要养成良好的开发习惯,编写好开发说明文档,做好代码功能注释、使代码的可读性更强。

windows软件开发架构和逻辑_windows软件开发架构和逻辑_04

开发软件

六、测试阶段

1、测试工程师根据开发阶段形成的说明文档和程序架构,设计测试用例,测试用例不仅要考虑合理的输入数据,也要考虑不合理的输入数据。

2、测试工程师对程序进行单元测试、集成测试、系统测试,检查是否正确完成规定的功能,把出现的编码错误、算法错误整理成文档,并提交给开发工程师。

3、开发工程师根据测试工程师提交的测试文档,对出现的错误进行修改,再交由测试工程师测试,通过后完成。

4、产品经理、测试工程师安排软件测试版给普通用户试用,并收集用户使用意见和问题,把软件出现的错误交由开发工程师进行修改,这时候软件的错误数量已经很少,对软件的改动不大。

5、产品经理、测试工程师完成软件各端口的操作手册、软件使用手册等。

七、运行维护

1、项目经理组织客户、业务人员、产品经理、开发工程师进行软件验收、上线运行工作。

2、产品经理对软件使用人员进行培训。

3、开发工程师定时对软件进行各项维护,对使用过程中出现的问题要及时进行修改。

从以上基本流程可以看出,软件开发不单单只是开发人员的工作,要开发出一款符合需求、运行稳定的软件,项目组人员需要完成大量开发前期和后期的相关工作。

 

感谢原作者分享!