SlideShare a Scribd company logo
1 of 48
Software Process and Software
Process Model
Dr. VIJAYALAKSHMI P, Professor,
AI&DS,KL University
Overview
ī¯ What? A software process – as a framework for
the tasks that are required to build high-quality
software.
ī¯ Who? Managers, software engineers, and
customers.
ī¯ Why? Provides stability, control, and organization
to an otherwise chaotic activity.
ī¯ Steps? A handful of activities are common to all
software processes, details vary.
ī¯ Work product? Programs, documents, and data.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
What is software engineering?
ī¯ Definition :
īŽ (1) The application of systematic, disciplined, quantifiable
approach to the development, operation, and maintenance
of software; that is, the application of engineering to
software.(2) The study of approaches as in (1) above
ī¯ Its a discipline that is concerned with all aspects of software
production.
ī¯ Software engineers should adopt
īŽ Systematic and organized approach to their work
īŽ Use appropriate tools and techniques depending on the
problem to be solved
īŽ The development constraints and the resources available
ī¯ Apply Engineering Concepts to developing Software
ī¯ Challenge for Software Engineers is to produce high quality
software with finite amount of resources & within a predicted
schedule
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Software Engineering – Layered
Technology
Layered Technology
A quality focus: the “bedrock”
Process model: the “framework”
Methods: technical “how to’s”
Tools: CASE preferred
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Layered Technology
A quality Focus
ī¯ Every organization is rest on its commitment to quality.
ī¯ Total quality management, Six Sigma, or similar continuous
improvement culture and it is this culture ultimately leads to
development of increasingly more effective approaches to software
engineering.
ī¯ The bedrock that supports software engineering is a quality focus.
Process:
ī¯ It’s a foundation layer for software engineering.
ī¯ It’s define framework for a set of key process areas (KRA) for
effectively manage and deliver quality software in a cost effective
manner
ī¯ The processes define the tasks to be performed and the order in which
they are to be performed
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Methods:
ī¯ It provide the technical how-to's for building software.
ī¯ Methods encompass a broad array of tasks that include requirements
analysis, design, program construction, testing, and support.
ī¯ There could be more than one technique to perform a task and
different techniques could be used in different situations.
Tools:
ī¯ Provide automated or semi-automated support for the process,
methods and quality control.
ī¯ When tools are integrated so that information created by one tool can
be used by another, a system for the support of software development,
called computer-aided software engineering (CASE)
Layered Technology
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Process Framework
Process framework
Umbrella Activities
Framework activity 1
Framework activity n
Software Process
Framework activities
work tasks
work products
milestones & deliverables
QA checkpoints
Process Framework
Umbrella Activities
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Process framework
Why process :
A process defines who is doing what, when and how to reach a
certain goal.
ī¯ To build complete software process.
ī¯ Identified a small number of framework activities that are
applicable to all software projects, regardless of their size or
complexity.
ī¯ It encompasses a set of umbrella activities that are applicable
across the entire software process.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Process Framework
â€ĸEach framework
activities is
populated by a set
for software
engineering actions
– a collection of
related tasks.
â€ĸ Each action has
individual work task.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Generic Process Framework
Activities
ī¯ Communication:
īŽ Heavy communication with customers, stakeholders, team
īŽ Encompasses requirements gathering and related activities
ī¯ Planning:
īŽ Workflow that is to follow
īŽ Describe technical task, likely risk, resources will require, work
products to be produced and a work schedule.
ī¯ Modeling:
īŽ Help developer and customer to understand requirements
(Analysis of requirements) & Design of software
ī¯ Construction
īŽ Code generation: either manual or automated or both
īŽ Testing – to uncover error in the code.
ī¯ Deployment:
īŽ Delivery to the customer for evaluation
īŽ Customer provide feedback
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
The Process Model: Adaptability
ī¯ The framework activities will always
be applied on every project ... BUT
ī¯ The tasks for each activity will vary
based on:
īŽ The type of project (an “entry point” to
the model)
īŽ Characteristics of the project
īŽ Common sense judgment; concurrence
of the project team
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
ī¯ Software project tracking and control
īŽ Assessing progress against the project plan.
īŽ Take adequate action to maintain schedule.
ī¯ Formal technical reviews
īŽ Assessing software work products in an effort to uncover and remove errors
before goes into next action or activity.
ī¯ Software quality assurance
īŽ Define and conducts the activities required to ensure software quality.
ī¯ Software configuration management
īŽ Manages the effects of change.
ī¯ Document preparation and production
īŽ Help to create work products such as models, documents, logs, form and list.
ī¯ Reusability management
īŽ Define criteria for work product reuse
īŽ Mechanisms to achieve reusable components.
ī¯ Measurement
īŽ Define and collects process, project, and product measures
īŽ Assist the team in delivering software that meets customer’s needs.
ī¯ Risk management
īŽ Assesses risks that may effect that outcome of project or quality of product
(i.e. software)
Umbrella Activities
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
ī¯ The Software Engineering Institute (SEI) has
developed process meta-model to measure
organization different level of process
capability and maturity.
ī¯ CMMI – developed by SEI
ī¯ The CMMI defines each process area in terms
of “specific goals” and the “specific practices”
required to achieve these goals.
ī¯ Specific goals establish the characteristics
that must exist if the activities implied by a
process area are to be effective.
ī¯ Specific practices refine a goal into a set of
process-related activities.
Capability Maturity Model
Integration (CMMI)
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
CMMI Level
Level 0 (Incomplete) –
īŽ Process are not perform or not achieve all the goals and objectives
defined by the CMMI for Level I capability.
Level 1 (Performed) – All specific goals are performed as per defined by
CMMI
Level 2 (Managed) –
īŽ All level 1 criteria have been satisfied
īŽ In addition to Level I;
ī¯ People doing work have access to adequate resources to get
job done,
ī¯ Stakeholders are actively involved,
ī¯ Work tasks and products are monitored, controlled, reviewed,
and evaluated for conformance to process description.
Level 3 (Defined) –
īŽ All level 2 criteria have been achieved.
īŽ In addition;
ī¯ management and engineering processes documented
ī¯ standardized and integrated into organization-wide software
process
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
CMMI Level (cont.)
Level 4 (Quantitatively Managed) -
īŽ All level 3 criteria have been satisfied.
īŽ Software process and products are quantitatively understood
īŽ Controlled using detailed measures and assessment.
Level 5 (Optimized) –
īŽ Continuous process improvement is enabled by quantitative
feedback from the process and testing innovative ideas.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Software process model
ī¯ Process models prescribe a distinct set of activities,
actions, tasks, milestones, and work products required to
engineer high quality software.
ī¯ Process models are not perfect, but provide roadmap for
software engineering work.
ī¯ Software models provide stability, control, and
organization to a process that if not managed can easily
get out of control
ī¯ Software process models are adapted to meet the needs
of software engineers and managers for a specific
project.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Build and Fix Model
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Build and Fix Model
The earlier approach
ī¯ Product is constructed without specification or any
attempt at design.
ī¯ developers simply build a product that is reworked as
many times as necessary to satisfy the client.
ī¯ model may work for small projects but is totally
unsatisfactory for products of any reasonable size.
ī¯ Maintenance is high.
ī¯ Source of difficulties and deficiencies
īŽ impossible to predict
īŽ impossible to manage
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Why Models are needed?
ī¯ Symptoms of inadequacy: the software crisis
īŽ scheduled time and cost exceeded
īŽ user expectations not met
īŽ poor quality
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Process as a "black box"
Product
Process
Informal
Requirements
Quality?
Uncertain /
Incomplete requirement
In the beginning
Dr. VIJAYALAKSHMI P, Professor,
AI&DS,KL University
Problems
ī¯ The assumption is that requirements can
be fully understood prior to development
ī¯ Interaction with the customer occurs
only at the beginning (requirements)
and end (after delivery)
ī¯ Unfortunately the assumption almost
never holds
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Process as a "white box"
Product
Process
Informal
Requirements
feedback
Dr. VIJAYALAKSHMI P, Professor,
AI&DS,KL University
Advantages
ī¯ Reduce risks by improving visibility
ī¯ Allow project changes as the project
progresses
īŽ based on feedback from the customer
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Prescriptive Model
ī¯ Prescriptive process models advocate an orderly approach to software
engineering
īŽ Organize framework activities in a certain order
ī¯ Process framework activity with set of software engineering actions.
ī¯ Each action in terms of a task set that identifies the work to be
accomplished to meet the goals.
ī¯ The resultant process model should be adapted to accommodate the
nature of the specific project, people doing the work, and the work
environment.
ī¯ Software engineer choose process framework that includes activities
like;
īŽ Communication
īŽ Planning
īŽ Modeling
īŽ Construction
īŽ Deployment
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Prescriptive Model
ī¯ Calling this model as “Prescribe”
because it recommend a set of
process elements, activities, action
task, work product & quality.
ī¯ Each elements are inter related to
one another (called workflow).
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Waterfall Model or Classic Life
Cycle
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Waterfall Model or Classic Life
Cycle
ī¯ Requirement Analysis and Definition: What - The systems services, constraints
and goals are defined by customers with system users.
ī¯ Scheduling tracking -
īŽ Assessing progress against the project plan.
īŽ Require action to maintain schedule.
ī¯ System and Software Design: How –It establishes and overall system
architecture. Software design involves fundamental system abstractions and their
relationships.
ī¯ Integration and system testing: The individual program unit or programs are
integrated and tested as a complete system to ensure that the software
requirements have been met. After testing, the software system is delivered to
the customer.
ī¯ Operation and Maintenance: Normally this is the longest phase of the software
life cycle. The system is installed and put into practical use. Maintenance involves
correcting errors which were not discovered in earlier stages of the life-cycle.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Limitations of the waterfall
model
īą The nature of the requirements will not change very much During
development; during evolution
īą The model implies that you should attempt to complete a given stage
before moving on to the next stage
īą Does not account for the fact that requirements constantly change.
īą It also means that customers can not use anything until the entire
system is complete.
īą The model implies that once the product is finished, everything else is
maintenance.
īą Surprises at the end are very expensive
īą Some teams sit ideal for other teams to finish
īą Therefore, this model is only appropriate when the requirements are
well-understood and changes will be fairly limited during the design
process.
Problems:
1. Real projects are rarely follow the sequential model.
2. Difficult for the customer to state all the requirement explicitly.
3. Assumes patience from customer - working version of program will not
available until programs not getting change fully.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Incremental Process Model
C- Communication
P - Planning
M – Modeling
C - Construction
D - Deployment
Delivers software in small but usable pieces, each piece builds on
pieces already delivered
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
ī¯ Rather than deliver the system as a single delivery, the development
and delivery is broken down into increments with each increment
delivering part of the required functionality.
ī¯ First Increment is often core product
īŽ Includes basic requirement
īŽ Many supplementary features (known & unknown) remain
undelivered
ī¯ A plan of next increment is prepared
īŽ Modifications of the first increment
īŽ Additional features of the first increment
ī¯ It is particularly useful when enough staffing is not available for the
whole project
ī¯ Increment can be planned to manage technical risks.
ī¯ Incremental model focus more on delivery of operation product with
each increment.
The Incremental Model
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
ī¯ User requirements are prioritised and the highest priority requirements
are included in early increments.
ī¯ Once the development of an increment is started, the requirements are
frozen though requirements for later increments can continue to
evolve.
ī¯ Customer value can be delivered with each increment so system
functionality is available earlier.
ī¯ Early increments act as a prototype to help elicit requirements for later
increments.
ī¯ Lower risk of overall project failure.
ī¯ The highest priority system services tend to receive the most testing.
The Incremental Model
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Rapid Application Development
(RAD) Model
Makes heavy use of reusable software components with an
extremely short development cycle
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
RAD model
ī¯ Communication – to understand business problem.
ī¯ Planning – multiple s/w teams works in parallel on diff.
system.
ī¯ Modeling –
īŽ Business modeling – Information flow among
business is working.
Ex. What kind of information drives?
Who is going to generate information?
From where information comes and goes?
īŽ Data modeling – Information refine into set of data
objects that are needed to support business.
īŽ Process modeling – Data object transforms to
information flow necessary to implement business.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
ī¯ Construction – it highlighting the use of pre-existing
software component.
ī¯ Deployment – Deliver to customer basis for
subsequent iteration.
ī¯ RAD model emphasize a short development cycle.
ī¯ “High speed” edition of linear sequential model.
ī¯ If requirement are well understood and project scope is
constrained then it enable development team to create “
fully functional system” within a very short time period.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
RAD Model
ī¯ If application is modularized (“Scalable Scope”), each
major function to be completed in less than three
months.
ī¯ Each major function can be addressed by a separate
team and then integrated to form a whole.
Drawback:
ī¯ For large but scalable projects
īŽ RAD requires sufficient human resources
ī¯ Projects fail if developers and customers are not
committed in a much shortened time-frame
ī¯ Problematic if system can not be modularized
ī¯ Not appropriate when technical risks are high ( heavy
use of new technology)
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Evolutionary Process Model
ī¯ Produce an increasingly more
complete version of the software with
each iteration.
ī¯ Evolutionary Models are iterative.
ī¯ Evolutionary models are:
īŽ Prototyping
īŽ Spiral Model
īŽ Concurrent Development Model
īŽ Fourth Generation Techniques (4GT)
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Evolutionary Process Models :
Prototyping
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Prototyping cohesive
ī¯ Best approach when:
īŽ Objectives defines by customer are general but does not have
details like input, processing, or output requirement.
īŽ Developer may be unsure of the efficiency of an algorithm, O.S.,
or the form that human machine interaction should take.
ī¯ It can be used as standalone process model.
ī¯ Model assist software engineer and customer to better understand
what is to be built when requirement are fuzzy.
ī¯ Prototyping start with communication, between a customer and
software engineer to define overall objective, identify requirements and
make a boundary.
ī¯ Going ahead, planned quickly and modeling (software layout visible to
the customers/end-user) occurs.
ī¯ Quick design leads to prototype construction.
ī¯ Prototype is deployed and evaluated by the customer/user.
ī¯ Feedback from customer/end user will refine requirement and that is
how iteration occurs during prototype to satisfy the needs of the
customer.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Prototyping (cont..)
ī¯ Prototype can be serve as “the first system”.
ī¯ Both customers and developers like the prototyping paradigm.
īŽ Customer/End user gets a feel for the actual system
īŽ Developer get to build something immediately.
Problem Areas:
ī¯ Customer cries foul and demand that “a few fixes” be applied to make
the prototype a working product, due to that software quality suffers
as a result.
ī¯ Developer often makes implementation in order to get a prototype
working quickly without considering other factors in mind like OS,
Programming language, etc.
Customer and developer both must be agree that the prototype is built to
serve as a mechanism for defining requirement.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Evolutionary Model: Spiral
Model
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Spiral Model
īą Couples iterative nature of prototyping with the controlled and
systematic aspects of the linear sequential model
ī¯ It provide potential for rapid development of increasingly more
complete version of the software.
ī¯ Using spiral, software developed in as series of evolutionary
release.
īŽ Early iteration, release might be on paper or prototype.
īŽ Later iteration, more complete version of software.
ī¯ Divided into framework activities (C,P,M,C,D). Each activity
represent one segment.
ī¯ Evolutionary process begins in a clockwise direction, beginning
at the center risk.
ī¯ First circuit around the spiral might result in development of a
product specification. Subsequently, develop a prototype and
then progressively more sophisticated version of software.
ī¯ Unlike other process models that end when software is
delivered.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Spiral Model
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Spiral Model (cont.)
Concept Development Project:
ī¯ Start at the core and continues for multiple iterations until it is
complete.
ī¯ If concept is developed into an actual product, the process
proceeds outward on the spiral.
New Product Development Project:
ī¯ New product will evolve through a number of iterations around
the spiral.
ī¯ Later, a circuit around spiral might be used to represent a
“Product Enhancement Project”
Product Enhancement Project:
ī¯ There are times when process is dormant or software team not
developing new things but change is initiated, process start at
appropriate entry point.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
ī¯ Spiral models uses prototyping as a risk reduction
mechanism but, more important, enables the developer
to apply the prototyping approach at each stage in the
evolution of the product.
ī¯ It maintains the systematic stepwise approach suggested
by the classic life cycle but also incorporates it into an
iterative framework activity.
ī¯ If risks cannot be resolved, project is immediately
terminated
Problem Area:
ī¯ It may be difficult to convince customers (particularly in
contract situations) that the evolutionary approach is
controllable.
ī¯ If a major risk is not uncovered and managed, problems
will undoubtedly occur.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Concurrent Development Model
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
ī¯ It represented schematically as series of major technical
activities, tasks, and their associated states.
ī¯ It is often more appropriate for system engineering projects
where different engineering teams are involved.
ī¯ The activity-modeling may be in any one of the states for a
given time.
ī¯ All activities exist concurrently but reside in different states.
E.g.
ī¯ The analysis activity (existed in the none state while initial
customer communication was completed) now makes a
transition into the under development state.
ī¯ Analysis activity moves from the under development state
into the awaiting changes state only if customer indicates
changes in requirements.
ī¯ Series of event will trigger transition from state to state.
E.g. During initial stage there was inconsistency in design which
was uncovered. This will triggers the analysis action from the
Done state into Awaiting Changes state.
Concurrent Development Model
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University
Concurrent Development (Cont.)
ī¯ Visibility of current state of project
ī¯ It define network of activities
ī¯ Each activities, actions and tasks on
the network exists simultaneously
with other activities ,actions and
tasks.
ī¯ Events generated at one point in the
process network trigger transitions
among the states.
Dr. VIJAYALAKSHMI P,
Professor, AI&DS,KL University

More Related Content

Similar to Software Process Models and Frameworks

A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineeringInocentshuja Ahmad
 
software-process-project-managementr17a0539.pdf
software-process-project-managementr17a0539.pdfsoftware-process-project-managementr17a0539.pdf
software-process-project-managementr17a0539.pdfSUDHEER REDDY BANDI
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1IIUI
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1SIMONTHOMAS S
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxKalpna Saharan
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretestingnazeer pasha
 
Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)MuskanSony
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineeringBhagyashriMore10
 
Conventional and Object Oriented Software Engineering
Conventional and Object Oriented Software EngineeringConventional and Object Oriented Software Engineering
Conventional and Object Oriented Software Engineeringssrkai2020
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxYaseenNazir3
 
Unit_I.pptx
Unit_I.pptxUnit_I.pptx
Unit_I.pptxBaskarkncet
 

Similar to Software Process Models and Frameworks (20)

A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineering
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
 
software-process-project-managementr17a0539.pdf
software-process-project-managementr17a0539.pdfsoftware-process-project-managementr17a0539.pdf
software-process-project-managementr17a0539.pdf
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
IEEE 12207
IEEE 12207IEEE 12207
IEEE 12207
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
 
SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
 
quality
qualityquality
quality
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
Ch02
Ch02Ch02
Ch02
 
Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
M017548895
M017548895M017548895
M017548895
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 
Conventional and Object Oriented Software Engineering
Conventional and Object Oriented Software EngineeringConventional and Object Oriented Software Engineering
Conventional and Object Oriented Software Engineering
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
 
Unit_I.pptx
Unit_I.pptxUnit_I.pptx
Unit_I.pptx
 
16. cmm pgp
16. cmm pgp16. cmm pgp
16. cmm pgp
 

Recently uploaded

internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
call girls in Kamla Market (DELHI) 🔝 >āŧ’9953330565🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸
call girls in Kamla Market (DELHI) 🔝 >āŧ’9953330565🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸call girls in Kamla Market (DELHI) 🔝 >āŧ’9953330565🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸
call girls in Kamla Market (DELHI) 🔝 >āŧ’9953330565🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)Dr. Mazin Mohamed alkathiri
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 

Recently uploaded (20)

internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
call girls in Kamla Market (DELHI) 🔝 >āŧ’9953330565🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸
call girls in Kamla Market (DELHI) 🔝 >āŧ’9953330565🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸call girls in Kamla Market (DELHI) 🔝 >āŧ’9953330565🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸
call girls in Kamla Market (DELHI) 🔝 >āŧ’9953330565🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 

Software Process Models and Frameworks

  • 1. Software Process and Software Process Model Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 2. Overview ī¯ What? A software process – as a framework for the tasks that are required to build high-quality software. ī¯ Who? Managers, software engineers, and customers. ī¯ Why? Provides stability, control, and organization to an otherwise chaotic activity. ī¯ Steps? A handful of activities are common to all software processes, details vary. ī¯ Work product? Programs, documents, and data. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 3. What is software engineering? ī¯ Definition : īŽ (1) The application of systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.(2) The study of approaches as in (1) above ī¯ Its a discipline that is concerned with all aspects of software production. ī¯ Software engineers should adopt īŽ Systematic and organized approach to their work īŽ Use appropriate tools and techniques depending on the problem to be solved īŽ The development constraints and the resources available ī¯ Apply Engineering Concepts to developing Software ī¯ Challenge for Software Engineers is to produce high quality software with finite amount of resources & within a predicted schedule Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 4. Software Engineering – Layered Technology Layered Technology A quality focus: the “bedrock” Process model: the “framework” Methods: technical “how to’s” Tools: CASE preferred Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 5. Layered Technology A quality Focus ī¯ Every organization is rest on its commitment to quality. ī¯ Total quality management, Six Sigma, or similar continuous improvement culture and it is this culture ultimately leads to development of increasingly more effective approaches to software engineering. ī¯ The bedrock that supports software engineering is a quality focus. Process: ī¯ It’s a foundation layer for software engineering. ī¯ It’s define framework for a set of key process areas (KRA) for effectively manage and deliver quality software in a cost effective manner ī¯ The processes define the tasks to be performed and the order in which they are to be performed Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 6. Methods: ī¯ It provide the technical how-to's for building software. ī¯ Methods encompass a broad array of tasks that include requirements analysis, design, program construction, testing, and support. ī¯ There could be more than one technique to perform a task and different techniques could be used in different situations. Tools: ī¯ Provide automated or semi-automated support for the process, methods and quality control. ī¯ When tools are integrated so that information created by one tool can be used by another, a system for the support of software development, called computer-aided software engineering (CASE) Layered Technology Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 7. Process Framework Process framework Umbrella Activities Framework activity 1 Framework activity n Software Process Framework activities work tasks work products milestones & deliverables QA checkpoints Process Framework Umbrella Activities Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 8. Process framework Why process : A process defines who is doing what, when and how to reach a certain goal. ī¯ To build complete software process. ī¯ Identified a small number of framework activities that are applicable to all software projects, regardless of their size or complexity. ī¯ It encompasses a set of umbrella activities that are applicable across the entire software process. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 9. Process Framework â€ĸEach framework activities is populated by a set for software engineering actions – a collection of related tasks. â€ĸ Each action has individual work task. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 10. Generic Process Framework Activities ī¯ Communication: īŽ Heavy communication with customers, stakeholders, team īŽ Encompasses requirements gathering and related activities ī¯ Planning: īŽ Workflow that is to follow īŽ Describe technical task, likely risk, resources will require, work products to be produced and a work schedule. ī¯ Modeling: īŽ Help developer and customer to understand requirements (Analysis of requirements) & Design of software ī¯ Construction īŽ Code generation: either manual or automated or both īŽ Testing – to uncover error in the code. ī¯ Deployment: īŽ Delivery to the customer for evaluation īŽ Customer provide feedback Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 11. The Process Model: Adaptability ī¯ The framework activities will always be applied on every project ... BUT ī¯ The tasks for each activity will vary based on: īŽ The type of project (an “entry point” to the model) īŽ Characteristics of the project īŽ Common sense judgment; concurrence of the project team Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 12. ī¯ Software project tracking and control īŽ Assessing progress against the project plan. īŽ Take adequate action to maintain schedule. ī¯ Formal technical reviews īŽ Assessing software work products in an effort to uncover and remove errors before goes into next action or activity. ī¯ Software quality assurance īŽ Define and conducts the activities required to ensure software quality. ī¯ Software configuration management īŽ Manages the effects of change. ī¯ Document preparation and production īŽ Help to create work products such as models, documents, logs, form and list. ī¯ Reusability management īŽ Define criteria for work product reuse īŽ Mechanisms to achieve reusable components. ī¯ Measurement īŽ Define and collects process, project, and product measures īŽ Assist the team in delivering software that meets customer’s needs. ī¯ Risk management īŽ Assesses risks that may effect that outcome of project or quality of product (i.e. software) Umbrella Activities Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 13. ī¯ The Software Engineering Institute (SEI) has developed process meta-model to measure organization different level of process capability and maturity. ī¯ CMMI – developed by SEI ī¯ The CMMI defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals. ī¯ Specific goals establish the characteristics that must exist if the activities implied by a process area are to be effective. ī¯ Specific practices refine a goal into a set of process-related activities. Capability Maturity Model Integration (CMMI) Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 14. CMMI Level Level 0 (Incomplete) – īŽ Process are not perform or not achieve all the goals and objectives defined by the CMMI for Level I capability. Level 1 (Performed) – All specific goals are performed as per defined by CMMI Level 2 (Managed) – īŽ All level 1 criteria have been satisfied īŽ In addition to Level I; ī¯ People doing work have access to adequate resources to get job done, ī¯ Stakeholders are actively involved, ī¯ Work tasks and products are monitored, controlled, reviewed, and evaluated for conformance to process description. Level 3 (Defined) – īŽ All level 2 criteria have been achieved. īŽ In addition; ī¯ management and engineering processes documented ī¯ standardized and integrated into organization-wide software process Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 15. CMMI Level (cont.) Level 4 (Quantitatively Managed) - īŽ All level 3 criteria have been satisfied. īŽ Software process and products are quantitatively understood īŽ Controlled using detailed measures and assessment. Level 5 (Optimized) – īŽ Continuous process improvement is enabled by quantitative feedback from the process and testing innovative ideas. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 16. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 17. Software process model ī¯ Process models prescribe a distinct set of activities, actions, tasks, milestones, and work products required to engineer high quality software. ī¯ Process models are not perfect, but provide roadmap for software engineering work. ī¯ Software models provide stability, control, and organization to a process that if not managed can easily get out of control ī¯ Software process models are adapted to meet the needs of software engineers and managers for a specific project. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 18. Build and Fix Model Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 19. Build and Fix Model The earlier approach ī¯ Product is constructed without specification or any attempt at design. ī¯ developers simply build a product that is reworked as many times as necessary to satisfy the client. ī¯ model may work for small projects but is totally unsatisfactory for products of any reasonable size. ī¯ Maintenance is high. ī¯ Source of difficulties and deficiencies īŽ impossible to predict īŽ impossible to manage Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 20. Why Models are needed? ī¯ Symptoms of inadequacy: the software crisis īŽ scheduled time and cost exceeded īŽ user expectations not met īŽ poor quality Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 21. Process as a "black box" Product Process Informal Requirements Quality? Uncertain / Incomplete requirement In the beginning Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 22. Problems ī¯ The assumption is that requirements can be fully understood prior to development ī¯ Interaction with the customer occurs only at the beginning (requirements) and end (after delivery) ī¯ Unfortunately the assumption almost never holds Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 23. Process as a "white box" Product Process Informal Requirements feedback Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 24. Advantages ī¯ Reduce risks by improving visibility ī¯ Allow project changes as the project progresses īŽ based on feedback from the customer Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 25. Prescriptive Model ī¯ Prescriptive process models advocate an orderly approach to software engineering īŽ Organize framework activities in a certain order ī¯ Process framework activity with set of software engineering actions. ī¯ Each action in terms of a task set that identifies the work to be accomplished to meet the goals. ī¯ The resultant process model should be adapted to accommodate the nature of the specific project, people doing the work, and the work environment. ī¯ Software engineer choose process framework that includes activities like; īŽ Communication īŽ Planning īŽ Modeling īŽ Construction īŽ Deployment Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 26. Prescriptive Model ī¯ Calling this model as “Prescribe” because it recommend a set of process elements, activities, action task, work product & quality. ī¯ Each elements are inter related to one another (called workflow). Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 27. Waterfall Model or Classic Life Cycle Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 28. Waterfall Model or Classic Life Cycle ī¯ Requirement Analysis and Definition: What - The systems services, constraints and goals are defined by customers with system users. ī¯ Scheduling tracking - īŽ Assessing progress against the project plan. īŽ Require action to maintain schedule. ī¯ System and Software Design: How –It establishes and overall system architecture. Software design involves fundamental system abstractions and their relationships. ī¯ Integration and system testing: The individual program unit or programs are integrated and tested as a complete system to ensure that the software requirements have been met. After testing, the software system is delivered to the customer. ī¯ Operation and Maintenance: Normally this is the longest phase of the software life cycle. The system is installed and put into practical use. Maintenance involves correcting errors which were not discovered in earlier stages of the life-cycle. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 29. Limitations of the waterfall model īą The nature of the requirements will not change very much During development; during evolution īą The model implies that you should attempt to complete a given stage before moving on to the next stage īą Does not account for the fact that requirements constantly change. īą It also means that customers can not use anything until the entire system is complete. īą The model implies that once the product is finished, everything else is maintenance. īą Surprises at the end are very expensive īą Some teams sit ideal for other teams to finish īą Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process. Problems: 1. Real projects are rarely follow the sequential model. 2. Difficult for the customer to state all the requirement explicitly. 3. Assumes patience from customer - working version of program will not available until programs not getting change fully. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 30. Incremental Process Model C- Communication P - Planning M – Modeling C - Construction D - Deployment Delivers software in small but usable pieces, each piece builds on pieces already delivered Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 31. ī¯ Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality. ī¯ First Increment is often core product īŽ Includes basic requirement īŽ Many supplementary features (known & unknown) remain undelivered ī¯ A plan of next increment is prepared īŽ Modifications of the first increment īŽ Additional features of the first increment ī¯ It is particularly useful when enough staffing is not available for the whole project ī¯ Increment can be planned to manage technical risks. ī¯ Incremental model focus more on delivery of operation product with each increment. The Incremental Model Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 32. ī¯ User requirements are prioritised and the highest priority requirements are included in early increments. ī¯ Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve. ī¯ Customer value can be delivered with each increment so system functionality is available earlier. ī¯ Early increments act as a prototype to help elicit requirements for later increments. ī¯ Lower risk of overall project failure. ī¯ The highest priority system services tend to receive the most testing. The Incremental Model Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 33. Rapid Application Development (RAD) Model Makes heavy use of reusable software components with an extremely short development cycle Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 34. RAD model ī¯ Communication – to understand business problem. ī¯ Planning – multiple s/w teams works in parallel on diff. system. ī¯ Modeling – īŽ Business modeling – Information flow among business is working. Ex. What kind of information drives? Who is going to generate information? From where information comes and goes? īŽ Data modeling – Information refine into set of data objects that are needed to support business. īŽ Process modeling – Data object transforms to information flow necessary to implement business. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 35. ī¯ Construction – it highlighting the use of pre-existing software component. ī¯ Deployment – Deliver to customer basis for subsequent iteration. ī¯ RAD model emphasize a short development cycle. ī¯ “High speed” edition of linear sequential model. ī¯ If requirement are well understood and project scope is constrained then it enable development team to create “ fully functional system” within a very short time period. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 36. RAD Model ī¯ If application is modularized (“Scalable Scope”), each major function to be completed in less than three months. ī¯ Each major function can be addressed by a separate team and then integrated to form a whole. Drawback: ī¯ For large but scalable projects īŽ RAD requires sufficient human resources ī¯ Projects fail if developers and customers are not committed in a much shortened time-frame ī¯ Problematic if system can not be modularized ī¯ Not appropriate when technical risks are high ( heavy use of new technology) Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 37. Evolutionary Process Model ī¯ Produce an increasingly more complete version of the software with each iteration. ī¯ Evolutionary Models are iterative. ī¯ Evolutionary models are: īŽ Prototyping īŽ Spiral Model īŽ Concurrent Development Model īŽ Fourth Generation Techniques (4GT) Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 38. Evolutionary Process Models : Prototyping Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 39. Prototyping cohesive ī¯ Best approach when: īŽ Objectives defines by customer are general but does not have details like input, processing, or output requirement. īŽ Developer may be unsure of the efficiency of an algorithm, O.S., or the form that human machine interaction should take. ī¯ It can be used as standalone process model. ī¯ Model assist software engineer and customer to better understand what is to be built when requirement are fuzzy. ī¯ Prototyping start with communication, between a customer and software engineer to define overall objective, identify requirements and make a boundary. ī¯ Going ahead, planned quickly and modeling (software layout visible to the customers/end-user) occurs. ī¯ Quick design leads to prototype construction. ī¯ Prototype is deployed and evaluated by the customer/user. ī¯ Feedback from customer/end user will refine requirement and that is how iteration occurs during prototype to satisfy the needs of the customer. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 40. Prototyping (cont..) ī¯ Prototype can be serve as “the first system”. ī¯ Both customers and developers like the prototyping paradigm. īŽ Customer/End user gets a feel for the actual system īŽ Developer get to build something immediately. Problem Areas: ī¯ Customer cries foul and demand that “a few fixes” be applied to make the prototype a working product, due to that software quality suffers as a result. ī¯ Developer often makes implementation in order to get a prototype working quickly without considering other factors in mind like OS, Programming language, etc. Customer and developer both must be agree that the prototype is built to serve as a mechanism for defining requirement. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 41. Evolutionary Model: Spiral Model Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 42. Spiral Model īą Couples iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model ī¯ It provide potential for rapid development of increasingly more complete version of the software. ī¯ Using spiral, software developed in as series of evolutionary release. īŽ Early iteration, release might be on paper or prototype. īŽ Later iteration, more complete version of software. ī¯ Divided into framework activities (C,P,M,C,D). Each activity represent one segment. ī¯ Evolutionary process begins in a clockwise direction, beginning at the center risk. ī¯ First circuit around the spiral might result in development of a product specification. Subsequently, develop a prototype and then progressively more sophisticated version of software. ī¯ Unlike other process models that end when software is delivered. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 43. Spiral Model Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 44. Spiral Model (cont.) Concept Development Project: ī¯ Start at the core and continues for multiple iterations until it is complete. ī¯ If concept is developed into an actual product, the process proceeds outward on the spiral. New Product Development Project: ī¯ New product will evolve through a number of iterations around the spiral. ī¯ Later, a circuit around spiral might be used to represent a “Product Enhancement Project” Product Enhancement Project: ī¯ There are times when process is dormant or software team not developing new things but change is initiated, process start at appropriate entry point. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 45. ī¯ Spiral models uses prototyping as a risk reduction mechanism but, more important, enables the developer to apply the prototyping approach at each stage in the evolution of the product. ī¯ It maintains the systematic stepwise approach suggested by the classic life cycle but also incorporates it into an iterative framework activity. ī¯ If risks cannot be resolved, project is immediately terminated Problem Area: ī¯ It may be difficult to convince customers (particularly in contract situations) that the evolutionary approach is controllable. ī¯ If a major risk is not uncovered and managed, problems will undoubtedly occur. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 46. Concurrent Development Model Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 47. ī¯ It represented schematically as series of major technical activities, tasks, and their associated states. ī¯ It is often more appropriate for system engineering projects where different engineering teams are involved. ī¯ The activity-modeling may be in any one of the states for a given time. ī¯ All activities exist concurrently but reside in different states. E.g. ī¯ The analysis activity (existed in the none state while initial customer communication was completed) now makes a transition into the under development state. ī¯ Analysis activity moves from the under development state into the awaiting changes state only if customer indicates changes in requirements. ī¯ Series of event will trigger transition from state to state. E.g. During initial stage there was inconsistency in design which was uncovered. This will triggers the analysis action from the Done state into Awaiting Changes state. Concurrent Development Model Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University
  • 48. Concurrent Development (Cont.) ī¯ Visibility of current state of project ī¯ It define network of activities ī¯ Each activities, actions and tasks on the network exists simultaneously with other activities ,actions and tasks. ī¯ Events generated at one point in the process network trigger transitions among the states. Dr. VIJAYALAKSHMI P, Professor, AI&DS,KL University