The University of Newcastle, Australia

Course handbook


This course introduces students to software development lifecycles and development processes. Students are provided with theoretical knowledge and practical skills in software system analysis and design.

Availability2020 Course Timetables


  • Semester 1 - 2020

Learning outcomes

On successful completion of the course students will be able to:

1. Understand the software development life-cycle, including the role of each major phase, artifacts produced in each major phase, and also the ways in which each major phase interacts with the others

2. Understand analysis and development techniques for software systems

3. Demonstrate a good understanding and adequate experience with a modelling language such as UML

4. Understand the principles of software design and common architecture styles and design patterns

5. Explore advanced topics in systems analysis and design


  1. Overview of system and software development life-cycles
  2. Software development processes including waterfall, agile and hybrid approaches
  3. System modelling and modelling languages (such as UML)
  4. System design, including architecture design
  5. Architecture styles and design patterns
  6. Feasibility analysis   

Assumed knowledge

SENG1110 or SENG6110 Object Oriented Programming

Assessment items

Written Assignment: UML 2 Design

Formal Examination: Formal Exam *

* This assessment has a compulsory requirement.

Compulsory Requirements

In order to pass this course, each student must complete ALL of the following compulsory requirements:

Course Assessment Requirements:

  • Formal Examination: Minimum Grade / Mark Requirement - Students must obtain a specified minimum grade / mark in this assessment item to pass the course. - Students must obtain 40% in the final exam to pass the course.

Contact hours


Computer Lab

Face to Face On Campus 2 hour(s) per Week for Full Term starting in week 3


Face to Face On Campus 2 hour(s) per Week for Full Term