Unit 1 Se
Unit 1 Se
com
UNIT I
SOFTWARE PROCESS AND AGILE DEVELOPMENT
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
What is Software?
Software is:
(1) instructions (computer programs) that when
executed provide desired features, function,
and performance;
(2) data structures that enable the programs to
adequately manipulate information and
(3) documentation that describes the operation
and use of the programs.
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
What is Software?
Software is developed or engineered, it is not
manufactured in the classical sense.
Software doesn't "wear out."
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Software Applications
6
system software
application software
engineering/scientific software
embedded software
product-line software
AI software
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Software—New Categories
7
Grid computing
Cognitive machines
Legacy Software
8
Software Engineering
9
Some realities:
a concerted effort should be made to understand the
problem before a software solution is developed
design becomes a critical activity
10
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
A Layered Technology
tools
methods
process model
a “quality” focus
• Development approach
Methods for expected quality Methods • Structured Methods
Copyright © 2014, Infosys Limited Confidential
outputs adhering budget • Object Oriented
and time Methods
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
15
Process
13
Process framework
oFramework activities
Work tasks
work products
milestones & deliverables
QA checkpoints
oUmbrella Activities
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Testing Measurement
Deployment
https://play.google.com/store/apps/details?id=com.sss.edubuzz360 Risk management
www.edubuzz360.com
Communication
Involves communication among the customer
and other stake holders; encompasses
requirements gathering
Planning
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Software Design
19
Software Design...
20
linear,
incremental, or
evolutionary
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Waterfall Model
24
Waterfall Model...
25
Communication
Project initiation
Requirements
gathering
Planning
Estimating
Scheduling
Tracking Modeling
Analysis
Design Construction
Code
Test Deployment
Delivery
Support
Feedback
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Planning
Estimating
Scheduling
Tracking Modeling
Analysis
Design Construction
Code
Test Deployment
Delivery
Support
Feedback
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Incremental Model
27
Incremental Model...
28
Increment #1
Communication
Planning
Modeling
Construction
Deployment
Increment #2
Communication Planning
Modeling
Construction
Deployment
Increment #3
Communication
Planning
Modeling
Construction
Deployment
28
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Prototyping Model
29
requirements
Focuses on those aspects of the software that
are visible to the customer/user
Feedback is used to refine the prototype
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Prototyping Model...
30
Potential Problems
The customer sees a "working version" of the software,
wants to stop all development and then buy the
prototype after a "few fixes" are made
Developers often make implementation compromises to
get the software running quickly (e.g., language choice,
user interface, inefficient algorithms)
Lesson learned
Define the rules up front on the final disposition of the
prototype before it is built
In most circumstances, plan to discard the prototype and
engineer the actual production software with a goal toward
quality
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Quick
Planning
Communication
Start
Modeling
Quick
Deployment, Design
Delivery,
and Feedback
Construction
of Prototype
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Spiral Model
32
Spiral Model...
33
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
34
Source: After Boehm 1988 (© 1988 IEEE)
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Spiral Model...
Planning
Risk Analysis / Resolution
Engineering activities
(design, code, test…)
Customer Evaluation
(errors, changes, new requirements…)
35
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Model Advantages Disadvantages
Summarizing Models
• Simple and Systematic
• Limited or no scope for
Waterfall accommodating new
36
• Disciplined Approach requirements
• Potential delay in identifying
risks
• Part of the product
is visible at early • Time consuming
Increment stage • Expensive at times
al • Scope for
accommodating new
requirements
• Requires good
• Model for other models expertise in risk
Spiral • Iterative and realistic management
• Model is not suitable
for fixed budget
projects
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
General Weaknesses of Evolutionary
Process Models
37
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
RAD Approach
43
Why RADApproach ?
• Tight deadlines
• High Pressure from Customer
• Quick time to Market
What is RADApproach ?
•Rapid Application Development
•Emphasis is on short development time. Completing system
development within a short time (60 days to 90 days)
•Each major function addressed by a separate RAD team
•Users are involved throughout the development life cycle
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Requirements List
Priority 1 Priority 2 Priority 3 Priority 4
Analysis
Design
Code
Test
Production
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
46
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
An Agile Process
47
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
Agility Principles
48
Agility Principles …
49
Agility Principles …
50
Human Factors
51
Common focus.
Collaboration.
Decision-making ability.
Self-organization.
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
XP Design
Follows the KIS principle
Encourage the use of CRC cards
For difficult design problems, suggests the
creation of “spike solutions”—a design
prototype
Encourages “refactoring”—an iterative
refinement of the internal program design
https://play.google.com/store/apps/details?id=com.sss.edubuzz360
www.edubuzz360.com
XP Coding
Recommends the construction of a unit test
for a story before coding commences
Encourages “pair programming”
XP Testing
refact oring
pair
programming
Release
sof t ware increment
unit t est
project velocit y comput ed cont inuous int egrat ion
https://play.google.com/store/apps/details?id=com.sss.edubuzz360