Software Requirements
|
Summary:This is an advanced course on the requirements phase of the software engineering process. The focus on the course is on discovering exactly what it is supposed to be designed and implemented, and communicating those objectives to the design and implementation team. This includes other constraints on the desired system such as legal, financial, and historical. A considerable amount of time is spent on formal modeling of both the requirements and the desired system. |
Objectives:By the end of the course students will be able to:
|
|
Work Assigned: This has varied from year to year, but typically consists of 4 assignments worth 20%. Usually one of the assignment is done in pairs (a large elicitation assignment)while the others are done individually. Evaluation: Resources: The textbook is An Introduction to Requirements Engineering by Ian K. Bray. One paper from the Software Engineering Encyclopedia is assigned. Other material obtained from the web and other readings not covered in the textbook and the additional paper is presented in class. |
Outline:Week 1: Intro, Process Week 2: Elicitation Week 3: Data Flow Diagrams, ER Modeling, Object Oriented Analysis Week 4: Problem Domain Oriented Analysis, Writing Requirements Week 5: English Language and the Document, Modeling Techniques, Intro to Formal Modelling Week 6: State Charts, 4 Variable Method Week 7: Software Cost Reduction, Decision Tables Week 10: Non-Functional Requirements, Software Evolution Week 11: Requirements Management Week 12: Review |



