Page 61 -
P. 61
32 PART ONE THE PRODUCT AND THE PROCESS
developers get to build something immediately. Yet, prototyping can also be prob-
lematic for the following reasons:
1. The customer sees what appears to be a working version of the software,
unaware that the prototype is held together “with chewing gum and baling
wire,” unaware that in the rush to get it working no one has considered over-
all software quality or long-term maintainability. When informed that the
product must be rebuilt so that high levels of quality can be maintained, the
customer cries foul and demands that "a few fixes" be applied to make the
prototype a working product. Too often, software development management
Resist pressure to
extend a rough relents.
prototype into a 2. The developer often makes implementation compromises in order to get a
production product. prototype working quickly. An inappropriate operating system or program-
Quality almost always
suffers as a result. ming language may be used simply because it is available and known; an
inefficient algorithm may be implemented simply to demonstrate capability.
After a time, the developer may become familiar with these choices and for-
get all the reasons why they were inappropriate. The less-than-ideal choice
has now become an integral part of the system.
Although problems can occur, prototyping can be an effective paradigm for soft-
ware engineering. The key is to define the rules of the game at the beginning; that is,
the customer and developer must both agree that the prototype is built to serve as a
mechanism for defining requirements. It is then discarded (at least in part) and the
actual software is engineered with an eye toward quality and maintainability.
2.6 THE RAD MODEL
Rapid application development (RAD) is an incremental software development process
model that emphasizes an extremely short development cycle. The RAD model is a
“high-speed” adaptation of the linear sequential model in which rapid development
is achieved by using component-based construction. If requirements are well under-
stood and project scope is constrained, the RAD process enables a development team
to create a “fully functional system” within very short time periods (e.g., 60 to 90 days)
[MAR91]. Used primarily for information systems applications, the RAD approach
encompasses the following phases [KER94]:
Business modeling. The information flow among business functions is modeled in
a way that answers the following questions: What information drives the business
process? What information is generated? Who generates it? Where does the infor-
mation go? Who processes it? Business modeling is described in more detail in Chap-
ter 10.
Data modeling. The information flow defined as part of the business modeling phase
is refined into a set of data objects that are needed to support the business. The char-