A Framework for Off-The-Shelf Software Component Development and Maintenance

In recent years, component-based software engineering (CBSE) has become a promising engineering discipline for software development. However, research in the CBSE field has mainly concentrated on in-house component development and utilization of components that have been constructed internally or acquired from component markets. Not enough attention has been paid to commercial software component development, although disciplined processes have been seen as a focal point in the development of high-quality reusable software Although Off-The-Shelf (OTS) software component development can be considered as development for reuse, which is a broadly studied research topic, development for external markets makes it different from traditional reuse process approaches. OTS software components are developed in an environment in which the developer has no control over the market. This publication presents a framework for OTS software component development and maintenance processes based on IEEE Std 1517 Standard for Reuse Processes and ISO/IEC 12207: 1995 Standard for Software Life Cycle Processes, and introduces general guidelines for OTS component user documentation. OTS software component development follows the incremental and iterative life cycle, as it facilitates recognizing and managing changing requirements and mitigating risks at an early stage. The process framework incorporates aspects of software development for external markets, as well as characteristics deriving from the nature of a component being a unit of composition, such as adhering to component models. The process framework has some limitations: process activities and tasks are presented at a high abstraction level and they have not been validated in practice. Thus, the processes are likely to require revising and further refining once put into use.

[1]  Hassan Gomaa,et al.  Modeling Variability with the Variation Point Model , 2002, ICSR.

[2]  Rubén Prieto-Díaz,et al.  Status report: software reusability , 1993, IEEE Software.

[3]  Bernhard Deifel Requirements Engineering for Complex COTS , 1998, REFSQ.

[4]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[5]  Nicolas Farcet,et al.  Expression and Usage of the Variability in the Software Product Lines , 2001, PFE.

[6]  Vtt Publications,et al.  Performance analysis at the software architectural level , 2003 .

[7]  Vtt Publications,et al.  Probabilistic Fire Simulator Theory and User's Manual for Version 1.2 , 2003 .

[8]  Wayne C. Lim Managing software reuse: a comprehensive guide to strategically reengineering the organization for reusable components , 1998 .

[9]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[10]  Daniel Pakkala Lightweight distributed service platform for adaptive mobile services , 2004 .

[11]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[12]  Even-André Karlsson,et al.  Software reuse: a holistic approach , 1995 .

[13]  Santiago Comella-Dorda,et al.  Volume II: Technical Concepts of Component-Based Software Engineering , 2000 .

[14]  Timo Laakko,et al.  mPlaton: Browsing and development platform of mobile applications , 2003 .

[15]  M.L. Griss,et al.  Software reuse architecture, process, and organization for business success , 1997, Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering.

[16]  Jeffrey M. Voas Developing a Usage-Based Software Certification Process , 2000, Computer.

[17]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[18]  Veikko Tarvainen,et al.  Sahatavaran jatkojalostuksen asettamat vaatimukset kuivauslaadulle ja eri tuotteille sopivat kuivausmenetelmät , 2003 .

[19]  H. Palonen Role of lignin in the enzymatic hydrolysis of lignocellulose , 2004 .

[20]  Teemu Reiman,et al.  Juha Koskela Software configuration management in agile methods , 2004 .

[21]  Jukka Kääriäinen,et al.  Requirements engineering Inventory of technologies , 2003 .

[22]  Alexander Kossiakoff,et al.  Software Systems Engineering , 2005 .

[23]  M. Crowne,et al.  Why software product startups fail and what to do about it. Evolution of software product development in startup companies , 2002, IEEE International Engineering Management Conference.

[24]  Colin Potts,et al.  Invented requirements and imagined customers: requirements engineering for off-the-shelf software , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[25]  Vtt Publications,et al.  On the fire dynamics of vehicles and electrical equipment , 2004 .

[26]  A. Torkkeli Droplet microfluidics on a planar surface , 2003 .

[27]  Johannes Sametinger,et al.  Component models and component services: concepts and principles , 2001 .

[28]  Vtt Publications,et al.  Functional studies of the secretory pathway of filamentous fungi The effect of unfolded protein response on protein production , 2003 .

[29]  Adele Goldberg,et al.  Succeeding With Objects: Decision Frameworks for Project Management , 1995 .

[30]  Elaine J. Weyuker,et al.  The trouble with testing components , 2001 .

[31]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[32]  Leon J. Osterweil,et al.  Comparing Design Methodologies through Process Modeling , 1991, Proceedings. First International Conference on the Software Process,.

[33]  B. Craig Meyers,et al.  Managing Software Acquisition: Open Systems and COTS Products , 2001 .

[34]  Seppo Uosukainen Turbulences as sound sources , 2003 .

[35]  Mikko Sallinen,et al.  Modelling and estimation of spatial relationships in sensor-based robot workcells , 2003 .

[36]  G. Bundell,et al.  Software Component Certification , 2001, Computer.

[37]  Erran Carmel,et al.  A process model for packaged software development , 1995 .

[38]  Jani Mäntyjärvi,et al.  Sensor-based context recognition for mobile applications , 2003 .

[39]  Vtt Publications,et al.  Intermediate Language for Mobile Robots A link between the high-level planner and low-level services in robots , 2003 .

[40]  Vtt Publications,et al.  On the use of expert judgement in the qualification of risk assessment , 2003 .

[41]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[42]  Eila Niemelä,et al.  A Survey on Software Architecture Analysis Methods , 2002, IEEE Trans. Software Eng..

[43]  Jari Lappalainen Paperin- ja kartonginvalmistusprosessien mallinnus ja dynaaminen reaaliaikainen simulointi: Lisensiaatintyö , 2004 .

[44]  Sholom Cohen,et al.  Object-oriented technology and domain analysis , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).