| Week | Date | Lecture Notes | Description | Readings |
|---|---|---|---|---|
| 1 | 13/01/2009 | SAPM Introduction [Slides] |
SAPM Introduction This lecture provides a general introduction to the SAPM (Software Architecture, Process, and Management) course. |
|
| 16/01/2009 | Project Management [Slides] |
Project Management This lecture introduces "traditional" project management techniques, such as work breakdown structures, network diagrams, critical paths, Gantt charts, etc., and evaluating whether and how they can be used in software projects. Mainly sets the stage for later discussions. |
Required Readings
Suggested Readings
|
|
| 2 | 20/01/2009 | Tools for SW Projects [Slides] |
Tools for SW Projects This lecture discusses automated tools helpful for running large software projects. |
Required Readings
|
| 23/01/2009 | Software Measurement [Slides] |
Software Measurement This leacture briefly discusses how, what, and why to measure quantities needed for project planning and execution. The main message is that you need data to run your project properly, but you can't usually measure what you really want to know, and measuring something you can trust takes a lot of time and effort, so you need to focus on measuring the few key things on which the success of your project most depends. |
Required Readings
Suggested Readings
|
|
| 3 | 27/01/2009 | Estimating Size and Effort [Slides] |
Estimating Size and Effort This lecture discusses techniques for estimating how much effort will be required for a project. The basic problem: estimates are needed at the start of the project, in order to make decisions, yet data is available at the end of the project, when it doesn't matter any more. Yet one must do something! |
Required Readings
|
| 30/01/2009 | Assignment 1 Discussion Team discussions; Question/Answer session. |
|||
| 4 | 3/2/2009 | Design Patterns [Slides] |
Design Patterns This lecture briefly introduces design patterns focusing on one example pattern (Composite). For more detail, see the required reading mentioned in the slides. The main focus is on how design patterns can help large teams communicate more efficiently and effectively. |
Required Readings
Suggested Readings
|
| 6/2/2009 | Architectural Patterns [Slides] |
Architectural Patterns This lecture introduces architectural patterns. It focuses on how they can allow large systems to be broken up into chunks that developers or small teams can understand and implement somewhat independently. |
Required Readings
Suggested Readings |
|
| 5 | 10/2/2009 | Scripted Components [Slides] |
Scripted Components This lecture discusses the Scripted Components architectural pattern in detail, covering some of the motivitating factors behind it (particularly reuse), its benefits and its risks. A wide range of instances are highlighted, and a couple of “war stories” recounted. | Required Readings
|
| 13/2/2009 | Development Methodologies [Slides] |
Development Methodologies This lecture introduces material on the Waterfall Model, focusing on why it is an inappropriate metaphor for software development, and reviewing material on the Unified Process, focusing on how UP uses modeling to discover problems as early as possible, before software is coded and set in stone. It also discusses XP and other agile methodologies, focusing on how they strive to keep software from ever being set in stone, remaining flexible and responsive to changing requirements, rather than trying to do everything up front. |
Required Readings
Suggested Readings |
|
| 6 | 17/2/2009 | No lecture | ||
| 20/2/2009 | Assignment 1 Deadline | |||
| 7 | 24/2/2009 | Open Source Development [Slides] |
Open Source Development This lecture discussed some of the differences between traditional manufacturing processes and software development, and how these create an opening for the notion of Open Source software. Differences to Free Software, and the implications of licence variation, both as licensor and licensee, were raised. Finally a brief overview was presented of how a few different OSS projects organise themselves. |
Required Readings
Suggested Readings
|
| 27/2/2009 | Software Failures [Slides] |
Software Failures This lecture ran through a litany of software project failures, trying to tease out the sources of failure. Ultimately the same reasons crop up again and again, but there are many of them, ranging from social/organisational through unmanaged technical risk, poor design and implementation to bad delivery, rollout and support. Awareness of some these possibilities might, one hopes, mitigate their likelihood in future. |
Required Readings
Suggested Readings
|
|
| 8 | 3/3/2009 | Q&A on Assignment 2 | ||
| 6/3/2009 | Risk Management [Slides] |
Risk Management This lecture discusses techniques for anticipating and planning around major risks to the success of your project. |
Required Readings
Suggested Readings |
|
| 9 | 10/3/2009 | Software Evolution [Slides] |
Software Evolution This lecture discusses methods for dealing with changes to software systems over time, including reverse engineering, refactoring an existing design into a more suitable one, and how to add features to or interface with legacy systems. |
Suggested Readings
|
| 13/3/2009 | People and Groups [Slides] |
People and Groups This lecture discusses human factors in software development, at the level of individuals, small teams, and large organizations (including the Capability Maturity Management model, ISO-9000, and root cause analysis). |
||
| 10 | 17/3/2009 | Wrap up [Slides] |
Wrap up Reviewed the course, and gave some advice for the exams — basically, review the course slides, the required reading, and your coursework (don't assume that because you did something for the coursework it won't turn up in the exam). |
|
| 20/3/2009 | Assignment 2 and MSc Report Deadline Assignment 1 Review Gave a short review of assignment 1 work during the lecture slot today. |
|||
Version 1.79, 2009/03/20 19:26:20
|
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. Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh |