E&CE 355 Fall 2005

Marks | Schedule | Material | Project | Exams | Credits | Revisions


Contacts

University of Waterloo Faculty of Engineering Electrical and Computer Engineering Yellow Book description
Newsgroup news:uw.ece.ece355 uw.ece.ece355 (at) news.uwaterloo.ca
Professor Professor Kontogiannis kakontogiannis (at) uwaterloo.ca x2840 DC 2539 Office hours: Monday 4:00-5:00 pm
Lab instructor Tiuley Alguindigue talguindigue (at) uwaterloo.ca x2199 E2 2365
Backup Lab instructor Ricardo Rolon rolon (at) uwaterloo.ca x6693 E2 2365
System administrator Sanjay Singh ssingh (at) uwaterloo.ca x6165 E2 3343

TA's Office Hours held at EIT 3147 from 12:30 - 13:30 (Monday - Friday).
Teaching assistants
Payam Ghafari payamgh (at) gmail.com Office Hours: EIT 3147 12:30 - 13:30 (Mondays)
Masoud Makrehch mmakrehc (at) engmail.uwaterloo.ca Office Hours: EIT 3147 12:30 - 13:30 (Tuesdays)
Igor Ivkovic iivkovic (at) swen.uwaterloo.ca Office Hours: EIT 3147 12:30 - 13:30 (Wednesdays)
Lei Chen l5chen (at) engmail.uwaterloo.ca Office Hours: EIT 3147 12:30 - 13:30 (Thursdays)
Ali Razavi arazavi (at) swen.uwaterloo.ca Office Hours: EIT 3147 12:30 - 13:30 (Fridays)

Textbook

Object-Oriented Software Engineering – Using UML, Patterns and Java
2nd edition
Bernd Bruegge, Allen H. Dutoit
© 2004 Prentice Hall

$78.95 UW Bookstore

Marks

100 %Total
0 %Assignments
25 %Project
0 %Preparation
6 %Requirements Specifications
7 %Design Specification
7 %Implementation
5 %Demonstration
25 %Midterm exam
50 %Final exam

Schedule


Lectures Schedule Section 2
10:30-11:20 Tuesday
RCH 302

Section 1
15:30-16:20 Tuesday
RCH 110
Section 2
9:30-10:20 Thurday
RCH 302

Section 1
14:30-16:20 Thursday
RCH 103

Tutorials Schedule Group 201
16:30-17:20 Th
MC4064

Group 204
13:30-14:20 Th
PAS1229
Group 202
16:30-17:20 T
MC4042

Group 205
13:30-14:20 T
RCH305
Group 203
16:30-17:20 F
DWE3522A

Group 206
13:30-14:20 F
RCH308

The Tutorials topics may cnange according to need.

Lecture Notes

Unit 1: Software Engineering Basics (Chapter 1) Lect.1, Lect.2,
Unit 2: Process Model and Software Life Cycle (Chapter 15) Lect.3
Unit 3: Software Requirements (Chapter 4) Lect.4, Lect.5,
Unit 4: Unified Modeling Language (Chapter 2) Lect.6, Lect.7, Lect.8
Unit 5: Design Basics and Software Architecture (Chapter 6) Lect.9, Lect.10,
Unit 6: Traditional Analysis and Design Lect.11
Unit 7: Design Patterns and Mapping Models to Code Lect.12, Lect.13, Lect.14
Unit 8: Testing and Reliability Lect.15, Lect.16, Lect.17
Unit 9: Software Project Management and Economics Lect.18

Tutorial Notes

Tutorial Material
Sep 13 - 17 SIP Communicator Use (Own work)
Sep 19 - 23 Administration SIP Protocol Basics (Tutorial notes)
SIP Programming (Tutorial notes)
CVS Tutorial notes(ppt) (For reference only)
Eclipse Basic Usage and Setup (For reference only)
Obtaining SIP Source from CVS (For reference only)
Sep 26 - Sep 30 UML Use Cases (Tutorial notes)
Together CE for Eclipse (For reference only)
Oct 3 - 7 UML Class and Interaction Diagrams (Tutorial notes)
Oct 10 - 14 UML(ppt)
Oct 17 - 21 Requirements
Due:Oct 17
More UML(ppt)
Oct 24 - 28 Midterm week UML - State Chart
Diagrams
Oct 31 - Nov 4 Software Architecture
Nov 6 - 11 Design Patterns I
Nov 14 - 18 Design
Due:Nov 17
Design Patterns II
Nov 21 - 25 Design Patterns III
Design Patterns IV
Nov 28 - Dec 2 Implementation
Due:Nov 30
Software Reliability(ppt)
Link to Interestimg Software Testing Tutorial(ppt),
Local Copy with some minor updates(ppt)
Nov 5 - Dec 9 Project Demos
Due:Dec 1-2, 5

Resources

Unix operating system Unix Tutorial Part I, University of Waterloo IST
Concurrent Versions System (CVS) Open Source Development with CVS, 3rd ed., Karl Fogel and Moshe Bar
HTML version, 1st ed.
SIP overview Understanding SIP, iptel.org
SIP protocol SIP Protocol Overview, RADVISION Ltd.
SIP Protocol RCF 3261 - Sip: Session Initiation Protocol
JAIN SIP project NIST JAIN-SIP project home page, Sun Microsystems
JAIN SIP design tutorial JAIN SIP Tutorial, Phelim O'Doherty, Mudumbai Ranganathan
SIP Communicator project SIP Communicator project home page, Sun Microsystems
SIP Communicator design tutorial JAIN-SIP & SIP Communicator, Emil Ivov
BudgeTone SIP phone BudgeTone 100, Grandstream Networks
User's manual (PDF)
UML Practical UML: A Hands-On Introduction for Developers - by Randy Miller
UML - Use Case Diagrams UML Use Case Diagrams: Tips and FAQ
UML - Reference The Diagrams of UML 2.0
UML - Diagram Guidelines UML Use Case Diagramming Guidelines
UML Sequence Diagramming Guidelines
UML Collaboration Diagramming Guidelines
UML Class Diagramming Guidelines
UML Activity Diagramming Guidelines
UML State Machine Diagramming Guidelines
Borland Together Community Edition free modeling tool for UML 2.0, Borland
OO methodology with UML Complete example of OO methodology applied to the simulation of an Automated Teller Machine.
Download ATM Example.
Volere Template Volere Requirements Specification Template
JUnit testing with Eclipse Using JUnit With Eclipse IDE, Alexander Prohorenko and Olexiy Prohorenko
Bridge material between Architecture Styles and Design Patterns OO Design (ppt)
Overview of Design Patterns and Examples Patterns Overview(ppt)

Project


I. Administration

(Suggested completion date Friday September 16, 2005)

Windows Nexus
  • Ensure that you can log into your Nexus account.
  • See this description of computer resources for more information.
  • If you have trouble with your account, or if you need to create a new account, contact the system admininstrator.
Individual
Solaris SunEE
  • Ensure that you can log into your SunEE account.
  • See this description of computer resources for more information.
  • We automatically create an account on the sunee network for each student enrolled in the course. We will tell you the initial password in class.
  • If you have trouble with your account contact the system admininstrator.
Individual
Remote X Windows
(optional)
SunEE access from Nexus
  • You can use your Solaris from Nexus through ssh and/or X Windows.
  • See this description of computer resources for more information.
Individual
Home PC or laptop
(optional)
Windows, Linux, other
  • You are welcome to complete the project work on your own home PC or laptop.
  • However, you must perform the Demonstration portion of the project on campus.
Individual
Lab kit Audio headset and microphone
  • Purchase an audio headset and microphone for use on a personal computer.
  • You will be using this equipment for placing Internet telephone calls in the Preparation phase and the other phases of the project.
Individidual
Project group Course Book
  • You complete some of the project work as a group.
  • The project group size is 4.
  • Define your group through Course Book, before the Administration deadline.
  • We use the Course Book group information to create Unix-style user groups on SunEE, which are required for the Preparation phase and the other phases of the project.
Group

II. Preparation

SIP Use of SIP clients Starting a conversation with two SIP Communicator Clients
  • Instructions and resourses PreparationSIP.html
    (suggested completion date Friday Sept. 16, 2005).
Group
IDE Integrated Development Environment Eclipse with CVS and Java
Group
SIP Session Initiation Protocol SIP Communicator
Group
WSDP Web Services WSDP 1.6
Group
Submission No submissions for this phase.

III. Requirements Specifications

(Deadline: Monday October 17, 2005)

SRS Overall Project Description
Group
SRS SRS Template
Group

IV. Design Specifications

(Deadline: Tuesday, November 22, 2005)

Design Design Template
Group
Sample Source Code Project Sample Code Package
Group

V. Implementation and Demonstration


(Deadline: Tuesday, Nov 30, 2005)
Submission Submission Details
Group
Group

Exams

Past Final 2004 (Fall)
Past Final 2003 (Fall)
Past Final 2003 Solutions (Fall)
Past Final 2001 Review (Fall)
Midterm 2005 Solutions (Current)
Past Midterm 2004 (Winter)
Past Midterm 2003 (Fall)
Past Midterm 2003 (Winter)
Past Midterm 1998 (Fall)
Past Midterm 1997 (Fall)

Credits

Lab support

Current and future presentations of the course are indebted to the lab instructors, Tiuley Alguindigue and Sanjay Singh, for their dedicated effort in preparing the project and lab support material, with assistance from their colleagues, Eric Praetzel and Bernie Roehl. We acknoledge Ali Razavi's help in the selection of the UML modelling tool, and in coding the GUI interface provided for the chat feature.

SIP Communicator

The SIP Communicator software is available in the public domain as a result of the IP Telephony Project at the National Institute of Standards and Technology (NIST). We gratefully acknowledge the project's subsequent maintainer,Emil Ivov, for his generousity in supporting our course preparation.

Borland Together Designer Community Edition

We appreciate Borland's progressive licensing arrangements in making Together Designer Community Edition available to the software engineering community for no charge.

Rational Rose RealTime

We gratefully acknowledge the generous donation by IBM of free licenses for Rational Rose RealTime for use by students in the course.

Support material

The following table identifies the written permission obtained from the copyright holders to reproduce the copyrighted materials used in teaching the course.
OOSE lecture notes Pearson Education, Inc.
JAIN-SIP & SIP Communicator tutorial, etc. Emil Ivov

Web site

This web site's original contents are copyright © 2004 by Norman Young. Subsequent changes and additions are copyright by their respective authors. The University of Waterloo, its faculty, staff and students may copy and modify this web site's contents for research and teaching purposes at the University. Other uses require the author's permission.


Revisions


Revision 2.0 2005/10/4 23:30:38 ece355
Added Project Description

Revision 1.22 2004/09/14 18:49:38 ece355
Added supplementary notes for units 1 to 5.

Revision 1.21 2004/09/14 18:34:24 ece355
Finalize the lecture schedule.
Move "Draft" warning to project description.

Revision 1.18 2004/09/13 12:14:31 ece355
Changed text book price and link.