0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

软件开发流程、角色分工、软件环境的三个方面

发表时间:2023-10-27 08:03:57

文章来源:炫佑科技

浏览次数:184

菏泽炫佑科技

软件开发流程、角色分工、软件环境的三个方面

作为一名软件开发工程师,我们需要了解软件开发过程中的开发过程,以及软件开发过程中涉及到的工作角色,角色的分工和职责,了解软件开发过程中涉及到的四种软件环境软件开发。我们将从软件开发流程、角色分工、软件环境三个方面来整体介绍软件开发

1、软件开发流程

1. **阶段:需求分析

完成产品原型和需求规格书的准备。

产品原型一般使用网页(html)来展示当前页面显示什么样的数据,页面的布局是什么样的,点击某个菜单时打开什么页面,点击某个按钮时出现什么效果等等。通过产品原型看到的。

需求说明书一般使用Word文档来描述当前项目的功能。 文档中将描述每个功能的需求和业务流程。

2. 第二阶段:设计

设计内容包括产品设计、UI界面设计、概要设计、详细设计、数据库设计。

设计阶段,会发布相关UI界面和相关设计文档。 比如数据库设计时,需要设计当前项目涉及到哪些数据库,每个数据库中包含哪些表,这些表结构之间是什么关系,表结构中包含哪些字段,字段类型文档中会明确描述。

3. 第三阶段:编码

编写项目代码并完成单元测试。

作为软件开发工程师,我们的主要工作就是对现阶段分配给我们的模块功能进行编码和实现。 编码完成后,进行单元测试。 单元测试通过后,进入下一阶段。

4. 第四阶段:测试

在这个阶段软件开发流程、角色分工、软件环境的三个方面,测试人员主要负责对测试环境中部署的项目进行功能测试并出具测试报告。

5.第五阶段:线上运维

项目上线前,运维人员会在服务器上准备软件环境安装和配置。 配置完成后,我们开发的项目将被部署并运行在服务器上。

作为软件开发工程师,我们的主要任务是在编码阶段,但在一些小型项目组中,我们也会涉及到数据库设计、测试等方面的工作。

2、角色分工

整个软件开发流程涉及到的岗位角色,以及各个角色的职责分工

职位/角色职责/分工

专案经理

负责整个项目,分配任务并控制进度

产品经理

进行需求调研,输出需求调研文档、产品原型等。

用户界面设计师

基于产品原型的输出界面效果图

建筑师

项目总体架构设计、技术选型等。

开发工程师

功能代码实现

测试工程师

编写测试用例并输出测试报告

运维工程师

软件环境搭建及项目上线

上述角色分工是项目团队中比较标准的分工。 但在实际项目中,有些项目团队可能因人员紧张而没有专门的架构师或测试人员。 这个时候可能就需要一个项目经理了。 或者兼职程序员

3、软件环境

软件应用开发的经典模型有几种环境:开发环境()、集成环境()、测试环境()、QA验证、模拟环境()、生产环境()。

(1)开发环境(dev)或本地环境

开发环境是专门供程序员进行开发的服务器。 配置可以相对任意。 为了开发和调试的方便,一般都会打开所有的错误报告。

开发人员通常先在本地环境进行开发,根据需求文档开发功能。 功能开发完成后,他们会参考开发环境进行自测试,外部用户一般无法访问。

1. 开发学生进行自我测试并将功能流程串联起来。

2.出现Bug后,修改并验证Bug,并将代码提交到测试环境

(2) 测试环境(测试)

软件开发工程师完成项目功能模块的开发并通过单元测试后,需要将项目部署到测试服务器上,供测试人员测试项目。那么这个测试服务器就是专门供测试人员使用的环境,即测试环境,用于项目测试,外部用户一般无法访问。

通常,克隆生产环境配置的副本。 如果一个程序在测试环境中不能正常运行,那么就不能将其发布到生产机器上。

1.测试学员根据测试环境重点测试新功能并提交Bug。

2、进行旧功能测试回归、bug回归等。

(3)预发布/模拟生产环境()

可以理解为环境的一面镜子。 QA在网上对新版本进行*后一轮软件开发,通过后才能进入产品线。 有点像网通SERCM流程中用于SDA验证的环境,尽量模拟产品线上的环境(硬件、网络拓扑、数据库数据)

1、环境一般由产品学员检查。 比如看开发学生是否遵循了要求,是否存在可能没有考虑到的重大问题。

2、预部署到生产环境(包括SQL兼容语句、UI页面或界面提前上线等)

(4)生产环境(,prod)

当项目开发并通过测试人员通过后,项目就可以上线,部署到线上环境,正式对外提供服务。 这个线上环境也称为生产环境。

值得正式对外提供服务。 一般会关闭错误报告,打开错误日志。 通常指的是真实环境。

通常一个Web项目需要一个环境。 首先可以作为给客户的演示,其次可以作为“预览”,在正式发布新功能之前尽早发现问题(特别是gem依赖问题、环境问题等)

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多