软件的生命周期(软件工程各阶段的工作)

2023-05-16

其实软件工程是一个非常大的概念,我们的软件测试也好,软件开发也好,软件运维也好,其实都是属于软件工程的范畴。

今天就讲一讲软件工程和我们软件测试相关的一些内容。

我们今天三个主要的节点:

 

1.软件的生命周期

至少我们得知道软件它从开始到结束会经过一些什么样的环节,哪一些环节由哪一些人来做,这个其实就是软件的生命周期。

2.软件开发模型

软件的诞生其实是和开发息息相关的。

3.软件测试模型

开发人员把软件做出来之后,就可以让测试来进行一个相关的测试,测试执行完成,就可以进行上线(交付)

因为在开发和测试的过程中间,通过这么多年的发展,整理出了一系列的开发模型和测试模型。这些模型都是有利又有弊,有一些是符合当前需求的,有一些是不太符合当前需求的。我们就来做一个扩展。

软件生命周期

软件生命周期(SDLC,Systems Deve lopment Life Cycle)是指软件开始研制到最终被废弃不用这整一个过程。(这个概念我们要记一下)

软件生命周期包括 问题定义及规划、需求分析、系统设计、软件编程、软件测试、软件维护等阶段。(参考下方类比图理解再记忆)

软件生命周期各阶段工作

1.问题定义及规划阶段(计划阶段)任务:此阶段是软件开发与需求方共同讨论,主要确定软件的开发目标及可行性。输出文档:可行性研究报告和项目开发计划比如说微信、QQ、滴滴打车,之前没有这些软件的时候,是如何产生的呢?产品经理有这样子的一个想法,腾讯高级执行副总裁,微信事业群总裁 微信之父 张小龙 想要做一个微信这样的软件,有了这个想法之后,就召集团队相关人员讨论并制定计划,确定这个软件的开发目标及其可行性。有没有开发的价值,能不能给公司带来效益。

这个就是问题定义及规划阶段(计划阶段)对于提出这个想法的人我们一般也把他叫做产品经理或者客户,有了想法找方案公司来实现落地。计划提出来之后,一般还会去做一些调研,产品有没有社会价值或者说市场价值。(市场调研)然后进入第二个阶段。---专业人做专业事:客户/产品经理

2.需求分析阶段任务:在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。输出文档:软件需求规范说明书(或者原型图)数据要求说明书我们既然去做微信或者滴滴,我们就要去确定软件中间是要有哪一些功能的,有一些是马上能够想到的,有一些是暂时想不到的。因此我要把想得到的这些功能详细的写出来,能够把原型图画出来是最好的。因为你有了这些文字性的说明、原型图,那就便于开发后期研发以及一系列操作。

---专业人做专业事:需求人员/产品经理

3.软件设计阶段接下来就要正式对软件进行实现了,就是根据在第二个阶段你对每个功能要怎么样去进行实现,要达到什么样的效果,一次进行系统设计、框架设计、数据库设计,都是在这个阶段去完成的。什么是系统框架设计、数据库设计?零基础小白可能会觉得有些抽象,举个例子。

建房子,前面第一个阶段第二个阶段就相当于土地已经批了,也确定了是盖商业还是盖住宅,盖几栋,几个单元,一层是几户,几个楼梯。基本都确定了,确定之后。设计阶段:接下来就是设计,设计师出图纸,施工单位确定实施细节。任务:根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。概要设计:主要架构的实现,指搭建结构、表述各模块功能、模块接口连接和数据传递的实现等项事务。详细设计:对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等。输出文档:总体设计说明书详细设计说明书、数据库设计说明书

---专业人做专业事:设计/开发

4.软件编码开发任务:编码,将软件设计的结果转化为计算机可运行的程序代码。输出文档:用户手册、操作手册、模块开发卷宗以建房子为例子,这个阶段就是施工阶段。---专业人做专业事:开发/研发

5.测试阶段测试:对软件进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。输出文档:测试计划、测试分析报告,项目与开发总结报告以建房子为例子,这个阶段就是第三方的质检机构进行检测、验收阶段。---专业人做专业事:测试人员 6.部署和维护阶段部署任务:讲软件上线,或者给客户进行部署安装维护任务:软件开发完成并投入使用后,由于多个方面的原因,软件不能继续适应用户需求,要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。---专业人做专业事:运维人员(以及多方人员)7.升级和淘汰阶段升级:修复错误、添加需求等,编码后再测试,测试通过则进行推送升级。

OK,这个就是软件生命周期的几个阶段,以及每个阶段要做的事情,每个阶段主要负责人以及参与的人员。每个阶段都由不同的人员来负责,软件诞生到结束要经历一系列的过程,不是一天两天能完成的。

 总结:
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件的生命周期(软件工程各阶段的工作) 的相关文章

  • 升降横移式立体车库设计机械设计毕业设计全套资料

    资源下载 下载地址如下1502 xff1a https docs qq com doc DTlRSd01BZXNpRUxl 本文选用了社会需求大 xff0c 最常见的一种立体车库 升降横移式立体停车库 介绍和分析了升降横移式立体停车库的结构
  • 在NVIDIA Jetson 平台上运行Deepstream速度慢的常见解决办法

    NVIDIA发布了最新的Deepstream 4 0 光说不练假把式 xff0c 光练不说傻把式 xff0c 不少用户发现在Jetson嵌入式平台上运行Deepstream会遭遇到速度变慢 xff0c 今天汇总几个常见解决方案 xff1a
  • Ubuntu18.04 安装ROS Melodic(官方版) 之不使用科学方法

    此前记录了官方安装流程 xff0c 参见Ubuntu18 04 安装ROS Melodic 官方版 xff0c 但是受限于无法访问raw githubusercontent com xff0c 需科学方法才能成功安装 xff0c 带来诸多不
  • 分层存储Stratis和管理快照

    分层存储Stratis Stratis称为卷管理文件系统 xff0c 以管理物理存储设备池的服务形式运行 xff0c 透明的为所创建的文件系统创建和管理卷 相较于Lvm操作简化了 xff0c Stratis可以动态管理卷层 xff0c 不需
  • 报错:AttributeError: NoneType object has no attribute device

    今天搞个测试 xff0c 测试是在horovod下进行的 问题就出在加载权重 xff08 参数 xff09 文件的地方 xff0c 加载权重命令load weights前要先build一下 xff0c 结果就build出这么一个错误 xff
  • ARM安装python模块

    ARM机器安装python模块绝对不不不不可以直接pip xff01 xff01 xff01 这里演示的是CentOS xff0c 其他linux系统类似 Step1 安装必备 yum install epel release yum in
  • k8s源码编译运行

    本文参考视频 xff1a https www bilibili com video BV1WK41137JA from 61 search amp seid 61 10758236638727752345 0 一定要用root用户 sudo
  • 腾讯vCUDA(gpu-manager)部署

    官网 xff1a https github com tkestack gpu manager 先夸赞一下腾讯的开源精神 xff0c 再吐槽一下 xff0c 官方README写的真是过于随意了 踩了一堆坑 xff0c 终于部署并测试成功了 下
  • 127.0.0.1:xxxx端口映射到物理机IP

    一个应用的Dashboard访问地址是127 0 0 1 8265 xff0c 但是我没有权限使用物理机的浏览器查看 xff0c 只能远程命令行访问机器 xff0c 该机器IP是10 18 127 2 xff0c 所以需要用如下命令映射一下
  • Debian解决Error opening terminal: xterm错误

    在Debian中n中无交互界面安装oneAPI遇见了Error opening terminal xterm报错 使用如下命令亲测可以解决 xff1a mkdir p usr share terminfo x cd usr share te
  • Nsight Compute(NCU) Scheduler Statistics 数据解读

    本文内容主要参考YT上的这个视频 xff1a https www youtube com watch v 61 nYSdsJE2zMs Warp硬件架构介绍 以Volta架构为例 xff0c 每个SM有4个Warp Scheduler xf
  • 【分享】那些免魔法的chatGPT,GPT最佳实践

    ChatGPT 问世 xff0c 犹如平地惊雷般 xff0c 在技术圈中引起了广泛讨论 作为全球最大的开发者社区 xff0c GitHub 平台也在近期诞生了多个 ChatGPT 相关的开源项目 xff0c 其数量之多 xff0c 可谓是见
  • tf.layers.dropout用法

    dropout xff1a 一种防止神经网络过拟合的手段 随机的拿掉网络中的部分神经元 xff0c 从而减小对W权重的依赖 xff0c 以达到减小过拟合的效果 注意 xff1a dropout只能用在训练中 xff0c 测试的时候不能dro
  • matplotlib中cla() clf() close()用途

    cla Clear axis即清除当前图形中的当前活动轴 其他轴不受影响 clf Clear figure清除所有轴 xff0c 但是窗口打开 xff0c 这样它可以被重复使用 close Close a figure window
  • 2020计算机视觉领域顶级会议时间表

    CVPR IEEE Conference on Computer Vision and Pattern Recognition Location United States Date June 2020 Deadline TBD about
  • 【论文翻译】-- GaitSet: Regarding Gait as a Set for Cross-View Gait Recognition

    本文是复旦大学发表于 AAAI 2019 的工作 截至目前CASIA B正确率最高的网络 英文粘贴原文 xff0c google参与翻译但人工为主 有不对的地方欢迎评论 粉色部分为本人理解添加 xff0c 非原文内容 目录 摘要 1 介绍
  • FreeRTOS学习-中断管理

    1 简介 中断管理是一个操作系统中最核心的功能之一 在FreeRTOS中 xff0c 中断总是可以打断task xff08 尽管是最高优先级的task xff09 xff0c 而task永远不可能打断中断ISR xff08 interrup
  • FreeRTOS学习-共享资源的同步访问

    1 简介 对于多任务的系统 xff0c 对于某个共享资源 xff08 全局变量 xff0c 外设等 xff09 的并发访问容易引起数据的不一致性 xff0c 这将会导致一些意外的结果 而共享资源的同步访问则是为了解决这个问题而提供的一种同步
  • ST-Link的LED指示灯说明

    自ST LINK V2以来的所有ST LINK板都实现了一个标有 COM 的LED 无论是在外壳上还是在PCB上 一般 COM 是由红 绿两个LED组合 xff0c 有常亮 常灭 闪烁等 xff0c 两个LED同时亮呈现橙色 ST Link

随机推荐

  • linux基本命令练习----答案版

    linux基本命令练习 答案版 切换用户 su sudo 切换到root用户 span class token comment 第一种方式切换root用户 span span class token function sudo span s
  • WARNING: You are using pip version 19.2.3, however version 20.0.2 is available

    最近用到python时出错 xff08 如下图所示 xff09 xff0c WARNING You are using pip version 19 2 3 however version 20 0 2 is available You s
  • Chrome保存整个网页为图片

    打开需要保存为图片的网页 然后按F12 xff0c 接着按Ctrl 43 Shift 43 P 在红框内输入full 来自 xff1a https www cnblogs com ChouXiaoShou p ChromeScreensho
  • 用node实现一个postgresql操作定时器

    已知数据库 xff0c 我要用node js实现定时任务 xff0c 定时user表下的vip字段重置所有记录为0 首先 xff0c 你需要使用Node js中的node schedule模块来设置定时任务 你可以在你的项目中安装node
  • Vue获取网页微信登录二维码

    首先安装npm install vue wxlogin save dev lt template gt lt div id 61 34 app 34 gt lt div id 61 34 wxbox 34 gt lt wxlogin app
  • jeecg-boot配置字典遇到的问题

    在online报表生成代码后 xff0c 配置的数据字典一直不生效 xff0c 显示空值最后在官方文档发现需要后端加一个注解 xff0c 如下图所示 xff1a 文档链接 xff1a http doc jeecg com 1273944
  • 配置pycharm 编译器时遇到的一些问题

    今天在配置完pycharm 编译器运行代码时 xff0c 突然出现一个报错 Fatal Python error Py Initialize unable to load the file system codec ImportError
  • chrome浏览器起始页被hao123劫持了怎么办?

    对于一个强迫症来说 xff0c 起始页被修改了 xff0c 真的很难受 hao123真的很烦 第一种情况 修改了你浏览器的默认起始页 xff0c 在设置中去修改就可以了 第二种情况 在这里面添加了他的网站 xff0c 删除或者从新生成一个快
  • COMODO杀毒软件Linux版

    科摩多Linux杀毒软件 CAVL 提供同样出色的防病毒保护 xff0c 同时附带一个额外的完全可配置的反垃圾邮件系统 具有按访问和按需求病毒扫描 xff0c CAVL还采用了基于云计算的对未知文件的分析 xff0c 针对零日恶意软件提供了
  • ubuntu系统下安装windows并引导双系统

    首先 xff0c 感谢wenbusy xff0c 给了我很大的帮助 xff0c 以下部分内容来自于该博主 windows系统安装ubuntu很容易 xff0c 但在ubuntu下如何安装windows构成双系统并成功引导 xff1f 本文来
  • 3.4 小乌龟git使用说明

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 安装二 使用步骤1 设置语言2 添加你的git 用户名和邮箱3 创建git空项目3 1 方法1 本地创建3 2 方法2
  • WinScp连接Win7

    本机安装WinScp 目标Win7安装OpenSSH 下载openSSH https github com PowerShell Win32 OpenSSH releases下载后解压放在C xff1a ProgramFiles目录下设置环
  • DEBIAN_FRONTEND noninteractive参数

    DEBIAN FRONTEND这个环境变量 xff0c 告知操作系统应该从哪儿获得用户输入 如果设置为 noninteractive xff0c 你就可以直接运行命令 xff0c 而无需向用户请求输入 xff08 所有操作都是非交互式的 x
  • RFC3630 - TE Extensions to OSPF Version 2中文

    Traffic Engineering TE Extensions to OSPF Version 2 该标准是RFC2370的更新 标准RFC2370是关于OSPFv2的Opaque LSA的扩展 xff0c 在被更新以后 xff0c 已
  • 【分享】免梯子的chatGPT,玩 ChatGPT 的正确姿势

    火了一周的 ChatGPT xff0c HG 不允许还有小伙伴不知道这个东西是什么 xff1f 简单来说就是 xff0c 你可以让它扮演任何事物 xff0c 据说已经有人用它开始了颜色文学创作 因为它太火了 xff0c 所以 xff0c 本
  • 使用Unity3D Physics来工作

    这个教程将教你如何用Unity3D构建一个小球击倒柴火堆的游戏 xff01 在这个过程中 xff0c 你将了解到关于使用物理引擎的重要性和你这么做后可以减少无数小时的手工动画的时间 继续阅读 xff01 有什么完整的现代游戏引擎会缺少物理引
  • 不想学挖掘机的厨师不是好程序员!

    程序员大部分学历都不高 xff1f 我想是的 xff0c 因为刚开始只要你会敲代码 xff0c 就能挣到钱的 相比于其他行业 xff0c 程序员的工资还是受很多人认可的 xff0c 我就是其中的一员 但是我们想往高处爬 xff0c 显然没有
  • 关于X射线球管的参数

    球管的规格参数包括结构参数和电参数两种 前者指球管结构所决定的各种参数 xff0c 如靶面的倾斜角度 有效焦点 外形尺寸 重量 管壁的滤过当量 阳极转速 工作温度和冷却形式等 电参数是指球管电性能的规格数据 xff0c 如灯丝加热电压和电流
  • [DSA] 决定数字血管造影系统综合性能的关键参数研究

    一 购买数字血管造影系统的目的 xff1a 放射介入学的出现 xff0c 彻底改变了放射学在医学中的地位 xff0c 使放射学不仅能够诊断 xff0c 而且能够治疗 xff0c 并将诊断与治疗有机的结合起来 xff0c 它已渗透到了临床学科
  • 软件的生命周期(软件工程各阶段的工作)

    其实软件工程是一个非常大的概念 xff0c 我们的软件测试也好 xff0c 软件开发也好 xff0c 软件运维也好 xff0c 其实都是属于软件工程的范畴 今天就讲一讲软件工程和我们软件测试相关的一些内容 我们今天三个主要的节点 xff1a