3. 1. WATERFALL MODEL
• Waterfall approach was first methodology to be used widely in database
development to ensure success of the project. In "The Waterfall" approach,
the whole process of development is divided into separate phases. In this
Waterfall model, typically, the outcome of one phase acts as the input for
the next phase sequentially.
4. • The following illustration is a representation of the different phases of the
Waterfall Model.
5. The sequential phases in Waterfall model are:
• Requirement Gathering and analysis − All possible requirements of the database to be
developed are captured in this phase and documented in a requirement specification
document.
• System Design − The requirement specifications from first phase are studied in this phase
and the database design is prepared. This design helps in specifying hardware and
database requirements and helps in defining the overall architecture.
• Implementation − With inputs from the database design, the database is first developed
in small programs called units, which are integrated in the next phase. Each unit is
developed and tested for its functionality, which is referred to as Unit Testing.
• Testing and Integration − All the units developed in the implementation phase are
integrated into a database after testing of each unit. Post integration the entire
database is tested for any faults and failures.
• Deployment of system − Once the functional and non-functional testing is done; the
product is deployed in the customer environment or released into the market.
• Maintenance − There are some issues which come up in the client environment. To fix
those issues, patches are released. Also to enhance the product some better versions are
released. Maintenance is done to deliver these changes in the customer environment.
6. WATERFALL MODEL - APPLICATION
Some situations where the use of Waterfall model is most appropriate are :
• Requirements are very well documented, clear and fixed.
• Product definition is stable.
• Technology is understood and is not dynamic.
• There are no ambiguous requirements.
• Resources with required expertise are available to support the product.
• The project is short.
7. ADVANTAGES OF THE WATERFALL
MODEL
• Simple and easy to understand and use
• Easy to manage due to the rigidity of the model. Each phase has specific
deliverables and a review process.
• Phases are processed and completed one at a time.
• Works well for smaller projects where requirements are very well understood.
• Clearly defined stages.
• Easy to arrange tasks.
8. DISADVANTAGES OF WATERFALL
MODEL
• No working software is produced until late during the life cycle.
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a moderate to high
risk of changing. So, risk and uncertainty is high with this process model.
• It is difficult to measure progress within stages.
• Cannot accommodate changing requirements.
• Adjusting scope during the life cycle can end a project.
9. 2. PROTOTYPE MODEL
A prototype is an early sample, model, or release of a product built to test a
concept or process.
Prototypes provide a simple, visual means to communicate and verify
database capabilities before development begins.
10. WHY WE DO PROTOTYPING
1. To Evaluating and Testing
Ideas and drawings of a design can sometimes be a far cry from the real world in
which the database will be used. By creating a prototype, it is possible to sit down
with a real version of the database and determine which aspects are worthwhile
and which parts need to be revised or discarded.
2. To Clarifying Production Costs and Issues
By prototyping before database development begins, it is possible to determine
and see if any steps can be changed, combined or even removed. Not only that,
but keeps the cost of the development to a minimum.
Subsequently, if there are any difficulties in development or perhaps processes that
can create problems for the final development, it is much better to see these
before.
12. PROTOTYPE MODEL - APPLICATION
• Requirements of the complete system are clearly defined and understood.
• Major requirements must be defined; however, some functionalities or requested
enhancements may evolve with time.
• There is a time to the market constraint.
• A new technology is being used and is being learnt by the development team
while working on the project.
• Resources with needed skill sets are not available and are planned to be used
on contract basis for specific iterations.
• There are some high-risk features and goals which may change in the future.
13. ADVANTAGES OF PROTOTYPING
• Some working functionality can be developed quickly and early in the life
cycle.
• Results are obtained early and periodically.
• Progress can be measured.
• Less costly to change the scope/requirements.
• Testing and debugging during smaller prototype is easy.
• Risks are identified and resolved during prototyping; and each iteration is an
easily managed milestone.
14. ADVANTAGES CONT……….
• Easier to manage risk - High risk part is done first.
• With every increment, operational product is delivered.
• Issues, challenges and risks identified from each increment can be
utilized/applied to the next increment.
• It supports changing requirements.
• Better suited for large and mission-critical projects.
• During the life cycle, software is produced early which facilitates customer
evaluation and feedback.
15. DISADVANTAGES OF PROTOTYPING
• User confusion of prototype and finished database.
• Excessive development time of the prototype. More resources may be required.
• More management attention is required.
• System architecture or design issues may arise because not all requirements are
gathered in the beginning of the entire life cycle.
• Not suitable for smaller projects.
• End of project may not be known which is a risk.
• Highly skilled resources are required for risk analysis.
• Projects progress is highly dependent upon the risk analysis phase.
16. QUALITIES OF A GOOD PROTOTYPE
• Representable
A prototype is a rudimentary representation of the actual product. It represents how the product
will look and/or work like.
• Precision
More precise the prototype, better the response and feedback. Prototype must be exact and
accurate as per user requirement.
• Functional
A good prototype performs the basic functions of the actual product (if possible).
• Improvising
A good prototype is one which can be improvised on with minimum effort. This one of the most
important aspect of prototyping as a prototype is subject to many improvisations.
17. 3. SPIRAL MODEL
• The spiral model is a systems development lifecycle (SDLC) method used
for risk management that combines the prototype development process
model with elements of the waterfall model.
• The spiral model is used by software engineers and is favored for large,
expensive and complicated projects.
18. STEPS OF THE SPIRAL MODEL
The steps in the spiral model can be generalized as follows:
1. The new system requirements are defined in as much detail as possible. This usually involves
interviewing a number of users representing all the external or internal users and other aspects of
the existing system.
2. A preliminary design is created for the new system.
3. A first prototype of the new system is constructed from the preliminary design. This is usually a
scaled-down system, and represents an approximation of the characteristics of the final product.
4. A second prototype is evolved by a fourfold procedure:
evaluating the first prototype in terms of its strengths, weaknesses, and risks;
defining the requirements of the second prototype;
planning and designing the second prototype;
constructing and testing the second prototype.
19. STEPS OF THE SPIRAL MODEL CONT.
………………
5. The entire project can be aborted if the risk is deemed too great. Risk factors
might involve development cost overruns, operating-cost miscalculation and
other factors that could result in a less-than-satisfactory final product.
6. The existing prototype is evaluated in the same manner as was the previous
prototype, and, if necessary, another prototype is developed from it
according to the fourfold procedure outlined above.
7. The preceding steps are iterated until the customer is satisfied that the refined
prototype represents the final product desired.
8. The final system is constructed, based on the refined prototype.
9. The final system is thoroughly evaluated and tested. Routine maintenance is
carried out on a continuing basis to prevent large-scale failures and to
minimize downtime.
21. SPIRAL MODEL APPLICATION
The following pointers explain the typical uses of a Spiral Model :
• When there is a budget constraint and risk evaluation is important.
• For medium to high-risk projects.
• Long-term project commitment because of potential changes to economic
priorities as the requirements change with time.
• Customer is not sure of their requirements which is usually the case.
• Requirements are complex and need evaluation to get clarity.
• New product line which should be released in phases to get enough customer
feedback.
• Significant changes are expected in the product during the development cycle.
22. ADVANTAGES OF SPIRAL MODEL
• Flexibility - Changes made to the requirements after development has
started can be easily adopted and incorporated.
• Risk handling - The spiral model involves risk analysis and handling in every
phase, improving security and the chances of avoiding attacks and
breakages. The iterative development process also facilitates risk
management.
• Customer satisfaction - The spiral model facilitates customer feedback. If the
software is being designed for a customer, then the customer will be able to
see and evaluate their product in every phase. This allows them to voice
dissatisfactions or make changes before the product is fully built, saving the
development team time and money.
23. DISADVANTAGES OF SPIRAL MODEL
• High cost - The spiral model is expensive and, therefore, is not suitable for small
projects.
• Dependence on risk analysis - Since successful completion of the project depends
on effective risk handling, then it is necessary for involved personnel to have
expertise in risk assessment.
• Complexity - The spiral model is more complex than other SDLC options. For it to
operate efficiently, protocols must be followed closely. Furthermore, there is
increased documentation since the model involves intermediate phases.
• Hard to manage time - Going into the project, the number of required phases is
often unknown, making time management almost impossible. Therefore, there is
always a risk for falling behind schedule or going over budget and end of the
project may not be known early.
24. ASSIGNMENT 1
1. Considering the different types of databases and the emerging
technology, which type is considered to be the most suitable in the
healthcare industry?“ Give main five reasons.
2. Explain five potential disadvantages of implementing the suggested
database in the healthcare industry?
Date of Submission 05/6/2023