EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login
Home Software Development Software Development Tutorials Software Engineering Tutorial Fish Model
Secondary Sidebar
Software Engineering Tutorial
  • Models
    • Prototype Model
    • What is Spiral Model
    • Waterfall?Model
    • Prototyping Tools
    • Incremental Model
    • Iterative Model
    • RAD Model
    • Fish Model
    • What is Scrum Methodology?
    • RUP? Methodology
    • COCOMO Model
    • Big Bang Model
    • System Models
    • People Capability Maturity Model
    • Analysis Modeling
    • User Interface Design
    • Capability Maturity Model Integration
    • What is Agile Development?
    • Agile Model Advantages and Disadvantages
    • Agile Process Model
    • Rational Unified Process
  • Basic
    • What is Software Engineering?
    • What is SDET
    • What Is SDLC
    • SDLC Methodologies
    • Software Classification
    • Software Design
    • Software Design Principles
    • Software Metrics
    • Utility Software Types
    • UI Design Tools
    • User Interface Design Principles
    • Architectural Design in Software Engineering
    • Software Configuration Management
    • Software Configuration Management Tools
    • What is Risk Management?
    • System Engineering
    • Object oriented programming paradigm
    • CASE Tools
  • UML Daigram
    • StarUML
    • Architecture of UML
    • StarUML? Download
    • Types of UML Diagrams
    • UML Activity Diagram
    • UML Component?Diagram
    • UML Deployment Diagram
    • UML Diagram Softwares
    • UML Object?Diagram
    • UML Sequence Diagram
    • UML Use Case Diagram
    • State Diagram
    • Class Diagram
    • UML Dependency
    • UML Interaction Diagrams
    • Data Flow Diagrams
  • Advanced
    • Functional Point Analysis
    • Software Quality Control
    • Quality Assurance Tools
    • Prototype model advantages and disadvantages
    • UML Modelling Tools
    • Tomcat Server
    • Quality Software
    • UI Prototyping
    • Hybrid Model
    • Behavioral Model in Software Engineering
    • Flowchart symbols
    • Critical System
    • Legacy System
    • SOA Architecture
    • Software Quality Attributes
    • Software Maintenance
    • Software Cost Estimation
    • Software Inspection
    • Cohesion in Software Engineering
    • Coupling in Software Engineering
    • Component-based Software Engineering
    • Design Modeling in Software Engineering
    • Iterative Methodology
    • System Flow Diagram
    • Data Flow Architecture
    • SEICMM
    • Function Oriented Design
  • Interview Questions
    • Software Engineering Interview Questions
    • SDLC Interview Questions

Related Courses

Software Testing Course

Cyber Security Training

Software Development Course Training

Fish Model

By Priya PedamkarPriya Pedamkar

fish model

Introduction to Fish Model

Fish model is one of the software development methodologies in which both verification (Review) and validation (Testing) are done parallelly by the separate team in each phase of the model. The structure of this model looks like a fish, hence the name shows fish model. It is a time consuming and expensive model. One can be rest assured that both verification and validation are carried out in parallel by separate teams at each step of the model.

Block Diagram of Fish Model

The Block Diagram of Fish Model is as follows:

Fish Model

Phases of Fish Model

It is an SDLC methodology having all phases of the software development life cycle process. All the phases are related to the verification and validation process to complete develop the application. These phases are:

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

1. Project Initiation Phase

It is the first phase in the Fish model i.e. Project Initiation Node (PIN) or a Contract Sign. Here a service level agreement (SLA) would be signed in between client and organization for the work is going to begin.

2. Requirement Gathering Phase

In this phase, the Business Analyst (BA) will gather all the requirements from the client, to prepare Business Requirement Specifications (BRS) document and a parallelly separate team will allocate to review the document.

All in One Software Development Bundle(600+ Courses, 50+ projects)
Python TutorialC SharpJavaJavaScript
C Plus PlusSoftware TestingSQLKali Linux
Price
View Courses
600+ Online Courses | 50+ projects | 3000+ Hours | Verifiable Certificates | Lifetime Access
4.6 (86,818 ratings)

3. Analysis Phase

Whatever requirements are gathered from the client, the System Architect(SA) will do the analysis of it, to prepare SRS (Software Requirement Specifications) or FRD(Functional Requirement Document) and this phase also review will be done by a separate team.

4. Design Phase

The Technical Lead or Technical Architect will do the design of a project prototype by using those analyzed requirements and to prepare Technical Design Document (TDD).In this phase both High-level design & Low-level design takes place. Similarly, the review will be done by a separate team.

5. Coding Phase

The developers write the appropriate code using different technologies (like java or .net or python etc.) to develop the application and parallelly to test the individual executable part of the software is called Unit Testing. The units which are developed by developers, to combine all the units are called Integration and to test the interfaces and interaction between units are called Integration Testing. The end to end testing of the developed application by an independent testing team in the attesting environment is called Software Testing.

It is a testing of application done from a business point of view by the client to gain confidence for release and it is fit for purpose, is known as Acceptance Testing or User Acceptance Testing (UAT).it has two types, such as:

  • Alpha Testing: It is known as business acceptance testing or factory level testing, which is done by the client in the development organization site.
  • Beta Testing: It is known as product verification testing or field testing, which is done by the client in the place where the software is being used.

For some particular project, we need testing more than one system combined, is known as System Integration Testing (SIT). Ex: IRCTC Application with Banking.

6. Deployment or Release Phase

After completion of all types of testing, the application is ready for deployment or release. During this phase, the before release testing is done by the client is called Release Testing.

7. Maintenance Phase

After releasing the application, if any change on the code or technology or environment of the application i.e. called maintenance and related testing process is called Maintenance Testing. It is done by the testing team. In this phase, we go for Impact Analysis.

NOTE:

  • It is an SDLC model to develop software with extreme quality.
  • It is for more secured projects and also it is more costly.
  • Verification (Quality Assurance (QA)): It is a process-oriented to prevent defect and to improve the development process, so design review is part of this. It performed without program execution.
  • Validation (Quality Control (QC)): It is product-oriented to finds the defect and improves the product quality, so product testing is part of this. It performed with program execution.
  • This model is mainly a parallel combination of quality assurance and quality control.
  • This model generates two reports at the end of each model, one for verification and one for validation.

Advantages & Disadvantages of Fish Model

Below are the advantages and disadvantages of Fish Model:

Advantages

  • It is easy to implement.
  • Every stage of this model is tested by a separate team for completeness and correctness of application, so it provides a high-quality software product.
  • It provides full documentation of the application.
  • It is mostly used for secured and complex projects.

Disadvantages

  • In the model, the review & testing starts from the project initiation node to the maintenance phase, due to this reason the fish model is a costly methodology for development.
  • Similarly, it is a time-consuming process to develop the product.
  • This model is not preferred for a small project.
  • It is an expensive model so the development failure will cause a lot of damage and loss.
  • The risks are not identified at the initial stage and it can’t be prevented.
  • We can’t change the requirements in the middle of the process.

Conclusion

In this article we specifically discussed with one of the SDLC methodologies is called Fish model. By which we used to develop a big project as a highly risky project with exceptional quality. Nowadays, some software industry uses this model to develop software product like the Health Care sector. This article also provides the pros and cons of the Fish model. For any project, if Quality is a highly essential parameter then choose this model. This model of software development looks like the Waterfall model but, it involves continuous or simultaneous deployment of verification & validation processes.

Recommended Articles

This is a guide to Fish Model. Here we discuss the Phases of Fish Model like Project Initiation Phase, Requirement Gathering Phase, Analysis Phase, etc. along with Advantages and Disadvantages. You can also go through our other suggested articles to learn more –

  1. What is Agile Testing?
  2. SDLC vs Agile
  3. Incremental Model
  4. Multidimensional Data Model
Popular Course in this category
Software Testing Training (11 Courses, 2 Projects)
  11 Online Courses |  2 Hands-on Projects |  65+ Hours |  Verifiable Certificate of Completion
4.5
Price

View Course

Related Courses

Cyber Security Training (10 Courses, 3 Projects)4.9
All in One Software Development Bundle (600+ Courses, 50+ projects)4.8
0 Shares
Share
Tweet
Share
Primary Sidebar
Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Live Classes
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

ISO 10004:2018 & ISO 9001:2015 Certified

© 2022 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

C# Programming, Conditional Constructs, Loops, Arrays, OOPS Concept

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA Login

Forgot Password?

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more