COMPONENT BASED SYSTEMS: A CLASSIFICATION OF ISSUES Sule Yildirim, 20 mars 2003
What is this paper for? Component-based development offers many potential benefits such as greater reuse and a commodity-oriented perspective of software. But it raises several issues that developers need to consider. 7/29/2019
Component: definition Software components are units of independent production, acquisiton and deployment that interact to form a functional system. 7/29/2019
Issues in a framework In this article, a set of issues organized within an overall framework that software developers must address for component-based systems (CBS) to achieve their full potential are presented. Components can take a wide range of forms and sizes. They should be independent of specific software architectural style. While objects maybe components, all components are not objects. 7/29/2019
Framework helps to achieve the following Helps transfer the potential of component-based system development into reality. Brings together disparate perspectives on components. Begins to identify the key research questions. 7/29/2019
Derivation of the framework Phase 1: The issues and the published material studied. Phase 2: Identify relevant issues. Phase 3: Use framework to elaborate ideas. 7/29/2019
Software Product Issues Viewed from the perspectives of: Component providers Granularity Portability Component Integrators Component selection(evaluate against requirements) Interoperability (architecture mismatch, functional deficiencies, quality maintenance) Combining quality attributes Maintenance over distributed components Commmon needs Predicting limits (i.e. 32 bits problem) Component description to locate, understand and evaluate Integrated systems customers (Should supply well specified requirements) 7/29/2019
Software Development Process Issues can affect one or all viewpoints. Component providers Internationalization Testing practices (make dependencies explicit) Component Integrators Requirements and component capabilities trade-offs. Tool support for component evaluation Demands for change (from both customers and providers) Commmon needs Long term support Responsibility chain 7/29/2019
Business Issues Component providers Internationalization (on global market- encryption, advertising reg. etc) Responsibility for quality (limit level of responsibility) Horizontal versus vertical market Marketability Component Integrators New business opportunities (cheap, well supported products) Managing a range of contractual styles (different national regulations) Demonstrating products to potential buyers Trade-offs (accept an existing component or build an ideal one) Measuring productivity (new productivity models needed) Commmon needs Component redundancy Payment Distributed execution Security and certification Integrated systems customers (reliable and well maintained products) 7/29/2019
People in Software Development Viewed from the perspectives of: Component providers Component Integrators Evaluators Management Commmon needs Integrated systems customers 7/29/2019
Conclusion Several themes require further research Evaluation Maintenance Interaction and integration of commercial and technical factors Aggregation rules 7/29/2019