Software Engineering 3 Flashcards
- A sequential and linear approach to
software development. - The progressflows steadily (like a waterfall) through several distinct phases.
- Each stage must be completed before moving to the next.
Waterfall Model
THE PHASES OF THE WATERFALL MODEL
- requirements
- design’
- implementation
- testing
- deployment
- maintenance
ADVANTAGES OF THE WATERFALL MODEL
- easy to understand
- individual processing
- prperly defined phases
- clear milestones
- properly documented
DISADVANTAGES OF THE WATERFALL MODEL
- Lack of flexibility
- lack of feedback
- difficult to accomodate change requests
- phases has no overlap
- late testing
WHEN TO USE THE WATERFALL MODEL?
- Only well-defined, unambiguous, and fixed requirements are employed with this paradigm.
- product is constant
- no unclear prerequisits
- brief projects
- many resources available with necessary knowledge
- people understand technology
WHAT TYPES OF SYSTEM CAN WATERFALL CAN BE APPLIED?
- governement and defense projects
- large-scale development projects
- projects with stable environment
- projects with well-defined environment
- safety-critical system
Iterative Process
Model Diagram
- Initial Planning
- Planning
- Requirements
- Analysis & Design
- Implementation
- Deployment
- Testing
- Evaluation
- refers to an approach where the development process is divided into multiple cycles or iterations.
- Each iteration involves a subset of the overall development tasks, including planning, requirements gathering, design, implementation, testing, and deployment.
ITERATIVE MODEL
WHEN TO USE
ITERATIVE MODEL
- uncretain requirements
- project with long development cycles
- customer-driven projects
- Highly innovative projects
For projects involving innovative or experimental features, the iterative model supports an exploratory approach
Highly innovative projects
In projects where customer satisfaction and feedback are paramount, such as software products or services directly used by end-users, the iterative model enables early and continuous engagement with customers.
Customer-driven projects
In projects where the development cycle is long, such as those involving cutting-edge technology or extensive research and development, the iterative model allows for the delivery of intermediate results at regular intervals.
Projects with long development cycles
When the requirements for a project are not fully understood or are likely to change over time, the iterative model provides flexibility.
Uncertain or evolving requirements
WHAT SYSTEMS ITERATIVE APPLICABLE TO
- software develpment
- product development
- web development
- mobile app development
- game development
- biomedical system
- engineering system
- data science and machine learning
ADVANTAGES OF ITERATIVE MODEL
- flexible
- easy to understand
- parallel development can be planned
- improved stakeholder engagement
- risks are recognized and resolved as early as possible