MechEng Software Engineering 3
Lecture Times
- Wednesday 11.00 James Watt South 427A
- Friday 10.00 Rankine 108
Copies of the lecture slides will be distributed during
lectures. Lecture slideshows will be available from this page
after lectures.
Textbook
The following book is recommended (not essential).
Software Engineering, Ian Sommerville. 8th
edition, Addision-Wesley, 2007.
The 6th or 7th editions should also be fine. You might be able to
find a second-hand copy.
Additional Reading
Each week some short additional reading will be assigned, to give
you a broader impression of what software engineers and computing
scientists find interesting and important. Sometimes the material will
be distributed as a handout in a lecture; sometimes a web link will be
provided. (The form in which we can distribute some material is
restricted by copyright.)
- The Mythical Man-Month
Chapter 2 of The Mythical Man-Month: Essays on Software
Engineering, Frederick P. Brooks Jr.
Addison-Wesley,
1975.
- Interview with Bill Gates, 1986
From Programmers at Work , Susan Lammers.
Tempus Books (Microsoft Press), 1986.
Reproduced here.
- A Spelling Checker
Chapter 13 of Programming Pearls, Jon Bentley.
Addison-Wesley, 1989.
- Programming is an engineering profession
Chapter 18 of Essays in Computing Science, C. A. R. Hoare and
C. B. Jones (editor).
Prentice Hall, 1989.
- Alan C. Kay: A Clear Romantic Vision
From Out of Their Minds: The Lives and Discoveries of 15 Great Computer Scientists, Dennis Shasha and Cathy Lazere.
Copernicus (Springer-Verlag), 1995.
- Zero Balances and Zero Responsibility
Michael Bolton. Published at DevelopSense: Essays on
Software Engineering, 2006.
Assessment
This course has no exam. There will be two assessed exercises,
with deadlines of 26th February and 26th March.
- Assessed Exercise 1: problem sheet as PDF. The deadline is Friday 26th February at the beginning of the lecture.
- Sample solution to Assessed Exercise 1: PDF. This is the corrected
version. The solution handed out in lectures related to a similar
exercise involving van hire instead of tool hire, but the idea is the same.
- Assessed Exercise 2: problem sheet as PDF. The deadline is Friday 26th March at the
beginning of the lecture.
Schedule and Material
- Week 1 (11th January): Introduction
Introductory slides: PDF.
Sommerville Chapter 1 slides: PDF.
Lecture 2 slides (software lifecycle): PDF.
- Week 2 (18th January): Requirements
Lecture 3 slides (requirements capture): PDF.
Tutorial 1 exercise: PDF.
Sample solution: PDF.
- Week 3 (25th January): Use Cases
Wednesday 27th January: no lecture.
Lecture 4 slides (introduction to use cases): PDF.
- Week 4 (1st February): Use Cases and Activity Diagrams
Tutorial 2 exercise: PDF.
Sample solution: PDF.
Lecture 5/6 slides (use cases): PDF.
- Week 5 (8th February): Use Case and Activity Diagrams
Lecture 6 (activity diagrams): continuing previous slides.
Tutorial 3 exercise: PDF.
Sample solution: PDF.
- Week 6 (15th February): Domain Modelling
Lecture 7 slides: PDF.
Tutorial 4 exercise: PDF.
Sample solution: PDF.
- Week 7 (22nd February): Modelling Dynamic Behaviour / Guest Lecture
Lecture 8/9 slides: PDF.
Friday 26th February: guest lecture by Dr Tim Storer: E-Counting
during the Scottish Elections
- Week 8 (1st March): Modelling Dynamic Behaviour
Lecture 9: continuing previous slides.
Tutorial 5 exercise: PDF.
Sample solution: PDF.
- Week 9 (8th March): Testing / Formal Methods
Sommerville Chapter 23 slides: PDF.
Additional slides on quality assurance: PDF.
Lecture 11 slides:
- Week 10 (15th March): Guest Lecture / Open Source Software
Wednesday 17th March: guest lecture by Iain McGinniss.
- Week 11 (22nd March): Service-Oriented Systems