Course Title: Software Engineering: Architecture and Design

Part A: Course Overview

Course Title: Software Engineering: Architecture and Design

Credit Points: 12.00

Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

EEET2582

RMIT University Vietnam

Undergraduate

860H School of Science, Engineering and Technology

Face-to-Face

Viet3 2018,
Viet3 2019,
Viet3 2020,
Viet3 2022,
Viet3 2023,
Viet3 2024,
Viet3 2025

Course Coordinator: Dr Tri Huynh

Course Coordinator Phone: +84 28 3776 1300

Course Coordinator Email: tri.huynh5@rmit.edu.vn

Course Coordinator Location: SGS 2.4.47

Course Coordinator Availability: TBA


Pre-requisite Courses and Assumed Knowledge and Capabilities

Before commencing this course, you must complete EEET2580 Enterprise Application Development.


Course Description

This course introduces the principles and concepts involved in the analysis and design of large software systems. Major topics include but are not limited to:

  • Architectural styles: Service-oriented architecture (SoA), multi-tier architecture, distributed systems, micro-service
  • Design patterns: creational patterns, structural patterns, behavioral patterns
  • Software design principles: OOP, TDD, SOLID

This course provides students a strong understanding and capability in performing software design responsibilities in their future work.


Objectives/Learning Outcomes/Capability Development

This course contributes to the following program learning outcomes:

1.3. In-depth understanding of specialist bodies of knowledge within the engineering discipline.

2.1. Application of established engineering methods to complex engineering problem solving.

2.2. Fluent application of engineering techniques, tools and resources.

2.3. Application of systematic engineering synthesis and design processes.

3.2. Effective oral and written communication in professional and lay domains.

3.3. Creative, innovative and pro-active demeanour.


On completion of this course, students should be able to:

  1. Describe the essential elements of software architecture and software design
    2. Critique existing architectures and designs
    3. Discuss the issues related to architecture and design of large-scale software systems
    4. Describe and compare different software architecture styles and design patterns
    5. Demonstrate system design capability using domain models, C4 model, UML diagrams, and other relevant elements
    6. Work efficiently in team to develop, analyse, and critique an architecture and design of a software system


Overview of Learning Activities

Learning activities will take the form of:

  • Lectures
  • Tutorials/Labs
  • Assignments


Overview of Learning Resources

Learning resources will consist of recommended references and class notes which may be accessed via RMIT LMS.

The set of references is deliberately broad, including books, journal publications, government reports, industry standards and handbooks, and web-based resources.

Students can use laboratory equipment and computer software within the School for the lab and assignment work.


Overview of Assessment

Assessment Task 1: Lab Test 1 Weighting 20%
This individual assessment supports CLO 1, 2, 3, 4, 5

Assessment Task 2: Lab Test 2 Weighting 30%
This individual assessment supports CLO 1, 2, 3, 4, 5

Assessment Task 3: Project Milestone 1 Weighting 20%
This group assessment supports CLO 1, 2, 3, 4, 5, 6 Assessment Task 4: Project Milestone 2 Weighting 20%
This group assessment supports CLO 1, 2, 3, 4, 5, 6 Assessment Task 5: Project Presentation Weighting 10%
This group assessment supports CLO 1, 2, 3, 4, 5, 6