Fish SDLC 模型概述
先决条件:软件开发生命周期
SDLC 代表软件开发生命周期。它是指通过明确定义开发所涉及的过程来开发质量软件的方法。
SDLC通常分为几个阶段(stages)来开发软件。流行的 SDLC 之一是 FISH 模型。在鱼模型中,验证和确认由两个不同的团队在每个阶段并行完成。
验证意味着“审查”整个阶段,而验证意味着“测试”整个阶段。除了部署和维护阶段,这两个过程由不同的团队完成,然后在阶段结束时生成报告。
Note:
- Fish model is preferred for developing secure & supreme quality software.
- This SDLC is expensive in terms of cost & time since it involves verification as well as validation on almost all the phases and it is not suitable for small projects and projects that might need a requirement change in the middle of development.
- Apart from that, the Fish Model is easy to implement and all the documents are created one by one as the phases are completed. So, full documentation of the software being developed is at hand by the end.
该模型的结构看起来像鱼的骨架,这就是为什么这个 SDLC 被称为鱼模型。
鱼模型的阶段:
现在,我们将看到鱼模型中涉及的阶段。鱼模型有 7 个阶段,它们是,
- 需求收集与规划
- 分析
- 设计
- 开发/编码
- 测试
- 部署
- 维护
下图代表 FISH 模型的概述。
1. 需求收集和计划:首先,双方(客户和组织)签订合同以启动项目。然后,组织的业务分析师彻底了解客户的期望,以准备业务需求规范 (BRS) 文档。
一旦收集和审查了需求;将执行以下过程。
- 项目执行的规划。
- 选择用于表达软件设计的软件模型。
- 资源规划。
- 进行可行性测试以评估交付拟议项目的成功率。这是做出是否执行或放弃提议的项目决策的地方。
- 项目风险识别。
- 项目经理为项目分配成员。
- 所以,这里是完成项目的所有准备部分的地方。
2.分析:在这个阶段,软件需求规范(SRS)文档是从业务需求规范(BRS)文档中准备的。业务分析师、软件架构师、主题专家和团队负责人等不同成员在准备 SRS 方面发挥着重要作用。文件准备好后,由团队审核,然后转发给客户以获得批准。一旦客户批准了软件需求规范 (SRS) 文档,设计阶段就开始了。
3. 设计:在这个阶段,开发人员或技术架构师在前一阶段分析的 SRS 文档的帮助下创建一个称为设计文档规范 (DDS) 的文档。
在本文件中;拟议项目的原型、粗略设计、软件的外观和工作方式都经过设计和明确定义。设计主要分为两种。他们是,
- 高级设计(HLD):由软件架构的基本外观设计组成
- 低级设计 (LLD): LLD 对整个软件架构进行了深入设计。
一旦设计文档规范准备好,一个团队将对其进行审查。然后它将被转发给客户和利益相关者(参与项目及其结果的人)。 DDS 文档通常有几种方法,将选择理想的方法并进入下一阶段。
4. 开发/编码:在这个阶段,项目的实际开发发生在开发人员根据确定的标准开始编写代码的地方。这就是为什么它也被称为编码阶段。代码通常写成小夹头,然后将它们集成为一个整体。
编码完成后,代码会被编译成机器可读的语言(0s1s),然后运行,看看软件是否按预期工作,没有出现错误。开发者是这个阶段的字符。最终,代码被记录为源代码文档 (SDC)。在编译和运行代码之后,将针对不同目的以多种方式对代码进行测试。
5. 测试:随着开发阶段的完成,代码得到测试。开发人员单独测试代码的小块(单元),这种测试称为单元测试。然后将代码组合并进行测试,以检查代码是否作为一个整体工作并呈现所需的输出。此测试称为集成测试。
开发人员完成这些测试后,代码将提供给测试团队。他们将进行各种测试并检查一切是否按业务需求规范 (BRS) 中的预期工作。如果他们发现任何意外或发现错误,他们将通知开发人员在指定时间内修复它们。之后,最终将完成另外两个测试,即 Alpha 测试和 Beta 测试。
6. 部署:此时,软件已完全开发和测试。测试结果由利益相关者审查以进行部署。一切准备就绪!通常,客户端可能会在此阶段启动之前执行测试,这称为发布测试。
7. 维护:软件发布给最终用户后,可能会出现很多问题。这些需要尽快修复。如果问题更大,则可能会在软件中更新新功能以带来所需的功能。因此,在软件部署(启动)之后进行必要的工作的阶段称为维护阶段。