Engineering 9874 Software Design and Specification

Instructor Dr. D. K. Peters
Lectures Tu, Th 09:00-10:15 EN4033
Office hour Tu 1430-1530 or by appointment
T.A. Pouria Shaker (pouria at engr dot mun dot ca)

Outline | Lecture schedule | Evaluation | Web Submit | Links | FAQ

Detailed Lecture Schedule and Examples

The following is the tentative schedule of lectures and assignments for the term. Lecture topics may change slightly as the term progresses. Click an assignment to view it. Click on a topic to view printable form (Portable Document Format) of the class notes. These may not always be available in advance of the lectures and are not to be considered a substitute for attending class.

If you need information about the file formats, or instructions for downloading them check here.

#Date Deadline Lecture 0900-10:15 Examples/Handouts
1Tu 01.11 Introduction Info. sheet
2Th 01.13 Overview of Software Design & Development
3Tu 01.18
4Th 01.20 Requirements Capture: Use Cases
5Tu 01.25 Class Design (part 1) updated 2005.01.27
6Th 01.27 Class Design (part 2)
7Tu 02.01 Assignment 1 Class Design (part 3) Chess model: Rose .mdl, PDF
8Th 02.03 Interactions Chess (Poseidon file), Class diagram, Update SD, Move SD
9Tu 02.08 GUI in Java
10Th 02.10 Patterns
11Tu 02.15 Patterns (cont'd)
12Th 02.17 Assignment 2 (Design) Patterns (cont'd)
Tu 02.22 Mid-term Break no lecture
13Th 02.24 Inheritance & Delegation
14Tu 03.01 Assignment 3 (Implementation)
Project proposal
Frameworks
15Th 03.03 Behaviour Specification: Statecharts
16Tu 03.08 Alarm clock example: Poseidon model, png of state diagram,
Chess Poseidon model, MouseHandler state diagram
17Th 03.10 Project plan & preliminary design Concurrent Programming Shared.java, Bounded.java, BoundedBuffer.java, Producer.java, Consumer.java, FileReadServer.java, FileReadClient.java
18Tu 03.15 Design review meetings Constraint Specification: OCL
19Th 03.17
20Tu 03.22 Project initial demonstration
21Th 03.24
22Tu 03.29 Verification
23Th 03.31
24Tu 04.05 Project final demonstration Testing with JUnit
25Th 04.07 Final project design & code Review University model (Poseidon), Example OCL questions, Airline model (Poseidon), Solutions to Example OCL questions (revised 2005.04.12 0900)

Textbook

The following are useful books for this course:

  1. Martin Fowler, UML Distilled: A Brief guide to the Standard Object Modeling Language, 3rd edition, Addison-Wesley 2004. ISBN: 0-321-19368-7.
  2. Jos Warmer and Anneke Kleppe, Object Constraint Language: Getting Your Models Ready for MDA, 2nd edition, Addison-Wesley 2003. ISBN: 0-321-17936-6.
  3. Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley 1994. ISBN: 0-201-63361-2
The first one I've listed as the textbook, and the other two as references.

Evaluation

Assignments20%
Project50%
Final Exam30%

Related Links

How to Write JavaDoc Comments
A good introduction to properly commenting your code so that javadoc produces useful results. I strongly encourage you to follow it.
Java Traps for C++ Programers
Dr. Norvell's tips that will be helpful if you're more familiar with C++ than Java.
Klasse Objecten OCL Centre
Some good information about OCL and a tool for writing it.
The Java Tutorial at Sun
This is a great place to learn what you need to know about programming in Java.
Usecases dot org
Use Case Zone
What's Wrong with Use Cases
These are some useful starting points for all kinds of information about use cases.
Poseidon for UML
Visual Paradigm
A couple of UML tools that are compeditors for Rational Rose. Both of these offer free 'community editions'.
Creating a GUI with JFC/Swing
This trail in the Java tutorial outlines about all you need to know about how to make a GUI work in Java/Swing.
Some Tips on setting up and using Eclipse
These are howto tips from Prof. M. P. Bruce-Lockhart. You may well find them helpful.
Design Patterns Wiki
A page in Wiki Wiki Web that is a great starting point for information on patterns.
Anti Patterns
Patterns about how not to do something.
Framework Definition
Another Wiki page, this time as a starting point for reading about frameworks
Steps to RMI
Helpful tips from Dr. Norvell

back to Dennis Peters' homepage

Last modified: Tue 2005.04.12 at 09:02 NDT by Dennis Peters