Java Reference
In-Depth Information
your computer and start typing. This approach may work for small programs (like the ones
we present in the early chapters of the topic), but what if you were asked to create a soft-
ware system to control thousands of automated teller machines for a major bank? Or sup-
pose you were asked to work on a team of 1,000 software developers building the next
generation of the U.S. air traffic control system? For projects so large and complex, you
should not simply sit down and start writing programs.
To create the best solutions, you should follow a detailed
analysis
process for deter-
mining your project's
requirements
(i.e., defining
what
the system is supposed to do) and
developing a
design
that satisfies them (i.e., specifying
how
the system should do it). Ide-
ally, you'd go through this process and carefully review the design (and have your design
reviewed by other software professionals) before writing any code. If this process involves
analyzing and designing your system from an object-oriented point of view, it's called an
object-oriented analysis-and-design (OOAD) process
. Languages like Java are object ori-
ented. Programming in such a language, called
object-oriented programming (OOP)
,
allows you to implement an object-oriented design as a working system.
Although many different OOAD processes exist, a single graphical language for commu-
nicating the results of
any
OOAD process has come into wide use. The Unified Modeling
Language (UML) is now the most widely used graphical scheme for modeling object-ori-
ented systems. We present our first UML diagrams in Chapters 3 and 4, then use them in
our deeper treatment of object-oriented programming through Chapter 11. In our
option-
al
online ATM Software Engineering Case Study in Chapters 33-34 we present a simple
subset of the UML's features as we guide you through an object-oriented design experience.
Operating systems
are software systems that make using computers more convenient for us-
ers, application developers and system administrators. They provide services that allow each
application to execute safely, efficiently and
concurrently
(i.e., in parallel) with other applica-
tions. The software that contains the core components of the operating system is the
kernel
.
Popular desktop operating systems include Linux, Windows and Mac OS X. Popular mobile
operating systems used in smartphones and tablets include Google's Android, Apple's iOS
(for its iPhone, iPad and iPod Touch devices), Windows Phone 8 and BlackBerry OS.
In the mid-1980s, Microsoft developed the
Windows operating system
, consisting of a
graphical user interface built on top of DOS—an enormously popular personal-computer
operating system that users interacted with by typing commands. Windows borrowed
many concepts (such as icons, menus and windows) popularized by early Apple Macintosh
operating systems and originally developed by Xerox PARC. Windows 8 is Microsoft's lat-
est operating system—its features include PC and tablet support, a tiles-based user inter-
face, security enhancements, touch-screen and multi-touch support, and more. Windows
is a
proprietary
operating system—it's controlled by Microsoft exclusively. It's by far the
world's most widely used operating system.