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

    文章

    605

    浏览量

    27319
  • 编程
    +关注

    关注

    88

    文章

    3578

    浏览量

    93546
  • 数据库
    +关注

    关注

    7

    文章

    3754

    浏览量

    64251

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    AutoScaling 生命周期挂钩功能

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

    HarmonyOS应用开发-PageAbility生命周期

    pageAbility的生命周期如下图所示:在代码中通过调用下列方法实现生命周期操作:onShow() :Ability由后台不可见状态切换到前台可见状态调用onShow方法,此时用户在屏幕可以看到
    发表于 10-17 11:11

    在S32G2 RM中有“生命周期”,生命周期的完整含义是什么?

    在S32G2 RM中,生命周期”。生命周期的完整含义是什么,我们应该如何使用它?
    发表于 04-23 10:37

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

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

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

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

    教你如何搭建浅层神经网络&amp;quot;Hello world&amp;quot;

    作为图像识别与机器视觉界的 &quot;hello world!&quot; ,MNIST (&quot;Modified National Institute of Standards and Technology&
    的头像 发表于 12-10 18:35 893次阅读

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

    领域中扮演着什么角色?让我们深入了解其含义、用途以及DevOps生命周期中的每个关键阶段。 什么是DevOps 在DevOps之前,从业人员使用瀑布模型或敏捷开发模型进行软件项目
    的头像 发表于 06-29 17:19 5335次阅读
    什么是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 31次下载
    &<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>;链接属性

    Elasticsearch索引生命周期常见的阶段

    在 Elastic Stack 6.6 版本后推出了新功能 Index Lifecycle Management(索引生命周期管理),支持针对索引的全生命周期托管管理,并且在 Kibana 上也提供了一套UI界面来配置策略。
    的头像 发表于 10-13 10:38 1196次阅读

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

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

    鸿蒙开发:【PageAbility的生命周期

    PageAbility生命周期是PageAbility被调度到INACTIVE、ACTIVE、BACKGROUND等各个状态的统称。PageAbility生命周期流转及状态说明见如下图1、表1所示。
    的头像 发表于 06-17 10:05 654次阅读
    鸿蒙<b class='flag-5'>开发</b>:【PageAbility的<b class='flag-5'>生命周期</b>】

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

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

    全方位精准测量技术助力:中国经济加力发展向前&amp;amp;quot;进&amp;amp;quot;

    全方位精准测量技术助力:中国经济加力发展向前&quot;进&quot;
    的头像 发表于 07-15 09:53 300次阅读
    全方位精准测量技术助力:中国经济加力发展向前&<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>;