# Lecture |
Week - Date |
Lecture - Description |
Readings |
1 |
Week 1 26/09 |
Lecture Notes 01 SEOC Introduction |
Readings
- UML course textbook
- Chapter 1 on the Introduction to the Case Studies.
- Chapter 2 on the Background to UML.
- B. Meyer. Software Engineering in the Academy. IEEE Computer, pp. 28-35, May 2001.
- R.N. Charette. Why Software Fails. IEEE Spectrum, pp.42-49, September 2005.
- B. Nuseibeh. Ariane5: Who Dunnit? IEEE Software, pp. 15-16, May/June 1997.
- J.-M. Jézéquel, B. Meyer. Design by Contract: The Lessons of Ariane. IEEE Computer, pp. 129-130, January 1997.
- M. Grottke, K.S. Trivedi. Fighting Bugs: Remove, Retry, Replicate, and Rejuvenate. IEEE Computer, pp. 107-109, February 2007.
- Rational Unified Process: Best Practice for Software Development Teams. Rational Software White Paper, TP026, Rev 11/01.
Suggested Readings
- I. Sommerville. Software Engineering, Eighth Edition, Addison-Wesley 2007.
- Chapter 1 for a general account of Software Engineering
- Chapter 3 on Critical Systems
- Chapter 4 on Software Processes
- The SWEBOK homepage provides access to the current version of the Guide to the Software Engineering Body of Knowledge (2004 Version).
- A. Avizienis, J.-C. Laprie, B. Randell and C. Landwehr. Basic Concepts and taxonomy of Dependable and Secure Computing. IEEE Transactions on Dependable and Secure Computing 1(1):11-33, 2004.
- N.G. Leveson, C.S. Turner. An investigation of the Therac-25 accidents. IEEE Computer 26(7): 18-41, Jul 1993.
- Dolores R. Wallace and D. Richard Kuhn. Lessons from 342 Medical Device Failures. In Proceedings of HASE 1999, pp. 123-131.
- G. Cernosek, E. Naiburg. The Value of Modeling. Rational Software, Copyright IBM Corporation 2004. This paper provides a brief technical discussion on software modeling.
|
2 |
Week 2 30/09 |
Lecture Notes 02 Requirements Engineering |
Readings
Suggested Readings
- G. Kotonya, I. Sommerville. Requirements Engineering: Processes and Techniques. John Wiley, 1998.
The book has an associated set of OHP Transparencies (Powerpoint), which may be downloaded from the Accompanying Website. The VORD method which is introduced in the book as a viewpoint-oriented technique for interactive systems specification has an associated toolset, written in Java, which is available free of charge for all readers of the book.
- I. Sommerville, P. Sawyer. Requirements Engineering: A good practice guide. John Wiley, 1997.
The book presents requirements engineering guidelines which vary from the very simple, such as make sure that your requirements are given a unique identifier, to the very complex, e.g., use formal specification for safety-critical systems. The book also includes three chapters which provide more detailed advice on system modelling, formal methods for specification and viewpoint-oriented requirements elicitation. The Accompanying Website provides links to resources with information on requirements engineering. Among the Requirements Engineering guideliens, Guideline 3.1 - Define a standard document structure - describes the benefits of a standardize requirements document.
- Suzanne Robertson and James Robertson. Mastering the Requirements Process. Addison-Wesley, 1999.
- M. Jarke. Requirements Tracing. Communications of the ACM, Vol. 41, No. 12, December 1998.
- I. Sommerville. Software Engineering, Eighth Edition, Addison-Wesley 2007.
- Chapter 6 on Software Requirements
- Chapter 7 on Requirements Engineering Processes
|
3 |
Week 2 03/10 |
Lecture Notes 03 Use Cases |
Readings
Suggested Readings
|
4 |
Week 3 07/10 |
Invited Industry Presentation |
|
5 |
Week 3 10/10 |
Lecture Notes 04 Software Design and Class Diagrams |
Readings
- UML course textbook
- Chapter 4 on Class Diagram: Classes and Associations
- Chapter 5 on Class Diagram: Aggregation, Composition and Generalization
- Chapter 6 on Class Diagram: More on Associations
- Chapter 7 on Class Diagram: Other Notations
- P. Kruchten, H. Obbink, J. Stafford. The Past, Present and Future of Software Architecture. IEEE Software, March/April 2006.
Suggested Readings
|
6 |
Week 4 14/10 |
Lecture Notes 05 Design Patterns |
Readings
- UML course textbook
- Chapter 17 on Design Patterns.
- T. Winn, P. Calder, Is This a Pattern?. In IEEE Software, January/February 2002, pp. 59-66.
|
7 |
Week 4 17/10 |
Lecture Notes 06 Validation: CRC Cards |
Readings
Suggested Readings |
8 |
Week 5 21/10 |
Lecture Notes 07 Component Diagrams |
Readings
- UML course textbook
- Chapter 7 on Class Diagram: Other Notations.
- Chapter 8 on Component Diagrams.
|
9 |
Week 5 24/10 |
Lecture Notes 08 Sequence Diagrams |
Readings
- UML course textbook
- Chapter 9 on Interaction Sequence Diagrams.
|
|
Week 6 28/10 |
No Lecture |
|
|
Week 6 31/10 |
No Lecture |
|
10 |
Week 7 04/11 |
Invited Industry Presentation |
|
11 |
Week 7 30/10 |
Lecture Notes 09 Communication Diagrams Lecture Notes 10 Activity Diagrams |
Readings
- UML course textbook
- Chapter 10 on More on Interaction Diagrams.
- Chapter 11 on Activities.
|
12 |
Week 8 11/11 |
Lecture Notes 11 State Machines |
Readings
- UML course textbook
- Chapter 12 on State Machines.
Suggested Readings
|
13 |
Week 8 14/11 |
Lecture Notes 12 Software Testing |
Readings
Suggested Readings
|