Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

COMP27900: Systems Integration (2008-2009)

This is an archived syllabus from 2008-2009

Systems Integration
Level: 2
Credit rating: 20
Pre-requisites: No Pre-requisites
Co-requisites: No Co-requisites
Lectures: 20
Labs: 60
Lecturers: Tim Morris, Thierry Scheurer
Course lecturers: Tim Morris

Thierry Scheurer

Additional staff: view all staff
Timetable
SemesterEventLocationDayTimeGroup
Sem 1 w1-5,7-12 Lecture 1.4 Thu 11:00 - 12:00 -
Sem 1 w2-5,7-12 Lab LAMB LambLab Fri 13:00 - 17:00 -
Sem 2 w19-26,30-33 Lecture 1.5 Fri 10:00 - 11:00 -
Sem 2 w20-26,30-33 Lab LAMB LambLab Tue 13:00 - 15:00 -
Sem 2 w20-26,30-33 Lab LAMB LambLab Fri 13:00 - 17:00 -
Assessment Breakdown
Exam: 0%
Coursework: 100%
Lab: 0%

Introduction

There is a growing recognition that theoretical teaching should be supplemented with substantial practical applications, without which theory is meaningless. Moreover, applications should be comprehensive and give students a wide scope for enquiry and decision-making. This is the principle underpinning Enquiry-Based Learning. The process will be even more relevant, if it is to be carried out in groups rather than individually. Through group work, students learn to collaborate as they would in any purposeful human organization. Group work also naturally induces members to communicate process-related ideas to one another, so it gives them a natural incentive to express their ideas coherently and effectively. All these are vital skills which can be fostered through a team-based comprehensive project.

Aims

The main aim of the course unit Systems Integration is to put into practice the philosophy expounded in the Introduction. The main element of the unit is a comprehensive team-based project to be carried out over two semesters. The project consists of a number of software development tasks ranging from specification to implementation and testing. The nature of the artifact to produce varies, but typically consists of a Web-based information system featuring dynamically generated pages and persistent information storage through a database management system.

The team-based nature of the project is another key aspect. Teams are small, typically of four or five members, and expected to work independently of one another (although communication between teams is not prevented). The main challenge for each team is to achieve effective collaboration of its members in the pursuit of relatively complex tasks. This requires accurate communication and close co-ordination of activities amongst members. An interesting consideration is how this process influences the members? individual learning and methods, e.g. by inducing them to express their ideas explicitly and precisely.

The unit does not introduce any new theory. Its main aim is to consolidate the most fundamental principles of software construction covered mainly in the first year. Four areas of software engineering are prioritized: program design and programming in an imperative, object-oriented language (Java); database design and implementation; human-computer interface design; and Web-based application design, incorporating the so-called three-tier client-server paradigm (browser ? server ? database management system). A related key aim of the project is to illustrate the problem of integrating these multiple aspects into a working system capable of evolution in response to changing requirements and system environment.

Learning Outcomes

On successful completion of this course unit, students should be able to:

Academic knowledge:
Demonstrate a sound understanding of the fundamental software engineering concepts and principles in the areas listed under Aims and, above all, explain how these principles inform the development of actual software systems.

Intellectual skills:
Read the relevant Java programs and demonstrate understanding by carrying out such tasks as identifying and correcting logical errors, filling gaps, making changes, etc.
Understand a natural language (or semi-formal) program specification for a system and correctly implement it.
Reason about a program in relation to its specification.
Construct a precise, detailed and coherent system specification from an outline and relatively fuzzy set of requirements.
Design and implement substantial Java servlet programming components realizing the 3-tier model.

Subject practical skills:
Use program development tools (Integrated Development Environments etc.) effectively.
Establish and apply effective strategies for detecting, identifying and correcting logical errors in software.
Establish and apply effective strategies for testing software against specifications.

Transferable skills:
Apply a rigorous and systematic approach to the description of any type of system and to problem-solving.
Plan activities akin to software engineering and ensure their execution in accordance with the plan (control).
Understand a specification document correctly and construct an artifact consistent with it.
Understand the factors of effective collaboration within a small team of fellow specialists tasked with the production of software systems or other artifacts of a similar nature.
Effectively collaborate accordingly.

Assessment of Learning outcomes


Owing to the team-based nature of the project, the assessment of an individual student?s performance has two main objects: (1) individual achievement and (2) contribution to team achievement. Both components are evaluated by a variety of elements considered jointly. These include:
(a) Relatively small software development tasks to be carried out and assessed individually.
(b) Tests under examination conditions of practical knowledge gained from performing individual and team work.
(c) Written descriptions of the student?s contribution to their team?s achievement. These must be endorsed by the other members of the student?s team.
(d) Team output, mainly reports, software and laboratory demonstrations. In practice, the most distinctive feature of the team effort (as opposed to individual work) is to integrate the members? individual solutions into a coherent whole. The team mark is converted to a component of the student?s individual mark by application of a normalized contribution coefficient. The latter is determined as objectively as possible by the individually-evaluated elements (a), (b) and (c).

Contribution to Programme Learning Outcomes


A1, A2, A4, B1, B2, C6, D2, D6

Syllabus


Introduction to Web-based distributed systems.
Client-server architecture: two- and three-tier models.
Web browser - Web server connection. Static versus dynamic Web pages.
Technologies - HTTP protocol, HTML and browser-server connection
Java enterprise applications. Java servlet programming.
Role of object-oriented programming in servlet applications.
A generic design for servlet-based dynamic Web applications.
Connecting a Java application to a database using JDBC.
Key programming concepts as they apply to Web-based applications
Key principles of database design as they apply to Web-based applications
Key principles of human-computer interaction as they apply to Web-based applications

Reading List

Supplementary Text
Title: Java Servlet programming
Author: Hunter, Jason and William Crawford
ISBN: 156592391X
Publisher: O'Reilly
Edition: 2nd
Year: 2001