System Development Methodologies Notes
System Development Methodologies Notes
These are frameworks that are used to structure, plan, and control the process of developing an
information system.
They include but not limited to the following:
WATERFALL MODEL
The waterfall method is considered the traditional software development method. It’s a rigid linear
model that consists of sequential phases (requirements, design, implementation, verification,
maintenance) in which distinct goals are accomplished. Each phase must be 100% complete before
the next phase can start, and traditionally there is no process for going back to modify the project
or direction.
Pros:
Cons:
PROTOTYPING
Pros:
Cons:
The RAD model is based on prototyping and iterative development with no specific planning
involved. The process of writing the software itself involves the planning required for developing
the product.
Cons:
SPIRAL MODEL
The spiral model combines the idea of iterative development with the systematic, controlled
aspects of the waterfall model. This Spiral model is a combination of iterative development process
model and sequential linear development model i.e. the waterfall model with a very high emphasis
on risk analysis. It allows incremental releases of the product or incremental refinement through
each iteration around the spiral.
The spiral model has four phases. A software project repeatedly passes through these phases in
iterations called Spirals.
Pros:
Cons:
INCREMENTAL MODEL
Incremental Model is a process of software development where requirements are broken down into
multiple standalone modules of software development cycle. Incremental development is done in
steps from analysis design, implementation, testing/verification, maintenance.
Each iteration passes through the requirements, design, coding and testing phases. And each
subsequent release of the system adds function to the previous release until all designed
functionality has been implemented.
Agile SDLC model is a combination of iterative and incremental process models with focus on
process adaptability and customer satisfaction by rapid delivery of working software product.
Agile Methods break the product into small incremental builds. These builds are provided in
iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves
cross functional teams working simultaneously on various areas like −
Planning
Requirements Analysis
Design
Coding
Unit Testing and
Acceptance Testing.
At the end of the iteration, a working product is displayed to the customer and important
stakeholders.
The advantages of the Agile Model are as follows −
JAD (Joint Application Development) is a methodology that involves the client or end user in the
design and development of an application, through a succession of collaborative workshops called
JAD sessions.
Pros:
etc