Software Design and Architecture

Subject SWEN90007 (2016)

Note: This is an archived Handbook entry from 2016.

Credit Points: 12.5
Level: 9 (Graduate/Postgraduate)
Dates & Locations:

This subject has the following teaching availabilities in 2016:

Semester 2, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period 25-Jul-2016 to 23-Oct-2016
Assessment Period End 18-Nov-2016
Last date to Self-Enrol 05-Aug-2016
Census Date 31-Aug-2016
Last date to Withdraw without fail 23-Sep-2016


Timetable can be viewed here. For information about these dates, click here.
Time Commitment: Contact Hours: 36 hours, comprising of two 1-hour lectures and one 1-hour workshop per week
Total Time Commitment:

200 hours

Prerequisites:
Subject
Study Period Commencement:
Credit Points:
Semester 1, Semester 2
12.50

AND

One of the following:

433-428 Software Processes and Management

Subject
Study Period Commencement:
Credit Points:
June, Semester 1, Semester 2
12.50
Not offered in 2016
12.50

Corequisites:

None

Recommended Background Knowledge:

SWEN40004 Modelling Complex Software Systems

Non Allowed Subjects:

Students cannot enrol in and gain credit for this subject and:

Subject
Core Participation Requirements:

For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Student Support and Engagement Policy, academic requirements for this subject are articulated in the Subject Overview, Learning Outcomes, Assessment and Generic Skills sections of this entry.

It is University policy to take all reasonable steps to minimise the impact of disability upon academic study, and reasonable adjustments will be made to enhance a student's participation in the University's programs. Students who feel their disability may impact on meeting the requirements of this subject are encouraged to discuss this matter with a Faculty Student Adviser and Student Equity and Disability Support: http://services.unimelb.edu.au/disability

Coordinator

Dr Alex Lopez Lorca

Contact

antonio.lopz@unimelb.edu.au

Subject Overview:

AIMS

One of the main challenges in developing enterprise-wide distributed systems is in choosing the right software architectures. In this subject students will study software architectures in depth and the principles, techniques and tools for creating, developing and evaluating software architectures

INDICATIVE CONTENT

Topics covered in this subject will be drawn from: design styles and architectural patterns; design strategies; domain specific architectures; evaluation of designs; architectural design for non-functional requirements; and modelling architectures.

Learning Outcomes:

INTENDED LEARNING OUTCOMES (ILO)

On completion of this subject the student is expected to:

  1. Analyse large scale and distributed systems and select appropriate architectures for them
  2. Evaluate architectures both qualitatively and quantitatively
  3. Make suitable trade-offs between different architectures
Assessment:
  • A multi-staged, pair-based project in which students propose features of a system with properties commonly found in large-scale distributed enterprise systems, engineer an architectural design for that systems, and implement and evaluate it using industry-standard enterprise tools and frameworks. The project will consist of four reports totalling about 2500 words, requiring approximately 40-45 hours of work (40%). The four stages of the project are due in weeks 3 (nominate features of the system), 7 (architectural design and implementation), 10 (re-factored design and implementation), and 12 (performance evaluation) respectively. ILOs 1, 2, and 3 will be addressed by the pair project.
  • A two-hour end-of-semester written examination during the exam period (60%).

Hurdle requirement: To pass the subject, a student must obtain:

  • At least 50% overall
  • At least 50% (15/30) in project work; and
  • At least 50% (35/70) in the written examination.

Intended Learning Outcomes (ILOs) 1-3 will be addressed by both the pair project and the end-of-semester written exam.

Prescribed Texts:

None

Breadth Options:

This subject is not available as a breadth subject.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
Generic Skills:

On completion of this subject students should have the following skills:

  • Ability to apply knowledge of science and engineering fundamentals
  • Ability to undertake problem identification, formulation, and solution
  • Ability to utilise a systems approach to complex problems and to design and operational performance
  • Proficiency in engineering design
  • Ability to manage information and documentation
  • Capacity for creativity and innovation
  • Ability to function effectively as an individual and in multidisciplinary and multicultural teams, as a team leader or manager as well as an effective team member.
Notes:

LEARNING AND TEACHING METHODS

The subject will be delivered through a combination of lectures and workshops. Students will also complete the architectural design, implementation, and evaluation of a system with features commonly found in large-scale distributed enterprise systems, which will reinforce the material covered in lectures.

INDICATIVE KEY LEARNING RESOURCES

A book of notes will be made available at the University of Melbourne bookshop at the start of the semester. The two key additional resources for the subject are:

  1. Fowler, Martin. Patterns of enterprise application architecture. Addison-Wesley Professional, 2003.
  2. Hohpe, Gregor, and Bobby Woolf. Enterprise integration patterns: Designing, building, and deploying messaging solutions. Addison-Wesley Professional, 2004.

CAREERS / INDUSTRY LINKS

Large-scale enterprise systems are present in almost every modern business. The ability to engineer and integrate such systems is a skill that has ever-increasing demand, and requires different techniques and principles than “programming in the large”.

There will be two lectures from industry-based lecturers who will describe their approaches to architectural design of large-scale distributed enterprise systems.

Related Course(s): Doctor of Philosophy - Engineering
Master of Philosophy - Engineering
Related Majors/Minors/Specialisations: B-ENG Software Engineering stream
Master of Engineering (Mechatronics)
Master of Engineering (Software with Business)
Master of Engineering (Software)

Download PDF version.