The course covers modeling and requirements engineering. Modeling topics include the following: purpose and importance of modeling, UML and its different diagrams. Requirements engineering topics include the following: Requirements Engineering Process - Elicitation of requirements - Functional and nonfunctional requirements - System services and constraints – Quality of Requirements - Requirements traceability - Metrics for non-functional requirements - Use case description - Use case and context diagrams - Software Requirements Specification - Requirements for agile developments - Requirements management – Formal specification using specification languages such as OCL and Z. Students participate in a group project on software requirements analysis and specification and requirements management case tools.
Software Requirements Engineering