Course Title: Software Systems Architecture
Part A: Course Overview
Course Title: Software Systems Architecture
Credit Points: 12.00
Course Coordinator: Dr. Andy Song
Course Coordinator Phone: +61 3 9925 9761
Course Coordinator Email: firstname.lastname@example.org
Pre-requisite Courses and Assumed Knowledge and Capabilities
ISYS2377 Enterprise Architecture is a pre/co-requisite.
Building large-scale software systems requires important strategic and technical decisions from the outset. This course will introduce you to architecture concepts, functions, tasks, techniques and how constituent parts of systems interact. You will be exposed to the practical aspects of architecture through the analysis of case studies and design exercises. Architecture principles and strategies to support development of successful systems, which take into account performance, availability, security and maintainability are all considered. Technical analysis and evaluation of candidate architectures, decision-making, communicating with stakeholders and architecture documentation are also addressed.
Objectives/Learning Outcomes/Capability Development
This course contributes to the following Program Learning Outcomes:
You will gain skills as you apply knowledge with creativity and initiative to new situations. In doing so, you will:
- Recognise and use principles and methods applicable to enterprise architecture.
You will learn to accurately and objectively examine, and critically investigate enterprise architecture concepts, evidence, theories or situations, in particular to:
- Analyse and model complex requirements and constraints for the purpose of designing, implementing and integrating software infrastructure to deliver business-focussed IT solutions across an enterprise;
- Critically evaluate and compare alternative software systems architectures on the basis of organisational strategy and enterprise requirements.
Your capability to analyse complex problems and synthesise suitable solutions will be extended as you learn to:
- Design architectural solutions that address challenges in modern large-scale software systems;
- Plan and develop solutions to deliver IT infrastructure projects in a timely and accurately estimated manner to meet organisational cost and budget constraints.
You will learn to lead, influence and communicate effectively with a variety of audiences, in particular to:
- Interpret identified enterprise business needs, communicate architectural decisions and strategy to meet those needs, articulate risks and benefits of those decisions to the enterprise, and choose appropriate methods of communication;
- Influence and convince internal and external stakeholders of decisions and strategies; stakeholders including both IT and business personnel, clients and enterprise-level decision makers.
You will learn to work as an effective and productive team member in a range of professional and social situations, in particular to:
- Work effectively in different roles, to form, manage, and successfully produce outcomes from collaborative teams, whose members may have diverse cultural backgrounds and life circumstances, and differing levels of technical or business expertise.
Research and scholarship
You will have technical and communication skills to design, evaluate, implement, analyse and theorise about developments that contribute to professional practice or scholarship, specifically you will have cognitive skills:
- to demonstrate mastery of theoretical knowledge and to reflect critically on theory and professional practice or scholarship.
On completion of this course you should be able to:
- identify standard architecture tactics and patterns and how to apply them appropriately to common challenges;
- analyse problems, consider various candidate solutions and synthesise suitable technical architectures that deliver appropriate system qualities within specified constraints of cost and feasibility;
- investigate state-of-the-art, best practice technical approaches to resolve architectural challenges such as improving performance, security and availability;
- effectively communicate a systems architecture, via a written report and oral presentation to different stakeholders (e.g., client, engineers) and convince them of the effectiveness of the proposed solution;
- collaborate with team members to propose, discuss, and evaluate candidate architecture solutions and produce outcomes from teams whose members come from diverse backgrounds and have differing levels of technical expertise and experience.
Overview of Learning Activities
The course will proceed via a Design Studio mode, consisting of a series of day-long workshops. Workshops will be led by experienced staff, including practising architects. Each workshop will involve presentation of one or more core topics: these may be the characteristics of an important System Quality (e.g., Performance, Availability, Security) and strategies for achieving them.
Workshops will proceed with analysis and discussion of examples and case studies to illustrate the core topic, with students forming groups to perform analyses in order to learn how apply the core knowledge and develop their problem-solving and critical analysis skills. Selected students will present their analyses to the class each week, to help develop effective oral communication skills.
A specific complex architecture exercise/assignment will be a running theme throughout the course, with the student teams developing and appropriately documenting a solution. Teams may be expected to collaborate outside of workshop times. Discussion forums and other electronic tools for such communication will be provided for this purpose.
As a Learner, you will be encouraged to display active listening and engagement with workshop presentations; actively participate in the group discussions and contribute significantly to the analytical exercises in the workshops; and contribute appropriately to the assessable exercise(s) which may require some hours each week of study external to the workshops.
Overview of Learning Resources
A prescribed textbook and other references will be provided and students will be expected to refer to these. Other references, articles, and recommended materials will be provided via myRMIT. 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.
Overview of Assessment
The assessment for this course will involve a demonstration of the specified Learning Outcomes and Capabilities, via
- a large team project, involving research into current solutions and best practice, to develop and document a software architecture solution for specific requirements;
- workshop exercises and presentations, designed to provide feedback on ability to critically analyse and solve specific architecture challenges;
- a short written test designed to assess basic core knowledge and competencies;
- peer assessment of teamwork contribution.
This course has no hurdle requirements.
Assessment Task 1: Fortnightly report
This assessment task supports CLOs - 1, 2 and 3
Assessment Task 2: Assignment
Assessment Task 2.1: Group Assignment
This assessment task supports CLOs – 1, 2, 3, 4, and 5
Assessment Task 2.2: Peer Review
This assessment task supports CLO – 4, 5
Assessment Task 2.3: Individual Assignment
This assessment supports CLOs – 1, 2, 3 and 4
Assessment Task 2.4: Class Presentation
This assessment supports CLOs - 4
Assessment Task 3: Exam
This assessment supports CLOs - 1, 2, 3 and 5
Feedback will be provided throughout the semester in class and/or online discussions, through individual and group feedback on practical exercises and by individual consultation. 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 the Disability Liaison Unit if you would like to find out more. Your course assessment conforms to the RMIT university assessment principles, regulations, policies and procedures which are described and referenced in a single document Assessment Policies and Procedures manual. An 1.2.4 Assessment Charter section of this document summarises your responsibilities as an RMIT student as well as those of your teachers.