CIS 375 SOFTWARE ENGINEERING
University Of Michigan-Dearborn
Dr. Bruce Maxim, Instructor
Regression And Correlation.

Mean = (å xi)/n
Variance d = (å xi2)/n - (mean)2
Covariance m xy = (å xi yi)/n - (x)(y)
Correlation = r
Regression; y = mx + b
| X | Y | X^2 | X*Y | Y^2 | 
| 1 | 1 | 1 | 1 | 1 | 
| 3 | 2 | 9 | 6 | 4 | 
| 4 | 4 | 16 | 16 | 16 | 
| 6 | 4 | 36 | 24 | 16 | 
| 8 | 5 | 64 | 40 | 25 | 
| 9 | 7 | 81 | 63 | 49 | 
| 11 | 8 | 121 | 88 | 64 | 
| 14 | 9 | 190 | 126 | 81 | 
| S=56 | 40 | 524 | 364 | 256 | 
Regression Models

1. Linear Model
E = Co + S Cix
{Effort in Person Months} {Intercept} {Regression Coefficient}
2. Static Non-Linear Model
n
E = Co + S Cix xi2i
i=1
Often rewritten using size of code as a factor
E = a + b Sc m (x) n
{where a, b & c are constants, S = size, m = multiplier, and x = S Cix xi2i }
i=1
COCOMO Model
COnstructive COst MOdel
Contains 3 levels
1. Basic: Computes software development effort (and cost) as a function of program size, expressed in estimated lines of code.
2. Intermediate: Computes software development effort as a function of program size and a set of "cost drivers" that include subjective assessments of product, hardware, personnel, and project attributes.
3. Detailed: Includes all characteristics of the intermediate version with an assessment of the cost driver’s impact on each step (analysis, design, ect.) of the software engineering process.
Model: E = a Sb m(x)
| BASIC | INTERMEDIATE | |||
| MODE | a | b | a | b | 
| Organic | 2.4 | 1.05 | 3.2 | 1.05 | 
| Semidetached | 3.0 | 1.12 | 3.0 | 1.12 | 
| Embedded | 3.6 | 1.20 | 2.8 | 1.20 | 
in the basic COCOMO model x=1
in the intermediate model a questionnaire is used
| Product Attributes | Computer Attributes | ||
| RELY | Reliability | TIME | Execution Time | 
| DATA | Size of database | STOR | Amount of Storage | 
| CPLX | Complexity of System | VIRT | Virtual Volatility | 
| * | * | TURN | Response Time | 
| Personnel | Project | ||
| ACAP | Analyst Capabilities | MODP | Modern Practices | 
| AEXP | Analyst Experience | TOOL | Software Tools | 
| PCAP | Programmer Capabilities | SCED | Development Schedule | 
| PEXP | Programmer Experience | * | * | 
| VEXP | Machine Experience | * | * | 
| LEXP | Language Experience | * | * | 
Dynamic Estimation Models:
(Rayliegh curve -> skewed, median & mean offset from one another).

Based on:
E = y(t
{t represents optimal time} {K represents the area under the Rayliegh curve}.
D = K / t
2;{difficulty measure based on t
2 and K}.P = C2D-2/3;
{productivity measure}.
Ss = c K-1/5 t 4/3;
{ lines of code measure} {c represents the technology factor from survey}.
Staff (t) = sech2 [(a t + c)/2].

(less sensitive to compression)
Ss = Cte T K 1/2
{ Cte represents technology constraint with environmental adjustment}.
E = E1 (S) + E2 (m);
{E represents total effort}.
{E1(S) represents the effort of one or people working independently
E1(S) = a + bs ,where a & b are empirically derived constants}.
{E2(m) represents the effort required to coordinate the development process
E2(m) = cm2 where m is the average number of team members}.
Make-Buy-Decision:
Decision Steps:
Now you’re in a good position to evaluate.
One way: build a decision tree.
