Software Design and Architecture

Subject SWEN90007 (2014)

Note: This is an archived Handbook entry from 2014.

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

This subject is not offered in 2014.

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:

One of the following:

433-429 Software Engineering Methods

433-428 Software Processes and Management

Subject
Study Period Commencement:
Credit Points:

AND

One of the following:

433-428

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

Corequisites:

None

Recommended Background Knowledge:

433-606 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

Contact

email: tmiller@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 is expected about 36 hours, and will consist of a three reports totalling about 2000 words (30%). The four stages of the project are due in weeks 3 (nominate features of the system), 7 (architectural design), 9 (re-factored design), and 12 (implementation and evaluation) respectively
  • A three-hour end-of-semester written examination (70%)

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): Master of Philosophy - Engineering
Ph.D.- Engineering
Related Majors/Minors/Specialisations: B-ENG Software Engineering stream
Master of Engineering (Software with Business)
Master of Engineering (Software)

Download PDF version.