CIS224
Software Projects: Software Engineering and Research Methods
Semester 1, 2007-8

Lectured by David Meredith


·        Set books

·        Some useful links

·        Lecture notes


Set books

The course is based on the following three texts:

·         Blackwell, T. (2006). CIS226: Software Engineering, Algorithm Design and Analysis: Subject Guide, volume 1. University of London Press, London. (Available here.)

·         Fowler, M. (2004). UML distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley/Pearson Education, Boston, MA., 3rd edition.

·         Stevens, P. and Pooley, R. (2006). Using UML: Software Engineering with Objects and Components. Addison-Wesley/Pearson Education, Harlow, England, 2nd edition.

Back to top


Some useful links

·         Web page for Stevens and Pooley (2006) at Pearson Education

·         Web page for Stevens and Pooley (2006) at Edinburgh University

·         Martin Fowler’s web site

·         Web page for Fowler (2004) with supplementary articles

·         OMG UML Resource Page (includes links to specifications)

·         Ariane 5:

·         Douglas Arnold’s page on numerical computing disasters

·         Design by Contract – the Lessons of Ariane (Eiffel Software)

·         Arianespace’s Launcher Family page

·         Official report on failure of Ariane 5 Flight 501

·         CNN article on Ariane 5 explosion with video

·         Taurus

·         Malcolm Jenner’s page on Taurus

·         Denver Airport Baggage Handling System

·         John Donaldson’s case narrative

·         Tools

·         Pacestar UML Diagrammer

·         Allen Holub's UML Quick Reference

·         John Deacon's Developer's Guide to UML 2

Back to top


Lecture notes

·         Lecture 1a: Software engineering with components

·         Lecture 1b: Object concepts

·         Lecture 2a: Development process

·         Lecture 2b: Introducing the Unified Modeling Language (UML)

·         Lecture 3: Use case models

·         Lecture 4: Class models

·         Lecture 5a: CRC Cards and Sequence Diagrams

·         Lecture 6: State Machine and Activity Diagrams

·         Lecture 7: Product Quality: Verification, Validation and Testing

·         Lecture 8: Process Quality: Management, Teams and QA

·         Lecture 9: Object, Package, Component and Deployment Diagrams

·         Lecture 10: Reuse, Components, Patterns and Collaborations

·         Lecture 11: Brief introduction to the UML Specification

Back to top


© 2007 by David Meredith. All rights reserved.