200 likes | 308 Views
Overview of Presentation. Reuse Background Development Process Component-Based Development Component Management Select Products IDC Forecast Future Research & References. Why Reuse?. Increase software productivity Shorten software development time
E N D
Overview of Presentation • Reuse Background • Development Process • Component-Based Development • Component Management • Select Products • IDC Forecast • Future Research & References
Why Reuse? • Increase software productivity • Shorten software development time • Improve software system interoperability • Develop software with fewer people • Move personel more easily from project to project • Reduce software development and maintenance costs • Produce more standardized software • Produce better quality software • Provide a powerful competitive advantage
Types of Reusable Components • Application Template • Data Model • Data Structure • System Architecture • Process Model • Process Definition • Prototype • Plan Skeleton • User Interface Skeleton/GUI • Process Skeleton • Utility Components
Reuse Benefits • Organizational perspective • * shorten development time • * reduce costs • * increase competitiveness • Personnel perspective • * increase productivity • Customer perspective • * achieve greater user satisfaction through the • production of more flexible products
Development Process TOP-DOWN: To determine what is needed to satisfy this need. OTHERS: Consider the similarity among concurrent projects. FUTURE: Consider the possibility of reusing in future projects. BOTTOM-UP: To determine what is available to satisfy this need.
What is CBD? CBD: Component-Based Development
Components vs. Objects Components Objects Business oriented Technology oriented Coarse grained Fine grained Standards based Language based Multiple interfaces Single interface Provide services Provide operations Fully encapsulated Use inheritance Understood by everyone Understood by developers
Component Specification Interfaces Implementation Executable
Complexity of Component Components as assets can grow
Dependency of Components Dependency Type of Components • Versions • Aggregations • Functional • Inheritance • Association
Select Products • Select Component Factory • Component Manager • C++ Synchronizer • Estimator • Requirement Manager • Enterprise for Java • Enterprise for Visual Basic • Select SE
Component Repository Repository Browser Hierarchy
Multiple Support Multiple Repository Support
CBD life cycle Business Direction General Business Requirements Component Requirements User Services Harvest Business and Data services User, Business and Data services
IDC forecast CBD market 1996: $652 million 2001: $12 billion
Tools and Software • Software Composition Workbench • JavaBeans • Visual Café, Symantec • Visual J++ • Enabler, Softlab • Microsoft Repository • UREP, Unisys • Select Software Tools, Select
Future Research • CBD vs. OOD • Business Data Modeling • Consistency of Components • DRE Tool
References * Reusable Software Research Group, West Virginia University http://www.csee.wvu.edu/~resolve/scw/rsrg-brochure-nov-98.html * Reusable Software Research Group, Ohio State University http://www.cis.ohio-state.edu/rsrg/index.html * Select Software Tools http://www.selectst.com/ * Software Reuse Executive Primer, DOD http://dii-sw.ncr.disa.mil/ReuseIC/pol-hist/primer/ * Model-Driven Software Reuse, Extended Intelligence Inc
References (Cont.) * Reuse: Re-engineering the Software Process, Extended Intelligence Inc * Experiences from the OO Playing Field, Extended Intelligence Inc * Getting Started with Software Reuse: Secrets to Reuse Success Revealed