Abstract
Literature tends to discuss software (and system) requirements quality control, which includes validation and verification, as a heterogeneous process using a great variety of relatively independent techniques. Also, process-oriented thinking prevails. In this paper, we attempt to promote the point that this important activity must be studied as a coherent entity. It cannot be seen as a rather mechanical process of checking documents either. Validation, especially, is more an issue of communicating requirements, as constructed by the analysts, back to the stakeholders whose goals those requirements are supposed to meet, and to all those other stakeholders, with whose goals those requirements may conflict. The main problem, therefore, is that of achieving a sufficient level of understanding of the stated requirements by a particular stakeholder, which may be hindered by, for example, lack of technical expertise. In this paper, we develop a unifying framework for requirements quality control. We reorganize the existing knowledge around the issue of communicating requirements to all the different stakeholders, instead of just focusing on some techniques and processes. We hope that this framework could clarify thinking in the area, and make future research a little more focused.





Similar content being viewed by others
References
Glass RL (2003) Facts and fallacies of software engineering. Addison-Wesley
Boehm BW (1979) Guidelines for verifying and validating software requirements and design specifications, in Euro IFIP 79. London, UK: North-Holland, pp 711–719
Gause DC, Weinberg GM (2003) Exploring requirements: Quality before design. Dorset House
Wiegers KE (2003) Software Requirements, 2nd ed. Microsoft Press
Wiegers KE (1999) Software Requirements. Microsoft Press
Hetzel B (1988) The complete guide to software testing, 2nd ed. Wiley
Bashir I, Goel AL (2000) Testing object-oriented software: life cycle Solutions. Springer-Verlag, New York
Kotonya G, Sommerville I (1998) Requirements engineering : processes and techniques. Wiley
Boehm BW (1984) Verifying and validating software requirements and design specifications. IEEE Software 1(1):75–88
Boehm BW (1974) Some steps towards formal and automated aids to software requirements analysis and design, in Information Processing 74: Proceedings of IFIP Congress 74. Stockholm, Sweden: North-Holland, pp 192–197
Bergman M, King JL, Lyytinen K (2002) Largescale requirements analysis revisited: The need for understanding the political ecology of requirements engineering. Requirements Engineering 7(3):152–171
Jackson M (1995) Software requirements & specifications : a lexicon of practice, principles and prejudices. ACM Press, Addison-Wesley
Jackson M (2004) Seeing more of the world, IEEE Software 21(6):83–85
Zave P, Jackson M (1997) Four dark corners of requirements engineering. ACM transactions on Software Engineering and Methodology (TOSEM) 6(1):1–30
Nuseibeh B (2001) Weaving together requirements and architectures. IEEE Computer 34(3):115– 119
Hall JG, Jackson M, Laney RC, Nuseibeh B, Rapanotti L (2002) Relating software requirements and architectures using problem frame. In Proc IEEE joint international conference on requirements engineering (RE’02) 137–144
Swartout W, Balzer R (1982) On the inevitable intertwining of specification and implementation. Communications of the ACM 25(7):438–440
Schneider RE, Buede DM (2000) Properties of a high quality informal requirements document. In Proc 10th annual international symposium of the INCOSE
Kar P, Bailey M (1996) Characteristics of good requirements, requirements working group of the INCOSE, available as http://www.incose.org/rwg/goodreqs.html.
McGregor JD, Sykes DA (2001) A practical guide to testing object-oriented software. Addison-Wesley
Carson RS, Requirements completeness: A deterministic approach, in Proc 8th annual international symposium of the INCOSE, 1998, available as http://www.incose.org/rwg/98_carson/paper016.pdf
Pohl K (1996) Process-centered requirements engineering. Research studies Press / Wiley
Preiss O, Wegmann A (2001) Stakeholder discovery and classification based on systems science principles, In Proc 2nd APQSC Asia-Pacific Conference on Quality Software. IEEE 194–198
Berry DM, Kamsties E (2000) The dangerous "all" in specifications In Proc 10th international workshop on software specification and design. IEEE 191–193
Fagan ME (1999) Design and code inspections to reduce errors in program development, IBM Systems Journal, vol 15, no. 3, pp. 182–211, 1976, reprinted in IBM Systems Journal 38(2–3):258–288
Aurum A, Petersson H, Wohlin C (2002) State-of-the-art: software inspections after 25 years. Software Testing, Verification & Reliability 12(3):133–154
Gilb T, Graham D (1993) Software Inspection. Addison-Wesley
Votta LGJ (1993) Does every inspection need a meeting? in Proc. 1st ACM symposium on the foundations of software engineering, 1993, pp 107–114 (Software Engineering Notes, vol. 18, no. 5)
Porter AA, Votta LGJ, Basili VR (1995) Comparing detection methods for software requirements inspections: a replicated experiment. IEEE Transactions on Software Engineering 21(6):563– 575
Fusaro P, Lanubile F, and Visaggio G (1997) A replicated experiment to assess requirements inspection techniques. Empirical Software Engineering 2(1):39–57
Shull F, Rus I, Basili V (2000) How perspective-based reading can improve requirements inspections. IEEE Computer 33(7):73–79
Weidenhaupt K, Pohl K, Jarke M, Haumer P (1998) Scenarios in system development: current practice. IEEE Software 15(2):34–45
Maiden N, Cisse M, Perez H, Manuel D (1998) CREWS validation frames: Patterns for validating systems requirements, in Proc. 4th REFSQ international workshop on requirements engineering: foundation for software quality
Kösters G, Six H-W, Winter M (2001) Coupling use cases and class models as a means for validation and verification of requirements specifications. Requirements Engineering 6(1):3–17
Nuseibeh B, Easterbrook S (2000) Requirements engineering: a roadmap. In Proc 22nd international conference on software engineering (ICSE-00). ACM pp 35–46
Berry DM, Daudjee K, Dong J, Fainchtein I, Nelson MA, Nelson T, Ou L (2004) User’s manual as a requirements specification: case studies. Requirements Engineering 9(1):67–82
Booch G, Rumbaugh J, Jacobson I (1999) The Unified Modeling Language User Guide. Addison-Wesley
Lalioti V (1997) Animation for validation of business system specifications. In Proc 13th Hawaii International Conference on System Sciences vol. 2. IEEE, pp. 220–229.
Gemino A (2004) Empirical comparisons of animation and narration in requirements validation. Requirements Engineering 9(3):153–168
Dulac N, Viguier T, Leveson N, Storey M-A (2002) On the use of visualization in formal requirements specification. In Proc IEEE joint international conference on requirements engineering RE’02, pp 71–80
Heitmeyer C, Kirby J, Labaw B (1997) Tools for formal specification, verification, and validation of requirements, In Proc 12th annual COMPASS conference on computer assurance pp 35–47
Schneider F, Easterbrook SM, Callahan JR, Holzmann GJ (1998) Validating requirements for fault tolerant systems using model checking, in Proc 3rd IEEE international conference on requirements engineering, pp 4–13
Hörl J, Aichernig BK (2000) Validating voice communication requirements using lightweight formal methods. IEEE Software 17(3):21–27
Easterbrook S, Callahan J (1997) Formal methods for V&V of partial specifications: an experience report. In Proc 3rd IEEE international symposium on requirements engineering pp 160–168
Gervasi V, Nuseibeh B (2002) Lightweight validation of natural language requirements. Software - Practice and Experience 32(2):113–133
Lauesen S, Vinter O (2001) Preventing requirement defects: An experiment in process improvement. Requirements Engineering 6(1):37–50
Andrews BA, Goeddel WC (1994) Using rapid prototypes for early requirements validation. In Proc 4th annual international symposium of the INCOSE
Fenkam P, Gall H, Jazayeri M (2002) Visual requirements validation: Case study in a Corba-supported environment. In Proc IEEE joint international conference on requirements engineering RE’02 81–88
Ghajar J-Dowlatshahi, Vernekar A (1994) Rapid prototyping in requirements specification phase of software systems. In Proc 4th annual international symposium of the INCOSE
Acknowledgements
The major part of this work was performed in the KOTEVA project, which was financially supported by the National Technology Agency of Finland (TEKES) (project number 676/31/01) and industrial partners TietoEnator, Elisa, Yomi, and Systeemiratkaisu. We would like to thank the referees for their insightful comments.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Katasonov, A., Sakkinen, M. Requirements quality control: a unifying framework. Requirements Eng 11, 42–57 (2006). https://doi.org/10.1007/s00766-005-0018-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-005-0018-1