Course Title: Systems Architecture and Design
Part A: Course Overview
Course Title: Systems Architecture and Design
Credit Points: 12.00
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
You should have satisfactorily completed or received credit for the following course/s before you commence this course:
If you have completed prior studies at RMIT or another institution that developed the skills and knowledge covered in the above course/s you may be eligible to apply for credit transfer.
Alternatively, if you have prior relevant work experience that developed the skills and knowledge covered in the above course/s you may be eligible for recognition of prior learning.
Please follow the link for further information on how to apply for credit for prior study or experience.
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
Program Learning Outcomes
This course contributes to the program learning outcomes for the following program(s):
BP096P25 - Bachelor of Software Engineering (Professional)
PLO 1 Knowledge - Apply a broad and coherent set of knowledge and skills for developing user-centric software engineering solutions for contemporary societal challenges.
PLO 2 Problem Solving - Apply systematic problem solving and decision-making methodologies to identify, design and implement software engineering solutions to real world problems, demonstrating the ability to work independently to self-manage processes and projects.
PLO 3 Cognitive and Technical Skill - Critically analyse and evaluate user requirements and design systems employing software development tools, techniques and emerging technologies.
PLO 4 Communication - Communicate effectively with diverse audiences, employing a range of communication methods in interactions to both computing and non-computing personnel.
PLO 5 Collaboration and Teamwork - Demonstrate effective teamwork and collaboration by using tools and practices to manage and meet project deliverables.
PLO 6 Responsibility and Accountability - Demonstrate integrity, ethical conduct, sustainable and culturally inclusive professional standards, including First Nations knowledges and input in designing and implementing software engineering solutions.
BH120BIT - Bachelor of Engineering (Software Engineering) (Honours)
BH120CY - Bachelor of Engineering (Software Engineering) (Honours)
PLO 1 Demonstrate a coherent and advanced understanding and knowledge of fundamental engineering and scientific theories, principles and concepts and apply advanced technical knowledge in specialist domain of engineering.
PLO 2 Demonstrate a coherent and advanced body of knowledge within the engineering discipline.
PLO 3 Demonstrate advanced knowledge of the scope, principles, norms, accountabilities, bounds, design practice and research trends of contemporary engineering practice including sustainable practice.
PLO 4 Apply knowledge of established engineering methods to the solution of complex problems in the engineering discipline.
PLO 5 Utilise mathematics, software, tools and techniques, referencing appropriate engineering standards and codes of practice, in the design of complex engineering systems.
PLO 6 Use a systems engineering approach to synthesize and apply procedures for design, prototyping and testing to manage complex engineering projects.
PLO 7 Apply research principles and methods, taking into account risk and environmental and global context, to plan and execute complex projects.
PLO 8 Communicate engineering designs and solutions respectfully and effectively, employing a range of advanced communication methods, in an individual or team environment, to diverse audiences.
PLO 9 Demonstrate the capacity for personal accountability, professional and ethical conduct, intellectual independence, cultural sensitivity, autonomy, adaptability, and reflection on own learning and career when undertaking engineering projects.
PLO 10 Critically analyse, evaluate, and transform information, while exercising professional judgement, in an engineering context.
PLO 11 Collaborate and contribute as an effective team member or leader in diverse, multi-disciplinary teams, with commitment to First Nations peoples and/or globally inclusive perspectives and participation in an engineering context.
For more information on the program learning outcomes for your program, please see the program guide.
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.