Chapter 3: Modeling Software Requirements

This chapter describes our requirements modeling approach and our specification extraction mechanism. Requirements are provided in our system from multimodal formats.

The ontologies for the static and dynamic view of software projects and the aggregated ontology are given below:

We also constructed several tools for inserting software requirements. These are provided in the following list, distinguished according to the type of input:

  • Functional Requirements:
    • Requirements Editor: an Eclipse plugin that can be used to insert and edit requirements. It supports importing and exporting requirements in RQS and ANN formats. The repository is available here, while the tool can be installed as part of S-CASE.
    • Requirements Annotation Tool: a web application that can be used to insert and edit functional requirements in ANN format. The source code of the tool is available here, while an online running version can be found here.
    • NLP Server: a semantic parsing module that allows automatically annotating functional requirements. The source code of the module is available here, while the service is operational and accepts REST requests at the address http://rat.ee.auth.gr:8010/nlpserver/. The service is also integrated with the Requirements Editor and the Requirements Annotation Tool, as these tools issue requests to automatically annotate requirements. The dataset used to train the module is available here.
  • Graphical Storyboards:
    • Storyboard Creator: an Eclipse plugin that can be used to insert and edit storyboards. The repository is available here, while the tool can be installed as part of S-CASE.
  • UML Diagrams:
    • Supported via the tools of S-CASE, that allows importing Use Case diagrams and Activity diagrams in XMI format (the files follow the format of the Papyrus UML tool).

Finally, the chapter includes a requirements-to-specifications case study. The case study involves project Restmarks, a service that allows users to store and retrieve online their bookmarks, share them with other users and search for bookmarks by using tags. The functional requirements of the project are available here, while the storyboards are available here. The system specifications are provided as a YAML file, available here.

Chapter 4: Mining Software Requirements

This chapter describes our mining approaches for functional requirements and UML models. Concerning functional requirements, the annotated requirements dataset used for evaluating our methodology is available here. The dataset is in RQS format, so it can be processed using the Requirements Editor introduced in the previous chapter.

Concerning UML models, the annotated UML diagrams used for evaluating our methodology include use case diagrams, available here, and activity diagrams, available here. The models are in XMI format, and they can be read using the Papyrus UML tool).

A full description of our mining methodology can also be found in deliverable D2.4 of S-CASE.