Vous êtes sur la page 1sur 6

Case Study: Implementing a Web Based Auction System using UML and

Component-Based Programming

Frederick T. Sheldon and Kshamta Jerath Young-Jik Kwon and Young-Wook Baik
Software Engrng. for Dependable Systems Lab School of Computer and Information
Sch. of Electrical Engrng. & Computer Science Engineering
Washington State University, Pullman, USA. Daegu University, Korea.
sheldon@acm.org | kjerath@eecs.wsu.edu yjkwon@eecs.wsu.edu | ywbaik@daegu.ac.kr

Abstract To do this, we need an effective programming


methodology. Object Oriented Programming (OOP)
This paper presents a case study highlighting the best method has been used in the past because it was thought
practices for designing and building a web-based auction to conquer the problems mentioned, just as structure and
system using UML (Unified Model Language) and encapsulation improve reusability in a semiconductor chip
component-based programming. We use the Use Case, or component [2]. However, OOP doesn’t guarantee
Class, Sequence, and Component Diagrams offered by reusability and is unsuitable for a large-scale project
UML for designing the system. This enables new functions because of the complexity of relations among the objects.
to be added and updated easily. Our implementation, with Moreover, it is difficult to support perfect encapsulation
its basis in component-based programming, enabled us to due to inheritance among classes.
develop a highly maintainable system with a number of The Unified Modeling Language (UML) has emerged
reusable components: the MethodofBidding (the bidder to provide a standardized notation for describing Object-
can bid at three different frequencies - fast, medium or oriented models. However, for the UML notation to be
leisurely), the Certification (Identity verification function), effectively applied, it must be used in conjunction with an
and the RegistrationGood (Product entry function) Object-Oriented Analysis and Design method [3]. Object-
Components. Further, the system uses intelligent agents Oriented Analysis and Design (OOAD) describes a
that permit fair help to bidders participating in auctions community of methodologies for producing business
and at the same time achieve maximum profit for the component based software. The methodology outlines the
seller. The design and implementation environment, along system development lifecycle identifying the tasks and
with the tools used, provide excellent support for the deliverables in an object-oriented project. Using a
successful development of the system. combination of UML notation and OOAD (Object-
Oriented Analysis and Design) process, we can reduce the
system development life cycle, easily maintain the system,
1. Introduction and improve the reusability of modules. Component-based
programming also results in maintainable and reusable
In the past few years, the electronic marketplace has code.
witnessed an exponential growth in worth, size, and Consequently, we design and implement the Web-
usability. Projections indicate that this trend will intensify based auction system using UML and components. The
in the coming years [1]. With the help of the fast-growing web-enabled auction system uses four UML Diagrams and
Internet environment, the products that were previously three components that are reusable at the specification
purchased in a traditional market (i.e., Brick-and-Mortar) level. The process models used for the development of the
can be obtained conveniently via online auction systems. system are shown in Figure 1a and Figure 1b.
Online auctions are a major component of the electronic In this paper, Section 2 discusses the background
marketplace that makes use of electronic commerce information and related research in the areas of UML,
mechanisms. components and auction systems. Sections 3 and 4
In this case study, we undertake the task of designing describe our empirical study, and the results and analysis
and developing a Web-based auction system that satisfies of the study respectively. Finally, the conclusion and the
the requirements of ease of use, adaptability to changing future research direction are presented in Section 5.
requirements, maintainable and has scope for reusability.
Input Output Input Output
UML and Tools Process
(Independent Variable) (Dependent Variable) (Independent Variable) (Dependent Variable)
- Use Case Diagram - Auction Algorithm
- Three bidding method -Desktop Pentium III 1Ghz
- Class Diagram - Learning Algorithm
- Purchaser's Verificiation System Analysis and - Windows 2000 & Linux 7.0
- Sequence Diagram - Bid history update Web-based Auction
Function Design for Implementing a - Tomcat Servlet Server,
- Component Diagram - Manual bidding System
- Seller's Product entry Web-based Auction System Apache Web Server
- Component Based Prog. - Register Goods
function - HTML, Java and MySQL
(EJB) - Chatting

Figure 1a. Process for analysis and design - Reusability


- Maintainability

Measurement Variables

2. Background and related research Figure 1b. Implementation and test of the
web-based auction system
Developing an online auction system requires making
include design of component integration frameworks to
decisions and selecting technologies to support those
prescribe an architecture that permits flexible composition
decisions. Some background information and related
of third-party components into applications [15], web
research on the technologies that we employed are
design reuse vis-à-vis code reuse [16], and reusability of
presented here.
components for quality software [17].
We implemented the auction system using component
2.1. Unified Modeling Language based programming for easy maintenance as well as
Traditionally, requirements analysis consisted of convenient reuse of these components. Three reusable
identifying relevant data and functions that a software components were developed – MethodofBidding,
system would support. The data to be handled by the Certification and RegistrationGood Components, each
system could be described in terms of entity-relationship handling specific and well-defined functions in the
diagrams, while the functions could be described in terms auction system.
of data flows [4]. Object-oriented software development
utilizes new design methodologies, and computer-aided 2.3. Auction systems
software engineering tools such as Rational Rose can
Auction systems are a major component of the
support these methodologies [5]. The UML (Unified
electronic marketplace that allow users at any site to sell
Modeling Language) is a language used to specify,
and buy products. The sellers set up auctions for their
visually model [6], and document the artifacts of an products while the purchaser who bids the highest amount
Objected-Oriented system under development. It wins the right to purchase the product in an auction.
represents the unification of a number of ideas from Previous studies on auction systems include those by
different methodologists. Using UML to design a system
Jane Hillston and Leila Kloul, Martin Bichler, Kao et. al.
improves its maintainability and reusability. Object-
Sandholm, Baik and Kim, Wooksun Shin [18]~[23].
oriented analysis techniques offer class, use case, state
In considering the above studies, we used an agent-
chart, sequence, and other diagrammatic notations for
based approach for our implementation. We used three
modeling [7]. UML has been used successfully in
kinds of agents – PurchaserAgent, SellerAgent and
numerous projects to model varying architectures and FacilitatorAgent. The SellerAgent provides the function of
requirements. [8-13]. registering goods for an auction to the sellers. This design
We selected Use Case Diagrams, Sequence Diagrams maximizes the probability that the product auctioned will
and Component Diagrams for analyzing the user’s sell. The second agent is the PurchaserAgent that requires
requirements, the ordering of messages and documenting
bidding to buy and it suggests a proper bidding price by
relationship among components. We selected Class
analyzing the bidding history of the bidding competitor.
Diagrams for representing the static structure of classes.
The third agent is the FacilitatorAgent that plays the role
of an auctioneer and enables a bidder to look at the other
2.2. Component-based programming person’s auction history while bidding for and buying a
Component-Based programming enables fast product.
deployment of maintainable software by reusing
prefabricated components that are independent executable 3. System analysis and design
units. Individual components can be custom-made to meet
A detailed empirical study based on the above stated
new requirements and can be rearranged in different
research is presented. The system was designed keeping in
compositions. Reusability and Maintainability are the two
mind the requirements of the industrial partner. The
main advantages of component-based programming.
system design and the algorithms employed are described
Components are highly reusable units of functionality
in this section.
and they let developers conceptualize software as inter-
connectable blocks [14]. Research topics in this area
Figure 2. Scenario of auction process Figure 4. Purchaser’s use case diagram
Diagram that represents the Purchaser’s behavior. It
3.1. Scenario-based specification defines the behavior of the purchaser while participating
in an auction after login.
Scenario-based specifications allow an intuitive way
of visualizing, understanding and analyzing the system 3.2.2. Class diagram. The Class Diagram is the most
design requirements. The scenario was devised (depicted important entity in object-oriented analysis and design. It
in Figure 2) and used to analyze the requirements. describes the types of objects that exist in the system and
shows the static relationships among internal classes of
3.2. Designing with UML notations the system. The Class Diagram can be used to show the
attributes and the operations of a class and also the
The auction system was designed using the Use Case,
constraints that apply to the way the objects are
Sequence, Class and the Component Diagrams offered by
connected.
UML and the Rational Rose Tool.
Figure 5 displays the Class Diagram for the Auction
System. An abstract class (e.g., user class) abstracts
3.2.1. Use case diagram. The Use Case Diagram is a
common characteristics (Attribute, Operation; Name,
visualization of a use-case, i.e., the interaction between
Address, Telephone Number, and so on) about an Actor.
the auction system and the users. Figure 3 is the Use Case
We use the Concrete Classes (P u rchaser, Seller) by
Diagram for the actions that the Users (Seller, Purchaser)
inheriting attributes and operations from the abstract class
can perform in an auction. Users, after Login, can select
user.
the method of auction (auction, reverse auction) and the
method of bidding (Speed, Medium, Leisure). They can
3.2.3. Sequence diagram. The Sequence Diagram
also express opinions about products or exchange
displays the overall flow of control in an object-oriented
information about products. Figure 4 is the Use Case
program. Typically, it captures the behavior of a single
use-case. Figure 6 shows the Sequence Diagram for the

Figure 3. Use case diagram of auction system Figure 5. Class diagram of system
Figure 7. Component diagram of system
bidder who suggests the highest price exists, the
auction will be closed. When an auction closes, the
data record of the auction transfers to the
ManagementHistoryAuction component.
• The ManagementHistoryAuction component shows
the previous auction record of the auctioneer
conducting the current auction.
• The DataBase component saves the relevant data
Figure 6. Sequence diagram for purchaser. pertaining to the current auction (e.g. the price of
products and contents) separately in the database.
Purchaser in the Auction System. • According to the three kinds of bidding methods
(Speed, Medium, Leisure), a purchaser decides the
3.2.4. Component diagram. Figure 7 illustrates the next bid after confirmation of the end price that has
interactive relationship among the software components of been suggested so far from the DataBase component
the auction system. In our implementation, we made the using the MethodofBidding component.
entities that are used in the auction as components using Of the eight components developed, the Certification,
EJB (Enterprise Java Beans). It is clear from the diagram RegistrationGood and MethodofBidding components are
that it is possible to modify relevant parts/components particularly useful and can be easily adapted for reuse in
without affecting the entire system. other systems.

3.3. Components and algorithms 3.3.2. Calculating bidding price. This subsection
The different components and the algorithms used in outlines the algorithm used by the PurchaserAgent to
the auction system are detailed in this section. The suggest a bid price to a purchaser that would maximize his
algorithm of primary concern here is the one that the chances of making a successful bid. There are three
PurchaserAgent uses to calculate the bidding price to be possible rates at which a purchaser may choose to bid –
suggested to the purchaser. Speed, medium or Leisure.
Figure 8 illustrates the formulae used to arrive at the
bid price. K is the amount of money that can be bid at the
3.3.1. Component descriptions. The software
components that are a part of the auction system are present auction’s starting price. Equation 1 calculates the
described. Figure 7 shows all the components mentioned difference between the highest forecast-price of products
herein. (HP) and the seller’s suggested starting price (SP). PABC
• The Certification component is used to validate the is the average amount of the previous total bidding prices
user trying to log into the system. that the bidder has bid. Equation 2 calculates the ratio of
• A seller enters products into the system by using the the difference between the ending price of the product in
RegistrationGood component. At this time, the seller the previous bidding (PEP) and the starting price of the
inputs an end date and time of auction, including the product in the previous bidding (PSP) with the difference
starting and end prices of products.
K = (HP – SP) ............................................................. (1)
• Purchaser and Seller components manage information PABC = (PEP – PSP) / (PEP – PB) ........................... (2)
related to the auctions of the purchaser and the seller, Speed = (K/PABC)*1.2 ............................................... (3)
as well as their private information. Medium = (K/PABC)*1................................................ (4)
• The Negotiation component manages the auction. If a Leisure = (K/PABC)*0.8 .............................................. (5)
bidder arrives at the time of the auction close or a
Figure 8. Bidding method formulae
• When we want to see the auction records of the other
bidders during the auction, we can choose the
auctioneer and click the button “Show History of
Auction” and the auction history for that particular
bidder is displayed.
• Once the last successful bidder has been decided, the
contract price is displayed on the screen and the
auction is finished.
• The record of the conversation, which occurs between
the bidder and seller or the system, is stored in the
Database. Also, all records of the conversation, which
occur during the course of the auction, are added in
the record for the people who participated in the
auction, stored in the Database.

4.3. Analysis of results


Figure 9. Chatting screen of auction system
We successfully implemented the web-based auction
between PEP and the average bidding price of products in system using UML and components. The rigorous design
the previous bidding (PB). Equations 3 through 5 are the and analysis phase and the robust component-based
prices that are suggested eventually depending on the implementation enabled us to achieve a minimal defect
respective method of bidding chosen. rate in the final product. The defect rate of our reused
code was 0.9 units per 1KLOC(0.9/1KLOC). In
4. System implementation and results comparison, the defect rate of a new software system
developed by Lim [24] was 4.1 per 1KLOC(4.1/1KLOC).
This section lays out the artifacts of our study as well The scope of implementation and identification of
as the implementation which followed the system analysis
entities that could be coded as reusable components was
and design. The details of system configuration and
done with the help of UML. Further, because the system
analysis of the result of the empirical study are presented.
was designed using UML, any additions/modifications to
the system design was easily facilitated. From the eight
4.1. Configuration / implementation environment components we developed – (1) Certification component,
The Seller and the Purchaser (who connect through (2) RegistrationGood component, (3) MethodofBidding
their respective web browsers) are connected to the component and, (4) Purchaser component – are all easily
Auction Web Server. The Auction Web Server reusable with little or no modification necessary. The
communicates with the Chatting Auction Daemon through Certification component that was used to certify if a user
JAVA/Servlet/EJB and with the Database through JDBC. is a registered user will find wide-use applicability. The
The developed auction system is interactive. RegistrationGood and MethodofBidding components can
The environment used for implementation was a be easily modified to include different attributes for
desktop Pentium III 1GHz, with Windows 2000 and Linux registering a product or for different frequencies of
7.0 as Operating System. We also used Tomcat as Servlet bidding respectively. The Purchaser component suggests
Server and Apache as Web Server. Further, we also use an estimated amount to bidders by learning the bidding
HTML, Java, and MySQL software. record which the other bidders have suggested before.
Moreover, it can suggest better estimated bidder price by
4.2. Processing procedure of system using experiments that are accumulated like this. Thus, the
use of component-based programming improved the
The implemented auction system can be accessed maintainability and reusability of the system.
simultaneously as a dynamic collaboration by several
objects on the Internet. The execution of the auction 5. Conclusions and future work
system proceeds as follows.
• Select “Computer” item on left frame after Login. This paper described a case study highlighting the
• If we select “Notebook” on the next screen, the best practices in designing and building a web-based
Chatting screen is displayed as shown in Figure 9. auction system. We designed the auction system using
• If we select a part applicable in “Speed or Medium or UML. The Use Case Diagram, Sequence Diagram, Class
Diagram and Component Diagram offered by UML were
Leisure” during the auction, and click on “Show Price
used successfully during the process. Rational Rose, used
of Bidding” button, it displays the next bid price.
for the purpose, provided adequate support. Our 8. Wolf, M., R. Burkhardt, and I. Philippow. Software
implementation, with its basis in component-based Engineering Process with the UML. in The Unified Modeling
programming enabled us to develop a highly maintainable Language -- Technical Aspects and Applications. 1998:
system with a number of reusable components. Further, Physica-Verlag. p. 271-280.
9. Kivisto, K. Considerations of and Suggestions for a UML-
the system used intelligent agents that permitted fair help
Specific Process Model. in UML'98: Beyond the Notation.
to bidders participating in auctions, and at the same time, 1998. Mulhouse, France: Springer Verlag. p. 294-306.
achieved maximum profit for the seller. Again, the 10. Allen, P. A Practical Framework for Applying UML. in
implementation environment and the tools used, provided UML'98: Beyond the Notation. 1998. Mulhouse, France:
excellent support for the successful development of the Springer Verlag. p. 419-433.
system. 11. Back, R.J., L. Petre, and I.P. Paltor. Analysing UML Use
The approach outlined here was more effective in Cases as Contracts. in UML'99: Beyond the Standard. 1999.
implementing our auction system than the existing Fort Collins, CO: Springer Verlag. 1723. p. 518-533.
12. Gomaa, H. Object Oriented Analysis and Modeling for
Information Engineering (data-oriented), Structured
Families of Systems with UML. in 6th International
Development (function-oriented), or Object-oriented Conference on Software Reuse. 2000. Vienna, Austria:
(data-oriented and function-oriented) methodology. Springer Verlag. p. 89-99.
Although we only made a few specific changes to the 13. Cardoso, J and C. Sibertin-Blanc. Ordering action in
components, these changes indicate that subsequent Sequence Diagrams of UML. in P roceedings of the 23rd
changes to other system components will be International Conference on Information Technology
straightforward. Consequently, the reusability of the Interfaces, 2001. p. 3-14.
system was facilitated and, as a direct result, we expect 14. Repenning, A., et al., Using Components for Rapid
that the system will be easily able to suitably evolve in the Distributed Software Development. IEEE Software, 2001.
18(2): p. 38-45.
fast changing Internet environment.
15. Sousa, J.P. and D. Garlan. Formal Modeling of the
Our plans for future work include the Enterprise JavaBeans Component Integration Framework.
(re)implementation of the auction system using Object-Z in Proceedings of FM'99. 1999. Toulouse, France: Springer
[25] for formal specification and mathematical algorithms Verlag. 1709. p. 1281-1300.
like VCG (Vickrey-Clarke-Grove, Multidimension). 16. Schwabe, D., Engineering Web Applications for Reuse. IEEE
Object-Z is an object-oriented formal specification Multimedia, 2001. 8(1): p. 20-31.
language that is based on Z, and has been developed at the 17. Forsell, M., V. Halttunen, and J.J. Ahonen. Use and
University of Queensland, Australia. Extensions to the Identification of Components in Component-Based Software
semantics of Z include implicit support for object identity, Development Methods. in 6th International Conference on
Software Reuse. 2000. Vienna, Austria: Springer Verlag.
together with notions of inheritance and polymorphism. 1844. p. 284-301.
Further, we plan to develop additional algorithms that can 18. Hillston, J. and L. Kloul, Performance investigation of an
be used for analyzing the other competitive bidder’s on-line auction system. Concurrency and Computation:
expectation price. We then plan to compare the results, in Practice and Experience, 2001. 13(1): p. 23-41.
terms of defect rate and degree of maintainability and 19. Bichler, M., An Experimental Analysis of Multi-Attribute
reusability achieved, from these two different approaches. Auctions. Decision Support Systems, 2000. 29(3): p. 249-
268.
20. Kao, M.Y., J. Qi, and L. Tan, Optimal Bidding Algorithms
6. References Against Cheating in Multiple-Object Auctions. SIAM
1. Tsvetovat, M., et al. Customer Coalitions in the Electronic Journal on Computing, 1999. 28(3): p. 955-969.
Marketplace. in 4th Int'l. Conference on Autonomous Agents. 21. Sandholm, T., A p p roaches to winner determination in
2000. Barcelona, Spain: ACM Press. p. 263-264. combinatorial auctions. Decision Support Systems, 2000.
2. Gottesdiener, E., OO Methodologies: Process & Product 28(1-2): p. 165-176.
Patterns, in Component Strategies. 1998, SIGS Publications: 22. Baik, Y. and J. Kim. Implementation of Interactive Online
New Albany, IN. p. 34-60. Auction System. in KFIS Fall Conference. 2000. Korea. 10.
3. Gomaa, H., Designing Concurrent, Distributed and Real- p. 405-408.
Time Applications with UML. 2000: Addison-Wesley. 816. 23. Shin, W., The Study on Bid Algorithm of Auction Agent using
4. Mylopoulos, J., Exploring Alternatives during Requirements Statistical Method, in Dept. of Computer Information and
Analysis. IEEE Software, 2001. 18(1): p. 92-96. Communication. 2000, Konkuk University: Seoul, Korea.
5. Post, G. and A. Kagan, OO-CASE tools: an evaluation of 24. Lim, W.C., Effects of Reuse on Quality, Productivity and
Rose. Information and Software Technology, 2000. 42(6): p. Economics. IEEE Software, 1994. 11(5): p. 23-20.
383-388. 25. Duke, R., G. Rose, and G. Smith, Object-Z: A Specification
6. Quatrani, T., Visual Modeling with Rational Rose and UML. Language Advocated for the Description of Standards,
2 ed. 1998, Boston, MA: Addison Wesley. 288. Technical Report 94-95. 1994, The University of
7. Breu, R., et al. Systems, View and Models of UML. in The Q u e e n s l a n d : A u s t r a l i a .
Unified Modeling Language -- Technical Aspects and
Applications. 1998: Physica Verlag. p. 101-102.

Vous aimerez peut-être aussi