Course Title: Systems Architecture and Design

Part A: Course Overview

Course Title: Systems Architecture and Design

Credit Points: 12.00

Important Information:

Please note that this course may have compulsory in-person attendance requirements for some teaching activities. 

Please check your Canvas course shell closer to when the course starts to see if this course requires mandatory in-person attendance. The delivery method of the course might have to change quickly in response to changes in the local state/national directive regarding in-person course attendance. 


Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

ISYS3459

City Campus

Undergraduate

175H Computing Technologies

Face-to-Face

Sem 2 2024

Course Coordinator: Mojtaba Shahin

Course Coordinator Phone: .

Course Coordinator Email: Mojtaba.shahin@rmit.edu.au

Course Coordinator Availability: By Appointment


Pre-requisite Courses and Assumed Knowledge and Capabilities

Recommended Prior Study

It is recommended to have satisfactorily completed the following course/s before you commence this course:

  • ISYS1118 Software Engineering Fundamentals (Course ID 004309)


Course Description

Building large-scale software systems requires important strategic and technical decisions from the outset. The primary aims of this course are to provide a sound understanding of architecture concepts, functions, tasks and techniques, and how the systems constituent parts interact. You will be exposed to the practical aspects of architecture through the analysis of case studies and design exercises. In particular, the course introduces you to architecture principles and tactics to support development of systems that exhibit system qualities required for successful software systems, such as performance, availability, security, and maintainability. Introduced throughout are strategies for technical analysis and evaluation of candidate architectures and decisions, communicating with stakeholders, and documenting an architecture.


Objectives/Learning Outcomes/Capability Development

The course will contribute to the following program learning outcomes for:

BP096 Bachelor of Software Engineering.

PLO1: Knowledge - Apply a broad and coherent set of knowledge and skills for developing user-centric computing solutions for contemporary societal challenges.

PLO2: Problem Solving - Apply systematic problem solving and decision-making methodologies to identify, design and implement computing solutions to real world problems, demonstrating the ability to work independently to self-manage processes and projects.

PLO3: Cognitive and Technical Skill - Critically analyse and evaluate user requirements and design systems employing software development tools, techniques, and emerging technologies.

PLO4: Communication - Communicate effectively with diverse audiences, employing a range of communication methods in interactions to both computing and non-computing personnel.

PLO5: Collaboration and Teamwork - Demonstrate effective teamwork and collaboration by using tools and practices to manage and meet project deliverables.

PLO6: Responsibility and Accountability - Demonstrate integrity, ethical conduct, sustainable and culturally inclusive professional standards, including First Nations knowledges and input in designing and implementing computing solutions.


Course Learning Outcomes

Upon successful completion of this course you should be able to:

  • CLO1 Explain and apply object-oriented design principles and design patterns
  • CLO2 Examine standard architecture tactics and patterns and how to apply them appropriately to common challenges;
  • CLO3 Analyse problems, consider various candidate solutions and analyse suitable technical architectures that deliver appropriate system qualities, within specified constraints of cost and feasibility;
  • CLO4 Investigate state-of-art best practice technical approaches to resolve architectural challenges such as improving performance, security and availability;
  • CLO5 Communicate and describe a systems architecture, via different documentation approaches to different stakeholders (e.g., client, engineers) and use industry-standard metrics to evaluate the effectiveness of the proposed solution;
  • CLO6  Collaborate effectively with team members from diverse backgrounds and perspectives to discuss, document evaluate and propose candidate architecture solutions.
  • CLO7 discuss and research the role of software architectures in current trends and technologies such as DevOps, AI, Blockchains, and IoT.


Overview of Learning Activities

The main concepts will be introduced via pre-recorded lectures, covering issues related to Systems Architecture design, documentation and validation, based on the Stakeholders, Viewpoints and Perspectives approach to Architecture development.

Tutorials/labs will use discussion, case studies, and exercises to reinforce and illustrate the concepts. Some exercises will be individual and assessed, to provide feedback to students on their understanding.

Learner-directed hours include time spent reading and studying lecture notes and prescribed readings in order to better understand the concepts; working through examples and case studies that illustrate those concepts; and performing exercises and assignments designed by the teachers to reinforce concepts and develop practical skills across a variety of problem types. Major Assignments will provide the opportunity for you to develop practical skills working at tasks performed by Architects, including working in teams to jointly solve problems and develop effective communication skills and strategies. Individual Exercises are designed to provide specific feedback on your progress in understanding core concepts of the course.


Overview of Learning Resources

You are encouraged to bring your laptops and use the freely available software to conduct the laboratories.

References to the prescribed textbook and other relevant materials will be provided, and students will be expected to refer to these. Other references, articles, and pointers to materials will be provided through Canvas and the RMIT Student website. Any software required for the performance of exercises and assignments will be installed for access on RMIT servers and/or available for installation on personal computers/laptops.

There are services available to support your learning through the University Library. The Library provides guides on academic referencing and subject specialist help as well as a range of study support services. For further information, please visit the Library page on the RMIT University website and the RMIT Student website.


Overview of Assessment

This course has no hurdle requirements.

Assessment Task 1: Quizzes
Weighting: 15%
This assessment task supports CLO1, CLO2, CLO3, CLO4 and CLO5.

Assessment Task 2: Software Architecture Proposal (Team-based)
Weighting: 15%
This assessment task supports CLO2, CLO3 and CLO6.

Assessment Task 3: Architectural review report on an existing software system (individual) 
Weighting: 30%
This assessment task supports CLO3, CLO4, CLO6 and CLO7.

Assessment Task 4: Software Architecture Project  (Team-based) 
Weighting: 40%
This assessment task supports CLO1, CLO2, CLO3, CLO4, CLO5 and CLO6. 

If you have a long-term medical condition and/or disability it may be possible to negotiate to vary aspects of the learning or assessment methods. You can contact the program coordinator or Equitable Learning Services if you would like to find out more.