Note: This unit version is currently under review and is subject to change!

COMP5348: Enterprise Scale Software Architecture (2019 - Semester 1)

Download UoS Outline

Unit: COMP5348: Enterprise Scale Software Architecture (6 CP)
Mode: Normal-Evening
On Offer: Yes
Level: Postgraduate
Faculty/School: School of Computer Science
Unit Coordinator/s: Prof Fekete, Alan
Session options: Semester 1
Versions for this Unit:
Site(s) for this Unit:
Campus: Camperdown/Darlington
Pre-Requisites: None.
Brief Handbook Description: This unit covers topics on software architecture for large-scale enterprises. Computer systems for large-scale enterprises handle critical business processes, interact with computer systems of other organisations, and have to be highly reliable, available and scalable. This class of systems are built up from several application components, incorporating existing "legacy" code and data stores as well as linking these through middleware technologies, such as distributed transaction processing, remote objects, message-queuing, publish-subscribe, and clustering. The choice of middleware can decide whether the system achieves essential non- functional requirements such as performance and availability. The objective of this unit of study is to educate students for their later professional career and it covers Software Architecture topics of the ACM/IEEE Software Engineering curriculum.
Assumed Knowledge: Programming competence in Java or similar OO language. Capacity to master novel technologies (especially to program against novel APIs) using manuals, tutorial examples, etc.
Lecturer/s: Greenfield, Paul
Timetable: COMP5348 Timetable
Time Commitment:
# Activity Name Hours per Week Sessions per Week Weeks per Semester
1 Lecture 2.00 1 13
2 Laboratory 1.00 1 13
3 Independent Study 6.00 1 13
T&L Activities: Laboratory: Laboratory (to practice problem-solving, application of the concepts, and use of technologies)

Independent Study: Independent Study (reading from sources, doing assignments, etc)

Learning outcomes are the key abilities and knowledge that will be assessed in this unit. They are listed according to the course goal supported by each. See Assessment Tab for details how each outcome is assessed.

(6) Communication and Inquiry/ Research (Level 3)
1. Produce written evaluation of different architectures and/or of different technologies
(7) Project and Team Skills (Level 3)
2. Work in small teams of people with diverse skills and backgrounds, to complete demanding tasks which are loosely defined and require rapid learning of new concepts
(8) Professional Effectiveness and Ethical Conduct (Level 3)
3. Understand the role of a software architect; Respect what he/she is doing, and why; Know when to involve him/her.
(4) Design (Level 4)
4. Recognize the relationship between different software architecture choices, and their impact on various non-functional attributes of the software.
(2) Engineering/ IT Specialisation (Level 4)
5. Demonstrate broad knowledge of common architectural approaches for enterprise software, as well as detailed skills working with some technologies available to implement those approaches.
(1) Maths/ Science Methods and Tools (Level 3)
6. Carry out performance analysis, explain performance measurement principles, and identify suitable approaches for state management in face of concurrency.
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Practical task A0 No 1.00 Week 3 5,
2 Practical Task A No 4.00 Week 6 5,
3 Assignment 1 No 10.00 Week 7 3, 4, 5, 6,
4 Assignment 2 No 10.00 Week 11 1, 4, 5, 6,
5 Group Project* Yes 15.00 Week 12 1, 2, 4, 5,
6 Final Exam* No 60.00 Exam Period 1, 3, 4, 5, 6,
Assessment Description: Prac Task A0: Initial work (Domain Model and lower layers) for Prac Task A [This task cannot be accepted late, nor can the due date be extended. In case of approved special consideration or academic plans, the mark can be replaced by scores from other assessments.]

Prac Task A: Individual-work practical task using technologies for distributed computing

Assignment 1: Paper-based assignment on material of weeks 1-6

Assignment 2: Paper-based assignment based on material of weeks 7-10, and also reflecting on practical experiences in assignments/labs

Group Project*: Group-work practical assignment integrating subsystems using asynchronous communication technologies

Final Exam*: Final summative exam, with written questions that will cover the content of lectures and labs, and also the exam will include a requirement for integrating ideas across the unit, and a question that builds on the experience in the project. Obtaining at least 40% of the available marks from the written exam is a requirement to pass COMP5348.

There may be statistically defensible moderation when combining the marks from each component to ensure consistency of marking between markers, and alignment of final grades with unit outcomes.

Late submission of a progressive assessment (up to 10 days late) will attract a penalty of 5 percent of the available mark, for each calendar day after the due date. Work that is not submitted within 10 calendar days will receive a mark of zero.
Grading:
Grade Type Description
Standards Based Assessment Final grades in this unit are awarded at levels of HD for High Distinction, DI (previously D) for Distinction, CR for Credit, PS (previously P) for Pass and FA (previously F) for Fail as defined by University of Sydney Assessment Policy. Details of the Assessment Policy are available on the Policies website at http://sydney.edu.au/policies . Standards for grades in individual assessment tasks and the summative method for obtaining a final mark in the unit will be set out in a marking guide supplied by the unit coordinator.
Special Conditions to Pass UoS It is a policy of the School of Information Technologies that in order to pass this unit, a student must achieve at least 40% in the written examination as well as in the other components of assessment together. A student must also achieve an overall final mark of 50 or more. Any student not meeting these requirements can achieve a maximum mark of no more than 45.
Policies & Procedures: IMPORTANT: School policy relating to Academic Dishonesty and Plagiarism.

In assessing a piece of submitted work, the School of Computer Science may reproduce it entirely, may provide a copy to another member of faculty, and/or to an external plagiarism checking service or in-house computer program and may also maintain a copy of the assignment for future checking purposes and/or allow an external service to do so.

Other policies

See the policies page of the faculty website at http://sydney.edu.au/engineering/student-policies/ for information regarding university policies and local provisions and procedures within the Faculty of Engineering and Information Technologies.
Recommended Reference/s: Note: References are provided for guidance purposes only. Students are advised to consult these books in the university library. Purchase is not required.
Online Course Content: Sydney eLearning
Note on Resources: Lecture presentations, online tutorials for various technologies, etc.

Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar https://web.timetable.usyd.edu.au/calendar.jsp

Week Description
Week 1 Introduction; Definition of the field; Nature of Software Architect's Role; Types of non-functional requirements ("ilities"); Layering; Application Architecture.
Week 2 State and Concurrency
Week 3 Distributed Computing
Assessment Due: Practical task A0
Week 4 Distributed Transactions
Week 5 Performance
Week 6 Assynchronous messaging and related technologies
Assessment Due: Practical Task A
Week 7 Service-oriented architecture; Web Services
Assessment Due: Assignment 1
Week 8 Fault-tolerance; replication
Week 9 Queuing; predicting performance
Week 10 Cloud computing and technologies
Week 11 Cloud-based architectures
Assessment Due: Assignment 2
Week 12 Industry speakers
Assessment Due: Group Project*
Week 13 Revision and exam preparation
Exam Period Assessment Due: Final Exam*

Course Relations

The following is a list of courses which have added this Unit to their structure.

Course Year(s) Offered
Software Mid-Year 2016, 2017, 2018, 2019
Software/ Project Management 2019
Software 2015, 2016, 2017, 2018, 2019
Software / Arts 2015, 2016, 2017, 2018, 2019
Software / Commerce 2015, 2016, 2017, 2018, 2019
Software / Medical Science 2015, 2016, 2017
Software / Music Studies 2016, 2017
Software / Project Management 2015, 2016, 2017, 2018
Software / Science 2015, 2016, 2017, 2018, 2019
Software/Science (Health) 2018, 2019
Software / Law 2015, 2016, 2017, 2018, 2019
Software Engineering (till 2014) 2010, 2011, 2012, 2013, 2014
Software Engineering / Arts 2011, 2012, 2013, 2014
Software Engineering / Commerce 2010, 2011, 2012, 2013, 2014
Software Engineering / Medical Science 2011, 2012, 2013, 2014
Software Engineering / Project Management 2012, 2013, 2014
Software Engineering / Science 2011, 2012, 2013, 2014
Software Engineering / Law 2010, 2011, 2012, 2013, 2014
Master of Professional Engineering (Accelerated) (Software) 2019
Master of Professional Engineering (Software) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019
Software/Science (Medical Science Stream) 2018, 2019
Bachelor of Advanced Computing/Bachelor of Commerce 2018, 2019
Bachelor of Advanced Computing/Bachelor of Science 2018, 2019
Bachelor of Advanced Computing/Bachelor of Science (Health) 2018, 2019
Bachelor of Advanced Computing/Bachelor of Science (Medical Science) 2018, 2019
Bachelor of Advanced Computing (Computational Data Science) 2018, 2019
Bachelor of Advanced Computing (Computer Science Major) 2018, 2019
Bachelor of Advanced Computing (Information Systems Major) 2018, 2019
Bachelor of Advanced Computing (Software Development) 2018, 2019
Bachelor of Computer Science and Technology (Honours) 2015, 2016, 2017
Bachelor of Computer Science and Technology (Honours) 2014 2013, 2014
Bachelor of Information Technology 2015, 2016, 2017
Bachelor of Information Technology/Bachelor of Arts 2015, 2016, 2017
Bachelor of Information Technology/Bachelor of Commerce 2015, 2016, 2017
Bachelor of Information Technology/Bachelor of Medical Science 2015, 2016, 2017
Bachelor of Information Technology/Bachelor of Science 2015, 2016, 2017
Bachelor of Information Technology (Computer Science) 2014 and earlier 2009, 2010, 2011, 2012, 2013, 2014
Information Technology (Computer Science)/Arts 2012, 2013, 2014
Information Technology (Computer Science) / Commerce 2012, 2013, 2014
Information Technology (Computer Science) / Medical Science 2012, 2013, 2014
Information Technology (Computer Science) / Science 2012, 2013, 2014
Information Technology (Computer Science) / Law 2012, 2013, 2014
Bachelor of Information Technology (Information Systems) 2014 and earlier 2010, 2011, 2012, 2013, 2014
Information Technology (Information Systems)/Arts 2012, 2013, 2014
Information Technology (Information Systems) / Commerce 2012, 2013, 2014
Information Technology (Information Systems) / Medical Science 2012, 2013, 2014
Information Technology (Information Systems) / Science 2012, 2013, 2014
Information Technology (Information Systems) / Law 2012, 2013, 2014
Bachelor of Information Technology/Bachelor of Laws 2015, 2016, 2017
Graduate Certificate in Information Technology 2015, 2016, 2017, 2018, 2019
Graduate Certificate in Information Technology Management 2015, 2016, 2017, 2018, 2019
Graduate Diploma in Computing 2015, 2016, 2017, 2018, 2019
Graduate Diploma in Information Technology 2015, 2016, 2017, 2018, 2019
Graduate Diploma in Information Technology Management 2015, 2016, 2017, 2018, 2019
Graduate Certificate in Information Technology (till 2014) 2012, 2013, 2014
Graduate Diploma in Information Technology (till 2014) 2012, 2013, 2014
Master of Engineering 2014, 2015, 2016, 2017, 2018, 2019
Master of Information Technology 2015, 2016, 2017, 2018, 2019
Master of Information Technology Management 2015, 2016, 2017, 2018, 2019
Master of IT/Master of IT Management 2015, 2016, 2017, 2018, 2019
Master of Information Technology (till 2014) 2014

Course Goals

This unit contributes to the achievement of the following course goals:

Attribute Practiced Assessed
(6) Communication and Inquiry/ Research (Level 3) No 20.25%
(7) Project and Team Skills (Level 3) No 3.75%
(8) Professional Effectiveness and Ethical Conduct (Level 3) No 7.5%
(5) Interdisciplinary, Inclusiveness, Influence (Level 4) No 0%
(4) Design (Level 4) No 18.75%
(2) Engineering/ IT Specialisation (Level 4) No 27.75%
(3) Problem Solving and Inventiveness (Level 4) No 0%
(1) Maths/ Science Methods and Tools (Level 3) No 22%

These goals are selected from Engineering & IT Graduate Outcomes Table 2018 which defines overall goals for courses where this unit is primarily offered. See Engineering & IT Graduate Outcomes Table 2018 for details of the attributes and levels to be developed in the course as a whole. Percentage figures alongside each course goal provide a rough indication of their relative weighting in assessment for this unit. Note that not all goals are necessarily part of assessment. Some may be more about practice activity. See Learning outcomes for details of what is assessed in relation to each goal and Assessment for details of how the outcome is assessed. See Attributes for details of practice provided for each goal.