Course Title: Network Software Engineering

Part A: Course Overview

Course Title: Network Software Engineering

Credit Points: 12.00


Course Code




Learning Mode

Teaching Period(s)


City Campus


125H Electrical & Computer Engineering


Sem 2 2006,
Sem 2 2008,
Sem 2 2009


City Campus


125H Electrical & Computer Engineering


Sem 2 2008,
Sem 2 2009

Course Coordinator: Dr. Pj Radcliffe

Course Coordinator Phone: Please email.

Course Coordinator Email:

Course Coordinator Location: 87.2.10

Pre-requisite Courses and Assumed Knowledge and Capabilities

Students are expected to have a pass in the second year Engineering Computing course and should have knowledge of communication and network engineering principles, hardware interface principles, mathematics fundamentals,  and engineering programming concepts. 
Knowledge of the  C++ language is required.

Course Description

The course provides students with an introduction to systems engineering required to develop networking systems, and embedded systems.  It builds on the base of Engineering Software 2 and  should be of particular interest to students in the networking and computer systems streams.

Key topics in the subject will include-
• Review of  engineering lifecycles (including management issues) and how they aid a project.
• Review of extracting specifications from clients including scenario and use-case analysis, interaction diagrams, decision tables, OO modelling, prototyping, and specification.
• State oriented design techniques that give multi-tasking where there are no operating systems.
• Programming of network functionality.
• Developing test plans and tests.
• Maintenance issues and solutions.

The assignment work is based around several networking and hardware problems.

Objectives/Learning Outcomes/Capability Development

Dimensions of Capability - Skills/Knowledge Capabilities
Technical competence : Ability to apply knowledge of technical issues taught in this course.

Problem solving and decision-making : Ability to formulate and solve problems creatively, especially in the design and implementation of software for network services.

Systematic design approach : Ability to formulate and implement software solutions using industry design techniques.

Communication : Ability to communicate effectively in writing (both verbally and graphically).
The ability to present your solution to an audience in a formal presentation.

Lifelong learning : Ability to undertake self-directed study.

 After having taken this course a student should feel competent to-

  • Interview and communicate with clients in order to extract requirements and keep them "in the loop" as a project proceeds.
  • Use formal and heuristic techniques to defined a problem and refine it in consultation with the clients.
  • Be able to design a system which includes a significant software component.
  • Be able to manage a project with respect to the full lifecycle.
  • Be able to program networking applications.
  • Be able to program a problem as a state machine.
  • Be able to develop a test plan.
  • Be able to define and apply tests to ensure a product conforms to an agreed standard.

Overview of Learning Activities

Interactive lectures discuss and explain important engineering software systems theory and practice. They also enable us to talk about the assignments, its problems, and how to solve them.

The assignments pose networking problems and allow students to practice at home.  Students must be able to reproduce these programs under test conditions.

Tutorials will help students gain skills and knowledge needed for the assignments and the exam.

The final exam ensures students have done the assignments and understand other key issues presented in the lectures. The exam is “doing” exam not “memory” exam.

Overview of Learning Resources

Extensive subject notes, tutorial, and lab guide is available as one book from the book shop.
Please see RMIT online learning for extra material and guidelines.
Please try to get these resources before the first lecture.

Overview of Assessment

Assessment is split between a final exam and weekly project work.  Most of the project work is tested by lab exams.