Java Reference
In-Depth Information
12
Einstein argued that there must be simplified explanations of nature,
because God is not capricious or arbitrary. No such faith comforts
the software engineer. Much of the complexity that he must master is
arbitrary complexity.
F. BROOKS, “No Silver Bullet: Essence and Accidents
of Software Engineering,” IEEE Computer , April 1987
Introduction
UML and patterns are two software design tools that apply no matter what
programming language you are using, as long as the language provides for classes and
related facilities for object-oriented programming (OOP). This chapter presents a
very brief introduction to these two topics. It contains no new details about the Java
language.
UML is a graphical language that is used for designing and documenting software
created within the OOP framework.
A pattern in programming is very similar to a pattern in any other context. It is a
kind of template or outline of a software task that can be realized as different code in
different, but similar, applications.
Prerequisites
Section 12.1 on UML and Section 12.2 on patterns can be read in either order.
Nothing in the rest of this topic requires any of this chapter. Section 12.1 on UML uses
material from Chapters 1 - 5 and Chapter 7 on inheritance. Section 12.2 on patterns
uses material from Chapters 1 - 7 and Chapter 11 .
12.1
UML
One picture is worth a thousand words.
Chinese proverb
Most people do not think in Java or in any other programming language. As a result,
computer scientists have always sought to produce more human-oriented ways of
representing programs. One widely used representation is pseudocode, which is a
mixture of a programming language, such as Java, and a natural language, such as
English. To think about a programming problem without needing to worry about
the syntax details of a language such as Java, you can simply relax the syntax rules and
write in pseudocode. Pseudocode has become a standard tool used by programmers,
 
 
Search WWH ::




Custom Search