Laboratory
The course project will be performed in
teams of 4-5 students; a single common report should be provided per team for
each deliverable. The project is divided into 3 sections consisting of planning,
designing the software architecture and implementing a system for an online
Land Surveyor Checklist System. The project description, requirements, and
deliverable can be found in the Lab section on Moodle. Lab sessions will give
the opportunity to the students to get familiar with the tools, techniques, and
technologies needed to execute the project.
Each lab session will be divided in two
parts, one focusing on introducing specific software architectural techniques
or technologies, and the other focusing on advancing the course project. There
are, in principle, 9 lab sessions organized as follows (see Lab
Website for more details):
Session 1: Overview
of Lab Project & Tool (May 16, 2014)
This session
will present the project requirements and outline required tasks. An overview
of Rational Software Architect CASE tool will also be given.
Session 2: Design
Patterns- Notions and Tool support (May 23, 2014)
This session
will provide a refresher on design patterns and introduce how Rational Software
Architect can be used to integrate design patterns in your architecture design.
Various design patterns and techniques for applying selected patterns to an
architecture description will be covered.
Session 3:
Architecture Transformation and Discovery (May 30, 2014)
This session
will focus on techniques for round-trip engineering (using Rational Software
Architect tool), which consists of generating skeleton code from an
architecture document, and extracting the architecture layout from existing
program code.
Session 4: XML programming with XOM (June 6, 2014)
In this session, you will learn step by step how to
use XML object model (XOM). XOM is a unique Java toolkit for working with XML,
engineered to enable rapid development of XML applications. Its design embraces
the Java language from syntax to semantics, but it is better than existing (and
more standard) XML APIs.
Session 5:
Architecture Modeling (June 13, 2014)
This session
will briefly revisit notions of architecture modeling (introduced in class) and
discuss how to build architecture models using the toolkit. The remaining of the session will consist of
Q&A focusing on challenges encountered by students in executing project
part II.
Session 6: Web
Service Implementation-Part I (June 20, 2014)
In this session, you’ll learn how to create a simple
Web service and Web service client using the Java technology. An overview of
web service programming approaches, tools and APIs will be given. You will
learn how to design web services using Simple Object Access Protocol (SOAP) and
REpresentational State Transfer (REST) technologies.
Session 7: Web Service
Implementation-Part II (June 27, 2014)
This session will revisit web service implementation
techniques by focusing on challenges related to the integration of the specific
COTS web services involved in the project.
Session 8: Cloud
Platform (July 11, 2014)
This session
will introduce tools and techniques for cloud migration, deployment, and
configuration.
Session 9: Project
Finalization (July 18, 2014)
This will be
an open and Q&A session focusing on challenges encountered by students in
executing project part III.
Session 10: Project
Demo (August 1, 2014)
Project
demonstration.