Unit I - SC
Unit I - SC
Unit I - SC
Customized products
– Software that is commissioned by a specific customer to meet their
own needs.
– Examples – embedded control systems, air traffic control software,
traffic monitoring systems.
Characteristic of software
• Its characteristics that make it different from other things human being build.
• Product-line Software: It is designed to provide a specific facility for use by many different
customers.
Ex:(word processing, spread sheets, graphics, multimedia etc.,)
• Web based Software: The Web pages retrieved by a browser are software that includes
executable instructions.
Ex:(Html, JavaScript, Perl etc.,)
• Reality: The book of standards may very well exist, but is it used? Are
software practitioners aware of its existence? Does it reflect modern
software engineering practice? Is it complete? Is it streamlined to improve
time to delivery while still maintaining a focus on quality? In many cases,
the answer to all of these questions is "no."
Management Myth
• Myth-2: If we get behind schedule, we can add more programmers and
catch up (sometimes called the Mongolian horde concept).
• Myth-1: Once we write the program and get it to work, our job is done.
• Reality: Someone once said that "the sooner you begin 'writing code', the
longer it'll take you to get done." Industry data indicate that between 60
and 80 percent of all effort expended on software will be expended after it
is delivered to the customer for the first time.
Practitioner’s Myths
• Myth-3: The only deliverable work product for a successful project is the
working program.
• Methods: Provide the technical "how to" for building software; rely
on a set of basic principles; encompass a broad array of tasks;
include modeling activities
Umbrella Activities:
Software requirements management
Software project planning
Software project tracking and oversight
Software quality assurance
Software configuration management
Software subcontract management
Formal technical reviews
Risk management
Measurement – process, project, product
Reusability management (component reuse)
Work product preparation and production
Generic Process Framework
Applicable to almost all software projects
• Communication
• Planning
• Modelling
• Construction (coding & testing)
• Deployment
The Capability Maturity Model
Integration(CMMI)
Is examined by
SPA Identifies Capabilities and
Identifies modification risk of SP
To SPA Software Process
Assessment
Leads to
Leads to
Waterfall Model
Waterfall model
• The waterfall model is also called as linear sequential model
1. Requirement gathering
2. Design
3. Coding
4. Testing
5. Maintenance
Phases of waterfall model
Requirement analysis
• This is the 1st phase in the waterfall model which include
meeting the customer and understanding his requirements
• The customer can see the working model only at the end
Co m m u n ic a t io n
p ro je c t in it ia t io n Planning
re q u ire m e n t g a t h e rin g estimating Mo d e lin g
scheduling
a na lys is Co n s t ru c t io n
tracking
de s ign De p lo y m e n t
c ode
t es t d e liv e ry
s u p p o rt
f e e dba c k
Increments or builds
Advantages
• Sequences
– It proceeds from one phase to the next in sequential
manner
• Easier to debug
– As there are different builds, so it is easier to debug
• Lower cost
– Initial product delivery is faster and lower costs
• Work with fewer people
– Ever increment can be implemented with fewer people
• Less use of hardware
– May be able to plan every increment in the same way that
avoids the use of hardware
Incremental Model
RAD Model
RAD model
• Rapid Application Development emphasizes on short
development cycle
60 – 90
days
Communication
• To understand the business problem and the information
characteristics that the software must have
Planning
• Planning is essential for multiple software teams work in
parallel
Modelling
• Establishes design representation that serves as the basis for
RAD’s construction
Prototype Model
Prototype Model
• Before carrying out the development of the actual software ,
a working prototype of the system should be built.
Spiral Model
Spiral Model
• Proposed by Boehm
• Couples the iterative nature of prototype with systematic
approach of the linear sequential model
• Has same potential of the RAD model
• Using the spiral model software is developed in a series of
incremental releases
• During early iteration, increments will be a paper or prototype
release
• During later iteration, increasingly more complete versions of
the engineering system are produced
• Spiral model is divided into number of framework activities
called tasks regions
Phases of spiral model
• Communication
• Planning
• Risk analysis
• Engineering
• Construction and release
• Customer evaluation
Evolutionary Process Model
Spiral Model
Spiral model
Communication
• Task required to establish effective communication between
developer and customer
Planning
• Task required to define resources, timeline and other project
related information
Risk analysis
• Tasks required to access both technical and management risks
Engineering
• Tasks required to build one or more representations of the
application
Construction and release
• Tasks required to construction, test, and provide user support
Customer evaluation
• Task required to obtain customer feedback based on
evaluation of the software representation created during the
engineering stage and implemented during the installation
stage.
Evolutionary Model
Concurrent Model
Concurrent Development Model
• Provides an accurate state of the current state of project