Debre Markos University
College of Technology
Course Title: Advanced Requirements Engineering
Course Code: SEng6111
Credit hrs:3
Academic Calendar: 2018 E.C.
Program: SE Post Graduate
Instructor: Getnet M. (Assistant Professor)
Course Descriptions:
The course will discuss concepts for systematically establishing, defining and managing the
requirements for large, complex, changing and software- intensive systems, from technical,
organizational and management perspectives. The course will consider the past, present and
future paradigms and methodologies in requirements engineering. It will cover informal, semi-
formal and formal approaches, while striking a balance between theory and practice. The course
will involve building models of both requirements engineering process and requirements
engineering product, concerning both functional and non-functional requirements using a
systematic decision-making process.
Course Objectives:
The objective of the course is to give basic and advanced knowledge and skills within
requirements engineering for large-scale development of systems completely or partly based on
software. The course gives both theoretical knowledge and practical skills in methods and
techniques for requirements engineering. The course gives training in scientific paper reading.
Upon completion of this course, students will have the ability to:
• Elicit requirements from all stakeholders using brainstorming, interviewing and other
techniques
• Specify and measure quality attributes
• Organize and prioritize requirements
• Apply analysis techniques such as needs analysis, goal analysis and use case analysis
• Use UML and other modeling languages (including the User Requirements Notation)
• Validate requirements according to criteria such as feasibility, clarity, freedom from
ambiguity, etc.
• Represent functional requirements and non-functional requirements for different types of
systems using formal and informal techniques
• Analyze the customers’ needs and determine requirements for a series of releases
• Use tools for managing requirements (and traceability)
• Detect and resolve feature interactions
• Negotiate among different stakeholders in order to agree on a set of requirements.
• Work in a group on software engineering activities
1
Contents:
1. Basics of requirements engineering
o Introduction
o Types of requirements
o Requirements engineering processes
o Good Requirements Specification Approaches
o Requirements Specification standards
2. Requirements inception and elicitation
o Requirements Inception
o Requirements elicitation
o Requirements Elicitation Techniques
o Requirements Negotiation
o Requirements Risk Management
3. Requirements Analysis and Specification
o What is Requirements Analysis and specification?
o Importance of Requirement Analysis in Software Development
o Requirements Modeling
o Modeling Notations
o Benefits of Using Modeling Notations
o User Requirements Notation (URN)
o Requirements Modeling using UML
o Contract specification
4. Requirements Verification and Validation
o Requirements Verification
o Requirements Validation
o Requirements Verification and Validation Techniques
5. Requirements Management
o Introduction to Requirements Management
o Requirements Management Activities
o Requirements Change Factors
o Requirements Change Management
o Requirements Change Management Process
6. Requirements Engineering Methodologies
o Requirements engineering in DevOps
o Requirements engineering in agile methods
Text Book/Reference:
1. Requirements Engineering Fundamentals, 2nd Edition, Klaus Pohl and Chris Rupp, 2015
2. Requirements Engineering, 2nd Edition E. Hull, K. Jackson and J. Dick. 2005
3. The Requirements Engineering Handbook, Ralph R. Young, 2004
Evaluation: Assessments (Assignment, Paper Review & Presentation, Project) -----------.---60%
Final Exam----------------------------------------------------------------------------------40%