Component-Based Software Quality

The last decade marked the first real attempt to turn software development into engineering through the concepts of ComponentBased Software Development (CBSD) and Commercial Off-The-Shelf (COTS) components. The idea is to create high-quality parts and join them together to form a functioning system. The problem is that the combination of such parts does not necessarily result in a high-quality system. It is clear that CBSD affects software quality in several ways, ranging from introducing new methods for selecting COTS components, to defining a wide scope of testing principles and measurements. Today, software quality staff must rethink the way software is assessed, including all life-cycle phases—from requirements to evolution. Based on cumulated research efforts, the goal of this chapter is to introduce the best practices of current Component-Based Software Assessment (CBSA). We will develop and describe in detail the concepts involved in CBSA and its constituent elements, providing a basis for discussing the different approaches presented later in this book.

[1]  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.

[2]  R. T. Haftka,et al.  Tracing the Efficient Curve for Multi-objective Control-Structure Optimization , 1991 .

[3]  Stephen P. Brooks,et al.  Markov Decision Processes. , 1995 .

[4]  Mark Woodman,et al.  Issues of CBD Product Quality and Process Quality , 2001 .

[5]  Martin L. Puterman,et al.  Markov Decision Processes: Discrete Stochastic Dynamic Programming , 1994 .

[6]  Eila. Niemela Documented Quality of COTS and OCM Components , 2001 .

[7]  Alain Wegmann,et al.  On quality attribute based software engineering , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[8]  Carla Valle,et al.  Educação de Pacientes através de Sistemas de Acesso Público , 1997 .

[9]  A. Jefferson Offutt,et al.  Using UML Collaboration Diagrams for Static Checking and Test Generation , 2000, UML.

[10]  J. R J Rao,et al.  Nonlinear programming continuation strategy for one parameter design optimization problems , 1989 .

[11]  Marina del Rey,et al.  Ensuring General-purpose and Domain-specific Properties Using Architectural Styles , 2001 .

[12]  Alain Wegmann,et al.  A Systems Perspective on the Quality Description of Software Components , 2002 .

[13]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[14]  Hakan Erdogmus Comparative evaluation of software development strategies based on Net Present Value , 1999 .

[15]  Roman B. Statnikov,et al.  Multicriteria Optimization and Engineering , 1995 .

[16]  E. Ziegel Juran's Quality Control Handbook , 1988 .

[17]  Mark C. Paulk,et al.  Capability Maturity Model , 1991 .

[18]  Min Xie On the determination of optimum software release time , 1991, Proceedings. 1991 International Symposium on Software Reliability Engineering.

[19]  Debra J. Richardson,et al.  Describing Dependencies in Component Access Points , 2001 .

[20]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[21]  Mark Lycett,et al.  Understanding 'variation' in component-based development: case findings from practice , 2001, Inf. Softw. Technol..

[22]  Grady Booch,et al.  Book Reviews , 1936, Computer.

[23]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[24]  Judith A. Stafford,et al.  Ensembles: abstractions for a new class of design problem , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[25]  Hany H. Ammar,et al.  A Model for Classifying Component Interfaces , 1999 .

[26]  John D. McGregor,et al.  A Practical Guide to Testing Object-Oriented Software , 2001, Addison Wesley object technology series.

[27]  Johannes Sametinger,et al.  Software Engineering with Reusable Components , 1997, Springer Berlin Heidelberg.

[28]  D.S. Guindi,et al.  The impact of verification and validation of reusable components on software productivity , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track.

[29]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[30]  Somesh Jha,et al.  Software Design as an Investment Activity: A Real Options Perspective , 1998 .

[31]  P. Utgoff,et al.  Multivariate Versus Univariate Decision Trees , 1992 .

[32]  Hirotaka Nakayama,et al.  Theory of Multiobjective Optimization , 1985 .

[33]  Boris Beizer,et al.  Black Box Testing: Techniques for Functional Testing of Software and Systems , 1996, IEEE Software.

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

[35]  Jean-Michel Bruel,et al.  Incorporation of Test Functionality into Software Components , 2003, ICCBSS.

[36]  Ho-Won Jung,et al.  Selecting Optimal COTS Products Considering Cost and Failure Rate , 1999 .

[37]  Johannes RyserÊÊÊÊÊÊÊÊÊÊÊÊÊÊMartin Glinz,et al.  A Scenario-Based Approach to Validating and Testing Software Systems Using Statecharts , 1999 .

[38]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[39]  Jyrki Kontio,et al.  A case study in applying a systematic method for COTS selection , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.