Abstract
The paper includes a survey and discussion of viewpoint‐oriented approaches to requirements engineering and a presentation of new work in this area which has been designed with practical application in mind. We describe the benefits of viewpoint‐oriented requirements engineering and describe the strengths and weaknesses of a number of viewpoint‐oriented methods. We discuss the practical problems of introducing viewpoint‐oriented requirements engineering into industrial software engineering practice and why these have prevented the widespread use of existing approaches.
We then introduce a new model of viewpoints called Preview. Preview viewpoints are flexible, generic entities which can be used in different ways and in different application domains. We describe the novel characteristics of the Preview viewpoints model and the associated processes of requirements discovery, analysis and negotiation. Finally, we discuss how well this approach addresses some outstanding problems in requirements engineering (RE) and the practical industrial problems of introducing new requirements engineering methods.
Similar content being viewed by others
References
Barlas, S. (1996), “Anatomy of a Runaway: What Grounded the AAS,” IEEE Software 13,1, 104–106.
Booch, G. (1994), Object-Oriented Analysis and Design with Applications, Benjamin Cummings, Redwood City, CA.
Bowman, H., J. Derrick, P. Linington, and M. Steen (1996), “Cross-viewpoint Consistency in Open Distributed Processing,” BCS/IEE Software Engineering Journal 11,1, 44–57.
Easterbrook, S. and B. Nuseibeh (1996), “Using ViewPoints for Inconsistency Management,” BCS/IEE Software Engineering Journal 11,1, 31–43.
Errikson, I. and F. McFadden (1993), “Quality Function Deployment: A Tool to Improve Software Quality,” Information and Software Technology 35,9, (pages?).
Feather, M. (1993), “Requirements Reconnoitering at the Juncture of Domain and Instance,” In Proceedings of the International Symposium on Requirements Engineering, IEEE Press, Los Alamitos, CA, pp. 73–77.
GAO (1979), “Contracting for Computer Software Development — Serious Problems Require Management Attention to Avoid Wasting Millions,” US General Accounting Office.
Gibbs, W.W. (1994), “Software's Chronic Crisis,” Scientific American 271,3, 72–81.
Greenspan, S. and M. Feblowitz (1993), “Requirements Engineering Using the SOS Paradigm,” In Proceedings of RE'93, IEEE Press, Los Alamitos, CA, pp. 260–265.
Hughes, J., J. O'Brien, T. Rodden, M. Rouncefield, and I. Sommerville (1995), “Presenting Ethnography in the Requirements Process,” In Proceedings of RE'95, IEEE Press, Los Alamitos, CA, pp. 27–35.
Jackson, D. and M. Jackson (1996), “Problem Decomposition for Reuse,” BCS/IEE Software Engineering Journal 11,1, 19–30.
Jackson, M.A. (1983), System Development, Prentice-Hall, London, UK.
Jackson, M.A. (1995), “Problems and Requirements,” In Proceedings of the 2nd IEEE International Symposium on Requirements Engineering, IEEE Press, Los Alamitos, CA, pp. 2–9.
Jacobson, I., M. Christensen, P. Jonsson, and G. Overgaard (1993), Object-Oriented Software Engineering, Addison-Wesley, Wokingham, UK.
Jarke, M., J. Bubenko, C. Rolland, A. Sutcliffe, and Y. Vassiliou (1993), “Theories Underlying Requirements Engineering: An Overview of NATURE at Genesis,” In Proceedings of the IEEE Symposium on Requirements Engineering, IEEE Press, Los Alamitos, CA, pp. 19–31.
Klein, M. (1992), Conflict Management in Concurrent Engineering (special issue), Concurrent Engineering Journal 2,3.
Kotonya, G. and I. Sommerville (1992), “Viewpoints for Requirements Definition,” BCS/IEE Software Engineering Journal 7,6, 375–387.
Kotonya, G. and I. Sommerville (1993), “A Framework for Integrating Functional and Non-Functional Requirements,” In Proceedings of the IEE Workshop on Systems Engineering for Real-Time Applications, IEE, Stevenage, UK, pp. 148–153.
Kotonya, G. and I. Sommerville (1996), “Requirements Engineering with Viewpoints,” BCS/IEE Software Engineering Journal 11,1, 5–18.
Leite, J.C.S.P. and P.A. Freeman (1991), “Requirements Validation through Viewpoint Resolution,” IEEE Transactions on Software Engineering 17,12, 1253–1269.
Linington, P.F. (1995), “RM-OD — The Architecture,” In Proceedings of the IFIP TC6 International Conference on Open Distributed Processing, North-Holland, Amsterdam, The Netherlands, pp. 118–126.
Moyse, R. (1992), “VIPER: The Design and Implementation of Multiple Viewpoints for Tutoring Systems,” In Knowledge Negotiation, R. Moyse and M.T. Elsom-Cook, Eds., Academic Press, London, UK, pp. 93–107.
Mullery, G. (1979), “CORE — A Method for Controlled Requirements Specification,” In Proceedings of the 4th International Conference on Software Engineering, IEEE Press, Los Alamitos, CA, pp. 126–135.
Nuseibeh, B., J. Kramer, and A. Finkelstein (1994), “A Framework for Expressing the Relationships between Multiple Views in Requirements Specifications,” IEEE Transactions on Software Engineering 20,10, 760–773.
Ross, D.T. (1977), “Structured Analysis (SA). A Language for Communicating Ideas,” IEEE Transactions on Software Engineering SE-3,1, 16–34.
Rumbaugh, J., M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen (1991), Object-Oriented Modeling and Design, Prentice-Hall, Englewood Cliffs, NJ.
Schoman, K. and D.T. Ross (1977), “Structured Analysis for Requirements Definition,” IEEE Transactions on Software Engineering SE-3,1, 6–15.
Self, J. (1992), “Computational Viewpoints,” In Knowledge Negotiation, R. Moyse and M.T. Elsom-Cook, Eds., Academic Press, London, UK, pp. 54–68.
Sommerville, I., P. Sawyer, G. Kotonya, and S. Viller (1995), “Process Viewpoints,” In Proceedings of the 5th European Workshop on Software Process Technology, Springer, Berlin, Germany.
Zemanek, G., H. Huber, H. Nissen, and M. Jarke (1995), Requirements from Multiple Perspectives: Experiences with Conceptual Modeling Technology, Lehrstuhl für Informatik, Aachen, Germany.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Sommerville, I., Sawyer, P. Viewpoints: principles, problems and a practical approach to requirements engineering. Annals of Software Engineering 3, 101–130 (1997). https://doi.org/10.1023/A:1018946223345
Issue Date:
DOI: https://doi.org/10.1023/A:1018946223345