Course syllabus adopted 2019-02-21 by Head of Programme (or corresponding).
Overview
- Swedish nameRequirements engineering
- CodeDAT231
- Credits7.5 Credits
- OwnerMPSOF
- Education cycleSecond-cycle
- Main field of studyComputer Science and Engineering, Industrial Engineering and Management, Software Engineering
- DepartmentCOMPUTER SCIENCE AND ENGINEERING
- GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Course round 1
- Teaching language English
- Application code 24115
- Maximum participants80
- Open for exchange studentsYes
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0114 Project 3.5 c Grading: TH | 3.5 c | ||||||
0214 Take-home examination 4 c Grading: TH | 4 c |
In programmes
- MPIDE - INTERACTION DESIGN AND TECHNOLOGIES, MSC PROGR, Year 2 (elective)
- MPSOF - SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 1 (compulsory)
Examiner
- Eric Knauss
- Head of Division, Interaction Design and Software Engineering, Computer Science and Engineering
Eligibility
General entry requirements for Master's level (second cycle)Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Specific entry requirements
English 6 (or by other approved means with the equivalent proficiency level)Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Course specific prerequisites
To be eligible for this course the student should have- a bachelor degree in Software Engineering, Computer Science, Information Technology, Information Systems, or equivalent;
- a completed course in programming (e.g., TDA548 Introductory software development, DAT043/DAT050 Object-oriented Programming, TDA452 Functional Programming, or equivalent);
- a completed project course (or bachelor thesis) in applied software development or software engineering (e.g., TDA367 Object-oriented programming project, or DAT256 Software Engineering Project).
Aim
One of the main challenges in software development is to make sure one is developing the right system, i.e. to understand the requirements that need to be fulfilled. The purpose of this course is how to learn how to find and collect requirements from relevant sources, both at the start and during a software development project, following established principles and formats for documenting and maintaining requirements..
Learning outcomes (after completion of the course the student should be able to)
Knowledge and understanding - after completion of the course the student must to be able to
- explain why requirements engineering is a key to successful software engineering,
- describe the challenges involved in requirements engineering,
- explain the importance of identifying stakeholders and their knowledge, context and goals,
- explain the difference between functional and quality requirements,
- describe how to conduct bespoke (in-project/single-customer) requirements engineering in terms of common processes and techniques,
- explain how market-driven differs from bespoke (in-project/single-customer) requirements engineering,
- describe how requirements engineering in agile projects differ from traditional requirements engineering.
Skills and abilities - after completion of the course the student must to be able to
- skilfully elicit software requirements,
- clearly document software requirements according to industry standards and state-of-the-art,
- prioritise requirements,
- assure the quality of requirements and requirements specifications,
- be able to assess current requirements engineering practices in a software project or a software development company.
Judgement and approach - after completion of the course the student must to be able to
- suggest relevant improvements on requirements engineering processes in a convincing way,
- trade-off the choice of requirements engineering methods and processes given a certain project context.
Content
One of the main challenges in software development is to make sure you are developing the right system, i.e. to understand the requirements that need to be fulfilled. The focus of this course is how to find and collect requirements from relevant sources both at the start and during a software development project. Different methods for this as well as different underlying principles and formats for documenting and maintaining requirements are covered.
In particular the course covers the problems that arise when requirements engineering is conducted in a fast-paced, cost-sensitive industrial reality. The following topics are included in the course:
Stakeholder Identification and Management
- Requirements Elicitation
- Writing Requirements and Requirements Specifications
- Quality Assurance of Requirements
- Prioritising Requirements
- Connections and Alignment between Requirements Engineering and other Software Engineering activities
- Requirements Engineering in In-Project vs. Market-driven Development
- Requirements Engineering in Agile and Iterative/Incremental Development
Organisation
The course is organised as a series of lectures, workshops as well as project assignments.
Examination including compulsory elements
The student is examined by individual active participation in all workshops, the completion of a group project and a written individual take-home exam.