Skip to content Mobile Contact Library A-Z

Course Title: Software Architecture: Design and Implementation

Part A: Course Overview

Course Title: Software Architecture: Design and Implementation

Credit Points: 12


Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC1135

Bundoora Campus

Undergraduate

140H Comp Sci & Info Technology

Face-to-Face

Sem 1 2006

COSC2391

City Campus

Undergraduate

140H Comp Sci & Info Technology

Face-to-Face

Sem 1 2006,
Sem 1 2007,
Sem 2 2007,
Sem 1 2008,
Sem 2 2008,
Sem 1 2009,
Sem 1 2010,
Sem 2 2010,
Sem 1 2011,
Sem 2 2011

COSC2391

City Campus

Undergraduate

140H Comp Sci & Info Technology

Face-to-Face or Internet

Sem 2 2009

COSC2401

City Campus

Postgraduate

140H Comp Sci & Info Technology

Face-to-Face

Sem 1 2006,
Sem 1 2007,
Sem 2 2007,
Sem 1 2008,
Sem 2 2008,
Sem 1 2009,
Sem 2 2009,
Sem 1 2010,
Sem 2 2010,
Sem 1 2011,
Sem 2 2011

COSC2440

RMIT Intl University Vietnam

Undergraduate

140H Comp Sci & Info Technology

Face-to-Face

Viet2 2008,
Viet3 2008,
Viet1 2009,
Viet2 2009,
Viet3 2009,
Viet1 2010,
Viet3 2010

COSC2447

Taylors College KL

Undergraduate

140H Comp Sci & Info Technology

Face-to-Face

Offsh 3 10,
Offsh 1 11

Course Coordinator: Charles Thevathayan

Course Coordinator Phone: +61 3 9925 9604

Course Coordinator Email:charles.thevathayan@rmit.edu.au


Pre-requisite Courses and Assumed Knowledge and Capabilities

You should have the knowledge and ability to write programs in Java, equivalent to that gained from completing Programming 2. In addition you should have fundamental knowledge of relational database concepts, including relational modelling & design, relational algebra & SQL and conceptual modelling, equivalent to that gained from completing Database Concepts


Course Description

This course provides a good mix of theory and practical skills needed for developments of common software architectures. It will introduce students to the common architectures and patterns used and their impact on applications. This course will also provide the necessary software development skills needed to build common Client Server Applications. The main topics include, Model View Controller architecture, common software patterns, design of multithreaded systems, design of client server applications using sockets, accessing database with JDBC, distributed application development using RMI and design of two and three tier architectures. An important part of the course is developing applications such as multiplayer games, chat systems and dynamic web sites as a team. This course will provide the necessary foundation for the more specialized courses in eCommerce, Web Services and Enterprise Architectures.


Objectives/Learning Outcomes/Capability Development

This course contributes to development of the following capabilities:

  • Enabling Knowledge: knowledge and experience designing multi-threaded systems, client-server applications using sockets, accessing database with JDBC, distributed application development with RMI and web applications using Servlets.
  • Problem Solving: Ability to develop protocols, select patterns and architectures for a variety of multi-threaded and distributed applications, taking into account requirements and constraints.
  • Communication: Explain the benefits and drawbacks of various architecture, patterns, via written/oral presentations.


At the conclusion of this subject, the student should:

  • Identify the common client server architectures and their merits
  • be able to use templates and classes from Java Collections Framework
  • be able to design multithreaded systems taking into account synchronization issues
  • be able to design and develop simple client server applications designing your own protocols
  • be able to design and develop distributed applications using RMI
  • be able to access databases using JDBC
  • develop two and three tier web applications using Servlets 

    


Overview of Learning Activities

Learning activities include presentation of concepts and demonstrations in the lecture, design issues, programming assignments and group discussions in the tutorials. Regular feedback will be provided during the laboratory sessions. Java Helpdesk sessions provide help with programming tasks. Use of newsgroups is used for promoting greater staff/student interaction.

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

Course notes, recommended references and Java software development tools.


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 Learning Hub (also known as online@RMIT) 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 design documents, programming assignments, laboratory demonstrations 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