The University of Western Australia
School of Computer Science and Software Engineering

School of Computer Science and Software Engineering

CITS2220 Software Engineering Design Home

Software Engineering Quotes

"Let us change our traditional attitude to the construction of programs. Instead of imagining that our main task is to instruct a computer what to to, let us concentrate rather on explaining to human beings what we want a computer to do.", Donald Knuth

"Documentation is the castor oil of programming. Managers think it is good for programmers and programmers hate it!", Gerald Weinberg

"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.", Tony Hoare


This unit covers basic software process models and process management including (1) requirements analysis-actors, scenarios and use cases; object identification from use cases; modelling courses of objects with UML class diagrams; modelling object interactions with UML sequence diagrams; modelling the behaviour of individual objects with UML statecharts; (2) software design-using formal rationale to document design decisions; advanced design constraints including reliability, availability, maintainability; (3) software architectures-monolithic, distributed, client/server, event driven; (4) object-oriented concepts and design patterns-observer; abstract factory, adapter; bridge and facade; and (5) testing software-standard test processes (unit tests, integration, system, performance, acceptance, installation); code inspections; equivalence class tests; path testing; conformance testing; and use case tests.

Unit coordinator: Dr Tim French and Dr Du Huynh
Consultation: Thursday 10-11 in CSSE Rm 2.14.
Recommended Textbooks:
  1. Object Oriented Software Engineering, by Brugge and Dutoit.
  2. Software Engineering, by Somerville.
  3. Software Engineering: A Practitioner's Approach, by Pressman.


Students must attend both lectures, the workshop and one practical every even week.
Type Time Day Location
Lecture 11-12Tuesday GPB2:LT
Lecture 9-10 Thursday GPB2:LT
Practical 1 9-11 Wednesday CSSE Lab 2.01
Practical 2 3-5 Wednesday CSSE Lab 2.01


The assessment for CITS2200 consists of two assignments, a mid-semester test and a 2hr examination.
Assessment % of final mark Assessment Dates
Mid-semester Test 10 Thursday 9am, April 14
Project 1 20 Available: March 22
Due: 5pm, April 21
Register your group
Project 2 20 Available: May 3
Due: 5pm, May 31
Final exam 50 End of Semester Examination Period
The assignments should be submitted using cssubmit, as well as submitting a hardcopy of the report to the CSSE office. As the semester proceeds, your ongoing marks will be updated regularly and stored in a database that you can check by using the csmarks program.

This Page