Overview
This course will examine the software development process emphasizing
the production of reliable systems. Students further their understanding
of techniques for the design and development of complex software systems
by considering issues of object oriented analysis, formal specifications,
design and modeling, software quality, maintenance and ethics. Concepts
discussed in the course are linked to concrete examples through a number of
assignments, while students gain first hand experience will all aspects of
the software design and development process through a substantial group term
project.
Students entering this course are expected to have a solid background in
team-oriented design and production of software systems such as that provided
by CIS*3430 or CIS*3650 in addition to strong organizational and problem
solving skills. It is assumed that the student is familiar with
programming in a variety of paradigms (procedural, object-oriented, etc.)
and has a good grasp of programming for the Java platform.
See
calendar description for additional information (including prerequisites).
Evaluation
- Assignments : 20% (distribution TBA)
- Project : 40%
- Quizzes : 20% (4 x 5%)
- Final exam : 20% (take-home)
NOTE: You must achieve a passing grade on both the assignment/project and
quiz/exam sections in order to obtain a passing grade in the course. Should
you fail one or both of these sections, your final grade will be the lower of
the failed component(s) of the course. All assignments must be submitted to
pass the course---if this condition is not met the highest grade you can
achieve in the course is 45%. Late assignments and source code which does
not compile will not be accepted for marking (assigned grade of 0).
Individual project grades will be weighted based on weekly student feedback
from all members of the group.
Required Texts
Ben Potter, Jane Sinclair and David Till,
An Introduction to Formal Specification and Z (2e).
Prentice Hall, 1996 (ISBN 0-13-242207-7).
Craig Larman, Applying UML and Patterns (2e).
Prentice Hall, 2002 (ISBN 0-13-092569-1).
Last Modified: 2002 / 01 / 04