Monash University Handbooks 2008

FIT3077 - Software engineering: architecture and design

6 points, SCA Band 2, 0.125 EFTSL

Undergraduate Faculty of Information Technology

Leader: Dr. David Squire

Offered

Clayton First semester 2008 (Day)
Clayton Second semester 2008 (Day)
Sunway First semester 2008 (Day)

Synopsis

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 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.

Objectives

At the completion of this unit students will have knowledge and understanding of:

  1. modelling and design of flexible software at the architectural level, basics of model-driven architecture;
  2. architectural styles and patterns, middleware & application frameworks;
  3. product lines, design using COTs software;
  4. configurations and configuration management;
  5. in-depth look at software design, design patterns;
  6. design of distributed systems using middleware;
  7. design for qualities such as performance, safelty, reusability, etc;
  8. evaluation and evolution of designs, reverse engineering.

At the completion of this unit students will have developed attitudes that enable them to:
  1. apply variety of design patterns;
  2. appreciate analysis fundamentals, analyse well-formedness (completeness, consistency, robustness, etc);
  3. analyse correctness (eg. static analysis,simulation, etc.);
  4. analyse quality requirements (eg. root cause analysis, safety, usability, security, etc.).

At the completion of this unit students will have the skills to:
  1. take requirements for simple systems and develop software architectures and designs at a high level;
  2. use configuration management tools effectively;
  3. apply a variety of frameworks and architectures in designing software.

Assessment

Exam: 40%
practical assignment: 60%

Contact hours

3 x contact hrs/week

Prerequisites

FIT2001 or CSE2305, FIT2004 or CSE2304

Prohibitions

CSE3308

[an error occurred while processing this directive]