Handling nonfunctional and conflicting requirements with design patterns

In recent years, the influences of design patterns on software quality have attracted an increasing attention in the area of software engineering, as design patterns encapsulate valuable knowledge to resolve design problems, and more importantly to improve the design quality. One of the key challenges in object-oriented design is how to apply appropriate design patterns for addressing various design problems. In this paper, a design pattern is analyzed from quality and tradeoff perspectives for investigating its capability on handling nonfunctional and conflicting requirements. Based on the analysis, the application of design patterns is integrated with a goal-driven approach to guiding developers in constructing the object-oriented design model systematically. The major benefit of our approach is to provide a pattern-aided approach to handling the nonfunctional requirements and to assisting the resolution of conflicting requirements.

[1]  Jonathan Lee,et al.  Structuring requirement specifications with goals , 2001, Inf. Softw. Technol..

[2]  Chris A. Czarnecki,et al.  Design patterns for behavior-based robotics , 2000, IEEE Trans. Syst. Man Cybern. Part A.

[3]  C. Ebert Putting requirement management into praxis: dealing with nonfunctional requirements , 1998, Inf. Softw. Technol..

[4]  Lawrence Chung,et al.  Developing adaptable software architectures using design patterns: an NFR approach , 2003, Comput. Stand. Interfaces.

[5]  Paul R. Calder,et al.  Is This a Pattern? , 2002, IEEE Softw..

[6]  Philippe Massonet,et al.  Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learnt , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[7]  Jonathan Lee,et al.  Analyzing User Requirements by Use Cases: A Goal-Driven Approach , 1999, IEEE Softw..

[8]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[9]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[10]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[11]  William N. Robinson,et al.  Supporting multi-perspective requirements engineering , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[12]  Robert B. France,et al.  A Metamodeling Approach to Pattern-Based Model Refactoring , 2003, IEEE Softw..

[13]  Daniel Gross,et al.  From Non-Functional Requirements to Design through Patterns , 2001, Requirements Engineering.

[14]  David Garlan,et al.  Architectural Styles, Design Patterns, And Objects , 1997, IEEE Softw..

[15]  Ladan Tahvildari,et al.  A software transformation framework for quality-driven object-oriented re-engineering , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[16]  Ismaïl Khriss,et al.  Pattern-based refinement schemas for design knowledge transfer , 2000, Knowl. Based Syst..

[17]  Barry W. Boehm,et al.  Identifying Quality-Requirement Conflicts , 1996, IEEE Softw..

[18]  Robert B. France,et al.  A UML-based pattern specification technique , 2004, IEEE Transactions on Software Engineering.