FIT3077 - Software engineering: architecture and design
6 points, SCA Band 2, 0.125 EFTSL
Undergraduate Faculty of Information Technology
Leader(s): Dr Peter Tischer
Offered
Clayton First semester 2009 (Day)
Clayton Second semester 2009 (Day)
Sunway First semester 2009 (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 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:
- 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.
At the completion of this unit students will have developed attitudes that enable them to:
- apply variety of design patterns;
- 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.).
At the completion of this unit students will have 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.
Assessment
Exam: 40%
practical assignment: 60%
Contact hours
3 x contact hrs/week
Prerequisites
FIT2001 or CSE2305, FIT2004 or CSE2304
Prohibitions
CSE3308