很多初学软件编程的小伙伴,只顾着“编程”,其他开发相关的一些“技能”很少关注。如果你想以后进入大公司,除了写代码之后,其他还需要掌握的技能很多,比如本文分享的"软件开发生命周期"你有必要学习并了解一下。
1概念
为了使规模大,结构复杂和管理复杂的软件开发变得容易控制和管理,一套软件开发的明确概念化过程是必不可少的,那么软件开发生命周期(software Development lifecycle)也就悄然形成,简称为SDLC。 首先我们需要了解软件开发过程中的7个关键点 : 第一阶段 计划(planning)
第二阶段 需求阶段(requirement Analysis)
第三阶段 设计阶段(design)
第四阶段 实施与编码阶段(implementation/coding)
第五阶段 测试阶段(testing)
第六阶段 部署(Deployment)
第七阶段 维护(maintenance)
当然最终直到整个项目被抛弃,停止最后消亡,,那么软件开发生命周期就结束了,下面小哥就跟大家简单讲解这个过程 :
01
计划阶段
不管做怎么样的产品,该产品技术上多么的牛掰,总不能少了客户customer和使用群体,该产品在市面上的商业运作是怎样的?产品的价值等等?都直接来源于客户,这些都是需要前期了解和关注的。
这样的客户一般都认识和接触多个不同的科技公司,并把自身的一些产品目标和计划设计成一个纲要给到每个公司,从而每个公司提供自身的产品设计规格参数等进行竞标。
客户会从每个公司的竞标书中寻找到最为合适的,包括产品性能、报价、周期等等综合考量,既满足自己公司产品目标又更有竞争力。
最终一般是产品经理跟客户讨论相应条款、签署相关协议并接受该产品项目,然后进入SDLC下一个阶段。
02
需求阶段
与客户一起计划需求的阶段。客户将具体的产品应用需求提交给我们,我们拿到客户具体需求以后团队开发人员、产品负责人和测试人员等等进行内部团队需求讨论,对该产品的需求进行进一步的拆解和计划。 客户需求一经分析完所有的需求,团队和客户将共同承担所有已定义的产品要求,并且在项目管理系统中创建相关确认证明书。
03
设计阶段
从这里开始我们进入SDLC的设计阶段,根据之前所有的要求开始计划产品的设计阶段,包括硬件上的配置、选型等,还包括软件上的服务器设计、数据库关系等确定。 一旦确定好主要设计模型,项目便对整个设计阶段进行时间节点的划分,包括硬件的设计阶段、layout阶段、备料阶段、软件调测评估阶段、软件模拟测试阶段、联调阶段等过程,并开始受项目把控。
03
实施与编码阶段
接下来,我们将讨论应用程序的实现与编码,在实施和编码阶段,研发团队将开始为开发人员设置模拟的硬件平台,开发人员便开始编写相关部分代码,设计总工程师将继续评估设计方案的效果与产品目标对比,从而进一步优化产品设计策略,测试人员将分析需求并即将在这个阶段为软件测试建立测试用例。 他们开始想象应用程序的可用性,这是非常有价值的。并在编写测试用户的同时查看所有东西是否存在设计上的实际价值和意义,并帮助释放设计中的基本缺陷。
04
测试阶段
接下来进行最重要的阶段-测试阶段。 为什么说测试阶段如此重要呢?开发人员已完成对我们需求的一些新功能的编码,然而这些功能都会是客户必须的需求,如果这些功能仅仅只是卡顿或许只是影响用户体验,但是如果威胁到了用户的资金安全、人身安全或许就是无法容忍的缺陷,一旦用户端出现此问题,那一定是致命的,甚至会上升到法律层面。 所以一般全面的公司都会有一个测试用例的评审阶段,来看看创建的验证是否满足所有需求,以确保所有功能按预期工作,从而保证设计功能的可靠性。同时在我们进行测试时,开始发现错误,需要将他们生成相应的错误报告,然后分配给开发人员的系统,他们进入并修护bug,如下是bug周期图:
05
部署阶段
最终将进入生产部署阶段,说白了就是看看"到底是驴子还是马",出来遛一遛,我们以前一直在进行测试,而此阶段准备将他们投入生产。 这意味着他们将安装新的硬件或者全新的服务器,并且要使用到几乎所有的功能,生产这边包括建立连接,建立真正的数据库。开发团队在现场支援指导完成现场调试工作,保证产品顺利上线给终端用户。
06
维护阶段
这里将进入最后的SDLC的维护阶段,需要时刻监控系统的稳定情况和冗余性。系统至少不能奔溃,根据用户量的波动,对系统的负荷进行进行评估,然后通过分析报告进行系统的优化升级改造。 然而维护阶段产生的错误,这就是所谓的生产技术支持,用户会通过电子邮件、相关售后人员等多种渠道与我们联系,我们可以通过调查他们反馈的问题来进行确认,并团队谈论相关优化和修护工作。
综上所述,我们讨论了计划需求分析设计。
一旦我们进入维护阶段,如果客户需求变动就通过再次启动整个过程,从而将新的东西添加到我们的应用程序中。
2最后
这里小哥就分享了SDLC的整个过程,相信对于整个软件的开发流程有一定的了解了, 希望本文能够对你有帮助!
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !