Skip to the content | Change text size
PDF unit guide

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

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 requirements

Workload commitments per week 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

Prohibitions

CSE3308

Prerequisites

FIT2001 and (FIT2004 or FIT2024 or CSE2304)

Chief Examiner

Campus Lecturer

Clayton

David Squire

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

Sunway

Lua Eng Keong

Tutors

Clayton

Robyn McNamara

Nabeel Mohammed

Academic Overview

Learning Outcomes

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.

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 Thu 28 March 2013
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 Mon 6 May 2013; 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 Mon 27 May 2013; Final interviews in lab time
  SWOT VAC No formal assessment is undertaken in SWOT VAC
  Examination period LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/
academic/education/assessment/
assessment-in-coursework-policy.html

*Unit Schedule details will be maintained and communicated to you via your learning system.

Assessment Summary

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

Assessment Task Value Due Date
UML Design Assignment 20% Week 4, Thursday 28 March 2013
Team Software Architecture Assignment 40% Week 9, Monday 6 May 2013 (Stage 1); Week 12, Monday 27 May 2013 (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.

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)

Academic Integrity - Please see the Demystifying Citing and Referencing tutorial at http://lib.monash.edu/tutorials/citing/

Assessment Tasks

Participation

  • Assessment task 1
    Title:
    UML Design Assignment
    Description:
    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.
    Weighting:
    20%
    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, Thursday 28 March 2013
  • Assessment task 2
    Title:
    Team Software Architecture Assignment
    Description:
    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.
    Weighting:
    40%
    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, Monday 6 May 2013 (Stage 1); Week 12, Monday 27 May 2013 (Stage 2)

Examinations

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

Learning resources

Monash Library Unit Reading List
http://readinglists.lib.monash.edu/index.html

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

Extensions and penalties

Returning assignments

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 learning system for this unit, which you can access via links in the my.monash portal.

Required Resources

Please check with your lecturer before purchasing any Required Resources. Limited copies of 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 Edition) Addison-Wesley.

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

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

Fowler M., Beck K., Brant J., Opdyke W., Roberts D.. (1999). Refactoring: Improving the Design of Existing Code. (1st Edition) 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.

Other Information

Policies

Graduate Attributes Policy

Student services

Monash University Library

Disability Liaison Unit

Students who have a disability or medical condition are welcome to contact the Disability Liaison Unit to discuss academic support services. Disability Liaison Officers (DLOs) visit all Victorian campuses on a regular basis.

Your feedback to Us

Previous Student Evaluations of this Unit

Based on student feedback:

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
https://emuapps.monash.edu.au/unitevaluations/index.jsp