Extracting High-Level Functional Design from Software Requirements

  • Authors:
  • Vibhu Saujanya Sharma;Santonu Sarkar;Kunal Verma;Arun Panayappan;Alex Kass

  • Affiliations:
  • -;-;-;-;-

  • Venue:
  • APSEC '09 Proceedings of the 2009 16th Asia-Pacific Software Engineering Conference
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Practitioners spend significant amounts of time creating high-level design from requirements. Though there exist methodologies to describe and manage requirements and design artifacts, there is not yet an automated way to faithfully translate a requirement into a high-level design. While it is extremely difficult to generate design elements from free-form natural language due to its inherent ambiguity, it is possible to significantly improve the accuracy of the design from relatively structured and constrained natural language. In this paper we propose a technique to generate high-level class diagrams from a set of requirements, using a set of requirement-specific heuristics. In this approach, we leverage work we had previously done to first process a requirement statement to classify it into a requirement type, and then break it into various constituents. Depending on the requirement type and its constituents, our heuristics then discover a functional design comprising of coarse-grained modules, their relationships and responsibilities. We express the design as a UML class diagram in IBM Rational Software Architect (RSA) format. Our preliminary investigation shows that the resulting class diagram is rich, and can be used by practitioners as a basis for further design.