User Tools

Site Tools


start

This is an old revision of the document!


Your Course

About The Course

The course deals with the problem of designing software which can be used, understood and modified by people other than the original developer. Software design is in itself a large topic as design can deal with various classes of programs and systems: small, medium and large; batch; real time; distributed; and interactive (visual and graphical). Every design class has its own problems. In this course we will deal with the design of small to medium non-interactive programs and small systems that work without time constraints.

We will study the following design methods: top down design, bottom up design and abstract data types, object-oriented design and design by contract. A robust design method combines the advantages of each of the methods and uses them at appropriate times.

Some of techniques we will look at will be: backtracking, exception handling, and the use of design patterns.

The design methods and techniques can be applied to most programming paradigms but this course will primarily use object-oriented programming.

Graphical documentation will use BON (Business Oriented Notation). Programming will be in Eiffel.

Why Eiffel?

Students enrolling in this course may wonder why we use Eiffel. The Eiffel programming language is used in this course because it supports several OO concepts that are not supported in other, more popular languages e.g., Java, such as inheritance from multiple classes. The most important however feature offered by Eiffel is support for contracts on the language level.

Textbooks

Lecture Times

  • Tuesday and Thursday, 17:30pm - 19:00pm, CB 115
start.1345768959.txt.gz · Last modified: 2012/08/24 00:42 by pawluk

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki