Phone: (250) 721-8697
E-mail: itraore@ece.uvic.ca
Office hours: Monday, Thursday: 11:00am-
12:30pm
Location: EOW 415
Time/Location:
ELL 061, 1:00-2:30pm, Monday, Thursday.
Students are advised to read the faculty of Engineering document Standards for professional behavior (http://www.engr.uvic.ca/policy/professional-behaviour.html), which contains important information regarding conduct in courses, in labs and in the general use of facilities.
Further Reading:
1. The Unified Modeling Language User Guide, by Grady Booch, James Rumbaugh, Ivar Jacobson, Addison-Wesley, 1999.
2. Inside CORBA: Distributed object Standards and Applications, by Thomas Mowbray and William Ruh,Addison-Wesley, ISBN: 0-201-89540-4
3. Large-Scale, Component-Based Development, by Alan W. Brown, Prentice Hall, 2000, ISBN: 0-13-088720-X.
4. Software Architecture in Practice,
by Len Bass, Paul Clements, Rick Kazman, Ken Bass. Addison-Wesley.
5. Pattern-Oriented Software Architecture
(Part I), A System of Patterns, by F. Buschmann, R. Meunier, H. Rohnert,
P. Sommerlad, M. Stal, Wiley, 1996, ISBN: 0 471 95869 7
Chapter
1: Introduction to Software Architecture
Introduce software architecture with primary emphasis on the IEEE Recommended Practice for Software Architecture description. Concepts covered include:
Chapter 3: Logical View
Notation and Documentation of the Logical
view of Software Architecture.
Chapter 4: Design Planning
Introduction to the processes of tradeoff
and risk analysis that prelude and guide the design of a resilient software
architecture. Identification of factors and quality attributes that characterize
a system; identification of underlying design issues, and suitable design
strategies.
Chapter 5: Implementation, Process,
and Deployment Views
Notation and Documentation of the Implementation,
Process, and Deployment Views.
Chapter 6: Using Metrics to Manage
Software Risks
Presentation of software metrics, and
how they can be used to measure quality factors such as testability, maintainability,
reusability and so on.
Chapter 7: Patterns
Presentation of commonly used architectural
styles and patterns. Overview of design patterns. Introduction of the techniques
and notations provided by the UML for modeling design and architectural
patterns.
Chapter 8: Introduction to CORBA
Introductionto distributed systems and
discussion of the issues surrounding distributed architectures; presentation
of the CORBA standard as an example of Distributed Object Architecture
(DOA).
Chapter 9: CORBA-IDL
Presentation of CORBA Interface Definition
Language (IDL).
Chapter 10: Designing CORBA Systems
Techniques used to derive a CORBA System
from an OO design.
Chapter 11: Implementing CORBA Applications
Steps and methods followed in implementing
a CORBA object-based application. Discussion of issues surrounding distributed
objects location in the network. Presentation of CORBA Naming and Trading
services as medium for locating distributed CORBA objects.
Chapter 12: Introduction to Software
Component-based Development
Introduction to component-based design
(CBD); link with software architecture. Components, connectors and protocols
design using the UML. Insight into standard component models.
Chapter 13: CORBA Component Model
(CCM)
Presentation of the CORBA Component
Model (CCM); Extended IDL for CCM; CIDL code for CCM; Implementation issues
and examples.
Chapter 14: Specialized Software
Architectures
This chapter will consist of presentations
on various issues surrounding or influencing software architecture. Selected
topics among the following issues will be covered:
- Real-time architecture design
- Fault-tolerant architecture design
- User interface design
- Integration of legacy systems in a
software architecture
- Embedded systems architecture design
- Secure software architecture design
- Version-control and configuration
management (VCCM)
- Project management (PM) and software
architecture
Lab:
Lab sessions are scheduled on Thursdays
and Fridays from 2:30 to 5:30.
The course project is divided in 6 small
components that will be performed during the different lab sessions; there
are, in principle, 7 lab sessions. The project consists of the design and
implementation of the software architecture of a Weather Mapping System
(WMS). Implementation will take place both in Java and C++ (combination
of both languages).
Each lab assignment consists of a theoretical
part and a practical part, which are defined in specific lab assignment
statements that are posted at least one or two weeks before the session.
Report and demo. (if applicable) for
each assignment is due for the following session.
Session 0: Tool Presentation
This session is an introductory session;
there is no lab assignment for this session.
Introduction to working with an industrial
strength software development environment, namely Rational Rose: how to
write and maintain a UML specification; configuration management; architecture
design; CORBA-IDL document generation; Java code generation from a UML
model etc.
Presentation of the Project: Weather
Mapping System.
Session 1: Use Case View
Design of the Use Case View. Risk Analysis.
Session 2: Logical View
Design of the Logical View of the Weather
Mapping System (WMS).
Session 3: Integrating Patterns in
the Architecture
Integration of selected architectural
and design patterns in the logical view obtained previously.
Session 4: Implementation, Process,
and Deployment Views
Design of the implementation, process,
and deployment views for the Weather Mapping System.
Session 5: Component and Interprocess
Communication Design
Generation from the previous architecture
design of CORBA Interfaces and Components Definitions.
Sessions 6: Implementation of WMS
Implementation of the Weather Mapping
System (Java & C++), with a particular emphasis on the interprocess
communication mechanism and the software components identified.
Lab Reports:
Lab reports should include:
Weeks
|
Units
|
|
2-6 May
9-13 May
|
Chap 1: Introduction
to Software Architecture
Chap 2: Use Case
View
Chap 3: Logical View
|
|
16-20 May
|
|
|
May 23
|
Victoria Day
|
|
23-27 May
|
Chap 5: Implementation,
Process, and Deployment Views
|
|
30 May - 3 June 6-10 June
|
Chap 6: Using Metrics
to Manage Software Risks
Chap 7: Patterns |
|
13-17 June
20-24 June
|
Chap 8: Introduction
to CORBA
Chap 9: CORBA-IDL
Chap 10: Designing
CORBA Systems
|
|
June 27
|
Midterm Exam
|
|
June 30
|
Reading break
|
|
4-8 July, 11-15 July
|
Chap 11: Implementing
CORBA Applications
Chap 12: Introduction to Software Component-based Development
Chap 13: CORBA Component Model (CCM) |
|
18-22
July
|
Chap 14: Specialized Software Architecture
|
|
25th July
|
Review-Final exam
preparation
|
|
29th July
|
Project demo (Place:
SEng Lab)
|
Lab:
Lab
0: 19/20 May
Lab 1: 26/27 May
Lab 2: 2/3 June
Lab 3: 9/10 June
Lab 4: 16/17 June
Lab 5: 7/8 July
Lab 6: 14/15 July
Lab 7: 21/22 July (dedicated to the project)
Exams:
The midterm is open book and will cover chapters 1-7
The final exam is open book and covers all the chapters.
Activity
|
|
Lab Assignment 1:
Use Case View
(due 2/3 June ) |
|
Lab Assignment 2:
Logical View
(due 9/10 June) |
|
Lab Assignment 3:
Implementation, Process, and Deployment Views
(due 16/17 June) |
|
Lab Assignment 4:
Patterns
(due 7/8 July) |
|
Lab Assignment 5:
Component and Interprocess Communication Design
(due 14/15 July) |
|
Project: Implementation
of WMS
(report/demo due 29 July) |
|
Mid-Term Exam (June
27th, 2005)
|
|
Final Exam
(FRI 05 AUG 9:00 AM UVC A180)
|
|
Grading
The final grade obtained from the above
marking scheme will be based on the following percentage-to-grade point
conversion:
90<= A+ <= 100
85<= A < 90
80<= A- < 85
75<= B+ < 80
70<= B < 75
65<= B- < 70
60<= C+ < 65
55<= C < 60
50<= D < 55
E < 50 Fail, conditional supplemental exam
N Fail, did not write examination
or otherwise complete
course requirements by the end of the term or session;
no supplemental examination.
Lab Assignments, and final exam are
the same for both courses, except a difference in teams composition:
-Assignment team: 1 student by team.
The following evaluation scheme will
be used for SENG522:
-(Lab)
Assignments: 25% (with the same breakdown as for SENG422)
-Project: 15%
-Seminar: 10%
-Final
Exam: 50%
- Lab 0: Lab
Manual