CSSE6400 - Software Architecture
Sem 1 2024
1. General Course Information
1.1 Course Details
Course Code: CSSE6400
Course Title: Software Architecture
Coordinating Unit: School of Electrical Engineering and Computer Science
Semester: Semester 1, 2024
Mode: In Person
Level: Undergraduate
Delivery Location: St Lucia
Number of Units: 2
Contact Hours Per Week: LEC 2 Hours/ Week TUT 1 Hour/ Week PRA 2 Hours/ Week
Pre-Requisites: CSSE3200 or DECO2800
Recommended Pre-Requisites: CSSE3012 or CSSE3002
Course Description: Software systems are often composed of a heterogeneous network of inter-related systems. In this course you will build upon the knowledge and skills you have developed so far to learn how to design complex systems. This will include how these systems communicate and coordinate their responsibilities. You will learn design techniques to manage the complexity of large systems. You will learn how to assess and manage software risks (e.g.security, scalability, availability, resilience, robustness). You will apply these techniques to build a system composed of heterogeneous computing devices (e.g. mobile devices, servers, cloud-hosted services). You will learn how to apply systems thinking to design large-scale cyber-physical systems.
Assumed Background:
You are assumed to have a strong background in software development. You are expected to have worked on at least one substantial software project, involving a team of members and thousands of lines of code. You should be able to design a software application consisting of several interoperating classes.
1.2 Course Introduction
Large software systems are composed of interacting components. This is the case even if the system is only a single executable running on one computer. More sophisticated systems take advantage of the ability to distribute processing behaviour across hardware optimised for different parts of the system. In this course you will learn how to design "in the large". You will learn how to design components and their interfaces so that you can build complex systems. You will learn how to choose appropriate architectual patterns to structure systems that meet both functional and non-functional requirements of a system.
You can view this course as a capstone of your program. It integrates and extends the knowledge and skills you have developed so far.
Course Changes in Response to Previous Student Feedback
Assessment has been redesigned based on feedback and observation of student engagement with the course. The cloud infrastructure assignment has been staged to make progressive development towards the final solution easier.
Practical work has been turned into a streamed example of building a cloud-based application.
Course material has been updated to provide better coverage of some topics.
2.1 Course Aims
Upon successful completion of this course you will be able design complex software systems. You will understand how different architectural patterns support delivery of different design goals, and how to choose a pattern that is appropriate in your system's context. You will be able to evaluate the architecture of an existing system to assess how well it achieves its design goals. You will know how to apply security principles to deliver secure systems.
2.2 Learning Objectives
After successfully completing this course you should be able to:
1 Design and build a software system that delivers specifi ed functional and non-functional requirements (e.g. security, scalability, reliability, ...) by evaluating and selecting an appropriate architectural pattern and designing the components, interfaces and communication protocols to work within the pattern's structure.
2 Apply systems thinking within a team, debating and negotiating options, to design an architecturally complex software system that delivers a coherent set of functional and non-functional requirements.
3 Evaluate security risks for a software system architecture and implement security principles to minimise those risks.
4 Select an appropriate suite of tools to facilitate the delivery of a large, complex software system.
5 Describe and critique the architecture of a software system.
3. Learning Resources
3.1 Required Resources
No required learning resources
3.2 Recommended Resources
Software Architecture in Practice, 4th edition by Len Bass, Paul Clements and Rick Kazman. Addison-Wesley, August 2021.
Software Architecture for Developers - Volumes 1 & 2 by Simon Brown. Leanpub, January 2022.
http://leanpub.com/b/software-architecture (http://leanpub.com/b/software-architecture)
Fundamentals of Software Architecture: An Engineering Approach by Mark Richard and Neal Ford. O'Reilly Media, Inc., January 2020.
Designing Data-Intensive Applications by Martin Kleppmann. O'Reilly Media, Inc., April 2016.
3.3 University Learning Resources
Access to required and recommended resources, plus past central exam papers, is available at the UQ Library website
(http://www.library.uq.edu.au/lr/CSSE6400 (http://www.library.uq.edu.au/lr/CSSE6400)).
The University offers a range of resources and services to support student learning. Details are available on the myUQ website (https://my.uq.edu.au/(https://student.my.uq.edu.au/)).
3.4 School of Electrical Engineering and Computer Science Learning Resources
All School of EECS courses have Blackboard sites which can be found at https://learn.uq.edu.au (https://learn.uq.edu.au/).
3.5 Other Learning Resources & Information
The course website (https://csse6400.uqcloud.net/) contains extensive lecture notes and copies of the slides. You are expected to read the lecture notes for a topic before the lecture that week.
All resources will be accessible from links on BlackBoard.
You will be required to create architectural diagrams for some learning and assessment activities. ModelIO for UML modelling is available on computers in EAIT labs. External access is provided - see "Remote Lab Access" via the link on https://student.eait.uq.edu.au/(https://student.eait.uq.edu.au/). ModelIO (https://www.modelio.org/), Astah (https://astah.net/), PlantUML (https://plantuml.com/), Structurizr(https://structurizr.com/) and other modelling tools may be downloaded, or used on-line, on your own computers.
Announcements will be distributed via Blackboard. Students are expected to read Blackboard notices regularly, at least once per week and more frequently close to assessment deadlines.
4. Teaching & Learning Activities
4.1 Learning Activities
Recording of Lectures: Please be aware that teaching at UQ may be recorded for the benefi t of student learning. If you would prefer not to be captured either by voice or image, please advise your course coordinator before class so accommodations can be made. For further information see PPL 3.20.06 Recording of Teaching at UQ ().
5. Assessment
5.1 Assessment Summary
This is a summary of the assessment in the course. For detailed information on each assessment, see 5.5 Assessment Detail below.
COVID-19 IMPACTS: UQ will make every effort to teach and assess as outlined in this course profi le. However, the ongoing impacts of COVID-19, including changes to Government health restrictions that may be implemented during the Semester, could result in changes to this course, including assessment. We continue to strive to ensure the learning activities for this course remain accessible to students as far as is practicable, so that the learning objectives can be met. For further information and ongoing updates see https://about.uq.edu.au/coronavirus/students.
5.2 Course Grading
Example criteria for each of the grades can be found in PPL 3.10.02 Assessment Procedures (https://ppl.app.uq.edu.au/content/3.10.02-assessment#Procedures) - section 7 Appendix.
Grade X: No assessable work received.
Grade 1, Low Fail: Absence of evidence of achievement of course learning outcomes:
To achieve a final grade of 1, the result of the formula in the Other Requirements & Comments section is 1.
Grade 2, Fail: Minimal evidence of achievement of course learning outcomes:
To achieve a final grade of 2, the result of the formula in the Other Requirements & Comments section is 2.
Grade 3, Marginal Fail: Demonstrated evidence of developing achievement of course learning outcomes:
To achieve a final grade of 3, the result of the formula in the Other Requirements & Comments section is 3.
AND
Presentation Result >= 3
Grade 4, Pass: Demonstrated evidence of functional achievement of course learning outcomes:
To achieve a final grade of 4, the result of the formula in the Other Requirements & Comments section is 4.
AND
Presentation Result >= 4
Grade 5, Credit: Demonstrated evidence of profi cient achievement of course learning outcomes:
To achieve a final grade of 5, the result of the formula in the Other Requirements & Comments section is 5.
AND
Presentation Result >= 5
Grade 6, Distinction: Demonstrated evidence of advanced achievement of course learning outcomes:
To achieve a final grade of 6, the result of the formula in the Other Requirements & Comments section is 6.
AND
Presentation Result >= 5
Grade 7, High Distinction: Demonstrated evidence of exceptional achievement of course learning outcomes:
To achieve a final grade of 7, the result of the formula in the Other Requirements & Comments section is 7.
AND
Presentation Result >= 5
Other Requirements & Comments:
Your final grade is determined by the following formula.
Final Grade = ROUND(Case Study Presentation Grade × 30% + Project Proposal Grade × 5% + Cloud Infrastructure Assignment × 30% + Delivering Quality Attributes Project × 35%)
In the formula above, your final grade is rounded to the nearest integer (e.g. 4.45 is rounded to a grade of 4, 4.5 is rounded to a grade of 5).
The presentation is an identity verifi ed assessment activity. In order to obtain a final grade greater than
2, your presentation result must be at least 3.
3, your presentation result must be at least 4.
4, your presentation result must be at least 5.
Your presentation result is what you obtain for the presentation, before any penalty is applied to your presentation grade.
The course coordinator reserves the right to moderate results.
5.3 Late Submission
The submission of assessment material by the due date and time set out in this Electronic Course Profi le is the sole responsibility of the student. Students should not leave assignment preparation until the last minute and must plan their workloads to meet published deadlines. It is your responsibility to manage your time effectively and to commence submission/upload processes well in advance of the deadline to ensure submission is completed before the deadline. Please be aware that in the case of progressive assessment, extensions may not be possible or may be capped in duration where that assessment occurs in scheduled class-based activities with immediate feedback or due to the planned release of solutions/feedback. This ensures that extensions are approved in a timescale that is not unfair to other students in the course as per UQ Assessment
PPL, section 3.3.1-3.3.3 (https://ppl.app.uq.edu.au/content/3.10.02-assessment). An extension will not be granted beyond the time that the assessment task has been graded and feedback is scheduled to be provided to the rest of the cohort.
All assessment items in this course must be submitted on or before the due date specifi ed in this course profi le. Late submissions of assessment items will only be accepted if approval for late submission has been obtained prior to the due date. Guidelines for late submission are available here (https://my.uq.edu.au/information-and-services/manage-my-program/exams-and-assessment/applying-assessment-extension). Individuals working in the engineering, architecture, computing, IT and design sectors are often required to work progressively and iterate on their work to meet deadlines.
For this reason, some items in School of EECS courses may have ADA approval for an alternative late penalty. You must familiarise yourself with the per-assessment late penalty specifi ed in this course profi le.
If there are documented exceptional circumstances (https://my.uq.edu.au/information-and-services/manage-my-program/exams-and-assessment/applying-extension) that affect your ability to complete an assessment task by the due date you may apply for an extension, exemption or deferral. These will only be granted with appropriate supporting documentary evidence (e.g. offi cial medical certifi cate), and will only be approved within a timescale that is not unfair to other students enrolled in the course as per UQ Assessment Procedure (https://ppl.app.uq.edu.au/content/3.10.02-assessment#Procedures). All extensions (and where applicable exemptions) must be requested via my.UQ(https://my.uq.edu.au/). UQ policy provides in-semester extensions can be capped to 4 weeks, however you must familarise yourself with the maximum permitted extension for the relevant assessment item in this course profi le. All progressive assessment tasks in the School of EECS have ADA approved maximum permitted durations to allow for timely course wide release of feedback and/or solutions and/or code for progressive assessment items.
Instructions for how to formally submit extension requests is available here (https://my.uq.edu.au/information-and-services/manage-my-program/exams-and-assessment/applying-assessment-extension). Extensions are granted in multiples of 24 hours, i.e., the due time will be same as for the original deadline. In exceptional circumstances, if an extension cannot be granted then the course coordinator may grant an exemption from the item. If an exemption is approved, the course coordinator may make alternative arrangements, set an alternate item, and/or reweight other assessment items if appropriate. Extension requests sent directly to Course Coordinators in the School of EECS will not be considered.
Extensions granted for an assessment item cannot be used to justify a subsequent extension request for a later item. Extensions are not a remedy for students experiencing more signifi cant interruptions to study. If you are experiencing signifi cant diffi culties then you should seek advice from UQ Student Services (https://my.uq.edu.au/information-and-services/student-support/student-advice-welfare), the EAIT Faculty office(https://www.eait.uq.edu.au/contact), or EECS Coursework Studies offi ce (https://itee.uq.edu.au/contact).
Assessment Items Due at a Certain Time (including class-based Quizzes, Oral Presentations, or assessed Laboratory Practicals):
Late penalties per assessment item on this course and extensions possible are specifi ed in the table below and may vary between assessment types. You must check this for each relevant assessment item listed below. Please keep a record of your submission time.
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。