adsfasdf
This is the html version of the file http://www.iub.edu.bd/soc/csc445/SE%20-%2002.ppt.G o o g l e automatically generates html versions of documents as we crawl the web.To link to or bookmark this page, use the following url: http://www.google.com/search?q=cache:FQMhBqAx7_UJ:www.iub.edu.bd/soc/csc445/SE%2520-%252002.ppt+pros+and+cons+of+waterfall&hl=en&ie=UTF-8Google is not affiliated with the authors of this page nor responsible for its content.
These search terms have been highlighted: pros cons waterfall
Software The Process
Building computer software is an iterative learning process
Software Process - framework for the tasks that are required to build high quality software.
.
Software Engineering encompasses the process the techniques , methods and tools.
Software Engineering
Use of sound engineering principles in order to obtain economically the software which is reliable and efficient.
The application of systematic, disciplined, quantifiable approach to the development, operation and maintenance of the software.
SE Layers
A Quality Focus
Process
Methods
Tools
SE Phases
Definition Phase
Development Phase
Support Phase
Definition Phase - What?
What information to be processed?
What functions are needed?
What are the design constraints?
What interfaces to be established?
Three major tasks:
Information Engineering
Project Planning
Requirement Analysis
Development Phase - How?
How data are structured?
How functions to be implemented?
How the design to be translated into codes?
Three major tasks:
Software Designing
Code Generation
Software testing
Support Phase
Error correction
Adaptation to new environment
Four major changes:
Correction
Adaptation
Enhancement
Prevention
Umbrella Activities
Formal technical reviews
Project Tracking
Quality Assurance
Configuration management
Documentation
Reusability Management
Measurement
Risk Management
Software Process
Framework activities
Task Sets
Tasks
Milestones
SQA points
Applicable to all software projects
Umbrella actvities independent of framework activities - overlay the process model
Software Process Model
Development strategy incorporated by software engineers encompassing the process, generic phases, methods and tools.
There are different models to choose from based on
nature of project and application
methods and tools to be used
controls and deliverables required
All Software Development -Problem Solving Loop
Problem Definition
Technical Development
Solution Integration
Status quo
Characteristics of problem solving loops
Applied at all level starting from macro to coding
cross talk occurs within the stages
All the stages coexist simultaneously at some level of detail
Stages are applied recursively to user needs
“Software development is a continuum from the user to the developer to the the technology”
IEEE Standard
Project management process
initiation, monitoring, control, quality management
Predevelopment process
concept exploration, system allocation
Development process
requirement analysis, design, coding, implementation
Postdevelopment process
installation, operation, support, maintenance, retirement
Umbrella activities
verification, validation, configuration management, documentation, training
Software Life-cycle Models
Waterfall/classic
Incremental
Spiral
Prototyping
Evolutionary
Object-Oriented
Waterfall Model
Requirement definition
Design
Implementation & unit testing
Integration & system testing
Operation and maintenance
Sequential and iterative
Each phase is completed with production of certain deliverables
Typically for large systems different sets of people are involved in each stage
Communication between phases is through deliverables
Waterfall Model - characteristics
Pros
Follows usual engineering life-cycle
Simple to understand
Deficiencies are handles by iterating current phases
Waterfall Model - pros & cons
Cons
Unfortunately new projects rarely are so simple
Not always possible to state all requirement at the beginning
Late availability of working version
Clients may find difficult to [next page]


