Chapter 5. An Introduction to the Sample Application

The purpose of this chapter is to introduce the sample application used as an example in Chapters 69. This chapter sets the context and high-level requirements for the application and contains information commonly found in a Vision document. Development of a Vision document is outside the scope of the J2EE Developer Roadmap. However, the document itself is an input artifact to a number of activities in the Requirements discipline (see Chapter 6, Requirements).

Application Overview

Our sample application is an online auction. An online auction is a subcategory of a larger family of enterprise applications called e-commerce systems. An e-commerce system enables buyers and suppliers of products and services to conduct business-to-business transactions in a virtual marketplace. The three concepts underlying auctions are auction, bid, and exchange.

The term auction can be used both as a verb (“to auction an item”) and as a noun (“the auction has closed”). When used as a verb, an auction represents the process of offering an item for sale and the corresponding transaction between a buyer and a seller. When used as a noun, an auction represents a system entity, which stores information about the offered item and any bids. An auction has a number of interesting characteristics, which we describe in the following list.

  • An auction item is usually specialized (it is one-of-a-kind item, rather than a commodity).

  • There are only a few buyers or sellers.

  • Sellers and buyers are often anonymous.

  • An auction is often used when there is a single supplier for a product and potentially many customers.

In an auction, a buyer expresses his readiness to purchase an item by placing a bid. There are usually multiple bids for the same item, and later bids are higher than earlier bids. When the auction closes, at a predefined time, the highest bid becomes the purchase price.

An exchange occurs when the seller accepts a bid, delivers the item to the buyer, and receives the payment. In our example, the transaction between the buyer and seller is outside the scope of the system. The Online Auction application we use as an example in the following chapters simply provides the buyer and seller with each other's information.

Online auctions are a virtual place where sellers can present their items or services to potential buyers. Auctions also provide buyers with access to a potentially large selection of items. For both buyers and sellers, they provide an option of staying anonymous until the very end of the transaction and, even then, the disclosure of identities occurs only between the specific buyer and seller.

The popularity of online auctions is growing because of their simple business models. Usually the auction site owner charges the sellers for completed transactions. The charge is either a flat fee or a percentage of the sale value. The profitability of an auction site depends on (1) the volume of transactions and (2) the cost of running the site. Both of these can be greatly influenced by a well-designed and well-implemented online auction system. If a system is easy to access and use, is reliable and performs well, it is likely that it will attract both sellers and buyers. If the system is easy to install, administer, and maintain, its cost of operation will be lower.

Problem Statement

Our Online Auction application must address the needs of its stakeholders and users, which are described in the following list.

  • The sellers need to reach the largest possible number of potential buyers to obtain competitive purchase offers for their items or services.

  • The buyers require access to a large and diverse catalog of items and want control over the amount of money they are willing to pay for those items.

  • Both the buyers and sellers want the option of remaining anonymous until they decide to complete the exchange transaction.

  • The auction site owner wants to provide an environment in which sellers and buyers meet frequently and anonymously and complete frequent exchanges, and wants to make a profit by charging a fee to the seller for completed exchanges.

  • The Online Auction application must provide a secure, virtual environment in which sellers can advertise their items, buyers can bid on them, and the administrator can effectively support this e-commerce solution.

Stakeholders and Users

The term “stakeholders” refers to people or organizations directly involved in making or influencing key decisions about the functionality and properties of the Online Auction application. The term “users” represents individuals or legal entities who use the Online Auction application and support its operation.

Stakeholders: Their Concerns and Responsibilities

The key stakeholders of the Online Auction application are the Auction Site Owner and Auction System Provider, both of whom are briefly described in Table 5.1.

Table 5.1. Stakeholders

NameDescriptionConcerns and Responsibilities
Auction Site OwnerAn individual or organization who owns the auction site
  • Define, review, and prioritize key requirements for the Online Auction application

  • Define the rules of using the site including fees, rules of conduct, types of traded items, and so on

  • Receive statistics of site usage, performance, and so on

  • Assume financial responsibility for the management and development of the Online Auction application

Auction System ProviderAn individual or organization who provides the Online Auction application
  • Understand the requirements of the system and satisfy the needs of the Auction Site Owner

  • Develop an elegant, well-architected, maintainable, and extensible system

  • Reuse known solutions during the development of the system

  • Reuse system designs and parts in the subsequent development of similar systems

Users: Their Concerns and Responsibilities

The key users are Seller, Buyer, Casual Visitor and Auction Administrator. These are briefly described in Table 5.2.

Functional Features and Constraints

The functional features of the Online Auction application should address the concerns of its stakeholders and users. The following are descriptions of typical features of an auction system that should be realized by our Online Auction.

Management of user accounts. Auction site users (the Sellers and Buyers) are able to create accounts with the system and update account information if it is incorrect or when it changes. The Auction Administrator is able to browse user accounts, update user information, and archive or delete information.

Placing items for auction. The Seller is able to create an auction by de scribing the auction item to be sold and by defining the initial starting price and minimum bid increment.

Table 5.2. Users

NameDescriptionConcerns and Responsibilities
SellerAn individual or an organization who puts an item up for auction
  • Provide a proof of credit

  • Describe the auction item

  • Define the starting price and bid increment

  • Monitor bids and reject unwanted bids

  • Deliver the auction item to the buyer

  • Pay the transaction fee to the auction site owner

BuyerAn individual or an organization who places a bid onan auction item
  • Browse the catalog of auctions

  • Place a bid on an auction item

  • Remove (cancel) one of his or her own bids (before the auction closes)

  • Pay for the auction item if the bid is accepted

Casual VisitorA person who visits the auction site just to browse thecatalog. Such a visitor may become a Buyer or a Seller
  • Browse the auction catalog without any commitment to placing a bid (the “just looking” attitude)

  • Register with the Auction Site Owner

Auction AdministratorAn individual who administers the auction site
  • Maintain the classification of auctions

  • Maintain Seller and Buyer registrations

  • Monitor auction site activities and collect statistics

  • Track violations of rules of conduct, and prevent violators from participating in trading

Browsing a structured catalog of open auctions and placing bidsAny user (defined as a Casual Visitor above) is able to browse a catalog of open auctions, view the description of auction items, and see the bid history of auctions.

Managing auctionsThe system supports the operations performed by Sellers, Buyers and the Auction Administrator. A Seller may reject bids (for any reason) associated with any auction that he or she has created. A Buyer is able to enter a bid on an auction item. A Buyer is able to cancel his or her own bids before the auction closes. An Auction Administrator is able to close auctions without accepting any bids (for example because of unpaid seller fees), remove bids of certain Buyers (who, for example, violate rules of conduct) and archive auctions.

Maintaining system securityThe application supports system security and in particular, authenticates users and ensures that users perform only the operations for which they have been authorized. For example, a Buyer must not be able to cancel a bid of another Buyer, and only the Auction Administrator may see all completed transactions.

There is also one particularly important constraining assumption that the Online Auction application must address. When a Seller accepts a bid and his or her auction is closed, the following exchanges take place:

  • The Seller receives payment for the auction item from the Buyer.

  • The Buyer receives the purchased items.

  • The Seller pays the transaction fee to the Auction Site Owner.

The assumption is that the Auction Site Owner does not get involved in the exchange of the auction item, or the payment from Buyer to Seller. The Online Auction application discloses the Buyer's and Seller's information to each other, but they (the Buyer and the Seller) decide how to complete the exchange (not the Online Auction application). From the system's point of view, this disclosure of information indicates the end of the application's participation in a given auction.

As a result of the above constraint, the online auction application does not support features that are present in some auction systems such as placing an item “on hold” with the Auction Administrator or providing an escrow account.

Other Requirements and Properties

Nonfunctional Properties

The important nonfunctional properties of the system must address the key concerns of the stakeholders. These concerns include: usability, reliability, ease of maintenance, ease of extending system functionality, and security.

It is anticipated that these concerns will be addressed by following software development best practices such as requirements management and visual modeling, and also by the reuse of proven designs. The Online Auction application does not have specific performance requirements beyond those commonly expected from an online system, such as acceptable response times.

User Environment

Sellers, Buyers and Casual Visitors will access the system via Internet connections and will use commonly available Web browsers. It is anticipated that the Auction Administrator will primarily use a Web browser interface to the system, but will also have access within a local area network that is “behind the firewall.”

Deployment Environment

The Online Auction application will run on a reference implementation of the J2EE specification. This choice of words here is deliberate, in that an application that deploys and runs in this environment should also deploy and run using commercial implementations of the J2EE platform.

Summary

As we mentioned in the introduction to the chapter, the presented information is commonly found in a Vision document. A Vision is the first “approximation” of what a system should provide and is used as a major input to the project go/no-go decision. If the project goes ahead then the Vision becomes the basis for the development of more detailed requirements as described in the next chapter (Chapter 6).

One thing that has not been discussed in this chapter, but that is often a part of a Vision document, is a business analysis of the return-on-investment (ROI) and buy-versus-build alternatives. These concerns have been deliberately skipped. Had we decided to purchase rather than build our Online Auction application, then there would be no reason to look at the development process and the book would stop here!

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset