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

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

基本流程

一、可行性分析

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

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

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

二、需求分析

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

产品原型图

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

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

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

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

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

三、概要设计

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

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

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

四、详细设计

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

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

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

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

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

数据库表

五、开发阶段

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

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

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

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

开发软件

六、测试阶段

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

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

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

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

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

七、运行维护

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

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

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

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

开发计算机软件的基本流程相关推荐

  1. .net erp(办公oa)开发平台架构之流程服务概要介绍

    背景 搭建一个适合公司erp业务的开发平台. 架构概要图:     流程引擎开发平台:   包含流程引擎设计器,流程管理平台,流程引擎服务.目前只使用单个数据库进行管理.   流程引擎设计器 采用si ...

  2. rp软件app流程图_如何开发app软件,流程怎样

    好的APP开发公司有哪些 手机app开发分为Android客户端开发.iOS客户端开发.Symbian客户端开发.Windows Phone和BlackBerry OS等定制开发.如果找公司做的话,和 ...

  3. agilebpm脑图_干货基于SpringBoot2开发的Activiti引擎流程管理项目脚手架

    干货基于SpringBoot2开发的Activiti引擎流程管理项目脚手架 [干货]基于SpringBoot2开发的Activiti引擎流程管理项目脚手架 前言 在工作中,难免会遇到需要开发基于流程管 ...

  4. openresty开发系列31--openresty执行流程

    openresty开发系列31--openresty执行流程 我们先看个例子 location /test {     set $a 32;     echo $a;     set $a 56;   ...

  5. ios开发 mvp实践_实践中开发人员的工作流程-我们如何在30天内建立​​MVP

    ios开发 mvp实践 by Léna Faure 莱娜·福雷(LénaFaure) 实践中开发人员的工作流程-我们如何在30天内建立​​MVP (The developer's workflow i ...

  6. [vue-cli]不用vue-cli,你自己有搭建过vue的开发环境吗?流程是什么?

    [vue-cli]不用vue-cli,你自己有搭建过vue的开发环境吗?流程是什么? 基本概念 首先先了解先webpack的基本概念,webpack属于一个构建工具,主要有mode.entry.out ...

  7. SharePoint无代码工作流设计开发实例——交通费报销流程(一)

    开发环境: (1)SharePoint Designer 2010 (2)SharePoint Online(Office 365) 关于Office 365和SharePoint Online的相关 ...

  8. Spring MVC开发步骤以及执行流程

    Spring MVC开发步骤以及执行流程 开发步骤 1.在web.xml中定义前端控制器DispatcherServlet来拦截用户请求. 2.如果要以post方式提交请求,则定义包含表单数据的jsp ...

  9. Web前端开发之网站制作流程详细讲解

    一个网站想要顺利的运行就离不开HTML5网页技术开发人员,因此熟悉整个网站的开发建设流程对HTML5网页技术开发人员尤为重要,本篇文章扣丁学堂小编就和大家分享一下Web前端开发之网站制作流程,希望可以 ...

  10. 成都工控开发:太简单了!串口触摸屏开发HMI的全流程介绍

    成都工控开发:太简单了!串口触摸屏开发HMI的全流程介绍 有很多事,把它说清楚了,就简单了,比如用触摸屏开发HMI. 触摸屏是很常见的,比如说你用的智能手机,用手指在上面划划划就能显示出我们想要的页面 ...

最新文章

  1. 线上比赛投诉:同一赛点两支队伍比赛车模是否相同?
  2. 逆误差函数:torch.erfinv
  3. JavaScript 技术篇-chrome浏览器读取剪切板命令document.execCommand(‘paste‘)返回false原因及解决方法
  4. 36招搞定电脑一切难题
  5. 前端Javascript与Nodejs的异同
  6. 矩阵快速幂各类题型总结(一般,共轭,1 * n, 矩阵简化)
  7. Pytorch框架中SGD&Adam优化器以及BP反向传播入门思想及实现
  8. php getdbused,PHP之购物车
  9. jbpm知识点——state
  10. IT测试时准确数据的技巧(IT总结之三去除旧数据)
  11. QT创建和使用动态链接库
  12. [Git] Squash all of my commits into a single one and merge into master
  13. 【webrtc】基于libyuv的转换
  14. Notepad软件的下载安装和使用
  15. jquery设置输入框为只读_文本框只读_jquery如何设置文本框只读
  16. 桂林电子科技大学校园网登录数据包抓取教程实现路由器每天自动登录
  17. html基本标签斜体,请选择产生斜体字的HTML标签:
  18. 为什么百度搜索引擎优化比以前更难?
  19. mtk flash配置
  20. Java毕业设计_集美大学诚毅学院校友录系统设计与开发

热门文章

  1. 详解相机的sensor工作原理
  2. UCF-101视频数据分类资源
  3. 将子节点中含子节点的json数据转换成ztree适合的json数据格式
  4. EXCEL 导入MSSqlserver数据库报错
  5. jetson nano 人体姿态识别
  6. 51单片机c语言正弦波,用51单片机产生正弦波,那个数据表怎么得到的?谢谢!...
  7. html中怎么写行内样式,css行内样式是什么?
  8. SPSS基础教程:SPSS菜单命令详解
  9. layui表单验证必填;下拉列表必填;xmselect必填;layui vue下拉列表必填
  10. 【琐碎】element-wise multiplication