=Paper= {{Paper |id=Vol-2857/openre_paper2 |storemode=property |title=Requirements Engineering Course Material for First-Year Software Engineering Students |pdfUrl=https://ceur-ws.org/Vol-2857/openre2.pdf |volume=Vol-2857 |authors=Jennifer Horkoff |dblpUrl=https://dblp.org/rec/conf/refsq/Horkoff21 }} ==Requirements Engineering Course Material for First-Year Software Engineering Students== https://ceur-ws.org/Vol-2857/openre2.pdf
Requirements Engineering Course Material for
First-Year Software Engineering Students
Jennifer Horkoffa
a
    Chalmers | The University of Gothenburg, Gothenburg, Sweden


                                         Abstract
                                         This paper describes open educational artifacts including lectures slides, assignments, and exercises for a
                                         first-year requirements engineering course. Course content, reflection and modifications are described.

                                         Keywords
                                         Requirements Engineering, Lectures, First-year students, Exercises, Assignments


1. Introduction
Requirements engineering (RE) studies concepts, tools, and methods which allow consideration
and analysis of a problem. In software engineering, requirements engineering often starts at
the beginning of a software project and provides structure to understand who is involved, what
the software needs to do, and how well it must perform its functions. This early consideration
of the problem is both important and difficult, as it often touches on the bridge between the
complex and human world of the problem and the (also complex) world of the system [? ].
   Often, students find RE courses challenging: there is usually not a single correct answer,
i.e., there are many correct ways to write requirements or draw models; and, for those who
are accustomed to technical activities like coding and design, a focus on human actions and
communication can be surprising. Past work in the Requirements Engineering Education and
Training Workshop (REET) have explored some of these issues1 . These challenges can manifest
differently for students depending on their level of education and work experience. Those who
lack experience with complex software often do not see the need for RE activities, while those
who have detailed technical experience, often find it hard to abstract away from the details.
   In this work, I describe artifacts aimed to teach RE to first-year software engineering students.
I provide my lecture slides, assignments, some assignment cases, and exercises with a description
of the context, the artifacts, and a discussion of challenges and possible modifications. My hope
is that these artifacts will help others to design and apply effective education in RE topics.




In: F.B. Aydemir, C. Gralha, S. Abualhaija, T. Breaux, M. Daneva, N. Ernst, A. Ferrari, X. Franch, S. Ghanavati, E.
Groen, R. Guizzardi, J. Guo, A. Herrmann, J. Horkoff, P. Mennig, E. Paja, A. Perini, N. Seyff, A. Susi, A. Vogelsang
(eds.): Joint Proceedings of REFSQ-2021 Workshops, OpenRE, Posters and Tools Track, and Doctoral Symposium, Essen,
Germany, 12-04-2021
" jennifer.horkoff@gus.se (J. Horkoff)
                                       © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
    CEUR
    Workshop
    Proceedings           CEUR Workshop Proceedings (CEUR-WS.org)
                  http://ceur-ws.org
                  ISSN 1613-0073




                  1
                      https://dblp.org/db/conf/reet-ws/index.html
2. Educational Context
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), Sweden2 . 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.
   I designed the course in 2017 and have taught it four times. Enrollment has ranged from about
40 students in 2017 to about 130 students in 2020. In pre-COVID times, we had two, two-hour
lectures and a three-hour exercise session per week in a classroom. In 2021, all sessions were
given via Zoom. The course has three assignments, due roughly every two weeks, and a final,
written hall exam. In 2020, this exam was open book and given online.
   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. This course was also described as part of a short
experience report on the use of EARS [? ].
   Learning Objectives. In order to justify the design of the course lectures and assignments,
I provide the learning objectives for the course3 . The learning outcomes cover both RE and UX.

Learning outcomes
On successful completion of the course the student will be able to:
Knowledge and understanding
    • describe the process of requirements elicitation, evaluation and prioritization, documentation,
      validation and development of software requirements,
    • state techniques to acquire and model user demands,
    • explain key techniques to account for usability in software products,
Competence and skills
    • identify and specify requirements by means of, for instance, scenario-based techniques or goal-
      oriented techniques,
    • apply techniques to identify personas, scenarios and user stories,
    • design and implement graphical user interfaces according to usability principles,
Judgement and approach
    • choose an appropriate technique to evaluate the usability of a software product,
    • choose and motivate appropriate methods for involving users in the design process.




   2
       https://www.gu.se/en/study-gothenburg/software-engineering-and-management-bachelors-programme-n1sof
   3
       https://www.gu.se/studera/hitta-utbildning/kravhantering-och-anvandarupplevelse-dit045
3. Resource Descriptions
This section describes the resources submitted to the REET repository: lectures slides, as-
signments, and exercises, all available online4 . Example exams can also be provided upon
request. This artifacts described in the document are licensed under a Creative Commons
Attribution-Non Commercial 4.0 International License.
   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.

            Lecture, Exercise, and Assignment List
            L1 Course Intro & Practicalities
            L2 Requirements Creativity, Scoping & Modeling (Context, Goals)
            E1 Requirements Modeling
            L3 Requirements Modeling (Goals, Use Cases, Customer Journey Map)
            L4 Requirements Concepts, Documenting & Quality
            E2 Writing Requirements
            L5 Requirements Elicitation, Personas & Scenarios
            E3 A1 Questions
            A1 Assignment 1 - RE Scope and Modeling Due
            UX Lectures
            ...
            A2 Assignment 2 - Requirements and UX Design
            L10 Usability Experiments & RE Videos
            L11 Validation & Verification
            L12 Course Review
            A3 Assignment 3 - UX Design and User Studies

   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
   4
       https://doi.org/10.5281/zenodo.4621264
traditional IEEE-style format5 . 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.


4. Reflection
Reception. Overall, the course received above average reviews in the yearly course evaluation.
Feedback on the lectures indicated too much text, but this has been reduced throughout the
years. The students often feel the course is too packed with material, but this is a challenge
with only one month of time. The content could be reduced, but the contradictory concern is
that the RE coverage would be too light. The assignments are sometimes seen as long, but are
appreciated overall. The exercise sessions have been somewhat problematic. As they are not
for grades, they are not always well-attended. It is a work-in-progress to get the most out of
these sessions.
   Supporting Literature. Although much material from existing RE textbooks were used to
create the slides, it was difficult to find a book that covered a good set of RE topics appropriate
for first-year students. Most textbooks were judged to be too advanced. However, the students
would like to have a book to follow, so this is something that could be improved in future years
if a good introductory RE textbook is found.
   Order of Topics. Each year I have reordered the RE topics somewhat. Previously, I taught
concepts then modeling, but last year I started with modeling, moving towards writing require-
ments. This ordering may be more intuitive, but it is difficult to say if this is the best ordering
for the students. The ordering of topics in the lectures and assignments remains a challenge.
   Real vs. Artificial Case. The students appreciate having a real company or organization
provide their case, but this does add complexity to the case and to course coordination. Using
artificial cases also works well. This was done in year one and four to reduce risk, when the
course was new, or when the course size increased drastically and the course was moved online.
Either option is possible, but a real case is preferred.


5. Future Use and Improvement
Future adaptors and adopters of this material could change it in several ways. The current
timeline of one month for RE topics is very short, so this material could easily be stretched
out to two months or more. For many topics, I currently give example applications in separate
video files. Ideally, these would be given in the lecture, so the students could follow along and
ask questions. In the current design, there is no time for this.
   Elicitation is a topic that is not covered in an ideal way, given the restrictions on time, size
of the class, and their experience. Although it is covered in the lectures, students do not get a
   5
       https://ieeexplore.ieee.org/document/6146379
chance to interview real stakeholders. Setups which emulate this situation by allowing students
to interview each other or teaching assistants are not employed due to time and inexperience
(the assistants are often second-year students). The course could easily be extended to include
these elements.


Acknowledgments
Thank you to my colleagues and students at GU and Chalmers for their feedback on my
educational material over the years. Thanks to E. Yu, J. Mylopoulus, S. Easterbrook and my
colleagues from the University of Toronto for teaching me how to teach RE.