Information Society TechnologiesEU
 
 
 
transparent bullet Home
left bracket Project Overview
Domain and Rationale
Focus of Work
Technological Objectives
transparent bullet Partners
transparent bullet Publications
transparent bullet Downloads
transparent bullet Sources & Links
_______________
 


 

project overview

OOSPICE - Software Process Improvement and Capability dEtermination for Object Oriented/component based software development

OOSPICE [1] is a project based on the principles of empirical software engineering. It focuses on the processes, technology and quality of software systems produced using component-based development (CBD) which is achieving substantial software re-use. Among its main objectives are a unified CBD process metamodel, a CBD assessment methodology, component-provider capability profiles, a CBD methodology and extentions to the ISO 155504 process assessment standard.

1. domain and rationale

The domain of this project is component-based software engineering in which complex software systems are often rapidly produced, for example, to meet the time to market of e-commerce. In general the technology involves designing an appropriate architecture for independently produced components (architecting), component assembly and component provisioning (often by third parties). CBD, encompassing these three aspects, is of increasing importance, especially for rapid software development.  However, companies are experiencing many problems in CBD, inter alia, the following:

  • Companies believe that CBD is valuable and a key to enhancing both quality and productivity but do not have the knowledge or skills to obtain the benefits.
  • Organisational structures and processes are not adapted to CBD.
  • Inappropriate technical and management approaches are being used for CBD, for example, in risk estimation, project planning and quality assurance.
  • Information concerning availability, quality and reliability of (software) components is deficient.
  • Prevailing culture is resistant, rejecting newness, and mistrusting components.
  • Information about capability[2] of component suppliers and their component construction process is inadequate.
  • Components are not trusted because they are not well specified or are not self-describing or reflective, especially where components are themselves complex assemblies of components.

Currently various suitable processes for CBD are still emerging and their general applicability is being debated. Developers of component-based systems find it hard to determine and assess the appropriateness of available components.  This project will address these problems and provide processes, methods, tools and standards to create a technological basis needed for effective CBD and component provision. Especially in the context of re-use, the notion of software components has been around since McIlroy proposed it in 1968. With the emphasis on re-use in object-oriented development, together with a multiplicity of characterisations of what components are (e.g. from Microsoft, Sun, OMG) and the use of object-style interfaces to components, practitioners and researchers remain unclear about the distinction between components and objects.

Go Up  

2. focus of work

An accepted principle in software engineering is that process quality determines product quality [3] [4]. This is the basis of approaches like CMMI and SPICE (ISO/IEC TR15504: 1998 -Software process assessment [5]. The updating and improvement of the technology for CBD as planned for OOSPICE requires detailed analysis and codification of the wide variety of currently offered approaches, like OPEN, Catalysis and BlackBox. Based on the identified best-practice approaches it is the aim to devise suitable process models and an assessment methodology. Following the SPICE model of ISO 15504, we can distinguish between two different forms of process models:

  • Process reference models serve to define the entities subject to assessment by providing basic definitions of the processes within their scope.
  • Process assessment models serve to support the performance of process assessment by linking the performance of defined processes to the existence and achievement of specific indicators of performance or achievement.

There are no widely accepted processes specifically for CBD let alone their assessment. Furthermore, the relationship between CBD and the way in which components themselves are produced is also not clear, for example, the impact of object technology used for components like JavaBeans. Preliminary work has shown that established SPI (software process improvement) approaches such as CMMI and SPICE (ISO 15504) are not ideally suited to either object-oriented development or CBD. This constitutes a significant gap in technology.  Hence the project focuses on the processes employed for both the provision (development) of reusable software components, and for the architecting and assembly of larger systems from acquired components. Thus issues of re-use and the resulting modifications to existing processes (making compromises between original requirements and available components and estimating cost of adaptation) have to be considered. As a side effect to the main goals, refinements of  ISO 15504 for object-oriented software development will be proposed and submitted to the relevant committees. In exploring the relevant processes, the principles and techniques of process assessment, particularly as set out in ISO 15504, will be applied. In relation to producing components, the project will seek to answer the following questions:

  • Are there specific and unique aspects of producing components that require or support the development of new or modified process reference models?
  • Are the results of the assessment of processes for producing components, of use and value in developing confidence in the suitability and value of these software components for use in CBD of systems?

In relation to CBD of systems, the project will seek to answer the following questions:

  • Are there specific and unique aspects of processes for CBD that require or support the development of new or modified process reference models specifically for CBD?
  •  Are there specific issues involved in the application of assessment of capability of CBD processes for process improvement or capability determination?

Successful resolution of these questions will involve the generation of process assessment models for both component production and component-based systems development. It may also involve the development or modification of a process metamodel.

Go Up  

3. technological objectives

Six major technological objectives have been identified for the project. They are listed below together with the main corresponding project results and suggested criteria for evaluation:

1. Evaluation: To evaluate current theory and practice in CBD, using both published and unpublished sources; this will involve the study of selected industry projects.

2. Unified CBD process model: Propose a unifying theoretical CBD process model with reference to best practice and underpin with a process metamodel.

3. CBD assessment methodology: Develop an industry-validated CBD process assessment methodology (model, Method, tools).      

4.      Component-provider capability profiles: Define capability profiles for component providers through the analysis of results of the new CBD process assessment methodology (see objective 3). 

5.      New CBD methodology: Specify a CBD methodology (management and technical processes, methods and tools) for ‘architecting’ and assembly of independently produced components (e.g. COTS) and for component provision including complex components produced using CBD, as affected by the previous items above.        

6.      Dissemination and Use Planning: Ensure international acceptance and take-up of results through dissemination, standards and license schemes. This will be augmented by provision of web-based information and appropriate training material.    

[1] This project is called OOSPICE for reasons to do with the relevance of object technology to the production of components. Our focus is CBD with an expectation that process models suited to object-oriented development will have to be addressed.

[2] J. Herbsleb, D. Zubrow, D. Goldenson, W. Hyes, M. Paulk: Software Quality and the Capability Maturity Model. Comm. ACM, vol. 40 (1997), no. 6. pp. 30-45.

[3] W.S. Humphrey: Managing the Software Process. Addison-Wesley, 1989.

[4] G.A. Cignoni: Software Process Technologies and the Competitiveness Challenge. R. Conradi (ed.): Software Process Technology, 7th European Workshop on Software Process Technology, EWSPT 2000, Springer, 2000, pp. 151-155.

[5] ISO/IEC TR 15504: Information technology – Software process assessment, International Standards Organization, 1998.

Go Up