问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

软件开发流程和角色分工

创作时间:
作者:
@小白创作中心

软件开发流程和角色分工

引用
CSDN
1.
https://blog.csdn.net/kong7906928/article/details/139622866

软件开发是一个复杂而系统的过程,涉及多个阶段和角色的协同工作。本文将从软件开发流程、角色分工和软件环境三个方面,全面介绍软件开发的相关知识。

软件开发流程

1. 第1阶段: 需求分析

完成产品原型、需求规格说明书的编写。产品原型,一般是通过网页(html)的形式展示当前的页面展示什么样的数据, 页面的布局是什么样子的,点击某个菜单,打开什么页面,点击某个按钮,出现什么效果,都可以通过产品原型看到。需求规格说明书, 一般来说就是使用 Word 文档来描述当前项目有哪些功能,每一项功能的需求及业务流程是什么样的,都会在文档中描述。

2. 第2阶段: 设计

设计的内容包含 产品设计、UI界面设计、概要设计、详细设计、数据库设计。在设计阶段,会出具相关的UI界面、及相关的设计文档。比如数据库设计,需要设计当前项目中涉及到哪些数据库,每一个数据库里面包含哪些表,这些表结构之间的关系是什么样的,表结构中包含哪些字段,字段类型都会在文档中描述清楚。

3. 第3阶段: 编码

编写项目代码、并完成单元测试。作为软件开发工程师,主要的工作就是在该阶段, 对分配给他们的模块功能,进行编码实现。编码实现完毕后,进行单元测试,单元测试通过后再进入到下一阶段。

4. 第4阶段: 测试

在该阶段中主要由测试人员, 对部署在测试环境的项目进行功能测试, 并出具测试报告。

5. 第5阶段: 上线运维

在项目上线之前, 会由运维人员准备服务器上的软件环境安装、配置, 配置完毕后, 再将开发好的项目,部署在服务器上运行。开发工程师主要的任务是在编码阶段, 但是在一些小的项目组当中, 也会涉及到数据库的设计、测试等方面的工作。

角色分工

学习了软件开发的流程之后, 还有必要了解一下在整个软件开发过程中涉及到的岗位角色,以及各个角色的职责分工。

岗位/角色
职责/分工
项目经理
对整个项目负责,任务分配、把控进度
产品经理
进行需求调研,输出需求调研文档、产品原型等
UI设计师
根据产品原型输出界面效果图
架构师
项目整体架构设计、技术选型等
开发工程师
功能代码实现
测试工程师
编写测试用例,输出测试报告
运维工程师
软件环境搭建、项目上线

上述讲解的角色分工, 是在一个项目组中比较标准的角色分工, 但是在实际的项目中, 有一些项目组由于人员配置紧张, 可能并没有专门的架构师或测试人员, 这个时候可能需要有项目经理或者程序员兼任。

软件环境

在日常的软件开发中,会涉及到软件开发中的三套环境,分别是开发环境、测试环境、生产环境。接下来,分别介绍一下这三套环境的作用和特点。

1. 开发环境(development)

开发人员在开发阶段使用的环境,就是开发环境,一般外部用户无法访问。比如,开发中使用的MySQL数据库和其他的一些常用软件,可以安装在本地, 也可以安装在一台专门的服务器中, 这些应用软件仅仅在软件开发过程中使用, 项目测试、上线时,不会使用这套环境。

2. 测试环境(testing)

当开发人员,将项目的功能模块开发完毕,并且单元测试通过后,就需要将项目部署到测试服务器上,让测试人员对项目进行测试。那这台测试服务器就是专门给测试人员使用的环境, 也就是测试环境,用于项目测试,一般外部用户无法访问。

3. 生产环境(production)

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

拓展知识:

准生产环境: 对于有的公司来说,项目功能开发好, 并测试通过以后,并不是直接就上生产环境。为了保证开发的项目在上线之后能够完全满足要求,就需要把项目部署在真实的环境中, 测试一下是否完全符合要求啊,这时候就诞生了准生产环境,你可以把他当做生产环境的克隆体,准生产环境的服务器配置, 安装的应用软件(JDK、Tomcat、数据库、中间件 ...) 的版本都一样,这种环境也称为 "仿真环境"。ps.由于项目的性质和类型不同,有的项目可能不需要这个环境

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号