Download presentation
Presentation is loading. Please wait.
1
Software Engineering with Reusable Components
RiSE’s Seminars Sametinger’s book :: Chapters 4 and 5 Ana Paula Cavalcanti February 22, 2019
2
Summary Nontechnical Aspects (Chapter 4)
Legal Issues Economic Issues Organizational Issues Measurement Issues Installing a Reuse Program (Chapter 5) Steps Management Commitment Reuse Motivation Third-party Components February 22, 2019
3
Nontechnical Aspects February 22, 2019
4
Nontechnical Aspects :: Chapter 4
What for? Improve systematic software reuse Top-Down Management Support: Years of investment before Legal issues Changes in organizational funding and management structures February 22, 2019
5
Nontechnical Aspects :: Chapter 4
Legal Issues “Software is legally protected as intellectual property. Laws for this protection may differ among various countries.” Trade Secret Protection “Know how” embodied in the software {Substantial and secret information that is proprietary Commercial Advantage} Patent Protection Technical inventions that involve inventive steps {processes or methods describing how products work} Copyright Protection Covers the software itself but not any underlying ideas and principles {Produce, reuse, maintain, adapt, reverse engineer, backup copies} Responsibilities and Liabilities Guarantee that the software works February 22, 2019
6
Nontechnical Aspects :: Chapter 4
Economic Issues “Costs associated with software reuse must be justified by the expected benefits; i.e., there must be sufficient return on investment.” Model of Supply and Demand considers: Quality and reusability of the producer’s software Skill and knowledge of the consumer Degree of congruence between the project’s requirements February 22, 2019
7
Nontechnical Aspects :: Chapter 4
Economic Issues Initial Investments Apply a reuse program Not directly support the company’s primary goals “Money invested to make components of the development effort more reusable” Reuse Effectiveness REDUCE {Average Cost of Reuse} {Investments to achieve reuse Benefits} INCREASE {Level of reuse} February 22, 2019
8
Organizational Issues
Nontechnical Aspects :: Chapter 4 Organizational Issues “Findings indicate that organizational changes will be required before the full potential of software reuse can be realized.” {BKZ93} Encouragement to development groups: Build software components that may be reused Reuse components previously built February 22, 2019
9
Organizational Issues Reuse Modes
Nontechnical Aspects :: Chapter 4 Organizational Issues Reuse Modes Ad-hoc No method defined Intrinsic to personal activities Systematic Guidelines, Procedures and Measurement of Performance Organizational Process and Adoption Process February 22, 2019
10
Organizational Issues Organizational Models
Nontechnical Aspects :: Chapter 4 Organizational Issues Organizational Models AD-HOC reuse among application groups Application Group NO commitment to reuse Informal and Random Individualized February 22, 2019
11
Organizational Issues Organizational Models
Nontechnical Aspects :: Chapter 4 Organizational Issues Organizational Models Repository-based reuse among application groups No explicit mechanisms No one responsible for the quality Repository based on quantity no control Application Group Repository February 22, 2019
12
Organizational Issues Organizational Models
Nontechnical Aspects :: Chapter 4 Organizational Issues Organizational Models Centralized reuse with component group Component Group responsible for the repository minimize redundancy May or may not be allocated to specific projects Who pays for them? Application Group Component Group Repository February 22, 2019
13
Organizational Issues Organizational Models
Nontechnical Aspects :: Chapter 4 Organizational Issues Organizational Models Domain-based reuse Domain Group Application Repository Specialized component groups Acquirement of specific skills for specific domains Domain Group February 22, 2019
14
Organizational Issues Producers and Consumers
Nontechnical Aspects :: Chapter 4 Organizational Issues Producers and Consumers Lone Producer Single individual handles reuse of several application groups Problems: - informal change request - work overload - communication overload Application Group (consumer) Component Producer Management February 22, 2019
15
Organizational Issues Producers and Consumers
Nontechnical Aspects :: Chapter 4 Organizational Issues Producers and Consumers Nested Producer Risks: - Critical phases in product development - Abort reuse efforts Nested producers are members of the application group Component Producer Application Group (consumer) Management Reuse Manager February 22, 2019
16
Organizational Issues Producers and Consumers
Nontechnical Aspects :: Chapter 4 Organizational Issues Producers and Consumers Pool Producer PRODUCE and SHARE Components Effects: - Communication overhead Application Group (consumer) Management Application Group (producer) February 22, 2019
17
Organizational Issues Producers and Consumers
Nontechnical Aspects :: Chapter 4 Organizational Issues Producers and Consumers Team Producer PRODUCERS interacts with CONSUMERS Application Group (consumer) Component Producer Management February 22, 2019
18
Organizational Issues Producers and Consumers
Nontechnical Aspects :: Chapter 4 Organizational Issues Producers and Consumers {Prieto-Díaz} specific roles that are crucial in reuse infrastructure: Librarian {promotion of reuse by making components available} Asset Manager {Quality standards of reusable components} Reuse Manager {Coordinates the overall reuse effort} February 22, 2019
19
Organizational Issues Reuse Maturity
Nontechnical Aspects :: Chapter 4 Organizational Issues Reuse Maturity Level Characteristic Initial / Chaotic {1} Resistance to reuse Reuse is individualized, uncoordinated, unmonitored Monitored {2} Management awareness Reuse costs are known Coordinated {3} Organizational responsibility Reuse tactics Component Standardization Planned {4} Lifecycle view of reuse Reports {costs} {savings} Ingrained {5} Corporation wide view Reuse is regular business February 22, 2019
20
“We cannot manage what we cannot measure”
Nontechnical Aspects :: Chapter 4 Measurement Issues “We cannot manage what we cannot measure” Reuse Level (Reuse Level) = (Number of reused components) (total number of components) Line and Word Runs Number of lines that are identical in file a and file b as opposed to the total number of lines (of file a) how much of file a has been reused in file b Line reuse percentage = (Number of identical lines) x 100 (Total Number of Lines) February 22, 2019
21
Nontechnical Aspects :: Chapter 4
Measurement Issues Return on Investment Return on investment = (Reuse Savings) Generalization Costs Reuse Maturity Reuse efficiency: how much of the intended reuse opportunities have been exploited {ratio of the percentage of exploited reuse opportunities / percentage of intended reuse} Reuse proficiency {actual reuse / potential reuse} Reuse effectiveness {reuse benefits / reuse costs} February 22, 2019
22
Reuse Maturity Nontechnical Aspects :: Chapter 4 Measurement Issues
LOW Potential Opportunities Actual Reuse Intended Opportunities HIGH Potential Opportunities Actual Reuse Intended Opportunities February 22, 2019
23
Installing a Reuse Program
February 22, 2019
24
Steps to Install a Reuse Program
Installing a Reuse Program :: Chapter 5 Steps to Install a Reuse Program Reuse Assessment Reuse initiation Reuse experiment Reuse expansions Domain Analyses Reuse Consolidation 1. Is software REUSE feasible in our organization? 2. Analyze existing software Find, evaluate and select POTENTIALLY reusable Components 3. Reduce risks and cost PILOT PROJECT 4. Analyze the pilot project and propose adaptation 5. Identify common needs to multiple projects in certain domains 6. Institutionalize the process February 22, 2019
25
Management Commitment
Installing a Reuse Program :: Chapter 5 Management Commitment “Installing a software reuse program cannot be accomplished successfully without the commitment of management” Guidelines to sell reuse to managers: Benefits and costs Extent required changes Degree of innovation Amount of needed management time and effort Involved risks Plan for reuse introduction February 22, 2019
26
Reuse Motivation / Third-Party components
Installing a Reuse Program :: Chapter 5 Reuse Motivation / Third-Party components Royalty payments Pay royalties to the creators Reuse bribes Motive the users of components Quality Costs and benefits Ease of modification and adaptation Risk analysis MOTIVATION February 22, 2019
27
References SAMETINGER, J. Software Engineering with Reusable Components. Springer-Verlag, 1997. February 22, 2019
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.