activities

RE teaching activities presented at REET workshops

View the Project on GitHub reet-workshop/activities

Requirements Engineering Course Material for First-Year Software Engineering Students

Author(s)

Jennifer Horkoff, Chalmers | The University of Gothenburg, Gothenburg, Sweden jennifer.horkoff@gu.se

Files

Target Audience

RE Skills Taught

Learning Goals

Knowledge and understanding

  1. describe the process of requirements elicitation, evaluation and prioritization, documentation, validation and development of software requirements,
  2. state techniques to acquire and model user demands,
  3. explain key techniques to account for usability in software products,

Competence and skills

  1. identify and specify requirements by means of, for instance, scenario-based techniques or goal-oriented techniques,
  2. apply techniques to identify personas, scenarios and user stories,
  3. design and implement graphical user interfaces according to usability principles,

Judgement and approach

  1. choose an appropriate technique to evaluate the usability of a software product,
  2. choose and motivate appropriate methods for involving users in the design process.

Summary of Activity

The artifacts described in this document have been used as part of the course DIT045/DAT355 Requirements Engineering and User Experience, part of the international (i.e., taught in English) Software Engineering and Management (SEM) Bachelor Program offered by the University of Gothenburg (GU), Sweden. The program is three years, divided into six semesters with two, two-month study periods each. Thus, the course spans only two months (November and December, with an exam in January). Students take two courses at one time and are expected to devote a total of 20 hours per week to each course.

The course is aimed to cover both RE and User Experience (UX) at a basic level. Thus, only one month, half the lectures and exercise sessions and half of the assignments and exam focus on RE. The first half of the course focuses on various RE topics, while the second half introduces user experience, usability, interface design patterns and usability testing. The requirements and requirements models developed in the first part of the assignments should feed into the UX designs on the second part of the assignments.

Context

This section describes the resources submitted to the REET repository: lectures slides, assignments, and exercises. Example exams can also be provided upon request.

Lectures

I provide eight lectures, each intending to last for 1.5 hours with a break. The first five lectures provide an introduction and cover RE topics. Then there are four lectures which focus on UX topics, and are not provided. The final three lectures include RE topics again and summarize the course, and are provided. I provide a list of each lecture and their topic, including exercises and assignments below. The lectures are aimed to cover the topics as listed in the learning objectives. Slide sources include many popular RE textbooks, and some material has been used with credit from other slide sources.

Because of the first-year nature of the course, I must avoid using advanced topics like (most of) UML, and cannot assume that students understand agile development, or other topics or concepts. Thus, the lectures are aimed for software beginners.

Assignments

Assignments come with a case or domain description. In the first and last instantiation of the course, I gave the students a choice between 3-4 artificial cases created by myself (e.g., originality checker, pet monitor). These examples cases are provided with the available material. In year two, we used the case from the RE Cares event in the RE Conference, focusing on a coordination app for rescue services. This was possible as we had video and slides of the stakeholders describing their case. In the third year, we worked with a real local company which provided set of challenges for their existing tool.

The first two assignments cover RE topics. In the latest iteration of the course, assignment one (A1) focused on selecting a case, scoping, and requirements modeling. A2 focused on taking the models and converting them into textual requirements using both user stories and the more traditional IEEE-style format. A3 focused on UX, but asked the students to link their designs to requirements from A1 or A2. All assignments come with a rubric to aid grading.

Exercises

The exercise sessions are used to give the students a chance to practice methods on a further example case. Example cases include an online shopping app, as included in the repository. These sessions are held roughly every two weeks, with the session before the assignment due date reserved for answering questions on the assignment. RE-related exercise descriptions are provided with the available material.

Prior Use

License

All activities in this repository are made available under a Creative Commons Attribution license. This allows for the widest possible adoption and adaptation of RE learning activities, while ensuring that the activity’s creator(s) will still receive credit for their work.

Creative Commons BY License logo This work is licensed under a Creative Commons Attribution 4.0 International License.