瀑布式软件开发生命周期

瀑布模型是一种经典、常用的线性软件开发生命周期模型。它规定了各个阶段的先后顺序,并为每个阶段设定明确的目标。就像水沿山坡向下流动,这种严格的模型只向前推进,不会折返。

瀑布模型的流程严格,留给修改的余地较少。测试是单独的阶段,不与开发持续并行。因此,这种模型无法在开发早期发现缺陷。

Waterfall Software Engineering Life CycleRequirementDesignImplementationVerificationMaintenance
打开完整尺寸图表

瀑布式软件开发生命周期

各阶段按以下顺序进行:

  1. 需求收集。记录客户的需求,并准备必要的文档。
  2. 系统设计。根据需求确定系统架构,以及对硬件和软件的要求。
  3. 实现。按照设计开始编写代码。将程序划分为小型独立单元,按各自的规格进行测试,再将它们集成为完整的系统。
  4. 集成测试。将测试过的单元组合起来,测试整个系统以发现缺陷。
  5. 部署。修复集成测试中发现的缺陷,然后重新测试,确认缺陷已经解决。此时系统已具备面向市场发布并部署到客户环境的条件。
  6. 维护。发布补丁或新版本,解决交付后发现的缺陷和问题。

各阶段依次衔接。只有上一个阶段顺利完成,下一个阶段才会开始。

当需求清晰、产品稳定且各阶段都有足够资源时,可以采用瀑布模型。在实践中,这种模型只适合小型且易于管理的项目。需求的风险达到中等或较高水平时,应避免采用这种模型。

需求规格说明与分析

软件开发有赖于准确收集需求并完整记录。识别需求并将其写成文档的工作,称为需求规格说明与分析。

客户、管理团队和技术支持团队会详细讨论需求。他们对需求进行分析、审查和记录,直到需求明确、完整。

User Requirement SpecificationUser Requirement SpecificationFunctionalRequirementsConceptFunctionBehaviorDataI/O OperationsLogicComputationNonfunctionalRequirementsResponse TimeReliabilityAvailabilitySecurityCostTechnologyOtherRequirementsEnvironmental IssuesScheduling Issues
打开完整尺寸图表

用户需求规格说明

采用公司规定的格式,例如 Word 文档、流程图或图纸。成果详细记录客户的期望,帮助团队正确理解客户需求。任何不符合客户需求的情况都属于缺陷。需求收集有误,会使项目从一开始就偏离方向。

用户需求规格说明

这份非技术文档描述用户的期望和业务需求,由最终用户编写。其中的需求会在用户验收测试中得到核查。该文档是后续需求工作和系统设计的基础。

软件需求规格说明

软件需求规格说明(SRS)定义用户希望软件如何运行。它有以下用途:

  • 记录客户和供应商就软件具体功能达成的一致意见。
  • 为软件设计提供依据。
  • 通过明确的需求简化开发与测试。
  • 为安排活动和估算成本提供支持。
  • 为验证与确认提供基础。

Software Requirement Specification Process01Software Requirement Specification02Software Architecture03Designing Features and Tasksof Various Modules04Coding05Testing06Validation
打开完整尺寸图表

软件需求规格说明

软件设计

软件设计分为两个层次:

  • 软件概要设计
  • 软件详细设计

Software DesignFundamentalsDesign ConceptsDesign Process ThatShould Be FollowedAreas That NeedMore AttentionConcurrent Users Tryingto Access the SystemHow Events Are Handledand ControlledHandling ExceptionsHandling DataStructure andArchitectureViewpoints on StructureViewpoints on StyleViewpoints on Design PatternsDefine Programs and FrameworksAnalysis andEvaluationQuality AnalysisEvaluation TechniquesStrategies andMethodsData Structure Design StrategyDesign Strategy for Modules
打开完整尺寸图表

软件设计

软件概要设计

概要设计(HLD)描述数据库设计和功能架构,为开发人员提供指导,并解答有关设计流程的问题。编写 HLD 前,需要一份清晰的 SRS。

软件详细设计

详细设计也称低层设计(LLD)。它将 HLD 分成较小的部分,并记录构成程序规格的逻辑。LLD 提供详细的系统信息,前提是 HLD 已经完成。

软件设计方法

设计过程可以采用以下任一方法:

  • 自顶向下设计
  • 自底向上设计

自顶向下的设计方法

自顶向下设计从整个系统的总体框架开始,之后再处理各子系统的细节。逐层细化每个子系统,直到明确最基本的元素。

自底向上的设计方法

自底向上设计从已经完整定义的基本元素开始。先把这些元素组合成子系统,再组合各子系统,最终形成完整的系统。可以把这个过程想象成种下一粒种子,看它慢慢长成一棵树。




我们保证,学完免费在线培训,您就能通过软件测试认证考试!

  1. 01

    在线报名

    选择您希望获得的认可认证,完成报名。

  2. 02

    接收访问码

    您的专属考试访问码将立即发送到您的电子邮箱。

  3. 03

    准备并参加考试

    学习免费培训材料,在线回答 50 道选择题。

  4. 04

    获得终身有效的认证

    领取全球有效的证书和可验证的数字徽章。

Accredited Software Test Manager Certification™ 证书样本
报名参加认证

您的免费优质在线培训

Software Testing Revealed 第二版已为您备好。

我们与来自各主要行业的知名企业领导者、团队负责人、软件测试教练、导师、专家及权威人士共同开发了这套培训。所有访问 International Software Test Institute™ 的人士都可以学习。您可通过 您的免费软件测试书籍 以及 您的免费优质软件测试培训 获取培训资料。这两个栏目都在顶部菜单中。

这些资料是 International Software Test Institute™ 享有版权的知识产权。我们免费向所有人分享,因为公开我们的专业经验能帮助软件测试从业者,并促进这一领域的发展。

认证考试采用选择题。请学习在线培训,掌握通过考试和获得软件测试认证所需的知识。

我们保证,学完免费优质在线培训,您就能通过软件测试认证考试!