Java Reference
In-Depth Information
2.7 Making design decisions on a project
In this section you will see an example of how a development team goes about
making the five design decisions I introduced in this chapter. It illustrates the kind
of decision-making process that you must use when choosing between the POJO
approach and the heavyweight approach. The team in this example is developing
an application for a fictitious company called Food to Go Inc. I describe how the
developers make decisions about the overall design of the Food to Go application
and decisions about the design of the business logic for individual use cases.
2.7.1
Overview of the example application
Before seeing how the team makes decisions, let's first review some background
information about the problem the team is trying to solve, and the application's
high-level architecture. This will set the stage for a discussion of how a develop-
ment team can go about making design decisions. Food To Go Inc. is a company
that delivers food orders from restaurants to customers' homes and offices. The
founders of Food to Go have decided to build a J2EE -based application to run
their business. This application supports the following kinds of users:
Customers —Place orders and check order status
Customer service reps —Handle phone enquiries from customers about their
orders
Restaurants —Maintain menus and prepare the orders
Dispatchers —Assign drivers to orders
Drivers —Pick up orders from restaurants and deliver them
The company has put together a team consisting of five developers: Mary, Tom,
Dick, Harry, and Wanda. They are all experienced developers who will jointly
make architectural decisions in addition to implementing the application. The
businesspeople and the development team kick off the project by meeting for a
few days to refine the requirements and develop a high-level architecture.
The requirements
After a lot of discussion, they jointly decide on the following scenario to describe
how an order flows through the system. The sequence of events is as follows:
The customer places the order via the website.
1
The system sends the order (by fax or email) to the restaurant.
2
 
 
 
 
 
 
Search WWH ::




Custom Search