SEOC Lecture Notes

This page indexes the pdf of the slides used in the lectures and some additional material. Paper copies of the slides will be made available at the lectures and from the ITO. These notes are intended to augment your reading of the recommended texts specified in Note 01. In the course we will use UML as the basis for the design of systems implemented in Java. You will find additional material in the resources' page. Previous years' notes are also available if you want to consult them.
  1. Lecture Note 01 - SEOC Overview. Main references are listed in the resources' page. This lecture provides a general introduction to the course and its relevance to Software Engineering. The case studies provide diverse examples of (software) failures.
  2. Lecture Note 02 - Requirements Engineering. This lecture provides a general overview on Requirements Engineering. The main objective is to highlight requirements engineering practices, references and resources. In particular, you may want to look at the VOLERE: Requirements Specification Template. Moreover, you may want to look at the software engineering and requirements engineering references in the resources' page.
  3. Lecture Note 03 - Use Cases. You may want to look at the additional material in the resources' page. In particular, you may want to read Alistair Cockburn's paper: Structuring Use Cases with Goals. The paper introduces a Basic Use Case Template.
  4. Lecture Note 04 - Software Design. Moreover, you may want to look at the additional material in the resources' page. In particular, you may want to look at the papers on Software Engineering (e.g, Model-Driven Development, Software Design and Software Architecture) and Requirements Engineering (e.g., Requirements Traceability).
  5. Lecture Note 05 - Class Diagrams. Moreover, you may want to review the use of ArgoUML in the generation of UML diagrams, look at the ArgoUML Tour.
  6. Lecture Note 06 - CRC Cards. Moreover, you may want to read the papers on CRC Cards and Responsibility-based Modelling by Cunningham, and by Cockburn - links in the resources' page.
  7. Lecture Note 07 - Project Management. Moreover, you may want to look at the additional material in the resources' page. In particular, you may want to look at the papers on Project Management and Risk Management.
  8. Lecture Note 08 - Package Diagrams.
  9. Lecture Note 09 - Composite Structures.
  10. Lecture Note 10 - Component Diagrams.
  11. Lecture Note 11 - Deployment Diagrams.
  12. Lecture Note 12 - Sequence Diagrams.
  13. Lecture Note 13 - Communication Diagrams.
  14. Lecture Note 14 - Activity Diagrams.
  15. Lecture Note 15 - Statechart Diagrams. You may want to read Harel's paper on Statecharts.
  16. Lecture Note 16 - Software Construction.
  17. Lecture Note 17 - Software Testing. Moreover, you may want to look at the additional material in the resources' page.
  18. Lecture Note 18 - Software Maintenance and Evolution. Moreover, you may want to look at the additional material in the resources' page. In particular, you may want to read Lehman's paper on Software Evolution and Lutz and Mikulski's paper on Requirements Evolution.
  19. Lecture Note 19 - Reuse and Components. Moreover, you may want to look at the additional material in the resources' page. In particular, you may want to read Robinson and Woo's paper on UML Software Reuse, and Winn and Calder's paper on Patterns.
  20. Lecture Note 20 - Software Quality. Moreover, you may want to look at the additional material in the resources' page. In particular, you may want to read Pasquini et al.'s paper on Software Quality, and Laprie et al.'s paper on Fundamental Concepts of Dependability.
  21. Lecture Note 21 - Engineering High-Dependability Systems. Moreover, you may want to look at the additional material in the resources' page. In particular, you may want to read Laprie et al.'s paper on Fundamental Concepts of Dependability.
  22. Software Engineering: An industry perspective - Invited Industry Speakers of JPMorgan delivered the invited lecture. The industry lecture - Software Engineering: An industry perspective - provides a practitioner and industrial viewpoint on Software Engineering. This is to strength your understanding of software engineering practices within industrial domains.
  23. Lecture Note 22 - SEOC - Open Issues and Course Summary. Software Engineering with Objects and Components: Is there any magic/silver bullet? You may want to look at the (kind of historical) list of papers on "Software Engineering Bullets?".

This page is maintained by Massimo Felici (mfelici@inf.ed.ac.uk)


Home : Teaching : Courses : Seoc : 2006_2007 

Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail: school-office@inf.ed.ac.uk
Please contact our webadmin with any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh