MSc: Requirements Engineering
(Redirected from MSc:Requirements Engineering)
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Requirements Engineering
- Course name: Requirements Engineering
- Code discipline: SE-
- Subject area:
Short Description
This course covers the following concepts: Requirements elicitation; Requirements specification; Requirements prototyping and implementation; Requirements verification; Requirements traceability.
Prerequisites
Prerequisite subjects
- Basics of Software Development
- Basics of Software Testing
- Basics of Software design and Unified Modelling Language
- Basics of Software Development process
- Basics of Software Engineering
Prerequisite topics
Course Topics
Section | Topics within the section |
---|---|
Requirements elicitation and documentation |
|
Requirements prototyping and implementation |
|
Requirements verification and traceability |
|
Intended Learning Outcomes (ILOs)
What is the main purpose of this course?
To introduce the motivation, conceptual background and terminology on which requirements engineering relies., To provide a comprehensive account of state-of-the-art techniques for requirements engineering., To let the students experience the actual requirements-caused problems faced by real software teams.
ILOs defined at three levels
Level 1: What concepts should a student know/remember/explain?
By the end of the course, the students should be able to ...
- System requirements
- Software requirements
- Domain knowledge
- Environment assumptions
- Environment-controlled phenomena
- Machine-controlled phenomena
- Environment-observed phenomena
- Machine-observed phenomena
- Problem space
- Solution space
- Prescriptive statements
- Descriptive statements
- Traceability links
Level 2: What basic practical skills should a student be able to perform?
By the end of the course, the students should be able to ...
- Difference between system and software requirements
- Difference between domain knowledge and environment assumptions
- Pairwise difference between environment- and machine-controlled (observed) phenomena
- Difference between the world and the machine
- Difference between problem and solution space
- Difference between prescriptive and descriptive statements
- Difference between vertical and horizontal traceability
Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?
By the end of the course, the students should be able to ...
- Requirements elicitation techniques
- Requirements specification techniques
- Prototyping and implementation techniques
- Negotiation techniques for modifying requirements
- Techniques for establishing traceability links, both vertical and horizontal
- Parameterized unit testing
- Acceptance testing
Grading
Course grading range
Grade | Range | Description of performance |
---|---|---|
A. Excellent | 80-100 | - |
B. Good | 65-79 | - |
C. Satisfactory | 50-64 | - |
D. Poor | 0-49 | - |
Course activities and grading breakdown
Activity Type | Percentage of the overall course grade |
---|---|
Practical assignments | 60 |
Reading assignments | 18 |
Project presentations | 12 |
Classroom participation | 10 |
Recommendations for students on how to succeed in the course
Resources, literature and reference materials
Open access resources
- Handouts supplied by the instructor
Closed access resources
Software and tools used within the course
Teaching Methodology: Methods, techniques, & activities
Activities and Teaching Methods
Learning Activities | Section 1 | Section 2 | Section 3 |
---|---|---|---|
Homework and group projects | 1 | 1 | 1 |
Testing (written or computer based) | 1 | 1 | 1 |
Reports | 1 | 1 | 1 |
Discussions | 1 | 1 | 1 |
Development of individual parts of software product code | 0 | 1 | 1 |
Oral polls | 0 | 1 | 1 |
Essays | 0 | 0 | 1 |
Formative Assessment and Course Activities
Ongoing performance assessment
Section 1
Activity Type | Content | Is Graded? |
---|---|---|
Question | What is the WHY-Dimension of requirements engineering? | 1 |
Question | What criteria are recommended to use for stakeholders analysis? | 1 |
Question | Who is a stakeholder? | 1 |
Question | What is an artifact-driven elicitation technique? | 1 |
Question | What are the four principles for description in requirements engineering? | 1 |
Question | What are the four facets of relationship between the world and the machine? | 1 |
Question | What are the four kinds of denial in software engineering? | 1 |
Question | What is a descriptive statement? | 1 |
Question | What are the different kinds of information about the world? | 1 |
Question | Write down and present a project proposal for implementing during the course. | 0 |
Question | Propose a set of questions for a requirements elicitation interview. | 0 |
Question | Conduct, audio record and transcribe an elicitation interview. | 0 |
Question | Design use cases based on the elicitation transcript and audio recording. | 0 |
Section 2
Activity Type | Content | Is Graded? |
---|---|---|
Question | What value do UML diagrams bring to the requirements engineering process? | 1 |
Question | Define the “extend” relationship between use cases. | 1 |
Question | Enumerate risk reduction tactics. | 1 |
Question | Describe defining characteristics of what Davis calls “knowledge structure”. | 1 |
Question | What activities does the risk management process involve? | 1 |
Question | How do you call an active component in a use case diagram? | 1 |
Question | What is the purpose of postconditions in use cases? | 1 |
Question | Name different types of relationships in use case modelling. | 1 |
Question | Categorize UML as either informal, semi-formal or formal notation. | 1 |
Question | Define the “generalization” relationship in UML. | 1 |
Question | Reflect, individually and in teams, on the use cases and the use case diagram that you received for implementation from another team. | 0 |
Question | Construct activity diagrams from the use cases and the use case diagram. | 0 |
Question | Construct classes based on the activity diagrams. | 0 |
Question | Design user interfaces based on the classes and activity diagrams. | 0 |
Question | Develop a minimum viable product (MVP) implementing your input requirements. | 0 |
Section 3
Activity Type | Content | Is Graded? |
---|---|---|
Question | How do we call an active system component playing a specific role in goal satisfaction? | 1 |
Question | How do we call an autonomous and passive object in the object model, which cannot control the behaviours of instances of other objects? | 1 |
Question | What is a goal? | 1 |
Question | What goal pattern refers to every future state? | 1 |
Question | How do we call an association where the composite object and its components appear and disappear together in the system? | 1 |
Question | Describe the goal refinement process. | 1 |
Question | What is object specialization? | 1 |
Question | Define the “maintain” goal pattern. | 1 |
Question | Enumerate and describe different relationships between goals. | 1 |
Question | Construct parameterized unit tests for the MVP provided to you by another team. | 0 |
Question | Reflect, individually and in teams, on the MVP provided to you by another team. | 0 |
Question | Reflect, individually and in teams, on the user interface design of the MVP. | 0 |
Question | Develop the MVP into a usable production-quality software. | 0 |
Question | Construct use case tests and parameterized units tests for the final implementation; update the requirements document as you go. | 0 |
Question | Run the tests and fix the identified defects; update the requirements document as you go. | 0 |
Question | Ensure pairwise mutual completeness between the requirements, final implementation and tests. | 0 |
Question | Ensure pairwise mutual traceability between the requirements, final implementation and tests. | 0 |
Question | Write a document that will describe very clearly how to run and use the final implementation. | 0 |
Question | Describe in the document how to reproduce different use cases in the actual software. | 0 |
Final assessment
Section 1
- Present you experience of preparing and conducting the elicitation interview.
- How did you choose the stakeholder for interviewing?
- Did the interview go according to the plan?
- Which of the initially prepared questions you did not ask during the interview? Why?
- What questions you had to ask in addition to the initially prepared ones? Why?
- If you have been interviewed, how relevant were the interviewer’s questions?
- What conflicts did you have when merging the interview transcripts of your team members?
- How did you solve the merging conflicts?
- What lessons have you learned based on your experience as an interviewer and an interviewee?
- Present use cases constructed based on the elicited information.
- How do the use cases trace to the interview transcript?
- How does the interview transcript trace to the use cases?
Section 2
- Record and present a short demo of your MVP.
- What decisions did you have to take when implementing the MVP?
- How did you define your MVP?
- What did you have to change in the requirements document, and why?
- What requirements you decided to cover and not to cover in the MVP, and why?
- Present lessons learned from developing the MVP.
Section 3
- Present the final system developed from the MVP received from another team.
- Introduce the project and its business goals.
- Evaluate the quality of the interview transcript.
- Evaluate the quality of the use cases.
- Evaluate the quality of the MVP and user interfaces.
- Reflect on the quality management process.
- Record and present demo of test runs.
- Reflect on teamwork and communication with other teams.
- Present lessons learned while implementing different parts of different projects coming from the other teams.
- Record and present demo runs of the software using the use cases as the reference.
- Describe strengths and weaknesses of the final implementation.
- Write an essay detailing your reflections on the overall course experience.
The retake exam
Section 1
Section 2
Section 3