软件开发流程

目录

1 软件开发流程

第1阶段:需求分析

第2阶段:设计

第3阶段:编码

第4阶段:测试

第5阶段:上线运维

2 角色分工

3 软件环境

1). 开发环境(development)

2). 测试环境(testing)

3). 生产环境(production)


作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎Python人工智能开发。

主页:@逐梦苍穹

软件开发流程非常重要,这里给大家安利一个我自己写的专刊:设计模式

这个专栏的内容是软件工程23种设计模式!

您的一键三连,是我创作的最大动力

作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程,以及软件开发过程中涉及到的岗位角色、角色的分工、职责,并了解软件开发中涉及到的三种软件环境。

所以下面的内容,将从"软件开发流程、角色分工、软件环境"三个方面整体介绍一下软件开发。

软件开发流程

软件开发流程_第1张图片

第1阶段:需求分析

完成需求规格说明书、产品原型编写。

需求规格说明书, 一般来说就是使用 Word 文档来描述当前项目的各个组成部分,如:系统定义、应用环境、功能规格、性能需求等,都会在文档中描述。

例如:

软件开发流程_第2张图片

产品原型,一般是通过网页(html)的形式展示当前的页面展示什么样的数据, 页面的布局是什么样子的,点击某个菜单,打开什么页面,点击某个按钮,出现什么效果,都可以通过产品原型看到。

例如:

软件开发流程_第3张图片

第2阶段:设计

设计的内容包含 UI设计、数据库设计、接口设计。

UI设计:用户界面的设计,主要设计项目的页面效果,小到一个按钮,大到一个页面布局,还有人机交互逻辑的体现。

例如:

软件开发流程_第4张图片

数据库设计:需要设计当前项目中涉及到哪些数据库,每一个数据库里面包含哪些表,这些表结构之间的关系是什么样的,表结构中包含哪些字段。

例如:

软件开发流程_第5张图片

接口设计:通过分析原型图,首先,粗粒度地分析每个页面有多少接口,然后,再细粒度地分析每个接口的传入参数,返回值参数,同时明确接口路径及请求方式。

例如:

软件开发流程_第6张图片

第3阶段:编码

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

项目代码编写:作为软件开发工程师,我们需要对项目的模块功能分析后,进行编码实现。

单元测试:编码实现完毕后,进行单元测试,单元测试通过后再进入到下一阶段。

例如:

软件开发流程_第7张图片

第4阶段:测试

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

第5阶段:上线运维

在项目上线之前, 会由运维人员准备服务器上的软件环境安装、配置, 配置完毕后, 再将我们开发好的项目,部署在服务器上运行。

2 角色分工

在对整个软件开发流程熟悉后, 我们还有必要了解一下在整个软件开发流程中涉及到的岗位角色,以及各个角色的职责分工。

软件开发流程_第8张图片

岗位/角色

对应阶段

职责/分工

项目经理

全阶段

对整个项目负责,任务分配、把控进度

产品经理

需求分析

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

UI设计师

设计

根据产品原型输出界面效果图

架构师

设计

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

开发工程师

编码

功能代码实现

测试工程师

测试

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

运维工程师

上线运维

软件环境搭建、项目上线

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

3 软件环境

作为软件开发工程师,在编码的过程中就不可避免地会接触多种软件环境。、

主要来分析在工作中经常遇到的三套环境,分别是:开发环境、测试环境、生产环境。

下面分别介绍一下这三套环境的作用和特点。

1). 开发环境(development)

作为软件开发人员,在开发阶段使用的环境,就是开发环境,一般外部用户无法访问。

比如,我们在开发中使用的MySQL数据库和其他的一些常用软件,我们可以安装在本地, 也可以安装在一台专门的服务器中, 这些应用软件仅仅在软件开发过程中使用, 项目测试、上线时,我们不会使用这套环境了,这个环境就是开发环境。

2). 测试环境(testing)

当软件开发工程师,将项目的功能模块开发完毕,并且单元测试通过后,就需要将项目部署到测试服务器上,让测试人员对项目进行测试。

那这台测试服务器就是专门给测试人员使用的环境, 也就是测试环境,用于项目测试,一般外部用户无法访问。

3). 生产环境(production)

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

软件开发流程_第9张图片

首先,会在开发环境中进行项目开发,往往开发环境大多数都是本地的电脑环境和局域网内的环境,当开发完毕后,然后会把项目部署到测试环境,测试环境一般是一台独立测试服务器的环境,项目测试通过后,最终把项目部署到生产环境,生产环境可以是机房或者云服务器等线上环境。

你可能感兴趣的:(软件工程,软件需求,Java,运维开发)