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.