Merging individual conceptual models of requirements

While it is acknowledged that system requirements will never be complete, incompleteness is often due to an inadequate process and methods for acquiring and tracking a representative set of requirements. Viewpoint development has been proposed to address these problems. We offer a viewpoint development approach that fits easily into the current practice of capturing requirements as use case descriptions. However, current practice does not support visualization of use case descriptions, the capture of multiple use case descriptions, the modeling of conflicts and the reconciliation of viewpoints. In our approach we apply techniques from natural language processing, term subsumption and set-theory to automatically convert the use case descriptions into a line diagram. The visualisation of use case descriptions is a natural addition to the object-oriented design of systems using the Unified Modelling Language where diagrams act as communication and validation devices. RECOCASE is a comprehensive methodology that includes use case description guidelines, a controlled language to support natural language translation, a requirements engineering process model and a tool to assist the specification and reconciliation of requirements. Our approach combines group and individual processes to minimise contradictions and missing information and maximise ownership of the requirements models. In this paper we describe each of the parts of our methodology following an example through each section.

[1]  Robert Balzer,et al.  Tolerating Inconsistency , 1991, [1989] Proceedings of the 5th International Software Process Workshop.

[2]  Steve M. Easterbrook,et al.  Elicitation of requirements from multiple perspectives , 1991 .

[3]  Anthony Finkelstein,et al.  Viewpoint Oriented Software Development: Mehtods and Viewpoints in Requirements Engineering , 1989, Algebraic Methods.

[4]  Graeme Shanks,et al.  Managing User Viewpoints in Requirements Definition , 1997 .

[5]  Steve M. Easterbrook,et al.  Using ViewPoints for inconsistency management , 1996, Softw. Eng. J..

[6]  Anthony Finkelstein,et al.  ViewPoint Oriented Software Development , 1990 .

[7]  Neil A. M. Maiden,et al.  CREWS-SAVRE: Scenarios for Acquiring and Validating Requirements , 1998, Automated Software Engineering.

[8]  Rolf Schwitter,et al.  ExtrAns, an answer extraction system , 2000 .

[9]  Geoff P. Mullery,et al.  CORE : A Method for Controlled Requirement Expression , 1979, ICSE.

[10]  Khaled Narayanaswamy,et al.  “Lazy” consistency: a basis for cooperative software development , 1992, CSCW '92.

[11]  Alan M. Davis,et al.  Elements underlying the specification of requirements , 1997, Ann. Softw. Eng..

[12]  R. Wille Concept lattices and conceptual knowledge systems , 1992 .

[13]  Debbie Richards,et al.  Reconciling Use Cases via Controlled Languages and Graphical Models , 2001, INAP.

[14]  Ian Sommerville,et al.  Requirements Engineering: Processes and Techniques , 1998 .

[15]  J. D. Holt,et al.  Classical and object-oriented software engineering , 1997 .

[16]  Norbert E. Fuchs,et al.  Attempto - From Specifications in Controlled Natural Language towards Executable Specifications , 1996, ArXiv.

[17]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[18]  Peter Thanisch,et al.  Natural language interfaces to databases – an introduction , 1995, Natural Language Engineering.

[19]  Colette Rolland,et al.  Guiding the Construction of Textual Use Case Specifications , 1998, Data Knowl. Eng..

[20]  Daniel Dominic Sleator,et al.  Parsing English with a Link Grammar , 1995, IWPT.

[21]  G. P. Mullery,et al.  CORE - a method for controlled requirement specification , 1979, ICSE 1979.

[22]  Igor Mel’čuk,et al.  Dependency Syntax: Theory and Practice , 1987 .

[23]  Vasant Dhar,et al.  Supporting Systems Development by Capturing Deliberations During Requirements Engineering , 1992, IEEE Trans. Software Eng..

[24]  Alistair Cockburn,et al.  Structuring Use Cases with Goals , 2000 .