DIGITAL LIBRARY
A REQUIREMENTS EDITOR FOR TEACHING REQUIREMENTS ENGINEERING
University of Wisconsin-La Crosse (UNITED STATES)
About this paper:
Appears in: INTED2011 Proceedings
Publication year: 2011
Pages: 4092-4100
ISBN: 978-84-614-7423-3
ISSN: 2340-1079
Conference name: 5th International Technology, Education and Development Conference
Dates: 7-9 March, 2011
Location: Valencia, Spain
Abstract:
Requirements engineering process is the first and foremost process of a software development life cycle. As reported in several publications in the literature, a good requirements gathering and analysis process will lead to a huge cost saving during design and testing stages of software development. Therefore, it is very important that software developers must be given adequate training in gathering and analyzing requirements.
A typical requirements engineering process includes three phases: (1) Requirements elicitation, (2) Requirements analysis, and (3) Requirements specification. During the elicitation phase, requirements are gathered from various sources such as interviews with customers, literature review and studying competitive products. The requirements are then analyzed for feasibility, consistency, free from ambiguities and completeness. Generally, such an analysis is done by the requirements team through informal discussions. Though a formal requirements analysis process would be better, it has a steep learning curve because of the mathematical background involved. The final outcome of the requirements engineering process is a structured requirements specification that is used as the basis for the later stages such as design, testing and maintenance. The requirements specification is usually written in a standard format such as the one recommended in IEEE Standard 830-1998 so that it is easy for any member of the development team to read and understand.
This paper describes the development of a GUI-based requirements editor that supports all the three phases of a requirements engineering process. The editor enables a user write a requirements specification in a simplified format of IEEE Standard 830-1998. It allows several members of the team to communicate with each other for gathering and inputting the requirements. An interesting feature of the tool is a chatting mechanism that can be used for discussion by members of the development team. In addition, the tool also provides a facility by which team members can review requirements and provide feedback to other members. All comments, reviews and feedback can be saved, edited and deleted. A user can print a copy of the requirements specification as well as can export the document in PDF format.
The requirements editor was primarily developed for teaching requirements engineering (usually part of a software engineering course). The tool supports users of different roles such as instructor or administrator and students. Instructors can create groups and projects and monitor the requirements engineering processes carried out by various groups. Each group of students is assigned one or more projects, and each group develops a requirements specification for every project the group is assigned to. Appropriate security mechanisms are implemented in the tool to protect against accidental viewing or modification of documents belonging to other groups. The paper includes a running case study to illustrate the expressive power of the editor. The tool has been used by graduate students in a software engineering program.
The tool is web-based and was developed in Java using the ZK framework. It is relatively easier to extend the tool and customize to accommodate additional features.
Keywords:
Software requirements, requirements editor, requirements engineering.