- Forward


Vector Arithmetic
Software Design Considerations


Prof. David Bernstein
James Madison University

Computer Science Department
bernstdh@jmu.edu

Print

Qualitative Goals: A Reminder
Back Forward
  • Adequate - Meets all of the requirements and satisfies all of the constraints
  • Reliable - Low probability of failure under normal operating conditions
  • Robust - Able to operate under a wide variety of condtions
  • Safe - Able to minmize the damage resulting from failure
  • Easy to Repair and Enhance
  • Easy to Understand/Document and Use
  • Easy to Re-use
High-Level Design
Back Forward
  • Should we have a Point (or Vector) class or just use an array?
  • Should we name the class (if we need one) Vector?
High Level Design
Back Forward

What methods do we need?

Low-Level Design: Attributes
Back Forward

Should the attributes of a Point class be an array or individual values?

Low-Level Design: Attributes (cont.)
Back Forward

How should we handle the number of elements?

Low-Level Design: Methods
Back Forward

Should methods return a new Point/array, or should it modify the parameters?

Low-Level Design: Methods (cont.)
Back Forward

What kind of error checking should be performed?

There's Always More to Learn
Back -