Case Study: Implementing a Web Based Auction System Using UML and Component-Based Programming
Total Page:16
File Type:pdf, Size:1020Kb
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. [email protected] | [email protected] [email protected] | [email protected] 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.