Anda di halaman 1dari 19

Last Lect3

Crises
Myths
Reality
Introduction to process
Software Development
Process
Generic View of Process
Software Life Cycle
Models
Software-A Layered
Technology
A quality Focus
Every organization rest on its commitment
to quality.
Process
Holds the layers together
Enables rational and timely development;
provides a framework for effective delivery
of technology
forms the basis for management
provides the context for technical methods,
work products, milestones, quality
measures, and change management
Methods
Basic Principals
Modeling
Tasks
Tools
Provide automated or semi-automated
support for the process and methods
(i.e., CASE tools Computer Aided
Software Engineering)
Software Process Model
or
Software Life Cycle
Software Process model is a simplified
representation of a software process.
Each process model represents a
process from a particular perspective.
Generic View of Process

Communication
Planning
Modeling (Analyze, Design)
Construction (Code, Test)
Deployment
Perspectives of Software
Process
Waterfall Model
Basic model or life cycle
Incremental Development
This approach interleaves the activities of
specification, development, and validation.
Reuse-oriented software engineering
System development focuses on
integrating existing components in to a
system
Waterfall Model
Systems services, constraints and goals

Requirements applied by architecture diagram

Set of programs and unit testing

System integration and testing

Error correction, longest life


cycle phase
Advantages of waterfall
model:

Simple and easy to understand and


use.
Easy to manage
Phases do not overlap.
well for smaller projects where
requirements are very well
understood.
Disadvantages of
waterfall model:
Difficult to go back.
No working software is produced until late
during the life cycle.
High risk and uncertainty.
Not a good 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.
When to use the
waterfall model:
only when the requirements are very
well known, clear and fixed.
Product definition is stable.
Technology is understood.
There are no ambiguous requirements
Ample resources with required
expertise are available freely
The project is short.
Incremental Development
Advantages of
Incremental model:
Generates working software during the
software life cycle.
flexible less costly to change scope and
requirements.
Easier to test and debug during a smaller
iteration.
Customer can respond to each built.
Lowers initial delivery cost.
Easier to manage risk
Disadvantages of
Incremental model:
Needs good planning and design.
Needs a clear and complete
definition of the whole system before
it can be broken down and built
incrementally.
Total cost is higher than Waterfall
When to use the
Incremental model:
when the requirements of the complete
system are clearly defined and understood.
Major requirements must be defined, some
details can evolve with time.
There is a need to get a product to the market
early.
A new technology is being used
Resources with needed skill set are not
available
There are some high risk features and goals.
Reuse-oriented software
engineering
Existing
framework use

Search for According to


technology or component
component

Integration with Integration with


components components
Components
Web services according to some
standards
Component framework such as .NET
or J2EE
Stand-alone software systems for
particular environment
Next Lecture
Some Example models on
waterfall,
Incremental model

Anda mungkin juga menyukai