CSC 221 - Introduction to Software Engineering

Alan Dix -
John Mariani -

course text

Ian Sommerville
Software Engineering, 6th Edition
Addison-Wesley, 2001
ISBN 0-201-39815-X


Alan Dix

introduction and rationale (ch1-ish)
software engineering processes (ch 3),
system engineering (ch 2),
professional, ethical and legal issues (ch 1)
John Mariani see intranet pages ...


  introduction and rationale - lecture 1, Mon 6th Oct 2003
lecture slides (PDF, 128K)
Ariane 5 case study slides (PDF, 38K) (from Sommerville)
  software processes - lecture 2, Tues 7th Oct 2003
lecture slides (PDF, 660K) (extract from Sommerville, ch3 slides)
eXtreme programming web site
  systems engineering - lecture 3, Thurs 9th Oct 2003
lecture slides (PDF, 554K) (extract from Sommerville, ch2 slides)
  debugging - lecture 4 and 5, Mon 13th and Tues 14th Oct 2003, lecture
lecture slides - part 1 (PDF, 48K)
lecture slides - part 2 (PDF, 88K)
lecture slides - part 3 (PDF, 84K)
HTML example (PDF, 98K) - see also source files below
lecture slides - part 4 (to come)
  professional ethics - lecture 13, Mon 3rd Nov 2003
lecture slides (PDF, 205K)
BCS codes of conduct and practice
ACM code of ethics and professional conduct
IEEE code of ethics


plus ... extra for the interested ...

  HTML debug example
  1. The intended page: target.html  
  2. The actual page: error1.html  
  3. Delete the pre-amble and first row: error2.html  
  4. Delete the entire C-D row - it works!: ok1.html  
  5. Back up to error2.html  
  6. Delete the last row and trailing paragraph: error3.html  
  7. Delete E-F row but re-insert trailing paragraph so we can see whether error occurs: error4.html  
  8. Simplify inner table to be single cell: error5.html  
  9. Remove inner table entirely - it works!: ok2.html  
  10. Back up to error5.html  
  11. Examine inner table - see the typo </tabel> instead of </table> fix this - it works!: ok3.html  
  12. Finally fix this in error1.html and, success!, we get the intended page: target.html  
  documentation vs. process
Take a look at aQtive documentation in Software Process and Quality (PDF, 207K)
I prepared this when working at aQtive taking the "documents not process" approach ... but ...
... it didn't work! ... no one used it :-(
This was for two reasons (I think) ...
     (1) no tool support - needed a database to keep track of what documents exist
     (2) no suggested process - people like guidance :-)
Software processes do various things 'for free' make it easier to keep track of what has been done, tell you what to do next ... as well as the obvious which is ensure software quality. Any alternative has to fulfil these free extras as well as the core quality role.
  scenario documentation
Example of scenario documentation from aQtive as HTML or PDF (787K)
This did work! the basic scenarios were thjose used for PR material for the press and this document became the key technical resource.
  how to break software
I only just came across this book by James Whitaker - it is about lessons from real testing. Like the debugging sessions these are not replacements for more systematic testing, but ways to catch the things that formal testing can miss.
The book's website,, has a few tasters.


Alan Dix, updated 4/11/2003