presentation5

advertisement
COSYSMO Reuse Extension
COSYSMO Workshop – USC CSSE Annual Research Review
March 17, 2008
Ricardo Valerdi
Gan Wang
Garry Roedler
John Rieff
Jared Fortune
Overview
Background
• COSYSMO currently assumes all system components are new
– …but most systems are not entirely new, have a significant amount of
reuse
• Current goal is to develop an approach for handling reuse
– Organizations can adapt to their own business model
Objectives
• Provide an overview of research
– Proposed terminology
– Possible methodology
• Identify next steps
2
Background on Software Reuse
Main size driver = KSLOC
• Adapted Source Lines of Code (ASLOC)
• Percent of Design Modification (DM)
AAF
• Percent of Code Modification (CM)
• Percent of Integration Required for Modified Software (IM)
• Percentage of reuse effort due to Software Understanding (SU)
• Percentage of reuse effort due to Assessment and Assimilation (AA)
• Programmer Unfamiliarity with Software (UNFM)
From COCOMO II Model Definition Manual (p. 7-11)
3
Proposed Reuse Terminology
•
New:
–
•
Items that are completely new, generally unprecedented and with low level of
familiarity
Modified:
–
Items that are inherited, but require a limited amount of tailoring to be
incorporated
•
Adopted:
–
•
Deleted:
–
•
Items that are incorporated unmodified, “black-box” reuse
Items that are removed from a system (in legacy but not current system)
Managed:
–
Items incorporated unmodified and untested (subcontractor effort)
4
Reuse Continuum
New
1.0
Reuse weight
Modified
Deleted
Adopted
Managed
0
5
Approaches for Handling Reuse in COSYSMO
Reuse
Capture reuse-class cost parameters
for different classes of reuse
Calculate equivalent requirements
weights for size drivers
Solve for the weights
(requires data from projects)
Activity-based/Bottoms up
(requires effort data by activity)
Num. Requirements
New
100.00%
Easy
0.5
Nominal
1
Difficult
5
Managed
15.36%
0.0768
0.1536
0.768
Adopted
43.37%
0.21685
0.4337
2.1685
Modified
64.65%
0.32325
0.6465
3.2325
Deleted
50.70%
0.2535
0.507
2.535
Managed
15.36%
0.16896
0.43008
0.96768
Adopted
43.37%
0.47707
1.21436
2.73231
Modified
64.65%
0.71115
1.8102
4.07295
Deleted
50.70%
0.5577
1.4196
3.1941
Managed
15.36%
0.33792
0.62976
1.7664
Adopted
43.37%
0.95414
1.77817
4.98755
Modified
64.65%
1.4223
2.65065
7.43475
Deleted
50.70%
1.1154
2.0787
5.8305
Managed
15.36%
0.95232
2.21184
4.608
Adopted
43.37%
2.68894
6.24528
13.011
Modified
64.65%
4.0083
9.3096
19.395
Deleted
50.70%
3.1434
7.3008
15.21
Num. Interfaces
Easy
Nominal
Difficult
New
100.00%
1.1
2.8
6.3
Num. Algorithms
Easy
Nominal
Difficult
New
100.00%
2.2
4.1
11.5
Num. Scenarios
Easy
Nominal
Difficult
New
100.00%
6.2
14.4
30
6
Bottoms-Up Activity-Based
Step 1:
Define the discriminating, lifecycle systems engineering activities. Correlate
defined activities with EIA-632 defined tasks to ensure that there is no
obvious gaps.
Step 2:
Define the levels of reuse based on the lifecycle SE activities (without
adjectives)
Step 3:
Evaluate % systems engineering effort for each level of reuse in terms of EIA632 process groups and ISO-15288 life cycle to derive the weights of reuse
7
Activity-based/Bottoms up
Num. Requirements
New
100.00%
Easy
0.5
Nominal
1
Difficult
5
Managed
15.36%
0.0768
0.1536
0.768
Adopted
43.37%
0.21685
0.4337
2.1685
Modified
64.65%
0.32325
0.6465
3.2325
Deleted
50.70%
0.2535
0.507
2.535
Managed
15.36%
0.16896
0.43008
0.96768
Adopted
43.37%
0.47707
1.21436
2.73231
Modified
64.65%
0.71115
1.8102
4.07295
Deleted
50.70%
0.5577
1.4196
3.1941
Managed
15.36%
0.33792
0.62976
1.7664
Adopted
43.37%
0.95414
1.77817
4.98755
Modified
64.65%
1.4223
2.65065
7.43475
Deleted
50.70%
1.1154
2.0787
5.8305
Managed
15.36%
0.95232
2.21184
4.608
Adopted
43.37%
2.68894
6.24528
13.011
Modified
64.65%
4.0083
9.3096
19.395
Deleted
50.70%
3.1434
7.3008
15.21
Num. Interfaces
Easy
Nominal
Difficult
New
100.00%
1.1
2.8
6.3
Num. Algorithms
Easy
Nominal
Difficult
New
100.00%
2.2
4.1
11.5
Num. Scenarios
Easy
Nominal
Difficult
New
100.00%
6.2
14.4
30
8
Next Steps
• Reach conclusion on reuse weights
– Thoughts on bottoms up calculations vs. solving for weights?
• Determine scalability of reuse
– How to deal with commonalities across multiple projects/organizations?
• Examine effect of SE “designed” for reuse
– What are the penalty/savings? Where do they occur in lifecycle?
• Apply methodology
– Who else has reuse data?
9
Author Contact Information
Ricardo Valerdi, MIT
rvalerdi@MIT.edu
Gan Wang, BAE Systems
gan.wang@baesystems.com
Garry Roedler, Lockheed Martin
garry.j.roedler@lmco.com
John Rieff, Raytheon
John_E_Rieff@raytheon.com
Jared Fortune, USC
fortune@usc.edu
10
Download