Download COMP 542 Object Oriented Programming

Transcript
COMP 542/4 E
Winter 2000
4
however, is a high quality software product: software that is user-friendly, robust, and welldocumented. Credit will be given for quality rather than quantity.
Some ideas for projects are given on the web page
www.cs.concordia.ca/~faculty/grogono/projects.html.
2
Phases of Software Development
Software development is traditionally divided into various phases, which we describe briefly
here. For small projects, the phases are carried out in the order shown; for larger projects,
the phases are interleaved or even applied repetitively with gradually increasing refinement.
2.1
Requirements
The purpose of requirements analysis is to find out what the program is expected to do. This
is done in the application domain. The result of requirements analysis might be that we don’t
need a program at all.
2.2
Specification
A specification is a precise description of what the program is supposed to do (but not how
it works). The specification bridges the application domain and the implementation domain
because it describes the external behaviour of the computer system. The specification can also
be viewed as a contract between the client who wants the program and the software company
that is supplying it.
2.3
Design
The design is a precise description of the internal structure of the program. The design of an
object oriented program is usually a description of the classes and their interactions.
Design is the most important, but also most difficult, phase of software development. If the
design is good, implementation should be straightforward. If the design is bad, the project
may fail altogether.
2.4
Implementation
Implementation consists of writing the code: it is the activity that is often called “programming”.
2.5
Testing
The code is tested thoroughly to ensure that the finished program meets its specification.