Management of Performance Requirements for Information Systems

The management of performance requirements is a major challenge for information systems as well as other software systems. This is because performance requirements can have a global impact on the target system. In addition, there are interactions and trade-offs among performance requirements, other nonfunctional requirements (NFRs), and the numerous alternatives for the target system. To provide a systematic approach to managing performance requirements, this paper presents a performance requirements framework (PeRF). It integrates and catalogues a variety of kinds of knowledge of information systems and performance. These include: performance concepts, software performance engineering principles for building performance into systems, and information systems development knowledge. In addition, layered structures organize performance knowledge and the development process. All this knowledge is represented using an existing goal-oriented approach, the "NFR framework", which offers a developer-directed graphical treatment for stating NFRs, analyzing and interrelating them, and determining the impact of decisions upon NFRs. This approach allows customized solutions to be built, taking into account the characteristics of the particular domain. The use of PeRF in managing performance requirements is illustrated in a study of performance requirements and other NFRs for a university student record system. This paper concludes with a summary of other studies of information systems, tool support and directions for future work.

[1]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[2]  Julio Cesar Sampaio do Prado Leite,et al.  Integrating non-functional requirements into data modeling , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[3]  Joan Peckham,et al.  Semantic data models , 1988, CSUR.

[4]  Connie U. Smith,et al.  Independent general principles for constructing responsive software systems , 1986, TOCS.

[5]  John Mylopoulos,et al.  Capturing more world knowledge in the requirements specification , 1982, ICSE '82.

[6]  John Mylopoulos,et al.  Integration Issues in Implementing Semantic Data Models , 1990, International Workshop/Symposium on Database Programming Languages.

[7]  John Mylopoulos,et al.  A language facility for designing database-intensive applications , 1980, TODS.

[8]  John Mylopoulos,et al.  Support for Data-Intensive Applications: Conceptual Design and Software Development , 1989, DBPL.

[9]  Edward D. Lazowska,et al.  Quantitative system performance - computer system analysis using queueing network models , 1983, Int. CMG Conference.

[10]  John Mylopoulos,et al.  The TaxisDL Software Description Language , 1993 .

[11]  Gunnar Brataas Performance engineering method for workflow systems : an integrated view of human and computerised work processes , 1996 .

[12]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[13]  Matthias Jarke,et al.  Telos: representing knowledge about information systems , 1990, TOIS.

[14]  Nils J. Nilsson,et al.  Problem-solving methods in artificial intelligence , 1971, McGraw-Hill computer science series.

[15]  John Mylopoulos,et al.  Implementation of a compiler for a semantic data model: Experiences with taxis , 1987, SIGMOD '87.

[16]  W. W. Bledsoe,et al.  Review of "Problem-Solving Methods in Artificial Intelligence by Nils J. Nilsson", McGraw-Hill Pub. , 1971, SGAR.

[17]  Connie U. Smith,et al.  Performance Engineering of Software Systems , 1990, SIGMETRICS Perform. Evaluation Rev..

[18]  Brian A. Nixon,et al.  Representing and Using Performance Requirements During the Development of Information Systems , 1994, EDBT.

[19]  Jintae Lee,et al.  Extending the Potts and Bruns model for recording design rationale , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[20]  Steve Rozen,et al.  Automating Physical Database Design: An Extensible Approach , 1993 .

[21]  Andreas L. Opdahl,et al.  A Framework for Performance Engineering During Information System Development , 1992, CAiSE.

[22]  John Mylopoulos,et al.  Process Management and Assertion Enforcement for a Semantic Data Model , 1988, EDBT.

[23]  Robert Balzer,et al.  A 15 Year Perspective on Automatic Programming , 1985, IEEE Transactions on Software Engineering.

[24]  Stephen Fickas,et al.  Automating the Transformational Development of Software , 1985, IEEE Transactions on Software Engineering.

[25]  Michael D. Zisman Use of production systems for modeling asynchronous, concurrent processes , 1977, SGAR.

[26]  Brian A. Nixon Implementation of Information System Design Specifications: A Performance Perspective , 1991, DBPL.

[27]  Matthias Jarke,et al.  DAIDA: an environment for evolving information systems , 1992, TOIS.

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

[29]  Pamela Zave Classification of research efforts in requirements engineering , 1997, ACM Comput. Surv..

[30]  Barry Boehm,et al.  Characteristics of software quality , 1978 .

[31]  John Mylopoulos,et al.  Performance requirements for information systems , 1997 .

[32]  Brian A. Nixon,et al.  Managing performance requirements for information systems , 1998, WOSP '98.

[33]  Won Kim,et al.  Indexing Techniques for Object-Oriented Databases , 1989, Object-Oriented Concepts, Databases, and Applications.

[34]  Lawrence Chung,et al.  Dealing with Non-Functional Requirements: Three Experimental Studies of a Process-Oriented Approach , 1995, 1995 17th International Conference on Software Engineering.

[35]  Allen S. Lee A Scientific Methodology for MIS Case Studies , 1989, MIS Q..

[36]  Florian Matthes,et al.  The DBPL Project: Advances in Modular Database Programming , 1994, Inf. Syst..

[37]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[38]  Victor R. Basili,et al.  The Future Engineering of Software: A Management Perspective , 1991, Computer.

[39]  John Mylopoulos,et al.  Design of a Compiler for a Semantic Data Model , 1989, Foundations of Knowledge Base Management.

[40]  Brian A. Nixon,et al.  Dealing with performance requirements during the development of information systems , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[41]  David R. Barstow,et al.  The Refinement Paradigm: The Interaction of Coding and Efficiency Knowledge in Program Synthesis , 1981, IEEE Transactions on Software Engineering.

[42]  Igor Jurisica,et al.  Building Quality into Case-Based Reasoning Systems , 1998, International Conference on Advanced Information Systems Engineering.

[43]  Diane C. P. Smith,et al.  Database abstractions: aggregation and generalization , 1977, TODS.

[44]  William Francis Hyslop,et al.  Performance prediction of relational database management systems , 1991 .

[45]  R BasiliVictor,et al.  The Future Engineering of Software , 1991 .

[46]  Stewart Green,et al.  Goal-driven approaches to requirements engineering , 1993 .

[47]  Roger King,et al.  Semantic database modeling: survey, applications, and research issues , 1987, CSUR.

[48]  Edward D. Lazowska,et al.  Quantitative System Performance , 1985, Int. CMG Conference.

[49]  Peter Buneman,et al.  Types and persistence in database programming languages , 1987, CSUR.