Lecture overview -- Keyboard shortcut: 'u'  Previous page: Correctness [Section] -- Keyboard shortcut: 'p'  Next page: Correctness -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Textbook -- Keyboard shortcut: 'v'  Help page about these notes  Alphabetic index  Course home  Page 2 : 32
Object-oriented Programming in C#
Contracts and Assertions
Software Qualities

A software quality is a positive property of a program

There are many different software qualities that may be considered and promoted

QualityDescriptionContrast
CorrectSatisfies expectations, intentions, or requirementsErroneous
RobustCan resist unexpected eventsFragile
ReusableCan be used in several contextsApplication specific
SimpleAvoids complicated solutionsComplex
TestableConstructed to ease revelation of errors-
UnderstandableMental manageabilityCryptic

Different program qualities listed by name, description, and (for selected qualities) a contrasting, opposite quality

Of all software qualities correctness play a particular important role