软件构建的基本概念之一 - 软件开发生命周期模型。或者只是SDLC模型。SDLC - 是一个连续的过程,从决定启动项目的那一刻开始,并在它完全从开发中移除的那一刻结束。没有一个单一的SDLC模型。它们分为主要组,每组都有其特点和弱点。 阶段1.计划和需求分析 (Planning and Requirement Analysis)每个软件开发生命周期模型都从分析开始,过程的利益相关者 阶段2.设计项目架构 (Project Architecture)在软件开发生命周期的第二阶段,开发人员实际上正在设计架构。所有利益相关者(包括客户)都会讨论此阶段可能出现的所有不同技术问题。此外,还定义了项目中使用的技术,团队负载,限制,时间范围和预算。最合适的项目决策是根据定义的要求做出的。 第3阶段。开发和编程 (Development and Coding)在批准要求后,该过程进入下一阶段 - 实际开发。程序员从这里开始编写源代码,同时牢记先前定义的需求。系统管理员调整软件环境,前端程序员开发程序的用户界面以及与服务器交互的逻辑。
阶段4.测试 (Testing)测试阶段包括调试过程。开发过程中遗漏的所有代码缺陷都会在此处检测到,记录下来并传回给开发人员进行修复。重复测试过程,直到删除所有关键问题并且软件工作流程稳定。 阶段5.部署 (Deployment)当程序最终确定并且没有关键问题时 - 是时候为最终用户启动它了。新程序版本发布后,技术支持团队加入。该部门提供用户反馈; 在利用期间咨询和支持用户。此外,此阶段还包括所选组件的更新,以确保软件是最新的,并且不会受到安全漏洞的影响。 SDLC模型 (Software Development Lifecycle Model)从第一个也是最古老的“瀑布式”SDLC模型演变而来,它们的种类显着扩大。SDLC模型的多样性由众多产品类型预先确定 - 从简单的网站到复杂的医疗软件。如果你采用下面提到的SDLC模型之一作为基础 - 无论如何,它应该根据产品,项目和公司的特征进行调整。下面给出了最常用,最受欢迎和最重要的SDLC模型:
瀑布SDLC模型瀑布 - 是一个级联SDLC模型,其中开发过程看起来像流程,一步一步地进行分析,预测,实现,测试,实施和支持阶段。该SDLC模型包括完全逐步执行每个阶段。该过程严格记录并预定义,具有该软件开发生命周期模型的每个阶段所期望的功能。
Waterfall SDLC模型的用例:
迭代SDLC模型在项目开始之前,迭代SDLC模型不需要完整的需求列表。开发过程可以从对功能部件的要求开始,可以在以后扩展。该过程是重复的,允许为每个循环制作新版本的产品。每次迭代(持续两到六周)都包括开发系统的单独组件,然后,将此组件添加到之前开发的功能中。说到数学术语,迭代模型是顺序逼近方法的实现; 这意味着逐渐接近计划的最终产品形状。
迭代模型的用例:
螺旋SDLC模型螺旋模型 - 是SDLC模型,它分阶段结合了架构和原型。它是Iterative和Waterfall SDLC模型的组合,具有重要的风险分析重点。螺旋模型的主要问题是确定进入下一阶段的正确时机。建议将初步设定的时间范围作为此问题的解决方案。即使前一阶段的工作尚未完成,也将根据计划完成向下一阶段的转变。该计划是根据统计数据引入的,即使从个人开发人员的经验来看,也可以在之前的项目中收到。
旋模型的用例
V形SDLC模型V形SDLC模型是经典瀑布模型的扩展,它基于每个开发阶段的相关测试阶段。这是一个非常严格的模型,下一阶段仅在前一阶段之后开始。这也称为“验证和验证”模型。每个阶段都有当前的过程控制,以确保可以转换到下一个阶段。
V形模型的用例:
敏捷SDLC模型在每次开发迭代之后的敏捷方法中,客户能够看到结果并理解他是否满意或不满意。这是敏捷软件开发生命周期模型的优势之一。其缺点之一是,由于缺乏明确的要求,很难估计资源和开发成本。极限编程是敏捷模型的实际应用之一。这种模型的基础包括每周短暂的会议 - Sprint是Scrum方法的一部分。
敏捷模型的用例:
更多推荐的Scrum文章Three friends refer to the main perspective of testing and inspecting increments in business, during and after development. They review each story in informal start-up meetings to provide a shared vision of what will be delivered and help ensure that it is the voice of the team, not a single opinion. (三个朋友指的是在业务、开发期间和开发之后测试检查工作增量的主要视角,例如,业务分析师、开发人员、测试人员在非正式的启动会议中回顾每个故事,以对将要交付的内容给出一个共同的共享愿景,并帮助确保它是团队的声音,而不是单一的意见。) Agile is the software development methodology that focuses on customer satisfaction by delivery shippable software frequently. Scrum is one of the many approaches to implement Agile. Scrum is suitable for certain type of projects where there are rapidly changing requirements. (敏捷是一种软件开发方法,它通过频繁交付可交付的软件来关注客户满意度。Scrum是实现敏捷的众多方法之一。Scrum适用于需求变化迅速的特定类型的项目。) Velocity in Scrum is a measure of the amount of work a Team can tackle during a single Sprint and is the key metric in Scrum. Velocity is calculated at the end of the Sprint by totaling the Points for all fully completed User Stories. (速度是一个团队在一次冲刺中可以完成的工作量的度量,也是Scrum中的关键度量标准。在冲刺结束时,通过对所有完全完成的用户故事的点进行合计来计算速度。) Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value. Whilst it is lightweight and simple to understand it is difficult to implement and hard to master. This article tell you why?(Scrum是一个框架,人们可以在其中解决复杂的适应性问题,同时富有成效和创造性地交付具有最高价值的产品。虽然它是轻量级的,易于理解,但很难实现,也很难掌握。这篇文章告诉你为什么?) Traditional project management emphasizes on conducting detailed upfront planning for the project with emphasis on fixing the scope, cost and schedule - and managing those parameters. Whereas, Scrum encourages data-based, iterative decision making in which the primary focus is on delivering products that satisfy customer requirements. (传统的项目管理强调对项目进行详细的前期规划,强调确定范围、成本和进度,并管理这些参数。然而,Scrum鼓励基于数据的、迭代的决策,其中主要关注的是交付满足客户需求的产品。) Scrum has not been immune to controversy, and its history of invention is a topic of frequent debate. Some professionals believe that Jeff Sutherland, John Scumniotales, and Jeff McKenna invented Scrum in 1993. And then there are others who vouch for Hirotaka Takeuchi and Ikujiro Nonaka as inventing Scrum in 1986. (Scrum并没有不受争议,它的发明历史是一个经常争论的话题。一些专业人士认为Jeff Sutherland、John Scumniotales和Jeff McKenna于1993年发明了Scrum。还有其他一些人也许相信, 在1986年Hirotaka Takeuchi和Ikujiro Nonaka发明了Scrum。) Less known than the process of Scrum and probably under-highlighted, but therefore not less important, are the 5 core Scrum Values upon which the framework is based: Commitment – Focus – Openness – Respect – Courage. These values relate to the ethics of Scrum, thereby -from a social point of view- turning Scrum into a value system. (与scrum的过程相比,人们对scrum知之甚少,而且可能低估了这一点,但同样重要的是,该框架所基于的5个核心scrum价值观:承诺——关注——开放——尊重——勇气。这些价值观与Scrum的伦理有关,因此从社会的角度来看,将Scrum转变为一个价值体系。) When talking about Agile, we often talk about ''Agile'' and ''Scrum,'' but, how exactly are related, and how are they different? We take a look of this issue in this Article. (在谈到敏捷时, 我们经常谈论 "敏捷" 和 "scrum", 但是, 它们到底有什么关系, 它们有什么不同?我们在本文中介绍了这一问题。) This article covers all the key concept of Scrum framework that make you easily be recalled and apply anytime from your mind as systematic knowledge structure (本文涵盖了 scrum 框架的所有关键概念, 使您可以轻松地被召回, 并从您的头脑中随时作为系统的知识结构应用) 什么是Scrum的三大支柱? SCRUM使用经验方法(或有时称为经验主义)以适应客户不断变化的需求。经验主义是根据实际经历的内容做出决策的行为。经验方法意味着以事实为基础,以经验为基础,以证据为基础的方式开展工作,特别是,进展是基于对现实的观察,而不是基于大量前期要求的虚构计划。 […] |
|