Software Engineering - SourceForge

14
Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) [email protected] [email protected] alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net pk.linkedin.com/in/armahmood http://alphapeeler.tumblr.com www.twitter.com/alphapeeler [email protected] www.facebook.com/alphapeeler [email protected] abdulmahmood-sss alphasecure mahmood_cubix 48660186 [email protected] [email protected] http://alphapeeler.sf.net/me http://alphapeeler.sf.net/acms/ VC++, VB, ASP Software Engineering

Transcript of Software Engineering - SourceForge

Page 1: Software Engineering - SourceForge

Engr. Abdul-Rahman MahmoodMS, PMP, MCP, QMR(ISO9001:2000)

[email protected] [email protected]

alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net

pk.linkedin.com/in/armahmood http://alphapeeler.tumblr.com

www.twitter.com/alphapeeler [email protected]

www.facebook.com/alphapeeler [email protected]

abdulmahmood-sss alphasecure mahmood_cubix 48660186

[email protected] [email protected]

http://alphapeeler.sf.net/me http://alphapeeler.sf.net/acms/

VC++, VB, ASP

Software Engineering

Page 2: Software Engineering - SourceForge

Relative Cost of Reusing Software (RCR)

Relative Cost of Writing Reusable Software (RCWR)

Reuse Percent ( Reuse%)

Reuse Cost Avoidance (RCA)

Organizational Return on Investment (ROIorg)

Terms

Page 3: Software Engineering - SourceForge

Reuse does not come for free

The reuser must do the following with the reused component:

Locate

Understand

Integrate

System Test

Relative Cost of Reusing Software (RCR)

Page 4: Software Engineering - SourceForge

This effort typically only takes about 20% of the effort to write the same component from scratch

In this case, the Relative Cost to reuse the component equals 0.2

In other words, we have saved 80% of the development effort

RCR

Page 5: Software Engineering - SourceForge

Writing reusable components requires additional effort beyond simply writing a component for one-time use

The reuse product must:

Generalize for additional requirements

Add more detailed documentation

Test to increase trust

Test for additional potential uses

Prepare the component for distribution

Relative Cost of Writing Reusable Software

Page 6: Software Engineering - SourceForge

This additional effort typically takes about 50% of the effort to write the same component for one time use

That is, the relative cost to write for reuse (RCWR) equals 1.5

RCWR

Page 7: Software Engineering - SourceForge

Reuse % is a reuse level metric that shows what portion of work has been saved by reusing software.

It is calculated for :

Organizations

Products

Release of Products

It is based on the Reused Source Instructions (RSI)

Reuse %

Page 8: Software Engineering - SourceForge

Mathematically, it is given by:

REUSE % = X 100%

For Example : A Programming team developed and maintains 100KLOC

It also uses 20 KLOC from an external source

This team’s REUSE % equals:

REUSE %= X 100% = 16.67%

Reuse %

RSITotal Statements

20 KLOC20 KLOC + 100KLOC

Page 9: Software Engineering - SourceForge

It is a cost avoidance metric used to show the financial benefits of reusing software by the individual project or team.

RCA represents money we didn’t have to spend

Cost Avoidance can be recognized during:

Development

Service (Maintenance)

Reuse Cost Avoidance (RCA)

Page 10: Software Engineering - SourceForge

Mathematically:

RCA = Development Cost Avoidance + Service Cost Avoidance

Development Cost Avoidance (DCA)

The benefits of reuse depends on RCR

With RCR=0.2, reuse cost about 20% of the cost of new development.

Therefore, DCA will be:

RCA

Page 11: Software Engineering - SourceForge

DCA = RSI x(1-RCR) x (New Code Cost)

= RSI x 0.8 x (New Code Cost)

Service Cost Avoidance (SCA)

Not having to fix errors results in SCA

SCA = RSI x (Error Rate) x (Error Cost)

RCA (Cont…)

Page 12: Software Engineering - SourceForge

Example If the development cost for new code equals Rs. 300

per line and RCR =0.2, then DCA for 20 KLOC RSI equals:

DCA = 20 KLOC x 0.8x Rs 300 = 4.8 M

Services

If the error rate for new code equals 1.5 errors per KLOC and if the cost to fix an error equals Rs. 30 K, then SCA for 20 KLOC RSI equals:

Page 13: Software Engineering - SourceForge

Example SCA = 20 KLOC x 1.5 errors per KLOC x Rs. 30K

Per Error = Rs 0.9 M

Total Reuse Cost Avoidance

RCA = DCA + SCA

= 4.8 + 0.9

= Rs 5.7 M

Page 14: Software Engineering - SourceForge

Example It shows the total financial benefits to an organization

from :

Reusing Software

Building Software for Reuse

ROI org = RCA – Addition Development Costs

Additional Development Cost (ADC) = (Amount of SI written for Reuse by the others) * (RCWR – 1) * New Code Cost