FIT5138 - Advanced software engineering - 2019

6 points, SCA Band 2, 0.125 EFTSL

Postgraduate - Unit

Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.

Faculty

Information Technology

Chief examiner(s)

Dr Yuan-Fang Li

Unit guides

Offered

Caulfield

  • First semester 2019 (On-campus)

Prerequisites

FIT5136

For students enrolled in 2770 or E3001, E3002, E3005, E3010, E3011, E3007 completing the Software Engineering specialisation: FIT2004 and MAT1830

Synopsis

This unit covers the core software engineering disciplines concerned with the design and development of complex software-based systems using advanced software engineering methods and technologies. This involves specification of software systems using advanced design languages and formal logics, as well as verifying the correctness of such specifications using formal engineering analysis methods and various mechanical/automated tools. Topics include design/modeling languages, software architecture design patterns, complex system design methods, mathematical logic, formal specification languages, theorem proving, and model checking. It shows how to analyse model complex software systems, how to express properties that the system should adhere to and how to use mechanical/automated tools to verify such properties.

Outcomes

On successful completion of this unit students should be able to:

  1. define requirements for complex interactive software systems;
  2. use modern high-level languages and technologies to document the architecture of complex reactive software systems;
  3. design new a high-level domain-specific language for a specific domain;
  4. articulate the central technical challenges of distributed reactive software systems and corresponding solution design patterns;
  5. develop suitable architectural-level solutions for complex interactive software systems;
  6. articulate the role of formal logic and verification methods in the system development life cycle;
  7. categorise major techniques and approaches to software verification: theorem proving, model checking and model-based testing;
  8. develop software specifications and express desirable properties using a formal language/logic such as the Event-B notation and temporal logics.

Assessment

Examination (2 hours): 50%, In-semester assessment: 50%

Workload requirements

Minimum total expected workload equals 12 hours per week comprising:

  1. Contact hours for on-campus students:
    • Two hours of lectures
    • One 2-hour tutorial
  2. Additional requirements (all students):
    • A minimum of 8 hours independent study per week for completing tutorial and project work, private study and revision.

See also Unit timetable information