0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

strongerHuang 来源:嵌入式情报局 2023-04-28 14:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

1概念

为了使规模大,结构复杂和管理复杂的软件开发变得容易控制和管理,一套软件开发的明确概念化过程是必不可少的,那么软件开发生命周期(software Development lifecycle)也就悄然形成,简称为SDLC。 首先我们需要了解软件开发过程中的7个关键点 : 第一阶段计划(planning)

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

第三阶段 设计阶段(design)

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

第五阶段 测试阶段(testing)

第六阶段 部署(Deployment)

第七阶段 维护(maintenance)

a85cd1b2-e583-11ed-ab56-dac502259ad0.png

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

01

计划阶段

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

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

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

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

02

需求阶段

与客户一起计划需求的阶段。客户将具体的产品应用需求提交给我们,我们拿到客户具体需求以后团队开发人员、产品负责人和测试人员等等进行内部团队需求讨论,对该产品的需求进行进一步的拆解和计划。 客户需求一经分析完所有的需求,团队和客户将共同承担所有已定义的产品要求,并且在项目管理系统中创建相关确认证明书。

03

设计阶段

从这里开始我们进入SDLC的设计阶段,根据之前所有的要求开始计划产品的设计阶段,包括硬件上的配置、选型等,还包括软件上的服务器设计、数据库关系等确定。 一旦确定好主要设计模型,项目便对整个设计阶段进行时间节点的划分,包括硬件的设计阶段、layout阶段、备料阶段、软件调测评估阶段、软件模拟测试阶段、联调阶段等过程,并开始受项目把控。

03

实施与编码阶段

接下来,我们将讨论应用程序的实现与编码,在实施和编码阶段,研发团队将开始为开发人员设置模拟的硬件平台,开发人员便开始编写相关部分代码,设计总工程师将继续评估设计方案的效果与产品目标对比,从而进一步优化产品设计策略,测试人员将分析需求并即将在这个阶段为软件测试建立测试用例。 他们开始想象应用程序的可用性,这是非常有价值的。并在编写测试用户的同时查看所有东西是否存在设计上的实际价值和意义,并帮助释放设计中的基本缺陷。

04

测试阶段

接下来进行最重要的阶段-测试阶段。 为什么说测试阶段如此重要呢?开发人员已完成对我们需求的一些新功能的编码,然而这些功能都会是客户必须的需求,如果这些功能仅仅只是卡顿或许只是影响用户体验,但是如果威胁到了用户的资金安全、人身安全或许就是无法容忍的缺陷,一旦用户端出现此问题,那一定是致命的,甚至会上升到法律层面。 所以一般全面的公司都会有一个测试用例的评审阶段,来看看创建的验证是否满足所有需求,以确保所有功能按预期工作,从而保证设计功能的可靠性。同时在我们进行测试时,开始发现错误,需要将他们生成相应的错误报告,然后分配给开发人员的系统,他们进入并修护bug,如下是bug周期图:

a86560fc-e583-11ed-ab56-dac502259ad0.png

05

部署阶段

最终将进入生产部署阶段,说白了就是看看"到底是驴子还是马",出来遛一遛,我们以前一直在进行测试,而此阶段准备将他们投入生产。 这意味着他们将安装新的硬件或者全新的服务器,并且要使用到几乎所有的功能,生产这边包括建立连接,建立真正的数据库。开发团队在现场支援指导完成现场调试工作,保证产品顺利上线给终端用户。

06

维护阶段

这里将进入最后的SDLC的维护阶段,需要时刻监控系统的稳定情况和冗余性。系统至少不能奔溃,根据用户量的波动,对系统的负荷进行进行评估,然后通过分析报告进行系统的优化升级改造。 然而维护阶段产生的错误,这就是所谓的生产技术支持,用户会通过电子邮件、相关售后人员等多种渠道与我们联系,我们可以通过调查他们反馈的问题来进行确认,并团队谈论相关优化和修护工作。

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

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

2最后

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

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件开发
    +关注

    关注

    0

    文章

    670

    浏览量

    29859
  • 编程
    +关注

    关注

    90

    文章

    3707

    浏览量

    96759
  • 数据库
    +关注

    关注

    7

    文章

    3993

    浏览量

    67732

原文标题:"软件开发生命周期"有几个阶段?

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Traveo II B-H中的SECURE和SECURE_WITH_DEBUG生命周期阶段何不同?

    Traveo II B-H 中的 SECURE 和 SECURE_WITH_DEBUG 生命周期阶段何不同?
    发表于 05-21 07:07

    KaihongOS操作系统:页面的生命周期介绍

    页面的生命周期 在KaihongOS中,学习页面的生命周期前需要先了解自定义组件。 1. 自定义组件(Component) 自定义组件是通过@Component装饰的UI单元,可以组合多个系统
    发表于 04-25 08:18

    UIAbility组件生命周期介绍

    知道当前UIAbility实例的某个状态发生改变,会经过UIAbility实例的创建和销毁,或者UIAbility实例发生了前后台的状态切换。 UIAbility的生命周期包括Create
    发表于 05-16 08:28

    ServiceAbility的生命周期介绍

    ServiceAbility的生命周期 开发者可以根据业务场景重写生命周期相关接口。ServiceAbility生命周期接口说明见下表。 表1 ServiceAbility
    发表于 05-28 08:22

    ArkUI-X中Plugin生命周期开发指南

    ArkUI-X插件用于拓展ArkUI应用的能力,提供管理插件生命周期的能力。本文主要介绍Android平台的ArkUI-X插件生命周期的使用。 Android平台创建ArkUI-X插件生命周期
    发表于 06-04 22:36

    AutoScaling 生命周期挂钩功能

    摘要: AutoScaling 伸缩组实例管理功能全面升级,新上线生命周期挂钩(LifecycleHook)功能,方便用户更加灵活地管理伸缩组内实例。使用生命周期挂钩可以在伸缩组发生伸缩活动时将伸缩
    发表于 06-27 17:13

    使用_NetApp_存储加快软件开发生命周期

    使用_NetApp_存储加快软件开发生命周期
    发表于 12-28 11:13 0次下载

    安全软件开发生命周期与业务安全

    安全软件开发生命周期与业务安全
    发表于 09-08 14:11 11次下载
    安全<b class='flag-5'>软件开发生命周期</b>与业务安全

    什么是DevOps?DevOps的优势以及生命周期

    领域中扮演着什么角色?让我们深入了解其含义、用途以及DevOps生命周期中的每个关键阶段。 什么是DevOps 在DevOps之前,从业人员使用瀑布模型或敏捷开发模型进行软件项目
    的头像 发表于 06-29 17:19 5879次阅读
    什么是DevOps?DevOps的优势以及<b class='flag-5'>生命周期</b>

    &quot;STM32F0 Error: Flash Download failed - &quot;&quot;Cortex-M0&quot;&quot;解决&quot;

    开发工具CUbemx + Keil uVision5(MDK V5)错误现象在STM32F0烧录程序是出现了Error: Flash Download failed - &amp;quot
    发表于 12-01 12:06 34次下载
    &<b class='flag-5'>quot</b>;STM32F0 Error: Flash Download failed  -  &<b class='flag-5'>quot</b>;&<b class='flag-5'>quot</b>;Cortex-M0&<b class='flag-5'>quot</b>;&<b class='flag-5'>quot</b>;解决&<b class='flag-5'>quot</b>;

    存储类&amp;作用域&amp;生命周期&amp;链接属性

    目录前言一、存储类&amp;amp;作用域&amp;amp;生命周期&amp;
    发表于 12-09 15:51 5次下载
    存储类&<b class='flag-5'>amp</b>;作用域&<b class='flag-5'>amp</b>;<b class='flag-5'>生命周期</b>&<b class='flag-5'>amp</b>;链接属性

    芯片工艺的&amp;quot;7nm&amp;quot; 、&amp;quot;5nm&amp;quot;到底指什么?

    近几年,芯片产业越来越火热,一些行业内的术语大家也听得比较多了。那么工艺节点、制程是什么,&quot;7nm&quot; 、&quot;5nm&quot;又是指什么?
    的头像 发表于 07-28 17:34 1.2w次阅读
    芯片工艺的&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;7nm&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>; 、&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;5nm&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;到底指什么?

    鸿蒙开发组件:DataAbility的生命周期

    应用开发者可以根据业务场景实现data.js/data.ets中的生命周期相关接口。DataAbility生命周期接口说明见下表。
    的头像 发表于 06-20 09:39 1016次阅读

    DevSecOps自动化在安全关键型软件开发中的实践、Helix QAC&amp;amp;amp; Klocwork等SAST工具应用

    DevSecOps自动化旨在通过在软件开发生命周期的各个阶段集成安全流程,使用自动化工具和最佳实践来简化开发、安全和运营。实现DevSecOps自动化流程的一个重要部分就是使用SAST工具,以帮助尽早发现问题,减少手动测试需求,
    的头像 发表于 01-03 16:05 722次阅读
    DevSecOps自动化在安全关键型<b class='flag-5'>软件开发</b>中的实践、Helix QAC&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; Klocwork等SAST工具应用

    电缆局部放电在线监测:守护电网安全的&amp;amp;quot;黑科技&amp;amp;quot;

    文章由山东华科信息技术有限公司提供在万家灯火的背后,一张覆盖全国的&quot;能源神经网络&quot;昼夜不息地运转。电缆作为电力输送的&quot;主动脉&
    的头像 发表于 04-14 18:12 717次阅读
    电缆局部放电在线监测:守护电网安全的&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;黑科技&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;