Engineering 9874 Software Design and Specification
| Instructor |
Dr. D. K. Peters |
| Lectures | M, W, F 0900-0950 EN4033 |
| Office hour | W 1500-1600, F 1400-1500
or by appointment |
| T.A. |
Liangjie He
Office: ER4054
Office Tel No: 737-8843
E-mail: liangjie@engr.mun.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-0950 |
Examples/Handouts |
Suggested reading |
| 1 | M 01.07 |
|
Introduction |
Info. sheet |
| 2 | W 01.09 |
|
Overview of Software Design
& Development |
| 3 | F 01.11 |
| 4 | M 01.14 |
| 5 | W 01.16 |
|
Requirements capture |
| 6 | F 01.18 |
|
Use cases: Template,
ATM Transaction,
ATM Customer Sign-in,
ATM Withdraw Cash
|
| 7 | M 01.21 |
|
Class Design |
| 8 | W 01.23 |
| 9 | F 01.25 |
| 10 | M 01.28 |
| 11 | W 01.30 |
Assignment 1 |
Interactions |
| 12 | F 02.01 |
| 13 | M 02.04 |
|
Patterns |
| 14 | W 02.06 |
| 15 | F 02.08 |
| 16 | M 02.11 |
Project team selection |
| 17 | W 02.13 |
Assignment 2 |
Review |
| 18 | F 02.15 |
|
Mid-term Test |
| M 02.18 |
Mid-term Break, no lectures |
How to Run SOCCER |
| W 02.20 |
| 19 | F 02.22 |
|
Inheritance & Delegation |
| 20 | M 02.25 |
| 21 | W 02.27 |
| 22 | F 02.29 |
|
Frameworks |
| 23 | M 03.03 |
|
Behaviour Specification:
Statecharts |
Example Soccer model, view, team: soccerDpetersOb.jar |
| 24 | W 03.05 |
| 25 | F 03.07 |
|
Soccer Tester |
| 26 | M 03.10 |
|
Alarm Clock statechart
Revised ISimulatorNet soccer_src.zip, javadoc. |
| 27 | W 03.12 |
|
Constraint Specification:
OCL |
University model,
Airline model
|
| 28 | F 03.14 |
Project part 1 |
| 29 | M 03.17 |
| 30 | W 03.19 |
|
Verification |
| F 03.21 |
Good Friday, no lecture |
| 31 | M 03.24 |
|
Verification (cont'd) |
| 32 | W 03.26 |
|
Updated soccer model, view, team: soccerDpetersOb.jar |
| 33 | F 03.28 |
|
| 34 | M 03.31 |
Project part 2 |
Testing with JUnit |
2005 Final, 2006 Final |
| 35 | W 04.02 |
| 36 | F 04.04 |
|
Review |
2005 Final solutions,
2006 Final solutions
Mid-term solutions
Formula sheet |
Textbook
The following are useful books for this course. The first three are the
main books:
- Robert C. Martin. Agile Software Development: Principles,
Patterns, and Practices.
Prentice-Hall, 2003. ISBN: 0-13-597444-5
- Bernd Bruegge and Allen H. Dutoit, Object-Oriented Software
Engieering: Using UML, Patterns, and Java, 2nd edition, Pearson Prentice-Hall 2004. ISBN: 0-13-0471100
- Jos Warmer and Anneke Kleppe, Object Constraint Language: Getting
Your Models Ready for MDA, 2nd edition, Addison-Wesley
2003. ISBN: 0-321-17936-6.
-
Martin Fowler, UML Distilled: A Brief guide to the Standard Object
Modeling Language, 3rd edition, Addison-Wesley 2004.
ISBN: 0-321-19368-7.
- 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
- David Flanagan, Java in a Nutshell, 5th edition,
O'Reilly & Associates, 2005,
ISBN: 0-59600-773-6.
The first one I've listed as the textbook. The others are useful references.
Evaluation
| Assignments (2) | 10% |
| Project (2 parts) | 30% |
| Mid-term test | 10% |
| Final Exam | 50% |
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
- These are some useful starting points for all kinds of information
about use cases.
- Poseidon for UML and Apollo for
Eclipse
- eUML2
- Visual Paradigm
- Some UML tools that are compeditors for Rational Rose. All of
these offer free 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
back to Dennis Peters' homepage
Last modified:
$Date: 2008-09-29 09:36:11 -0230 (Mon, 29 Sep 2008) $
($Revision: 501 $) by
$Author: dpeters $