[an error occurred while processing this directive] [an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
Monash University

FIT3077 Software engineering: architecture and design - Semester 1, 2012

This unit builds on introductory units to analysis and design. It provides the professional software engineer with advanced knowledge and skills in high-level architectural design, its theoretical foundations, industrial best practice, and relevant application context. In the software life-cycle, software architecture sits between analysis/specification and design/implementation. The field of software architecture has come of age with a thriving research community and numerous high-level models, methods, tools and practices widely used in industry.

Mode of Delivery

  • Clayton (Day)
  • Sunway (Day)

Contact Hours

2 hrs lectures/wk, 1 hr laboratory/wk


Workload commitments are:

  • two-hour lecture and
  • one-hour practice class conducted in a laboratory.
  • a minimum of 3 hours of personal study per one hour of contact time in order to satisfy the reading and assignment expectations.

Unit Relationships




FIT2001 and (FIT2004 or FIT2024 or CSE2304)

Chief Examiner

Campus Lecturer


David Squire

Consultation hours: Consultation hours will be announced on the MUSO website. Making an appointment via email is strongly advised.


Ali Ahmed



Minh Ngoc Nhat Huynh

Academic Overview


At the completion of this unit students will have -
A knowledge and understanding of:
  • modelling and design of flexible software at the architectural level. Basics of model-driven architecture;
  • Architectural styles and patterns, Middleware & application frameworks;
  • product lines. Design using COTs software;
  • configurations and configuration management;
  • in-depth look at software design, design patterns;
  • design of distributed systems using middleware;
  • design for qualities such as performance, safety, reusability etc;
  • evaluation and evolution of designs, reverse engineering.
Developed attitudes that enable them to:
  • apply variety of design pattern;
  • appreciate analysis fundamentals;
  • analyse well-formedness (completeness, consistency, robustness, etc);
  • analyse correctness (eg. static analysis,simulation etc.);
  • analyse quality requirements (eg. root cause analysis, safety, usability, security, etc.).
Developed the skills to:
  • take requirements for simple systems and develop software architectures and designs at a high level;
  • use configuration management tools effectively;
  • apply a variety of frameworks and architectures in designing software.

Graduate Attributes

Monash prepares its graduates to be:
  1. responsible and effective global citizens who:
    1. engage in an internationalised world
    2. exhibit cross-cultural competence
    3. demonstrate ethical values
  2. critical and creative scholars who:
    1. produce innovative solutions to problems
    2. apply research skills to a range of challenges
    3. communicate perceptively and effectively

Assessment Summary

Examination (3 hours): 40%; In-semester assessment: 60%

Assessment Task Value Due Date
UML Design Assignment 20% Week 4, Friday 23 March 2012
Team Software Architecture Assignment 40% Week 9, Friday 4 May 2012 (Stage 1); Week 12, Wednesday 23 May 2012 (Stage 2)
Examination 1 40% To be advised

Teaching Approach

Lecture and tutorials or problem classes
This teaching and learning approach provides facilitated learning, practical exploration and peer learning.


Our feedback to You

Types of feedback you can expect to receive in this unit are:
  • Informal feedback on progress in labs/tutes
  • Graded assignments with comments
  • Interviews

Your feedback to Us

Monash is committed to excellence in education and regularly seeks feedback from students, employers and staff. One of the key formal ways students have to provide feedback is through SETU, Student Evaluation of Teacher and Unit. The University's student evaluation policy requires that every unit is evaluated each year. Students are strongly encouraged to complete the surveys. The feedback is anonymous and provides the Faculty with evidence of aspects that students are satisfied and areas for improvement.

For more information on Monash's educational strategy, and on student evaluations, see:

Previous Student Evaluations of this unit

The venue for the practice classes has been changed from flat rooms to laboratories. This is so that students can work on their assignments during practice class time, and, more importantly, demonstrate their work in progress to unit staff to receive feedback and advice.

If you wish to view how previous students rated this unit, please go to

Required Resources

Please check with your lecturer before purchasing any Required Resources. Prescribed texts are available for you to borrow in the library, and prescribed software is available in student labs.

You will need access to:

  • A tool for creating UML diagrams, such as Rational Rose, Visual Paradigm, etc.
  • An object-oriented programming language, with the capacity to create a graphical user interface.

On-campus students may use the software that is installed in the computing labs. Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook.

Recommended text(s)

Fowler M.. (2003). UML Distilled. (3rd) Addison-Wesley.

Gamma E., Helm R., Johnson R., Vlissides J. M.. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. (1st) Addison-Wesley.

Fowler M.. (1996). Analysis Patterns: Reusable Object Models. (1st) Addison-Wesley.

Fowler M., Beck K., Brant J., Opdyke W., Roberts D.. (1999). Refactoring: Improving the Design of Existing Code. (1st) Addison-Wesley.

Bass L., Clements P. and Kazman R.. (2003). Software Architecture in Practice. () Addison-Wesley.

Allen, P and Schlamann, H.. (2006). Service Orientation: Winning Strategies and Best Practices. () Cambridge University Press.

Unit Schedule

Week Activities Assessment
0   No formal assessment or activities are undertaken in week 0
1 Introduction to FIT3077; What is Software Architecture?; Object-Oriented Analysis using UML  
2 Object-Oriented Analysis using UML Assignment 1 specification available
3 Principles of Object-Oriented Analysis and Design; Design Patterns  
4 Principles of Object-Oriented Design Assignment 1 due Fri 23 March 2012
5 Principles of Object-Oriented Design Assignment 2, Stage 1 specification available
6 Design Principles and Design Patterns  
7 Analysis Patterns; Refactoring  
8 Software Architecture; Architectural Structures  
9 Documenting Software Architectures; The Model-View-Controller Architectural Pattern Assignment 2, Stage 1 due Fri 4 May 2012; Assignment 2, Stage 2 specification available
10 Architecture and Design with COTS components  
11 Software Product Lines: Re-using Architectural Assets  
12 Service Orientation; Service-Oriented Architecture Assignment 2, Stage 2 due Wed May 23 2012
  SWOT VAC No formal assessment is undertaken SWOT VAC
  Examination period LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/

*Unit Schedule details will be maintained and communicated to you via your MUSO (Blackboard or Moodle) learning system.

Assessment Requirements

Assessment Policy

Faculty Policy - Unit Assessment Hurdles (http://www.infotech.monash.edu.au/resources/staff/edgov/policies/assessment-examinations/unit-assessment-hurdles.html)

Assessment Tasks


  • Assessment task 1
    UML Design Assignment
    Students will be provided with software requirements scenarios for which they must produce a conceptual design for an object-oriented solution. This design must be described using UML diagrams. The purpose of this assignment is to reinforce UML knowledge and ensure that students are ready for the next assignment.
    Criteria for assessment:
    Designs will be assessed for completeness with respect to the specification provided, correct use of UML notation, and design quality.
    Due date:
    Week 4, Friday 23 March 2012
  • Assessment task 2
    Team Software Architecture Assignment
    This is a team assignment. Students will work on it in pairs. This assignment will have two stages, each requiring students to analyse a problem, design a solution, and implement it in an object-oriented programming language. The second stage will build on the first, and the ease with which the students' stage one design can be extended for stage two will depend on appropriate use of architecture and design knowledge presented in this unit.

    The main focus of the assignment is on the application of the design patterns and principles presented in lectures. Simply meeting the external functional requirements for the system is not sufficient to pass this assignment.
    Criteria for assessment:

    Teams will be assessed on the basis of their submitted design documentation and code, as well as an interview. Both team members will be required to demonstrate knowledge and understanding of all parts of their design.

    Designs and code will be assessed for quality, including extensibility and appropriate use of design patterns. Completeness of code functionality with respect to the problem requirements will also be assessed.

    Due date:
    Week 9, Friday 4 May 2012 (Stage 1); Week 12, Wednesday 23 May 2012 (Stage 2)


  • Examination 1
    3 hours
    Type (open/closed book):
    Closed book
    Electronic devices allowed in the exam:

Assignment submission

It is a University requirement (http://www.policy.monash.edu/policy-bank/academic/education/conduct/plagiarism-procedures.html) for students to submit an assignment coversheet for each assessment item. Faculty Assignment coversheets can be found at http://www.infotech.monash.edu.au/resources/student/forms/. Please check with your Lecturer on the submission method for your assignment coversheet (e.g. attach a file to the online assignment submission, hand-in a hard copy, or use an online quiz).

Online submission

If Electronic Submission has been approved for your unit, please submit your work via the VLE site for this unit, which you can access via links in the my.monash portal.

Extensions and penalties

Returning assignments

Other Information


Student services

The University provides many different kinds of support services for you. Contact your tutor if you need advice and see the range of services available at www.monash.edu.au/students. For Sunway see http://www.monash.edu.my/Student-services, and for South Africa see http://www.monash.ac.za/current/

The Monash University Library provides a range of services and resources that enable you to save time and be more effective in your learning and research. Go to http://www.lib.monash.edu.au or the library tab in my.monash portal for more information. At Sunway, visit the Library and Learning Commons at http://www.lib.monash.edu.my/. At South Africa visit http://www.lib.monash.ac.za/.

Academic support services may be available for students who have a disability or medical condition. Registration with the Disability Liaison Unit is required. Further information is available as follows:

  • Website: http://monash.edu/equity-diversity/disability/index.html;
  • Email: dlu@monash.edu
  • Drop In: Equity and Diversity Centre, Level 1 Gallery Building (Building 55), Monash University, Clayton Campus, or Student Community Services Department, Level 2, Building 2, Monash University, Sunway Campus
  • Telephone: 03 9905 5704, or contact the Student Advisor, Student Commuity Services at 03 55146018 at Sunway
[an error occurred while processing this directive]