Collaborative Requirements Analysis

CREWSpace is a tool for co-located, collaborative CRC modeling and use case analysis. It leverages touch devices like smartphones or tablets to enable simultaneous access to a shared virtual artifact. Users can collaboratively create CRC card models, apply role play for model analysis, and even export them for further use with UML tools. 

This website briefly introduces digital CRC sessions with CREWSpace and provides an overview of common features. Besides several pictures and screenshots of our tool you may also watch our demo video below that shows how CREWSpace and digital CRC cards can be used for requirements engineering and use case analysis. 

Publications

  • Are Smartphones Better Than CRC Cards?
    Rainer Lutz, Sascha Schäfer and Stephan Diehl
    In Proceedings of the 29th Symposium On Applied Computing (SAC 2014) Gyeongju, Korea, March 2014..
  • ​​​​Teaching Object-Orientation with Smartphones as Digital CRC Cards
    Rainer Lutz, Sascha Schäfer, and Stephan Diehl
    In Proceedings of the 26th Conference on Software Engineering Education and Training (CSEE&T2013), San Francisco, CA, USA, May 2013.
  • Using Mobile Devices for Collaborative Requirements Engineering
    Rainer Lutz, Sascha Schäfer, and Stephan Diehl
    In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering (ASE 2012), Essen, Germany, September 2012.
  • CREWW - Collaborative Requirements Engineering with Wii-Remotes (NIER Track)
    Felix Bott, Stephan Diehl, and Rainer Lutz
    In Proceedings of the 33rd International Conference on Software Engineering (ICSE), Hawaii, USA, May 2011.

Android™ client application

The client application, which runs on each mobile device, allows the team to interact simultaneously with the main application. Therefore, each mobile device serves as both a touch pad that allows users to controls a cursor in the main application and as a private workspace. Here, users are able to create and edit CRC cards, access important information like a requirements document or a use case diagram, or take personal notes.

Workflow

The following pictures demonstrate the workflow when using CREWSpace. All of them have taken during a demo session with four team members, which are familiar with the CRC method. To enhance the quality of these pictures we replaced the actual image of the projector with a screenshot of our software. For detailed view please click the respective screenshot. 

Step 1: In order to obtain a initial set of CRC cards for a subsequent use case analysis, the team members may individually create and modify cards with their mobile devices. By using standard input methods like on-screen keyboards or even handwriting recognition users are able to enter class names, responsibilities, and collaborators. Once fundamental CRC cards have been identified they are distributed over the team members. In the example above each person claimed one CRC card. All this is done in the Pause Mode of the Use Case View 

Step 2a: And now, let the role play begin! Therefore, the team simply switches to the Play Mode and chooses the initial class. During role play only the person who owns the active class is able to manipulate the control flow and thus proceed with the scenario playthrough. In order to allow all team members to recall the current state of the role play, CREWSpace uses dotted lines to visualize a call history. Starting at the initial card these lines are floating to the card that is currently active.

Step 2b: During the role play the owner of the active CRC card has two possibilities to proceed. Either his card is able to fulfill its responsibilities independently or it has to delegate one or more tasks to other cards. In any case the owner describes the actions his card is able to perform. If a card does not need to collaborate with other cards the owner simply clicks at it in order to return the control to its predecessor. On the other hand, if a card has to collaborate with another card to solve a certain task, the owner may simply click at the respective card in order to delegate that task. This procedure is repeated until the initial class has fulfilled all of its responsibilities.

Step 3: Once the team members feels satisfied with the CRC card model or certain parts of it, they may switch to UML View and model basic relationships between the cards. Therefore, CREWSpace supports aggregation, inheritance, and association edges. For a further use with common UML tools they can also export a class diagram of their model. 

In an earlier prototype of this software we used Wii Remotes and a Bluetooth keyboard as input devices.

Legal Notice: 

The CREWSpace logo includes modifications of the Android Robot created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.