Course Title: Object Oriented Software Design

Part A: Course Overview

Course Title: Object Oriented Software Design

Credit Points: 12.00


Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

ISYS1083

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 1 2006,
Sem 1 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2012,
Sem 1 2013,
Sem 1 2014,
Sem 1 2015,
Sem 1 2016

ISYS1084

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 1 2006,
Sem 1 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2012,
Sem 1 2013,
Sem 1 2014,
Sem 1 2015,
Sem 1 2016

Course Coordinator: Dr. Caspar Ryan

Course Coordinator Phone: +61 3 9925 9775

Course Coordinator Email: caspar.ryan@rmit.edu.au


Pre-requisite Courses and Assumed Knowledge and Capabilities

You may not enrol in this course unless it is explicitly listed in your enrolment program summary.

Two of the following topics must have been studied as part of a course such as ISYS1117/1118 Software Engineering Fundamentals:
• Structured Design
• Project Management (including Software Life-Cycles)
• Structured Programming (preferably ’C’)

Corequisite: COSC2391/2401 Software Architecture: Design and Implementation OR COSC1295 Advanced Programming (formerly Java for Programmers) OR former Programming 2

- Knowledge of, and experience using, object oriented programming (Java or c++) is necessary to succeed in this course. 


Course Description

This course aims to investigate, understand and apply the software design process, using an object-oriented paradigm. The course has two major components. It first introduces the Unified Modelling Language *UML), and a number of software development processes, including the Rational Unified process. The second half of the course is devoted to the understanding of a catalogue of design patterns, selected from Gamma et.al.

This is an elective course for the Honours year in Computer Science and is part of the Software Engineering specialisation for the coursework Masters degrees in the School of Computer Science and Information Technology.
 


Objectives/Learning Outcomes/Capability Development

Students who complete the course are expected to:

1. understand the philosophy of software abstraction;
2. appreciate how the object-oriented approach may contribute to, or diminish, the risks of software engineering;
3. be able to specify the structure (statics) and behaviour (dynamics) of a software problem (analysis) and its associated solution (design);
4. understand and apply the UML design notation;
5. understand and apply design patterns from the Gamma et.al. catalogue;
6. understand how patterns are constructed from metapatterns;
7. understand the differences between structured design and object oriented design;
8. develop and adhere to a process for
i) managing an object-oriented project and
ii) creating and evolving analysis/design models;
9. be able to take the concepts of good software design and apply them in different environments.



  


Overview of Learning Activities

Teaching staff inputs: Syllabus material will be presented, explained and illustrated with demonstrations, examples and problems in lectures, workshops, laboratories or online. Problem solving exercises, assignments and discussions are designed to develop your analytical skills, drawing on knowledge and frameworks covered in lectures.
Your inputs as learners: Your active and constructive participation in lecture, and workshop discussions is expected in addition to weekly private study, completion of workshop and laboratory questions and careful planning and completion of assessment tasks.

The emphasis of this course is on understanding the underlying concepts and not the ability to rote learn material. This is reflected in the presentation of lectures and in the assessment tasks.

Attendance:
While a minimum attendance standard is not compulsory, non-attendance may seriously jeopardise the chances of success in this course. Clearly, non-attendance at an assessment will result in failure of that assessment. Where visa conditions apply, attendance is compulsory.


Overview of Learning Resources

You will make extensive use of computer laboratories and relevant software provided by the School. You will be able to access course information and learning materials through the myRMIT and may be provided with copies of additional materials in class or via email. Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.

Use the RMIT Bookshop’s textbook list search page to find any recommended textbook(s).  

 


Overview of Assessment

This course will be assessed through individual and group assignments and a formal written examination.

For standard assessment details, including hurdle requirements, relating to Computer Science and IT courses see: http://www.rmit.edu.au/compsci/cgi