You are viewing an older version of this curriculum item. Select the current year or your commencing year of study from the drop down above. For Pre-2022 Course Rules, use the link located on the right-hand side of the screen.

Overview

This topic introduces students to the key concepts and best practices of requirements analysis, architectural design, and object–oriented interaction design of software systems in the context of software life cycle and development methodologies. These include requirements elicitation techniques, functional and non-functional requirements, use cases and user stories, use case model, … For more content click the Read More button below.

Topic availabilities

To view topic availabilities, select an availability from the drop down, towards the top right of the screen.

Tuition pattern

To view tuition patterns, select an availability from the drop down, towards the top right of the screen.

Aims

This topic introduces the principles and processes for software requirements analysis and solution design. The aims are to extend students' understanding of the nature and the role of requirements, architecture, component, interface, and design pattern in the context of software engineering, as well as the need to take multiple perspectives and use modelling tools, such as UML (the Unified Modelling Language), to capture requirements and communicate design solutions. Students will develop hands-on skills and further their ability to integrate relevant knowledge through a substantial group project.

Learning outcomes

On completion of this topic you will be expected to be able to:
1.
Know how to carry out the following key software engineering activities: requirements gathering, analysis and specification; architectural design; object-oriented interaction design
2.
Research, evaluate and apply appropriate knowledge, practices, and tools to carry out software engineering activities
3.
Develop a sound understanding of the nature of teamwork particularly in software engineering, and work well in a team based project environment
4.
Have a clear understanding of the importance of ethical and professional behaviour in software engineering
5.
Develop an ability to research, evaluate and reflect on process/tool options

Assessments

To view assessment information, select an availability from the drop down, towards the top right of the screen.

Requisites information

Anti-requisites:

Assumed knowledge

Fundamental knowledge of information systems and programming.