什么是SDLC?软件生命周期阶段,方法和流程

引用《管理信息技术项目一书的作者詹姆斯·泰勒(James Taylor)的话,“项目生命周期跨越了所有项目活动。” 软件开发的任务是满足产品的需求。如果您想学习如何创建和交付高质量的软件,则必须遵循计划。据泰勒说,您的目标应该是对项目活动的全面分析以及对项目开发各个阶段的控制。但是到底从哪里开始呢?



答案是:正确的框架将帮助您朝正确的方向指导工作流程。如今,一个非常强大且流行的框架是SDLC-软件生命周期。



SDLC的工作方式以及使用原因



下图概述了SDLC的六个主要阶段。







通常,SDLC是这样一个闭环,其中每个阶段都会影响以下动作,并为未来提供希望的指示。为了回答特定问题并确保开发过程的一致性,所有六个阶段都试图有效,一致地相互影响。



我将尝试从这些细微之处中抽象出来,并提供适合学生和软件开发人员的一般示例。例如,如果您要为小时工或时间跟踪应用程序创建一个类似于Zoomshift的应用程序,则需要从需求分析阶段开始。 在最基本的水平上,您将能够了解在时间和人工核算方面对员工的要求,这对于采访员工本身及其高级管理人员很有用。此外,为了更好地了解该领域当前应用程序的问题,您可以测试市场上的解决方案以及创建图表,图形



通常,保存记录将帮助您更好地理解定量和定性反馈只有实现了这些关键功能,您才可以准备进入SDLC的下一个阶段-规划。



需求分析阶段可能非常繁琐,但是经过这些步骤会导致许多结果:缩短产品上市时间,提高生产率,降低预算以及增加产品上市的可能性。



在典型的时间跟踪应用程序之外进行思考-考虑要创建的内容,要执行的操作,然后定义要求以解决相关的挑战。这将是您的开始。



SDLC阶段以及最佳实践和方法



在开发过程中,从当前阶段转移到下一阶段之前,有必要完成每个步骤,对此应该更好地理解。在这方面,前三个步骤尝试回答测试问题,后三个步骤经过优化以实现实际结果。



  • 需求分析回答了“哪些问题需要解决方案?”的问题。
  • 规划回答了以下问题:“我们想做什么?”
  • 工程和设计回答了以下问题:“我们将如何实现目标?”
  • 软件开发控制着产品的创建过程。
  • 测试控制着确保产品性能。
  • 部署控制最终产品的使用。


这六个步骤描述了您在评估,构建,测试和部署软件时可能采取的步骤。但是,SDLC将工作流程标准化和正规化,这仅是您的最大利益:通过遵循框架的特定步骤,您可以轻松地了解框架的哪一部分,并告诉团队前进的方向。



让我们仔细查看每个步骤,分析测试问题和结果,您可能希望针对特定情况进行优化。



阶段1:需求分析



此时,在SDLC中,您需要获得相关内部和外部利益相关者的反馈和支持。考虑一下我最近开发的时间跟踪应用程序的示例:您将需要广泛考虑潜在用户的身份。一些想法将包括您的客户,设计师,老板或其他技术团队成员。通常,您想回答以下问题:“哪些问题需要解决方案?” 在这个阶段,专心一点并做笔记会很有帮助。



对答案感到满意后,您可以进入下一个阶段。



阶段2:规划



在此阶段,您正在寻找下一个问题的答案:“您想做什么?”这个问题可能会激发您理解计划的单位经济学(成本和收益),风险缓解因素和预期成本。与计划假期类似,您需要布置自己的物品并考虑随身带什么。



很好的例子:



我读了很多有关Instagram故事的信息,其计划阶段花费了非常长的时间。这恰逢社交媒体的爆炸式增长因此,用户与该产品的交互仍然很大程度上未知。开发人员知道,强大的初始经验(拍摄,编辑和共享照片)将确保增长,成功和高转换率,正确的规划会简化设计,因此他们进行了相应的规划,并在设计上花费了大量时间。他们始终向前迈出了一步,并思考了社交媒体和电子商务的未来



计划您可以控制的内容,并记住您无法计划的内容。这将帮助您打好基础,进入第三阶段。



阶段3:工程与设计



在此阶段,您应该已经了解产品的需求,并且总体上了解了您的一般需求,并且在开始编写代码之前,这种了解应该足以回答下一个问题:“我们将如何实现我们的目标?”换句话说,您需要了解您正在精确地进行优化和相应设计。



假设您要构建一个安全,高性能,高效和承重的应用程序。这四个原则中的哪一个对您最重要?为什么?第一阶段的利益相关者是否同意?重要的是要确保所有参与者的认可。



在设计阶段之后,您终于可以使用键盘了,时间和资源上的变化将稳定增长,各种小因素将逐渐积累。在此阶段,我建议考虑几个关键因素以做出最终设计决策:卓越的运营,安全性,可靠性,性能效率和成本优化。



阶段4:软件开发



在开发阶段,您寻求的不是回答问题而是产生结果,或者更准确地说,您需要倾向于采取行动并创建可供他人测试的原型或系统。此时,您的目标是通过体现开发人员的心态来建立利益相关者的信任。在开发开始时必须遵循前三个步骤,以达到期望。



拿出电脑,确保环境有利于工作环境,拿起热咖啡,开始做生意。



阶段5:测试



穿着标语为“设计很酷,测试不是很好”的T恤的员工对我来说是很熟悉的景象,但是您必须了解,直到您吃掉了它的狗,您才能创建产品的最终版本。完成此阶段后,您应该能够确保产品工作正常。跟踪错误和不准确之处,听取其他人的观点,并深入研究问题,以发现会减慢最终产品发布速度的错误。您只需要提供坚实的基础。



阶段6:部署



带上您的产品并使用它。提供感兴趣的各方从第一阶段开始在体内使用您的产品,开始跟踪销售参与度一遍又一遍地倾听用户的意见,因为通过调查和建议获得的反馈将帮助您返回到第一阶段并开始收集新需求。并且不要忘记庆祝发布。



放在一起:SDLC方法



SDLC框架的存在可帮助您缩短上市时间,提供更好的性能,节省预算并为您关心的利益相关者增加产品的潜在价值。 SDLC在软件开发中特别有用,因为它会迫使您在严格的框架内工作。换句话说,为了确保在正确的时间采取正确的措施并出于正确的原因,SDLC会强迫您执行每个必要的步骤。将SDLC视为成功的计划:盲目遵循它并不能保证您获得任何回报,但会让您对结果感到满意。



众所周知,软件开发是一个广泛的话题,它可能会引起网页设计工具在线表单,以提供更强大的机器学习或后端系统。无论您是在浏览器中编写代码还是进行更强大的开发,都需要一个路线图。



软件开发同时具有挑战性和收获。



SDLC是一项技术计划,但更广泛地说,您可以将其视为生活指南。 SDLC可以应用于各种主题,例如,SaaS模型中的内容创建基于SDLC周期。在编写内容之前,作者首先定义要求,计划他将确切编写的内容,然后才将笔实际放在纸上。 SDLC也非常适合技术企业家。



我的一个朋友想创立最好的Facebook广告代理商并向我和其他专家寻求帮助。尽管他雄心勃勃,但我还是建议他先使用SDLC框架进行需求分析。我问他:“您想解决什么问题?您的用户想要什么?最重要的是,该平台将如何帮助您实现目标?”



通过围绕SDLC提出这些问题,他能够更好地完善最终产品,并为合适的用户提供合适的工具。他将视野缩小到对问题领域的更严格定义,并且甚至在开始做其他事情之前就能够分配资源进行计划。



然后他继续致力于在Instagram上创建最佳增长服务,但是他的兴趣在不断发展,现在他已经拥有了各种规模的社交媒体计划程序最终,他将不得不回到基础:需求分析。



用户对其技术的认可证明,通过正确使用SDLC可以实现可靠的技术和财务成果。但是,与业务开发一样,软件开发永无止境。



因此,循环继续进行。



无论您是建立公司,工具,复杂程序还是全新产品,以确保质量并专注于用户,SDLC都是不错的解决方案。



Build Cool应该是您的指路明灯,SDLC应该是您的工具和助手。



All Articles