CS 413

Atul Gupta

SOFTWARE PROCESS

1

Software Development Life Cycle
Consists of 
Requirement gathering, Analysis and
Specification 
Design (Both high and low level design) 
Construction 
Testing 
Maintenance (Evolution) 
Closure
CS 413

2

A Dual Emphasis
3 

Product 
what 

Software Process

is done

Process 
how

things are done

Product Engineering
Process

Development
Process

Process Management
Process

Project Management
Process

CS 413

SCM
Process

constraints.What is a Process 4  A series of steps involving activities. and resources that produce an intended outcome of some kind CS 413 .

understand. control and improve the activities that comprise the process Captures our experience and pass them along to others CS 413 .How a Software Process Help US? 5    Imposes consistency and structure on a set of activities Guides our actions by allowing us to examine.

Software Process Characteristics        Visibility Predictability Testability Maintainability Early defect Removal Support Change Customizability CS 413 6 .

Cost of Finding Flaws Late 7 CS 413 .

Software Process Models  Also termed as Software Life Cycle Models Water-Fall model  Prototyping model  Throw away prototyping  Evolutionary prototyping   Incremental model (Evolutionary model) Incremental Water-Fall model  Time Boxing model  Spiral model  Synchronize & Stabilize model   Commercially projected models like RUP. SCRUM CS 413 8 . XP.

Waterfall Model 9 Requirements Phase Requirements Description Specification Phase Specification. Tests Operations CS 413 Mode Retirement . SPMP Design Phase Design Docs Implementation Testing Code Product.

Waterfall Model cont… 10  Advantages Simple  Complete control on the software process  Better quality control   Disadvantages Complete and consistent set of requirements?  Do not support iteration  Change management is difficult  Customer to have patience  Does not facilitate good use of resources  May choose out-dated technology  CS 413 .

Waterfall Model cont… 11  Suitable for  Well understood problems  Short duration projects  Automation of existing manual systems CS 413 .

Prototyping Model 12  Evolutionary Prototyping  The task of requirement elicitation is easier (+)  Progress is visible and client is happy (+)  Better use of resources (+)  More flexibility compared to water-fall model (+)  May suffer from “short-sightedness” (-)  May not estimate RISK correctly (-)  Disallows later changes (-) CS 413 .

Prototyping Model 13  Throwaway Prototyping  The task of requirement elicitation is easier (+)  Progress is visible and client is happy (+)  Better use of resources (+)  More flexibility compared to water-fall model (+)  May improve on “short-sightedness” (+)  May be costly (-)  May not estimate RISK correctly (-)  Disallows later changes (-) CS 413 .

Prototyping Model 14  Suitable for  Less experience teams  System with novice users  Requirements are not clear  UI is very important CS 413 .

Incremental Model 15  Incremental Water-Fall Model CS 413 .

building prototypes & simulations minimizes risks looking at alternatives risk analysis Follow each phase by   evaluation planning of next phase CS 413 .Spiral Model: Incremental model 16  Always some risk involved in software development   people leave… other products not delivered on time… Key idea  minimize risk   Precede each phase by    e..g.

Spiral Model 17 CS 413 .

Synchronize & Stabilize Model (Microsoft) 18  Requirements analysis  interview   potential customers Draw up overall product specifications Divide project into 3 or 4 builds adds new functionality (1st gives base)  each build carried out by small parallel teams  each   At the end of day – synchronize (test & debug) At end of build – stabilize (fix & freeze build) CS 413 .

Incremental Model 19  Advantages  Better Release Planning and Change Management  Better use of Resources  Faster Development (Reduced time to market)  Reduce risk  Disadvantages A kind of build and fix (may result in inefficient design)  More overheads CS 413 .

Incremental Model 20  Suitable for  Risk is high  Requirements are not clear but will evolve  “Time to Market” is critical  Big projects  New concept/product development CS 413 .

1986 CS 413 .Improving the S/W Process 21  Why does it need improvement?  We still struggle with creating/maintaining software  ’87 Department of Defense report     Global economy dependent on computer software Improved software process -> ?    20 years of “unfulfilled promises about productivity & quality” problem is “inability to manage the software process” improved software quality delivery on time. within budget How to address this problem  Software Engineering Institute (SEI) at Carnegie Mellon  capability maturity model (CMM) .

CMM Levels 22 CS 413 .

resources and cost overruns Success depends totally on the staff  As the staff changes.CMM Level 1: Initial Process 23  Ad hoc approach  Entire process unpredictable  Management consists of responses to crises  Many organizations world-wide are here!  Pattern  of time. so does the process CS 413 .

CMM Level 2: Repeatable Process 24  What is the key to this level?  Metrics!  Basic software project management  Planning. management based on past experience  Measurements (“metrics”)  realistic costs and schedules  can be used for predictions in next project  Problems identified → take immediate corrective action CS 413 .

productivity  Reviews to improve software quality  Make use of CASE tools CS 413 .  Continual efforts to improve quality.CMM Level 3: Defined Process 25  Software process is fully documented  Managerial & technical aspects clearly defined  Intermediate products .well defined and easily visible.

#faults detected per 1000 lines of code Metrics are defined and analyzed to suit the development organization Encourage Reuse CS 413 .CMM Level 4: Managed Process 26   Quality & productivity goals set for each project Quality..g. productivity continually monitored  Corrective action taken upon deviation  Rely on statistical quality controls     distinguish random deviations & meaningful violations e.

e.. ensure there are no faults in the first place CS 413 .CMM Level 5: Optimizing Process 27      Continuous process improvement Statistical quality & process controls Feedback knowledge from project to next → leads to continued improvement Benchmarking How does level 5 differ from level 2?  Level 2 tries to find & correct faults  Level 5 orgs practice defect prevention  i.

CMM 28 CS 413 .

Questions ? CS 413 29 .

wwc.edu/~aabyan/Poetry/blindmen. http://cs.The Six Blind Men of Indostan  The Blind Men and the Elephant American poet John Godfrey Saxe (18161887) based the following poem on an Indian folktale.html CS 413 30 .

And happening to take The squirming trunk within his hands." quoth he. And happening to fall Against his broad and sturdy side.The Six Blind Men of Indostan It was six men of Indostan. feeling of the tusk. Who went to see the elephant. "the elephant Is very like a snake!" CS 413 31 . Thus boldly up and spake: "I see. So very round and smooth and sharp? To me 'tis very clear. This wonder of an elephant Is very like a spear!“ The third approached the animal. Cried: "Ho! What have we here. The first approached the elephant. That each by observation Might satisfy his mind. To learning much inclined. At once began to bawl: "God bless me! But the elephant Is very like a wall!" The second. (Though all of them were blind).

All were in the wrong. And felt about the knee. "What most this wondrous beast is like Is might plain.“ The fifth. "Tis clear enough the elephant Is very like a tree." The sixth no sooner had begun About the beast to grope.The Six Blind Men of Indostan The fourth reached out an eager hand. CS 413 32 . Said: "E'en the blindest man Can tell what this resembles most: Deny the fact who can. who chanced to touch the ear. Than seizing on the swinging tail That fell within his scope.“ And so these men of Indostan Disputed loud and long." quoth he. "the elephant Is very like a rope. Each in his own opinion Exceeding stiff and strong. This marvel of an elephant Is very like a fan. Though each was partly right. "I see." quoth he.