=Paper=
{{Paper
|id=Vol-1258/poster6
|storemode=property
|title=Modeling Requirements with RED
|pdfUrl=https://ceur-ws.org/Vol-1258/poster6.pdf
|volume=Vol-1258
|dblpUrl=https://dblp.org/rec/conf/models/Storrle14a
}}
==Modeling Requirements with RED==
Modeling Requirements with RED Harald Störrle Department for Applied Mathematics and Computer Science Technical University of Denmark hsto@dtu.dk 1 Motivation Shortcomings in Requirements Engineering (RE) are known to be the prime source of software development project failures. Better education can help im- prove this situation, but a critical prerequisite is adequate (and affordable) tool- ing for modeling and working with requirements specifications. The author has been teaching a major Requirements Engineering class at the Technical Univer- sity of Denmark (DTU) for six years, and the need of tool support to do practical case-study work is quite obvious. We had prior experience with commercial tools (DOORS, RequisitePro, and JIRA), and we have tried different approaches to tooling in the course, including the “pragmatic” solution (spreadsheets and text documents), an open source RE tool (OSRMT, with massive customization), and a UML tool (MagicDraw, with extensions). Neither of them proved to be helpful.1 Among their disadvantages are their high cost (licenses, customization, learn- ing), vendor lock-in, a hard-wired development approach, eclectic coverage of re- quirements concepts, and inconsistent terminology. In a nutshell, existing tools are focused on practical software production and specific customers while the concerns of education are less important. So, eventually, we decided to build our own tool, the Requirements Editor (RED). RED is specifically created to address the needs of students and teachers, but it has matured beyond a mere academic prototype: based on personal experience with RE tools in large development projects, we believe it outperforms many existing commercial products. – Comprehensive: RED comes with a comprehensive set of features and concepts addressing many different practical scenarios. – Mature: Through extensive class room usage, we have evolved RED to provide much needed features, usability improvements, and overall stability. – Understandable: Consistency and learnability have been great concerns all along, and there is extensive teaching material available. Thus, with RED, tooling will cease to be an obstacle in RE teaching, and, possibly, it will further RE in practice, too. 1 See e.g. http://makingofsoftware.com/resources/list-of-rm-tools for a con- tinuously updated list. 2 Tool capabilities Previous versions of RED already provided a rich set of requirements editing ca- pabilities, including classic textual requirements, stakeholders, goals, glossaries, sketch-style UML model fragments, and so on. Also, major tools like reporting, search, logging/status information, inspection support, and user-defined views were provided. Finally, all the usual qualities and UI capabilities of an Eclipse RCP application were available, which made RED a stable and easy to use tool from the start. However, the new version 3.0 of RED significantly extends the previous version [8], offering many new modeling features. See Fig. 1 for an incomplete overview of the current version of the meta-model. – Use Case Modeling: RED now provides fully fledged Use Case modeling capabilities, focusing on the tabular view, which Dobing and Parsons de- scribe as the most common form of use cases [4]. It does provide aspects such as cost and complexity to cover the most prevalent administrative as- pects and support important requirement management activities. – Effort Estimation and Prioritization: RED allows to aggregate cost/benefit estimates over any selection of functions, e.g., subsystems. It also allows sort- ing and contrasting of feature sets, and has built-in support for structured semi-automatic effort estimation based on the well-known Use Case Point method [3, 5]. – Personas and Storyboards: User centric systems require special atten- tion to usage scenarios which are best captured using prototype sketching and personas [2]. RED allows to enter personas, and provide them with rich interactive storyboards specified as scenarios. Like Use Case scenarios, storyboards may be enacted. – Complex Scenarios with Enactment: Scenarios may be used to enrich use cases and many other specification elements (e.g., connectors, actors, or personas). Beyond customary linear scenarios, we also offer a broad range of complex interaction operators such as the ones known from UML interactions (e.g., alt, par, loop). Steps may be specified textually, or by pictures so that a sequence of steps can be reported much like a graphic novel. Beyond mere specification, we also offer interactive enactment of scenarios, which is a valuable method of validating behavior [7]. – Organization and System Structure Modeling: a simple form of archi- tecture modeling is provided with RED, that satisfies both the requirements suggested by ISO 42010 [6] (and its predecessor, IEEE P1471), and modeling of organizational structures. – Multi-File Projects: with increasing project and team-size it becomes pro- gressively more important to support distributed collaboration. A first step towards this is the introduction of multi-file projects which allows us to drastically reduce the number of edit conflicts. Tools for importing old file formats and interactively restructuring a project are included. RED strives to be open in every sense, thus we allow to include any kind of documents into a RED project, acknowledging the fact that the most widely used requirements tools (in particular in the early phases), are Word, Excel, and PowerPoint. This kind of document can be stored in a RED project, and opened from within RED (as far as the respective tools are available). 3 Project History and Usage Experiences Faced with these requirements, we decided to create RED using the Eclipse Rich Client Platform (ERCP). Since 2011, seven students have contributed to RED through their MSc-thesis projects, and three more are currently on-going, adding up to almost 300 ECTS points worth. A student programmer is employed to coordinate and integrate the contributions, fix bugs, and add small features not fitting into the larger projects. A first version was deployed in September 2012 and since then, we have used RED continuously in our RE courses.2 By now, RED has been used by students for several thousand hours. The feedback received there was used to improve the tool, and while initial reactions were mixed, they have gradually improved. Students now use RED without problems. The latest version has not been field tested yet, but developer tests suggests no decrease in stability or usability, while the feature set has expanded consider- ably. We believe that RED is now relatively close to commercial solutions with regards to capabilities and qualities. 4 Architecture and Implementation RED has been created using the latest Eclipse platform available at the time (Eclipse 3.7 “Indigo”). RED is organized in a set of components (“features” in Eclipse terminology, see Fig. 2), each providing specific bundles of concepts and capabilities: the Core module provides the main UI of the application and the back-bone of the meta-model. It supports a number of feature-modules, such as Glossary, SpecificationElements and Help. We have also reused a number of third-party plug-ins, including EPF RichText and AgileGrid, that increased the code reuse ratio. The main rationale behind for using Eclipse is its proven ability to create rich, cross-platform applications. Due to its plug-in-architecture, significant leverage through reuse was achieved. Adopting a popular framework, we also ensured maintainability and long-term development. One particular highlight in the release currently under development are the visual editors. They will present an easy to use front-end for specifying many of those elements of a requirements specification that we have come to expect as being primarily visual, e.g., use case and goal models. They will supplement the existing tabular and form-based editors. Adding a visual front end will allow both faster modeling and more effective communication of specifications. 2 In this course, there are 50-60 students per year, working in groups of 4-6 for 13 weeks, spending approximately 25 hours per week for the course. CD RED Meta-Model Element ElementRelationship GlossaryEntry SpecificationElement Document Vision Goal Group Stakeholder Requirement Glossary Assumption AcceptanceTest Folder UseCase Configuration Project Scenario Persona File Actor StoryBoard ModelElement Fig. 1. Excerpt of the meta-model of RED: meta classes highlighted in red with dashed outlines are new or substantially extended in this version of RED. DYNAMIC REPORTING HELP ONLINE EXTENSION CONNECTOR VISUAL EDITORS GLOSSARY REQUIREMENT STAKEHOLDER MODELFRAGMENT TESTCASE BUSINESSPROCESS PERSONA CONFIGURATION VISION SCENARIO USE CASE ACTOR GOAL SPECIFICATION ELEMENT CORE RTE AGILE GRID Legend Planned Feature Available Feature Third Party Feature Fig. 2. High-level view on the architecture of RED: boxes represent Eclipse features (i.e., OSGI bundles). Another highlight is the Dynamic Online Extension Connector which is a novel feature allowing to seamlessly integrate features at run-time via web- services. This is useful to provide features which are difficult to integrate for technical reasons (e.g., they are based on a different technology), that require more resources than are readily available on a standard client desktop, that must be deployed late, or that must be maintained and updated independently. It is also a way to allow a wide spectrum of extensions to be provided by third parties, avoiding IP issues. One example of such a service is Hypersonic [1]. 5 Ongoing and Future Work We currently focus on providing a few missing features such as visual editors, connectors for other formats such as ReqIF, and a teamwork server to support distributed work, easy to use version control, and controlled natural language checking facilities. Also, the recent set of additions prompts us to consolidate the meta model and software architecture of RED once more. Further features are currently postponed due to resource shortage, including support for star-card based approaches as used for “agile” requirements. We are working on legal issues which, when resolved, will allow us to release RED under a liberal licensing scheme. Clearly, this is the cornerstone both to attracting outside contributions to further evolve RED, and to allow its usage in industrial projects where it will realize its true potential. References 1. Vlad Acretoaie and Harald Störrle. Hypersonic: Model Analysis and Checking in the Cloud. In Dimitris Kolovos, Davide DiRuscio, Nicholas Matragkas, Juan De Lara, Istvan Rath, and Massimo Tisi, editors, Proc. Ws. BIG MDE, 2014. 2. Bill Buxton. Sketching User Experiences: Getting the Design Right and the Right Design. Morgan Kaufmann, 2007. 3. Mike Cohn. Agile Estimation and Planning. Prentice Hall PTR, 2005. 4. Brian Dobing and Jeffrey Parsons. How UML is used. Comm. ACM, 49(5):109–113, 2006. 5. Stephan Frohnhoff and Gregor Engels. Revised use case point method-effort esti- mation in development projects for business applications. Proc. CONQUEST, 2008. 6. ISO/IEC/IEEE 42010:2011 - Systems and software engineering - Architecture de- scription. Technical report, ISO, 2011. Retrieved 2014-07-06. 7. Keith Phalp and Karl Cox. Using Enactable Models to Enhance Use Case Descrip- tions. In Proc. Intl. Ws. Software Process Simulation Modelling (ProSim, co-located ICSE), 2003. 8. Harald Störrle and Maciej Kucharek. The Requirements Editor RED. In Bernard Carré, Houary Sahroui, and Harald Störrle, editors, ECOOP, ECSA and ECMFA 2013: Joint Proceedings of Tools, Demos & Posters, pages 32–34, 2013. DTU Tech- nical Report 2014-01.