CITS4401 Software Requirements and Design

6 points
(see Timetable)
Semester 1UWA (Perth)Face to face
Requirements and design are important phases of software development because errors or misunderstandings of software requirements or designs are expensive to correct during later stages and may lead to project failure. This unit introduces the theory and practice of software requirements and design. It aims to equip graduates of the Master of Professional Engineering in the Software Engineering specialisation with the ability to select, evaluate and apply appropriate requirements and design techniques for software projects. The content comprises (1) requirements engineering—elicitation, analysis, specification, documentation and evolution; (2) software design—using formal rationale to document design decisions, design constraints including reliability, availability and maintainability; (3) software architectures—monolithic, distributed, client/server and event driven; and (4) design patterns—observer, abstract factory, adapter, bridge and facade.
Students are able to (1) write a research report on requirements and design techniques; (2) make an oral presentation on technical topics; (3) apply critical thinking in the selection and application of requirements and design techniques; (4) demonstrate interpersonal skills in group exercises; (5) discuss the methods, practice and discourse conventions of software engineering research; (6) describe the requirements engineering process— elicitation, analysis, documentation and evolution; (7) explain several different requirements engineering methods and select methods for a given project; (8) evaluate and document software design rationale; (9) explain the software design constraints of reliability, availability and maintainability and how these impact design choices; (10) describe and apply common software architectures (monolithic, distributed, client/server, event driven); and (11) describe and apply common design patterns (observer, abstract factory, adapter, bridge, facade).
Indicative assessments in this unit are as follows: (1) research essay; (2) practical design assignment and reflective report; and (3) final examination. Further information is available in the unit outline.

Supplementary assessment is only available in this unit in the case of a student who has obtained a mark of 45 to 49 and is currently enrolled in this unit, and it is the only remaining unit that the student must pass in order to complete their course.
Unit Coordinator(s)
Dr Ghulam Mubashar Hassan
Unit rules
enrolment in the Master of Information Technology
the Master of Professional Engineering (Software Engineering)
CITS2220 Software Engineering: Design
CITS3220 Software Requirements and Project Management
Unit Outline
Semester 1_2019 [SEM-1_2019]
  • The availability of units in Semester 1, 2, etc. was correct at the time of publication but may be subject to change.
  • All students are responsible for identifying when they need assistance to improve their academic learning, research, English language and numeracy skills; seeking out the services and resources available to help them; and applying what they learn. Students are encouraged to register for free online support through GETSmart; to help themselves to the extensive range of resources on UWA's STUDYSmarter website; and to participate in WRITESmart and (ma+hs)Smart drop-ins and workshops.
  • Books and other material wherever listed may be subject to change. Book lists relating to 'Preliminary reading', 'Recommended reading' and 'Textbooks' are, in most cases, available at the University Co-operative Bookshop (from early January) and appropriate administrative offices for students to consult. Where texts are listed in the unit description above, an asterisk (*) indicates that the book is available in paperback.