SEOC Lecture Notes

The course uses UML as the basis for the design of systems implemented in Java. This page indexes the pdf of the slides used in the lectures and the main course resources. Paper copies of the slides will be made available at the lectures and from the ITO. These notes guide your recommended readings throughout the course. You will find additional material in the resources' page. Previous years' notes are also available if you want to consult them.
SEOC Lectures
# Lecture Week - Date Lecture Slides and Notes Description Documents Issued
0 Week 1 - 23/09 Short SEOC Presentation
1 Week 1 - 26/09
Lecture Notes 01[Slides]
[Slides with Notes]
SEOC Introduction

This lecture provides a general introduction to Software Engineering and to the SEOC course.

Readings in the resources' page
2 Week 2 - 30/09
Lecture Notes 02[Slides]
[Slides with Notes]
Requirements Engineering

This lecture provides a general overview on Requirements Engineering. The main objective is to highlight requirements engineering practices, references and resources.

The SEOC process

The second part of this lecture pinpoints the SEOC process. The lecture highlights the main activities and the outcomes related to the group project. It uses sample UML designs drawn from the coursebook case studies.

Readings in the resources' page. In particular, the VOLERE Requirements Specification Template is useful for the group project.
3 Week 2 - 03/10 -
Lecture Note 03[Slides]
[Slides with Notes]
Use Cases

This lecture introduces the basic notation for use case diagrams. Use case templates allow the desciption of use case information.

Readings in the resources' page. In particular, Alistair Cockburn's paper, Structuring Use Cases with Goals, introduces a Basic Use Case Template. It is useful for the descriptions of use cases.

The main documents for the SEOC group project have been issued.

4 Week 3 - 07/10 - Invited Industry Presentation [Slides] Invited Industry Presentation by P&G.
5 Week 3 - 10/10
Lecture Notes 04[Slides]
[Slides with Notes]
Software Design and Class Diagrams

This lecture introduces software design in terms of objects and components. It also introduces class diagrams, the UML notations for capturing some (architectural) software design aspects of objectd-oriented systems.

Readings in the resources' page.
6 Week 4 - 14/10
Lecture Notes 05[Slides]
[Slides with Notes]
Design Patterns

This lecture introduces the basic concepts of Design Patterns. It discusses how design patters support reuse strategies.

Readings in the resources' page.
7 Week 4 - 17/10 -
Lecture Notes 06[Slides]
[Slides with Notes]
Validation: CRC Cards

This lecture introduses CRC cards as validation and modeling method, which supports principles of design by responsibilities (responsibility-based modeling or responsibility-driven design).

Readings in the resources' page.
8 Week 5 - 21/10
Lecture Notes 07[Slides]
[Slides with Notes]
Components Diagrams

This lecture discusses the rationale and introduces the notation for component diagrams.

Readings in the resources' page.
9 Week 5 - 24/10
Lecture Notes 08[Slides]
[Slides with Notes]
Sequence Diagrams

This lectures introduces sequence diagrams. One of the UML interaction diagrams, which capture (i.e., model) dynamic system aspects.

Readings in the resources' page.
Week 6 - 28/10 No Lecture
Week 6 - 31/10 No Lecture
10 Week 7 - 04/11 Invited Industry Presentation [Slides] Invited Industry Presentation by P&G on Software Testing.
11 Week 7 - 07/11
Lecture Notes 09[Slides]
[Slides with Notes]

Lecture Notes 10[Slides]
[Slides with Notes]
Communication Diagrams

This lecture introduces communication diagrams, formerly named collaboration diagrams. Communication diagrams provide an alternative representation (to sequence diagrams) for dynamic system aspects.

Activity Diagrams

This lecture introduces activity diagrams.

Readings in the resources' page.
12 Week 8 - 11/11
Lecture Notes 11[Slides]
[Slides with Notes]
State Machines

This lecture introduces state machines. It also highlights relationships between state machines and activity diagrams.

Readings in the resources' page.
13 Week 8 - 14/11
Lecture Notes 12[Slides]
[Slides with Notes]
Software Testing

This lecture introduces the basic concepts of software testing. It also highlights how use cases drive software testing.

Readings in the resources' page.

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


Home : Teaching : Courses : Seoc : 2008_2009 

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