This is a graduate level course. The course will introduce the basics of requirements engineering. It will discuss the issues, processes, and techniques in requirements engineering. The course will teach different modeling approaches in problem solving. It will introduce advance and potential research topics in requirements engineering.
Course Learning Outcomes
After the completion of this course, student should be able to:
- Understand the basics of requirements engineering
- Understand the social, cultural, political, and technical issues in requirements engineering
- Understand activities in requirements engineering (requirements elicitation, analysis and negotiation, validation, and management)
- Understand requirements traceability
- Understand requirements documentation
- Understand use-case modeling, object-oriented static modeling, functional modeling, and dynamic modeling techniques applicable in requirements engineering
- Understanding the need for research in selected topics in requirements engineering
- To know how to apply the learnt concepts, knowledge and techniques to solve real world problems
Introduction to Software Requirements Engineering, Non Functional Requirements, Kinds of Software Requirements, Requirements from the User/Customer’s Perspective, Process Models and Requirement Engineering Process, Actors and Stakeholders in the Requirements Engineering Process, Social and Cultural Issues in Requirements Engineering, Requirements Elicitation - Stages, Basics of Knowledge Acquisition, Knowledge Structuring Techniques, Specific Elicitation Techniques Including: Interviewing, Scenarios, Prototyping and Participant Observation; Requirements Analysis - Incomplete Requirements, Inconsistent Requirements, Analysis Checklists; Requirements Analysis and Negotiation, Requirements Errors - Impact of Requirements Errors, Error Prevention in Requirements, Defect Removal, Requirements Validation, Requirements Management - Stable and Volatile Requirements, Requirements Identification Techniques, Change Management; Requirements Traceability, Prototyping, Writing Requirements, Requirements Document, Quality Attributes of Requirements Document, Use Case Modeling (Case Study: Banking System), Software Modeling, Object-Oriented Modeling Using UML, Object-Oriented Static Modeling (Case Study: Banking System), Functional Modeling (Case Study: Banking System), Dynamic Modeling (Case Study: Banking System), Requirements Engineering for Agile Methods, Requirements Engineering for Web-Based Systems, Requirements Engineering for Product Lines, Requirements Prioritization.
Course Related Links
Good Material provided by University of Kentucky
Requirements Engineering International Doctoral Theses Research link provided by North Carolina State University
Very good course related material provided by Lawrence Chung at The University of Texas at Dallas