"软件开发生命周期"有几个阶段?

2023-05-16

3f4361b99a4bb957be3159de68ca0028.jpeg

关注+星标公众,不错过精彩内容

9afb6dbf314e9ed0e700e33ce5e6fedf.jpeg

作者 | 情报小哥

ID | 嵌入式情报局

很多初学软件编程的小伙伴,只顾着“编程”,其他开发相关的一些“技能”很少关注。如果你想以后进入大公司,除了写代码之后,其他还需要掌握的技能很多,比如本文分享的"软件开发生命周期"你有必要学习并了解一下。

1概念

为了使规模大,结构复杂和管理复杂的软件开发变得容易控制和管理,一套软件开发的明确概念化过程是必不可少的,那么软件开发生命周期(software Development lifecycle)也就悄然形成,简称为SDLC。

首先我们需要了解软件开发过程中的7个关键点 :

第一阶段 计划(planning)

第二阶段 需求阶段(requirement Analysis)

第三阶段 设计阶段(design)

第四阶段 实施与编码阶段(implementation/coding)

第五阶段 测试阶段(testing)

第六阶段 部署(Deployment)

第七阶段 维护(maintenance)

8b54a15ec6bf5e912b5a2b17a341abcc.png

当然最终直到整个项目被抛弃,停止最后消亡,,那么软件开发生命周期就结束了,下面小哥就跟大家简单讲解这个过程 :

01

计划阶段  

不管做怎么样的产品,该产品技术上多么的牛掰,总不能少了客户customer和使用群体,该产品在市面上的商业运作是怎样的?产品的价值等等?都直接来源于客户,这些都是需要前期了解和关注的。

这样的客户一般都认识和接触多个不同的科技公司,并把自身的一些产品目标和计划设计成一个纲要给到每个公司,从而每个公司提供自身的产品设计规格参数等进行竞标。

客户会从每个公司的竞标书中寻找到最为合适的,包括产品性能、报价、周期等等综合考量,既满足自己公司产品目标又更有竞争力。

最终一般是产品经理跟客户讨论相应条款、签署相关协议并接受该产品项目,然后进入SDLC下一个阶段。

02

需求阶段  

与客户一起计划需求的阶段。客户将具体的产品应用需求提交给我们,我们拿到客户具体需求以后团队开发人员、产品负责人和测试人员等等进行内部团队需求讨论,对该产品的需求进行进一步的拆解和计划。

客户需求一经分析完所有的需求,团队和客户将共同承担所有已定义的产品要求,并且在项目管理系统中创建相关确认证明书。

03

设计阶段  

从这里开始我们进入SDLC的设计阶段,根据之前所有的要求开始计划产品的设计阶段,包括硬件上的配置、选型等,还包括软件上的服务器设计、数据库关系等确定。

一旦确定好主要设计模型,项目便对整个设计阶段进行时间节点的划分,包括硬件的设计阶段、layout阶段、备料阶段、软件调测评估阶段、软件模拟测试阶段、联调阶段等过程,并开始受项目把控。

03

实施与编码阶段  

接下来,我们将讨论应用程序的实现与编码,在实施和编码阶段,研发团队将开始为开发人员设置模拟的硬件平台,开发人员便开始编写相关部分代码,设计总工程师将继续评估设计方案的效果与产品目标对比,从而进一步优化产品设计策略,测试人员将分析需求并即将在这个阶段为软件测试建立测试用例。

他们开始想象应用程序的可用性,这是非常有价值的。并在编写测试用户的同时查看所有东西是否存在设计上的实际价值和意义,并帮助释放设计中的基本缺陷。

04

测试阶段  

接下来进行最重要的阶段-测试阶段。

为什么说测试阶段如此重要呢?开发人员已完成对我们需求的一些新功能的编码,然而这些功能都会是客户必须的需求,如果这些功能仅仅只是卡顿或许只是影响用户体验,但是如果威胁到了用户的资金安全、人身安全或许就是无法容忍的缺陷,一旦用户端出现此问题,那一定是致命的,甚至会上升到法律层面。

所以一般全面的公司都会有一个测试用例的评审阶段,来看看创建的验证是否满足所有需求,以确保所有功能按预期工作,从而保证设计功能的可靠性。同时在我们进行测试时,开始发现错误,需要将他们生成相应的错误报告,然后分配给开发人员的系统,他们进入并修护bug,如下是bug周期图:

6ac57dc41cffc01c96b491f7e6b930a3.png

05

部署阶段  

最终将进入生产部署阶段,说白了就是看看"到底是驴子还是马",出来遛一遛,我们以前一直在进行测试,而此阶段准备将他们投入生产。

这意味着他们将安装新的硬件或者全新的服务器,并且要使用到几乎所有的功能,生产这边包括建立连接,建立真正的数据库。开发团队在现场支援指导完成现场调试工作,保证产品顺利上线给终端用户。

06

维护阶段  

这里将进入最后的SDLC的维护阶段,需要时刻监控系统的稳定情况和冗余性。系统至少不能奔溃,根据用户量的波动,对系统的负荷进行进行评估,然后通过分析报告进行系统的优化升级改造。

然而维护阶段产生的错误,这就是所谓的生产技术支持,用户会通过电子邮件、相关售后人员等多种渠道与我们联系,我们可以通过调查他们反馈的问题来进行确认,并团队谈论相关优化和修护工作。

综上所述,我们讨论了计划需求分析设计。

一旦我们进入维护阶段,如果客户需求变动就通过再次启动整个过程,从而将新的东西添加到我们的应用程序中。

2最后

这里小哥就分享了SDLC的整个过程,相信对于整个软件的开发流程有一定的了解了, 希望本文能够对你有帮助!

bc66dccdde315e8a9cf39d1bd5043d5b.jpeg


  
------------ END ------------


●专栏《嵌入式工具》
●专栏《嵌入式开发》
●专栏《Keil教程》
●嵌入式专栏精选教程

关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。







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

"软件开发生命周期"有几个阶段? 的相关文章

随机推荐

  • Xlib Programming Manual

    最近看了王垠 写的那篇清华退学的文章 xff0c 看到了他研究linux的过程 xff0c 文中提到了x Windows 我也总想搞一搞这个东西 xff0c 但是不知从何入手 它推荐这本书Xlib Programming Manual xf
  • 第二章 PX4-Pixhawk-RCS启动文件解析

    origin http blog csdn net qq 18112493 article category 6851622 第二章 PX4 RCS 启动文件解析 RCS 的启动类似于 Linux 的 shell 文件 xff0c 如果不知
  • PX4源码开发人员文档(四)——创建后台程序(应用)

    origin http blog csdn net lkk05 article details 48659059 在 Unix 和其他多任务计算机操作系统中 xff0c 后台程序是指 xff0c 作为后台进程运行的计算机 xff0c 而不是
  • 为何选择nuttx

    裸机程序 xff0c 不能处理太复杂的逻辑 xff0c 系统越复杂 xff0c 越需要上os freertos 不支持posix api rtems是gpl版权 nuttx bsd版权 xff0c px4和apm开源飞控都使用nuttx 经
  • https://tieba.baidu.com/p/4311040961?red_tag=2683564864

    dddddd
  • 彻底理解Linux的各种终端类型以及概念

    origin http blog csdn net dog250 article details 78766716 这篇文章的动机有两个 xff0c 上周同事问我关于Linux终端的问题 xff0c 我简要解答后发现有些概念确实自己也说不清
  • 恢复ubuntu14.04默认的经典登录界面

    之前不小心安装了Xubuntu desktop xff0c 卸载后 xff0c 登录界面还是Xubuntu desktop的界面 xff0c 如图所示 xff1a 搞了很久都没能恢复到默认登录界面 xff0c 最后在国外网站找到了解决方法
  • 理工科专业精品书系列

    原文地址 xff1a https bbs et8 net bbs showthread php t 61 938724 本人本科专业飞机设计 不过后来越搞越杂 xff0c 飞机 xff0c 汽车 xff0c 船舶 xff0c 坦克 xff0
  • DHT11模块程序--51单片机

    不讲原理 xff0c 只表达自己的建议以及提供源程序程序 目录 前言 一 建议 二 代码 1 c文件 2 h文件 实验展示 前言 第一次拿到DHT11这个模块 xff0c 于是网上搜索了各种原理以及程序 xff0c 最终都没找到一个合适自己
  • Centos7 kvm环境安装指南

    宿主机要求 CPU支持虚拟化 xff08 大部分都支持 xff09 内存越大越好 xff08 8G以上 xff09 BIOS开启VT DCentos7及以上 xff0c yum update到最新 检查是否支持硬件虚拟化 查看CPU egr
  • 【嵌入式STM32环境搭建】Keil5安装和STM32工程模板搭建

    Keil5安装和STM32工程模板 Keil5安装 STM32入门教程 2022持续更新中 哔哩哔哩 bilibili 网盘提取码 xff1a 8kzh xff0c 链接里压缩包的解压密码 xff1a 32 STM32库函数版工程模板 搭建
  • Nvidia jetson nano硬件架构

    资料来源 官方文档中心 https developer nvidia com embedded downloads gt 选jetson gt Jetson Nano Product Design Guide 产品设计指导 入口 gt 1
  • protues仿真51单片机教程

    protues是一款常用的单片机仿真软件 在很多情况下 我们做一些简单的项目 手边没有单片机或者不想麻烦的情况下 可以借助protues来仿真测试程序 protues内集成了几款常用的51内核的单片机 我们可以很方便的拿来使用 不用再每次编
  • 紧急!公开招录50名工程师升名校研究生!基层人员均可报名提升!

    2023全国高等教育 硕士研究生报名须知 教育部 国家发改委 财政部联合印发 关于加快新时代研究生教育改革发展的意见 xff0c 表示要将 硕士研究生招生规模稳步扩大 并且 xff0c 教育部明确提出要扩大研究生招生规模 为积极落实国家研究
  • 嵌入式开发,数据手册为啥是重要的文档?

    关注 43 星标公众号 xff0c 不错过精彩内容 作者 strongerHuang 微信公众号 strongerHuang 做嵌入式开发 xff0c 特别是底层驱动相关的开发 xff0c 不管是软件还是硬件工程师 xff0c 能熟练阅读数
  • 分享一款基于C语言实现的FIFO模块

    关注 43 星标公众号 xff0c 不错过精彩内容 作者 strongerHuang 微信公众号 strongerHuang FIFO在嵌入式应用的非常广泛 xff0c 可以说有数据收发的地方 xff0c 基本就有FIFO的存在 xff0c
  • 免费开源EDA软件KiCad 7.0.2 发布、Qt 6.2.8 LTS版本正式发布

    免费开源EDA软件KiCad 7 0 2 发布 Nordic推出第四代低功耗无线SoC Qt 6 2 8 LTS版本正式发布 xff08 点击链接 xff0c 阅读原文 xff09 更多视频 xff0c 可以到我视频号查看 xff1a 点击
  • hadoop中输入文件用LongWritable和IntWritable的区别

    xfeff xfeff 这里的LongWritable的key是线的偏移量 xff0c 表示该行在文件中的位置 xff0c 而不是行号 这里的IntWritable的key是行号
  • 嵌入式开发常用的几款虚拟机

    关注 43 星标公众号 xff0c 不错过精彩内容 作者 入门小站 说起虚拟机 xff0c 相信作为技术人员的小伙伴们不会感到陌生 虚拟机的使用场景非常多 xff0c 如搭建测试环境 在 Windows 系统中安装 Linux 或在 Mac
  • "软件开发生命周期"有几个阶段?

    关注 43 星标公众号 xff0c 不错过精彩内容 作者 情报小哥 ID 嵌入式情报局 很多初学软件编程的小伙伴 xff0c 只顾着 编程 xff0c 其他开发相关的一些 技能 很少关注 如果你想以后进入大公司 xff0c 除了写代码之后