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 Date - Week Slides and Lecture Notes Description Documents Issued
0 18/09 - Week 1 Short SEOC Presentation
1 21/09 - Week 1
Lecture Note 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 25/09 - Week 2
Lecture Note 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.

Readings in the resources' page. In particular, the VOLERE Requirements Specification Template is useful for the group project.

The main documents for the SEOC group project have been issued. They are the main requirements sources for the SEOC group project.

3 28/09 - Week 2
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.
4 02/10 - Week 3
Lecture Note 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 software design aspects of objectd-oriented systems.

Readings in the resources' page.
5 05/10 - Week 3
Lecture Note 05[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.
6 09/10 - Week 4 Invited Industry Presentation [Slides] Invited Industry Presentation by P&G on Requirements Gathering.
7 12/10 - Week 4 Lecture Note 06[Slides] Sample Designs

This lecture shows the SEOC process so far. It develops sample UML designs for a case study. The lecture provides a instance of the activities and the deliverables related to the group project.

8 16/10 - Week 5
Lecture Note 07[Slides]
[Slides with Notes]
Software Tools for UML

This lecture is a very brief introduction to software tools for UML. The most important aspect (introduced by the lecture) is the use of CVS repositories in order to support cooperative group work.

CVS Repositories for the group project.

Readings in the resources' page.

9 19/10 - Week 5
Lecture Note 08[Slides]
[Slides with Notes]
Components Diagrams

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

Readings in the resources' page.
23/10 - Week 6 No Lecture
10 26/10 - Week 6
Lecture Note 09[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.
11 30/10 - Week 7
Lecture Note 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.

Readings in the resources' page.
12 02/11 - Week 7
Lecture Note 11[Slides]
[Slides with Notes]
Activity Diagrams

This lecture introduces activity diagrams.

Readings in the resources' page.
13 06/11 - Week 8
Lecture Note 12[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.
09/11 - Week 8 No Lecture
14 13/11 - Week 9
Lecture Note 13[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.
15 16/11 - Week 9 Invited Industry Presentation [Slides] Invited Industry Presentation by P&G on Software Testing.
16 20/11 - Week 10
Lecture Note 14[Slides]
[Slides with Notes]
Deployment Diagrams

This lecture introduces deployment diagrams.

Readings in the resources' page.
17 23/11 - Week 10
Lecture Note 15[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.
18 27/11 - Week 11 Lecture Note 16[Slides] SEOC - Open Issues and Course Summary
30/11 - Week 11 No Lecture

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


Home : Teaching : Courses : Seoc : 2007_2008 

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