A Formal Design of Online Ticketing System
|
|
|
- Alexia McCormick
- 10 years ago
- Views:
Transcription
1 UNU/IIST International Institute for Software Technology A Formal Design of Online Ticketing System in UML Xiaoshan Li, Zhiming Liu and Zhengshen Guo July 2001 UNU/IIST Report No. 235
2 UNU/IIST and UNU/IIST Reports UNU/IIST (United Nations University International Institute for Software Technology) is a Research and Training Centre of the United Nations University (UNU). It is based in Macau, and was founded in It started operations in July UNU/IIST is jointly funded by the Governor of Macau and the governments of the People s Republic of China and Portugal through a contribution to the UNU Endownment Fund. As well as providing twothirds of the endownment fund, the Macau authorities also supply UNU/IIST with its office premises and furniture and subsidise fellow accommodation. The mission of UNU/IIST is to assist developing countries in the application and development of software technology. UNU/IIST contributes through its programmatic activities: 1. Advanced development projects, in which software techniques supported by tools are applied, 2. Research projects, in which new techniques for software development are investigated, 3. Curriculum development projects, in which courses of software technology for universities in developing countries are developed, 4. University development projects, which complement the curriculum development projects by aiming to strengthen all aspects of computer science teaching in universities in developing countries, 5. Courses, which typically teach advanced software development techniques, 6. Events, in which conferences and workshops are organised or supported by UNU/IIST, and 7. Dissemination, in which UNU/IIST regularly distributes to developing countries information on international progress of software technology. Fellows, who are young scientists and engineers from developing countries, are invited to actively participate in all these projects. By doing the projects they are trained. At present, the technical focus of UNU/IIST is on formal methods for software development. UNU/IIST is an internationally recognised center in the area of formal methods. However, no software technique is universally applicable. We are prepared to choose complementary techniques for our projects, if necessary. UNU/IIST produces a report series. Reports are either Research R, Technical T, Compendia C or Administrative A. They are records of UNU/IIST activities and research and development achievements. Many of the reports are also published in conference proceedings and journals. Please write to UNU/IIST at P.O. Box 3058, Macau or visit UNU/IIST home page: if you would like to know more about UNU/IIST and its report series. Zhou Chaochen, Director
3 UNU/IIST International Institute for Software Technology P.O. Box 3058 Macau A Formal Design of Online Ticketing System in UML Xiaoshan Li, Zhiming Liu and Zhengshen Guo Abstract E-commerce systems have been changing the traditional business activities through the Internet. An e- commerce system can be seen as a client-server system in which a server maintains some information and provides a searching function to a client. However, for an e-commerce system, we also need to consider two specific functions for booking products and carrying out payment transactions. Using an online ticketing system as a case study, this paper presents a formal use of the Unified Modelling Language (UML) to the analysis and design of e-commerce systems. We demonstrate how the formalization given in [13,14] can be used in formal specification of the system functional requirements, safety and liveness constraints, and in verification of the correctness of the design. Keywords: UML, E-Commerce, Formal Techniques, safety, Liveness, Object-Orientation.
4 Xiaoshan Li is an Assistant Professor at the University of Macau. His research areas are Interval Temporal Logic, formal specification, verification and simulation of computer systems, formal methods in system design and implementation. Zhiming Liu is a Visiting Scientist at UNU/IIST, on leave from Department of Mathematics and Computer Science of the University of Leicester, Leicester, England, where he is lecturer in computer science. His Research interests include theory of computing systems; formal methods for specification, verification and refinement of fault-tolerant, real-time and concurrent systems; and formal theories and techniques for Object-Oriented and Component-Based development. [email protected] Zhensheng Guo is a Professor at the University of Macau. Her research areas are network communication systems, E-commerce system analysis and design. [email protected] Copyright c 2001 by UNU/IIST, Xiaoshan Li, Zhiming Liu and Zhengshen Guo
5 1 Report No. 235, July 2001 UNU/IIST, P.O. Box 3058, Macau
6 2 1 A Formal Design of Online Ticketing System in UML * Xiaoshan Li, Zhiming Liu and Zhensheng Guo Abstract E-commerce systems have been changing the traditional business activities through the Internet. An e-commerce system can be seen as a client-server system in which a server maintains some information and provides a searching function to a client. However, for an e-commerce system, we also need to consider two specific functions for booking products and carrying out payment transactions. Using an online ticketing system as a case study, this paper presents a formal use of the Unified Modeling Language (UML) to analysis and design of e-commerce systems. We demonstrate how the formalization of UML given in [13,14] can be used in formal specification of system functional requirements, safety and liveness constraints, and in verification of the correctness of a design. Keywords: UML, E-commerce, Formal Techniques, Safety, Liveness, Object- Orientation. 1. Introduction With the development of Internet techniques, demand in the study of theories and methods in the development of e-commerce systems is being increased dramatically [11]. Through the Internet, an e-commerce system connects buyers with sellers in different places. Sellers can distribute their commercial product information, and accept orders made from buyers and sell their products 24 hours a day. As with a client-server system, a buyer can get the information from a server (seller) by using a web browser and transfers information such as booking and payment. Thus, e-commerce systems can be viewed as a special kind of client-server systems which provide some electronic business services on the Internet. However, beside searching * This work is partly supported by the British EPSRC Grant GR/M89447, Macau Secretary of Social Affairs and Culture e-ticketing Project, and Research Committee of University of Macau. On study leave from the University of Leicester and working as a Guest Scientist at the International Institute for Software Technology of the United Nations University (UNU/IIST), Macau. Faculty of Science and Technology University of Macau PO Box 3001, Macau, China fstxsl{fstzsg}@umac.mo Department of Mathematics and Computer Science University of Leicester, UK [email protected] 2 and providing information functions of general client-server systems, two other functions: booking products and payment transactions are specific for e-commerce systems. UML [4,5,6] is a general-purpose visual modeling language for specifying, constructing, and documenting the artifacts of a software intensive system. It is based on object-oriented methodology, and accepted as an international standard modeling language by Object Management Group (OMG). UML has been applied to describe the different develop stages from high-level requirements to design and implementation [6,9], and is supported by the CASE tools of UML, Rational Rose 2000 [8]. UML is also suggested to be used for business modeling that is one of the first problems to be considered in the development of an e- commerce system [1]. In UML, system functional requirements are specified with a use-case model that contains the use cases and use-case diagrams [4,5,6,15]. As for the non-functional requirements, also called constraints, textual comments are generally used with UML diagrams. OCL (Objectary Constraint Language) [12], in a form of first order logic, is used as an extension mechanism of UML for a kind of formal description of such constraints. However, without a formal semantics for use cases and class diagrams, the use of OCL is very much limited and cannot be fully formalized. In the paper, we use a formalization in [13,14] given for the UML models used in requirement analysis to describe these constraints as well as the functional requirements. After analyzing the system requirements, we can use the unified use-case driven, iterative and incremental software development process to develop the system [6]. That is to say, we can first give the system static and dynamic design step by step according to use-case driven analysis [13]. In UML, the static structure of the system is modelled as class diagrams, and the system dynamic behavior models are described by sequence diagrams or collaboration diagrams, state diagrams and activity diagrams. The deployment and component diagrams of UML are used to describe the system architecture models and management. The correctness of system design is mainly concerned with whether the class diagrams with interaction diagrams (sequence diagrams, collaboration diagrams, state diagrams and activity diagrams) can realize use cases and satisfy constraints. Research is currently very active in using UML for modeling general software systems [4,5,6,7,8] and e-commerce systems in particular [1,2,3]. However, there is still little work on formal use of UML in the development of e-commerce systems. Wang s paper [11] briefly discusses assurance model checking in e-process design. However, it does not present the formal semantics of UML and formal specifications of e-commerce system design. Base on our work in [13, 14] about a formal use of UML, this shows how a formal method can be used in the development of an e-commerce system. For this purpose, we shall use a case study of an online ticketing system that is being developed for Macau Secretary of Social Affairs and 3 Culture [10]. We will also show that formal use of UML is necessary for developing e- commerce systems that often require high reliability and performance. For example, the online ticketing system is a real-time system accessed concurrently by clients, and there are some possible faults such as network disconnection and long time idles of clients, safety and liveness properties and fault-tolerance should be considered formally. For the booking function of the ticket system, the following properties should be considered in the design. Safety: One ticket must be paid and printed by the customer who has booked it. Liveness: Any ticket cannot be reserved or booked infinitely without paying. Fairness: If a ticket is available, the first coming customer could reserve or book it. The reminder of this paper is arranged as follows. Section 2 introduces the general model of e- commerce system and its main functions as well as the system architecture. The online ticketing system as a case study is first briefly introduced in Section 3, and then we analyze and design the system by using UML. Focusing on the typical booking service of e-commerce system, we demonstrate how to formally use UML to give the system design in detail. Meanwhile the correctness of booking function with fault-tolerance is verified. Section 4 presents formal specification of the system safety and liveness properties in interval temporal logic. Finally, Section 5 summarizes the contributions of this paper. 2. General Model of E-Commerce System E-commerce systems are designed to provide some business services through the Internet. Giving a general model of e-commerce is very useful for the practical system analysis and design. Business process includes three flows which are information flow, money flow, and material flow. Obviously, the information flow can be handled well in an e-commerce system through the Internet that can be seen as a huge distributed system connecting all the information systems all over the world. With the development of new techniques in network communication, the money transactions among buyers, sellers, agents, brokers, and their banks, will become more and more effective and efficient with high security. It is a trend for the global world economy to use electronic money instead of real note money. The e- commerce systems will be widely adopted by the modern business companies. As for the material flow, we have to adopt the traditional ways of transactions but with efficient aids of the Internet information systems. The advantage of e-commerce system is that the communication between buyer and seller through the Internet is faster and more efficient than the traditional ways. 4 Actually, e-commerce systems provide virtual trade markets or shops for the interaction between buyers and sellers, which are two typical kinds of system users, also called actors in UML. Buyers (clients) can search for useful product information from the sellers servers using IE or Netscape web browsers through the Internet. A seller is responsible for providing the information of products onto the server. In addition to this search function, a buyer can also make orders with a seller and pay for the orders by credit cards, or other bank money transactions. After receiving an order and the payment from a buyer, the seller (server) provides and delivers the ordered products to buyers via train or airplane. Of course, sometimes, an invoice will be issued to the buyer from the seller before the payment is made. The basic functions of an e-commerce system are described as UML use cases and their relationships with the actors are simply modeled as the use case diagram in Figure 1. The typical actors (system users and environmental systems) of an e-commerce system are buyers (customers), agents, brokers, sellers (companies), system administrator, banks of system users, etc. And the typical use cases are searching information, booking products, paying products, bank transaction, issuing invoice, delivering products, refunding, canceling order, maintaining server database, etc. Add-product Deliver-Product Seller Search Book Pay Buyer Figure 1: The Basic Use Case Diagram of E-Commerce System The architecture of e-commerce system is a common client and server system. The online ticketing system includes three servers: web server, application server and database server, described in UML deployment diagram shown in Figure 2. Clients access information from the database of the server via the Internet. The seller in the server side is responsible for maintaining system and administrating the database. The main tasks of system software development include two parts; one is the database design and the other is the control software component in the server, which is responsible for data communication between database and 5 clients. The system integrates software, hardware, and network communication techniques such as HTML, XML, JSP, ASP, Java, SQL, HTTP, Oracle Database and so on. Client-1 Client-n Internet HTTP HTTP AP Server SUN E250 DB Server SUN E250 Web Server Ultra 10 customer customer Figure 2: Deployment Diagram of E-Commerce System Architecture The most important class of e-commerce systems is the class product, which can be a class such as book, computer, air-ticket, car, and even a service, etc. The product of online ticketing system is the class ticket. The other typical classes are customer, agent, bank account, agent, order, company, and so on. The general conceptual model [13,14,15] describes classes and their relationships in the application domain. How to abstract classes and analyze the relationships can be found in lots of textbooks on UML and object-oriented analysis and design [1,4,5,6,7,8,15]. Here we only define ticket and customer classes of online ticketing system in an abstract level and the booking association shown in Figure 3. The basic attributes and operations of classes ticket and customer are listed in the diagram. We will discuss them in detail in later sections. Ticket seatno-info status ticket-price user timestamp reserve() book() pay() print() release() State() Customer name pe rsonal-info bo okticketset getname() getinfo() numberticket() 0..n n 0..1 booking Figure 3: The Class Diagram of Ticket and Customer 6 3. Analysis and Design of Online Ticketing System More and more people have been using the Internet where they can easily get the information they are interested in. Obviously, people prefer booking tickets in advance than going to ticket agent to buy in office hours. People can book tickets first, and then decide to buy the tickets later. And people can pay by their credit cards through the Internet and even more they do not need to go to ticket selling agents. The tickets can be sent to people s home, or customers print their virtual tickets at home, or tickets are recorded in people s personal IC card. Therefore, now many online ticketing systems have been developed and used on the Internet. We are developing one such system at the University of Macau for the Macau Secretary of Social Affairs and Culture. The project aims to maintain and provide the information of social and cultural activities in Macau, and to provide online services of booking and selling tickets. Although the system is a specific online ticketing system, the insights from this case study are helpful in the understanding, design and analysis of general e-commerce systems. In this section, we will first analyze the system requirements and draw the use case diagram. Then focusing on one key use case, booking tickets, we demonstrate how to formally specify requirements and constraints in UML. We shall following the technique in [13,14] to define an atomic use case in the form of Pre --- Post with its pre and post conditions in first-order logic. Composite use case can be defined in the notation of He and Hoare s Unifying Theory of Programming [18]. Furthermore, we shall employ temporal logic to express the system dynamic behavioral properties of the system. These formal treatments are essential to guarantee the correctness of system design. 3.1 Use case diagram For simplicity, we draw the use case diagram for the online ticketing system in Figure 4. For customer actor, there are three use cases: Search, Book and Pay. Agent is responsible for issue ticket for paid customers. Meanwhile, agents can also book and sell tickets through the Internet for those customers who can not access the Internet. People can go to agents or telephone agents to book tickets. Therefore, agent actor is a subclass of customer. That means the agent can access all use cases of customer. For the event provider actor, there are three use cases which are Provide-event, Provide-ticket, and Maintainsystem. Here we just briefly describe them as follows. (1). Search: Users can search for the information of events to be held in Macau, such as movies, sport contests, exhibitions, car racing, etc. (2). Book: Customers can book the tickets which they select from the seat plan online. 7 (3). Pay: Customers can pay their bookings by credit cards on line, or ATM or cash. (4). Issue: Ticket agents can issue tickets for the customers who have paid tickets. (5). Provide-event: Provider can create new events in the web server. (6). Provide-ticket: Provider can create new tickets on an event. (7). Maintainsystem: Provider is responsible for maintaining system, such as deleting tickets. Book Pay Search Buyer Agent Issue Provide-event Provide-ticket Provider Maintainsytem Figure 4: The Use Case Diagram of Online Ticketing System In terms of a formal semantics, each use case can be considered as a process, and it will be realized as one or several sequences of operations by the design class diagram and collaboration (or sequence) diagrams in UML. The entire system is the parallel or nondeterministic composition of those processes. Therefore, the ticket system can be specified as an ets process. ets= def Search Book Pay Issue Provide-Event Provide-Ticket Maintainsystem ets in which the operator denotes for non-deterministic choice or parallel composition, and for prefixing operator. In [13, 14], each step of a use case can be defined as a system operation on conceptual model. For the variable X, the notation X denotes the value of X at the next state after executing an operation. Here we use the framing assumption, where a variable will keep its value unchanged in an operation if its primed version does not appear explicitly in the post condition of the operation. In addition, we need to introduce a temporal state variable, status for ticket class, that is an attribute class ticket. In conceptual model, the state of any ticket should be in one of Available, Booked, Paid and Printed states. Later in the design state diagram, we should introduce another state, Reserved. The variable status is the function: Ticket {Available, 8 Reserved, Booked, Paid, Printed}, and we use t.status to denote the status of ticket t in a state. The association between class Ticket and class Customer is booking, a set of pairs like <u,t> which means customer u is booking ticket t. The multiplicity constraints on association booking can be specify formally as follows. t Ticket. # { u: Customer <u, t> booking } {0..1} /\ u Customer. # {t Ticket (<u, t> booking } {0..n} in which operator # calculates the total element number of the set. As for n, we make a constraint on n to limit that customer cannot buy more than n tickets. The use case Book can be defined by pre and post conditions style of [13,14] as follows. Book (u, t) = def Pre-Cond: u Customer /\ t Ticket Post-Cond: (t.status=available t.status = Booked /\ booking =booking {<u, t>}) \/ (t.status Available ReturnInfo= Ticket t is unavailable. Select new one instead ) It means that the pre-condition of use case Book(u,t) requires input parameters u and t are existing objects of classes Customer and Ticket; if pre-condition holds, then the function Book will be executed and make a transition from the current state to new one where the result should satisfy the post-condition, that is, if t is available, it will be booked to customer u finally. Otherwise, the function will return the information Ticket t is unavailable. Select new one instead. Similarly, Pay and Issue can be defined as follows. Pay(u, t) = def Pre-Cond: u Customer /\ t Ticket /\ t.status=booked /\ <u,t> booking Post-Cond: t.status = Paid Issue(u,t) = def Pre-Cond: u Customer /\ t Ticket /\ t.status=paid /\ <u,t> booking Post-Cond: t.status = Printed The use cases Book, Pay and Issue are almost directly implemented by the operations book, pay and print of class ticket. We just use this simplified case study to demonstrate the relationship among the different models of UML. 3.2 Class diagram 9 After drawing the use case diagram and describing each function in natural language [10], we present them to the government project investigators and engineers. Obviously, the use cases of customer and agent actors will be realized by calling the sequences of operations of ticket objects which will be defined in collaboration diagram. For the Book use case, it is realized by calling first reserve operation, and then book operation. Since any ticket is unique, it cannot be booked by two customers. Executions of the operations/methods of the same ticket object must be mutual exclusive to avoid multi-booking. In Java programming language, it supplies the synchronized function to control the object operation invocation mutual exclusion. Therefore, at any time, only one customer can be allowed to call one operation of a ticket. Consequently, system data inconsistency can be avoided. The ticket class defines several basic atomic operations in the Figuress 3 and 4, which can combine together and cooperate with other objects to achieve some large system functions, use cases. Similarly, we use the techniques of [13,14] to define the basic operations of class ticket formally as follows, where t.user and t.timestamp denote that the customer u such that <u,t> booking and the value of the attribute timestamp of ticket t respectively, and currenttime denotes the current value of the system clock: reserve(u, t) = def Pre-Cond: u Custormer /\ t Ticket Post-Cond: (t.status=available t.status = Reserved /\ t.user =u /\ t.timestamp =currenttime) /\ (t.status Available ReturnInfo= Ticket t is unavailable. Select new one instead ) book(u, t) = def Pre-Cond: u Customer /\ t Ticket /\ t.status = Reserved /\ t.user=u Post-Cond: t.status = Booked /\ t.timestamp =deadlinetime pay(u, t) = def Pre-Cond: u Customer /\ t Ticket /\ t.status = Booked /\ t.user=u Post-Cond: t.status = Paid print(u, t)= def Pre-Cond: u Customer /\ t Ticket /\ t.status = Paid /\ t.user=u Post-Cond: t.status =Printed release(t)= def Pre-Cond: t Ticket Post-Cond: t.status = Available 10 collect(t) = Pre-Cond: t Ticket /\ ((t.status=reserved /\ (t.timestamp+10 min) currenttime) \/ (t.status= Booked /\ t.timestamp currenttime)) Post-Cond: t.status =Available The formal description of multiplicity constraints of booking in the low-level design can be specified as follows. t Ticket. #{u: Customer t.status = Reserved /\ t.user=u } {0, 1} /\ u Customer. #{t Ticket ( t.status {Reserved, Booked, Paid, Printed}) /\ t.user=u } {0..n} 3.3 State diagram One interesting problem of the system is the concurrent booking conflicts. The system certainly allows many users to access the ticket system at the same time. However, one ticket obviously can only be booked and sold to one customer. Booking race is the case which can not be avoided. For example, when two customers visit the server system at a same period, it is possible that both of them download the seat plan with the same available ticket information. Suppose each of them book ten tickets concurrently, but both of them select one same available ticket and put in their shop carts. Obviously, the ticket will be given to the customer who first delivers his or her booking. When the second customer delivers his or her booking, he or she will be told that the ticket is not available, and be asked to select a new available ticket instead. That is to say, the second customer s booking action is not successful. If the system does not reserve the rest nine tickets for the second customer, he or she perhaps could not book successfully at next time because one or more of original nine available tickets may be taken by other customer again. Therefore, one customer may not book successfully for several times. To avoid this unfairness and make the booking service fair to customers, we should introduce a reserved state for ticket class in the system design. This is one constraint on the booking use case, i.e., the system should guarantee that the customer could definitely book the ticket if it is available when he or she delivers his or her booking. Hence, when a ticket is reserved, it is locked and cannot be booked by other customer. On the other hand, we also need to avoid the bad case that tickets are always reserved but not booked. Therefore, the system should have a nonfunctional requirement that is no customer is allowed to reserve or book one ticket infinitely without making a payment. Otherwise, lots of tickets could not be sold out because they are reserved by a few customers but are not available 11 for other customers. Therefore, we make a constraint on the reserved state to be temporary, i.e., the server system will collect those reserved tickets when the tickets are reserved more than 10 minutes without being booked. Similarly, we also give a deadline for the booked tickets. If a booked ticket is not paid by a given deadline, it must be released compulsorily by the server. According to the analysis of the booking use case, we can draw the state diagram of ticket in Figure 5. A ticket is initially available when a ticket is created. It is reserved when its reserve operation is invoked and executed, and afterward booked when the book operation is called to confirm by a customer within 10 minutes, then paid and printed. When a ticket is in the reserved state more than 10 minutes without being confirmed, it will be collected by the server to make it available again. We can design an active thread in the server that collects the outdate reserved tickets from the database once in every 5 minutes. Therefore, there is a time bound [10,15] for the transition from reserved state to available state. Similarly, there is a transition timeout collect from state booked to available. The state diagram of ticket can be modeled as Figure 5. Available Reserved Booked Paid Printed reserve release book pay print release [10,15] -->collect TimeOut --> collect Figure 5: The State Diagram of Ticket 3.4 Collaboration diagram In UML collaboration diagram is used to model the dynamic behavior of the system. Several objects of system collaborate and interact each other according to a sequence order of operation invocations to provide system service to outside. 12 Figure 6 demonstrates the process how to buy a ticket, that is first to get the information about the ticket corresponding actions 1 and 2, and second to reserve a ticket (action 3). And then there are three possibilities: (1). The customer disconnects with the server system; or idles long time more than 10 minutes. In this case, the server will collect the reserved ticket to make it available to other customers -- this is corresponding action 4. (2). The customer changes his or her mind, and release (action 5) the ticket before the timeout. (3).The customer sends the book request (action 6) on time. After then the ticket is booked for the customer. The system will set a deadline for the customer to pay the ticket. If the customer does not pay the ticket before the deadline, the system will collect the ticket and set it to be available again (action 7). If the system receives the payment from the customer before the deadline, the ticket will be changed into paid state (action 8). Finally, the customer can ask an agent to issue the ticket and agent will print the ticket for the customer (actions 9 and 10). :Agent :Customer :Ticket :SeatPlan 4: [10, 15]->collect 7:TimeOut->collet 5: release 6: book 8: pay 9: issue-ticket 10: print 1: get-seatplan 3: reserve 2: get-ticketstatus Figure 6: The Collaboration Diagram of Book, Pay and Issue Use Cases The behavior of above actions can be formally specified as a CSP process. Therefore, a use case is realized as one or more possible sequences of actions (operation invocations) by prefixing operator. The implementation of use case Book, denoted as Book imp, can be modeled as a process of a sequence of operations of objects. Similarly, Search imp Pay imp and Issue imp are the corresponding to the implementations of Pay and Issue use cases. They can be modeled as follows: 13 Book imp = def reserve (([10,15] collect) release book) Search imp = def get-seatplan get-ticketstatus Pay imp = def release pay timeout collect Issue imp = def issue-ticket print Customer imp = def Customer imp [u] Customer imp [u] = def Search imp [u] Book imp [u] Pay imp [u] Issue imp [u] Customer imp [u] The processes here are defined to specify the behavior of the system with a finite number of registered (i.e. active) customers and tickets. The correctness of the design Book imp with respect to the use case Book is concerned with whether the postcondition of Book is guaranteed by Book imp. However, this is too strong as the design here has considered some timing constraints and fault-tolerance such that the effect of Book will be only realized by Book imp only when the booking is successful. That is, the pre and postcondition definition of the trace reserave(u,t) book(u,t) of the process Book imp implies Book: reserve(u,t) book (u,t)= [ u Customer /\t Ticket -- (t.status=available t.status = Reserved /\ t.user =u /\ t.timestamp =currenttime) /\ (t.status Available ReturnInfo= Ticket t is unavailable. Select new one instead ) ; u Customer /\ t Ticket /\ t.status = Reserved /\ t.user=u -- t.status = Booked /\ t.timestamp =deadlinetime] (implies) u Customer /\t Ticket -- (t.status=available t.status = Booked /\ booking =booking {<u, t>}) \/ (t.status Available ReturnInfo= Ticket t is unavailable. Select new one instead ) 14 = Book(u,t) Please see [18] about details of the calculus of designs of the form Pre -- Post. 4. System Safety and Liveness Properties The correctness of a system includes two aspects. One is the system should provide correct services, i.e., function requirements captured as use cases in UML. The other is that the system should also guarantee some non-functional requirements which are constraints and system properties. Because the safety and liveness properties are the assertions on the time interval behavior of systems, the temporal logic must be employed. Here we use interval temporal logic [16,17] to express the constraints and properties on booking function of online ticketing system. Two useful temporal operators are always and sometime, denoted as [] and, respectively. Formula []A holds on a given interval if and only if A holds on any subintervals. However, A holds on a given interval means that there exist at list one subinterval where A holds. Those two operators can be derived by the basic interval temporal logic operator chop ;. Formula A; B holds if and only if the given interval can be chopped into two subintervals where A holds on the first and B holds on the second. The following are the definitions of [] and by chop. A= true; A ; true and [] A = A in which special formula true holds on any interval. We assume that for any state variable X, if X holds on current state, then X holds on any intervals from current state. Now the constraints can formally specified as the following interval temporal formulas. Safety 1: One ticket can only be paid and printed by one buyer who booked it. [] t Ticket u1,u2,u3 Customer.( t.status=booked /\ t.user=u1) ; (t.status=paid /\ t.user=u2) ; (t.status=printed /\ t.user=u3)) u1=u2 /\ u2=u3) This safety requires that the consecutive operation calls (reserve, book, pay and print) of a same ticket must be from a same customer. The mutual exclusion of these operations and their pre and postconditions guarantee this invariance property. 15 Safety 2: Ticket is not refundable. [] t Ticket. (t.status=paid t.status=printed) [] (t.status= Paid t.status=printed) This property can also be guaranteed by ticket state diagram if we only consider the meaningful life duration of ticket and ignore the delete operation after the event is cancelled. Invariant 1. At any time, the total money of system received should always be equal to the total money of all the sold tickets. [] ReceivedMoney = Σ { t.ticket-price t Ticket. (t.status=paid \/ t.status=printed} This invariant can be used to design system variable ReceivedMoney. Liveness 1. No ticket can be reserved infinitely without being booked or releasing available. t Ticket. ( [] t.status=reserved) Server should be responsible for releasing the reserved tickets every 5 minutes. If a ticket has been reserved for more than 10 minutes, when it is checked by the server collecting thread which is executed every 5 minutes. That is to say, the reserved state of ticket is temporary. It must transfer from reserved state into booked or available states for no longer than 15 minutes. According to the system design of state diagram of ticket and server collecting thread, we can guarantee liveness property with 15 minutes up-bound (len is the duration of interval). t Ticket. ( [] t.status= Reserved len 15 min. ) Liveness 2: Similarly, the booked state will be released if it is not paid. Because we set a time deadline to the ticket attribute timestamp in the design of ticket operation book, the booked ticket will be collected by the server after the deadline. Thus we can get the following liveness property. t Ticket. ( [] t.status=booked) Please note that liveness properties here are implemented by timing properties. We can of course design an untimed system which guarantees the above absolute liveness properties under some fairness assumption on the operations. This also implies that the traditional 16 methods in dealing with invariant and liveness properties of computer systems still apply to e- commerce systems in our framework. 5. Conclusion and Discussion In this paper, we use an online ticketing system as a case study to demonstrate important properties of e-commerce systems, and problems need to be considered in the design of such a system. We have presented some initial ideas about how to combine UML development methodology with formal techniques. Focusing on an interesting concurrent real-time booking function of an e-commerce system, a reliable design is presented according to the system analysis following the UML framework. Since UML cannot express the non-functional requirements, such as safety and liveness properties, which are very important to the system performance and correctness of an e-commerce system, a temporal logic is suggested to be useful to support UML analysis and design. Formal treatment of correctness of the design is discussed. We believe that the ideas presented in the work are fundamental and essential for formal use of UML and for the development of reliable e-commerce systems. The understanding and treatment of safety, liveness, timing properties and fault-tolerance of the online ticketing system can be applied to development of general e-commerce systems. Future work includes the detailed formalization of the relationship of the interaction models with the use-case models, and properly adding real-time and fault-tolerance [19] into the framework. The former is about the combination of pre and postcondition definition of operations and CSP-like definition of the control flow. The later can follow the approach of Timed CSP that associates time stamps with events and Timed Linear Temporal Logic that adding time bounds to state transitions [19]. Acknowledgements: We wish to thank Prof. Jifeng He for the discussions on formalization of UML. And the first and third authors also thank all the members of e-ticketing project, Addie, Shirley, Tang, Zhiguo Gong, Prof. Yiping Li, Ximei Tan, etc, on the analysis, and design e-ticketing Project in UML. References [1] Hans-Erik Eriksson and Magnus Penker: Business Modeling with UML, John Wiley& Sons, [2] David Whiteley: E-Commerce: Strategy, Technologies and Applications, McGraw-Hill, [3] Matthew Reynolds: Beginning E-Commerce with Visual Basic, ASP, SQL Server 7.0 and MTS, Wrox Press Ltd., [4] Grady Booch, James Rumbaugh and Ivar Jacobson: The Unified Modeling Language User Guide, Addison-Wesley, [5] James Rumbaugh, Ivar Jacobson and Grady Booch: The Unified Modeling Language Reference Manual, Addison-Wesley, [6] Ivar Jacobson, Grady Booch and James Rumbaugh: The Unified Software Development Process, Addison-Wesley, [7] Mark Priestley: Practical Object-Oriented Design with UML, McGraw-Hill, [8] Terry Quatrani: Visual Modeling with Rational Rose 2000 and UML, Addison-Wesley, [9] Dean Leffingwell and Don Widrig: Management Software Requirements: A Unified Approach, Addison-Wesley, [10] E-ticketing System Design in UML, technical report, University of Macau, June, [11] Wenli Wang, Zoltan Hidvegi, Andrew D. Bailey Jr., and Andrew B. Whinston: E-Process Design and Assurance Using Model Checking, IEEE Computer, October [12] Jos Warmer and Anneke Kleppe: The Object Constraint Language: Precise Modeling with UML, Addison-Wesley, [13] Xiaoshan Li, Zhiming Liu and Jifeng He: Formal and Use-Case Driven Requirement Analysis in UML, to be published in COMPSAC2001, Chicago, USA, October [14] Zhiming Liu, He Jifeng and Xiaoshan Li: Formalizing the Use of UML in requirement analysis: Technical Report UNU/IIST report No228, UNU/IIST: International Institute for Software Technology, The United Nations University, Macau, March A short version Towards a formal use of UML for software requirement analysis is published in the proceedings of PDPTA2001, June 2001,Las Vegas, USA. [15] Zhiming Liu: Object-Oriented Software Development Using UML, Technical Report UNU/IIST report No229, UNU/IIST: International Institute for Software Technology, The United Nations University, Macau, March [16] Zhou Chaochen, C.A.R. Hoare, and A.P. Ravn: A Calculus of Durations, Information Processing Letters, 40(5): , [17] Ben Moszhowshi: Excuting Temporal Logic Programs, Cambridge University Press, Cambridge, UK, [18] Jifeng He and Tony Haore: Excuting Unifying Theories of Programmin, Prentice-Hall, [19] Zhiming Liu and Mathai Joseph: Specification and Verification of Fault-Tolerance, Timing and Schedulaing, ACM Transaction on Programming Languages and Systems, Vol. 21, No. 1, 46-89, Report No. 235, July 2001 UNU/IIST, P.O. Box 3058, Macau
Business Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
Execution of A Requirement Model in Software Development
Execution of A Requirement Model in Software Development Wuwei Shen, Mohsen Guizani and Zijiang Yang Dept of Computer Science, Western Michigan University {wwshen,mguizani,zijiang}@cs.wmich.edu Kevin Compton
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box
Principles and Software Realization of a Multimedia Course on Theoretical Electrical Engineering Based on Enterprise Technology
SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 1, No. 1, November 2003, 81-87 Principles and Software Realization of a Multimedia Course on Theoretical Electrical Engineering Based on Enterprise Technology
Software Requirements Specification of A University Class Scheduler
Software Requirements Specification of A University Class Scheduler Deanna M. Needell Jeff A. Stuart Tamara C. Thiel Sergiu M. Dascalu Frederick C. Harris, Jr. Department of Computer Science University
A Framework for the Semantics of Behavioral Contracts
A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK [email protected] Abstract. Contracts have proved a powerful concept
SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML
Use-Case Analysis Use-Case Analysis! What is it?! An informal, user-friendly, technique useful for functional requirements analysis and specification! From where did it come?! Ivar Jacobson, a Swedish
Menouer Boubekeur, Gregory Provan
Software Requirements Menouer Boubekeur, Gregory Provan Lectures Introduction to UML Introduction to Requirements Analysis Advanced techniques for Requirement Analysis M. Boubekeur, CSL, University College
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
Universiti Teknologi MARA. Requirement Analysis Using UML Approach for Research Management System (RMS)
C^tJ O19OO(^'J.Tfi^'i- Universiti Teknologi MARA Requirement Analysis Using UML Approach for Research Management System (RMS) Enamul Hasan Bin Rusly Thesis submitted in fulfillment of the requirements
Analysis of the Specifics for a Business Rules Engine Based Projects
Analysis of the Specifics for a Business Rules Engine Based Projects By Dmitri Ilkaev and Dan Meenan Introduction In recent years business rules engines (BRE) have become a key component in almost every
TOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
Comparison between Traditional Approach and Object-Oriented Approach in Software Engineering Development
Comparison between Traditional Approach and Object-Oriented Approach in Software Engineering Development Nabil Mohammed Ali Munassar 1 PhD Student 3 rd year of Computer Science & Engineering Jawaharlal
In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?
In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology
Designing Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
The most suitable system methodology for the proposed system is drawn out.
3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.
Object-Oriented Software Development with UML
UNU/IIST International Institute for Software Technology Object-Oriented Software Development with UML Zhiming Liu July 2002 UNU/IIST Report No. 259 UNU/IIST and UNU/IIST Reports UNU/IIST (United Nations
Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011
Use Cases Massimo Felici Use Cases 1 Support requirements engineering activities and the requirement process Capture what a system is supposed to do, i.e., systems functional requirements Describe sequences
A Meeting Room Scheduling Problem
A Scheduling Problem Objective Engineering, Inc. 699 Windsong Trail Austin, Texas 78746 512-328-9658 FAX: 512-328-9661 [email protected] http://www.oeng.com Objective Engineering, Inc., 1999-2007. Photocopying,
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
UML SUPPORTED SOFTWARE DESIGN
UML SUPPORTED SOFTWARE DESIGN Darko Gvozdanović, Saša Dešić, Darko Huljenić Ericsson Nikola Tesla d.d., Krapinska 45, HR-0000 Zagreb, Croatia, tel.: +385 365 3889, faks: +385 365 3548, e-mail: [email protected]
I219 Software Design Methodology
I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu [email protected] Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts
Modeling Web Applications Using Java And XML Related Technologies
Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA [email protected] Yun-Sik
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
A methodology for secure software design
A methodology for secure software design Eduardo B. Fernandez Dept. of Computer Science and Eng. Florida Atlantic University Boca Raton, FL 33431 [email protected] 1. Introduction A good percentage of the
3 Extending the Refinement Calculus
Building BSP Programs Using the Refinement Calculus D.B. Skillicorn? Department of Computing and Information Science Queen s University, Kingston, Canada [email protected] Abstract. We extend the
Communication Diagrams
Communication Diagrams Massimo Felici Realizing Use cases in the Design Model 1 Slide 1: Realizing Use cases in the Design Model Use-case driven design is a key theme in a variety of software processes
A UML 2 Profile for Business Process Modelling *
A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University
The Business Process Model
An Introduction to UML The Business Process Model by Geoffrey Sparks All material (c) Geoffrey Sparks 2000 www.sparxsystems.com.au Geoffrey Sparks 2000 Page:1 Table of Contents THE BUSINESS PROCESS MODEL...3
How To Design Software
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program Last Time The design process and design methods Design strategies
Software Architecture
Software Architecture Definitions http://www.sei.cmu.edu/architecture/published_definiti ons.html ANSI/IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software- Intensive Systems
SOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
Object-Oriented Design Guidelines
Adaptive Software Engineering G22.3033-007 Session 8 Sub-Topic 3 Presentation Object-Oriented Design Guidelines Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute
Layered Approach to Development of OO War Game Models Using DEVS Framework
Layered Approach to Development of OO War Game Models Using DEVS Framework Chang Ho Sung*, Su-Youn Hong**, and Tag Gon Kim*** Department of EECS KAIST 373-1 Kusong-dong, Yusong-gu Taejeon, Korea 305-701
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Using UML Part Two Behavioral Modeling Diagrams
UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,
Analysis and Design with UML
Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order
MDA and Analysis of Web Applications
MDA and Analysis of Web Applications Behzad Bordbar and Kyriakos Anastasakis School of Computer Science, University of Birmingham, Birmingham, B15 2TT, UK {B.Bordbar,K.Anastasakis}@cs.bham.ac.uk Abstract.
A Unified Modeling Language for Describing Supply Chain Management in Retail Sector
A Unified Modeling Language for Describing Supply Chain Management in Retail Sector ZHU Haibo Harbin University of Commerce, Harbin, P.R. China, 150028 [email protected] Abstract: With the market competition
Aspect Oriented Strategy to model the Examination Management Systems
Aspect Oriented Strategy to model the Examination Management Systems P.Durga 1, S.Jeevitha 2, A.Poomalai 3, Prof.M.Sowmiya 4 and Prof.S.Balamurugan 5 Department of IT, Kalaignar Karunanidhi Institute of
The WebShop E-Commerce Framework
The WebShop E-Commerce Framework Marcus Fontoura IBM Almaden Research Center 650 Harry Road, San Jose, CA 95120, U.S.A. e-mail: fontouraalmaden.ibm.com Wolfgang Pree Professor of Computer Science Software
An Object-Oriented Analysis Method for Customer Relationship Management Information Systems. Abstract
75 Electronic Commerce Studies Vol. 2, No.1, Spring 2004 Page 75-94 An Object-Oriented Analysis Method for Customer Relationship Management Information Systems Jyh-Jong Lin Chaoyang University of Technology
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, [email protected] ABSTRACT In recent years, there has been a surge of
ONLINE ORDERING BOOK SYSTEM: A CASE STUDY IN MALAYSIA HIGHER INSTITUTE
ONLINE ORDERING BOOK SYSTEM: A CASE STUDY IN MALAYSIA HIGHER INSTITUTE Zainab Othman 1 Mazliana Hasnan 2 Norlena Hasnan 3 1,2 Universiti Teknologi Mara, Melaka, Malaysia 3 Universiti Utara Malaysia Kuala
Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011
Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions
SOFTWARE ENGINEERING PROGRAM
SOFTWARE ENGINEERING PROGRAM PROGRAM TITLE DEGREE TITLE Master of Science Program in Software Engineering Master of Science (Software Engineering) M.Sc. (Software Engineering) PROGRAM STRUCTURE Total program
An Introduction to the UML and the Unified Process
3 An Introduction to the UML and the Unified Process 3.1 Introduction This chapter introduces the Unified Modeling Language (UML) notation, its motivation and history. It then presents the Unified Process
Non-Functional Requirements
IBM Software Group Non-Functional Requirements Peter Eeles [email protected] Agenda IBM Software Group Rational software Definitions Types of requirement Classifying requirements Capturing NFRs Summary
Software Component Specification Using Design by Contract
Software Component Specification Using Design by Contract Yi Liu and H. Conrad Cunningham Department of Computer and Information Science University of Mississippi 237 Kinard Hall University, MS 38677 USA
Chapter 10 Practical Database Design Methodology and Use of UML Diagrams
Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Outline The Role of Information Systems in
Object Oriented Design
Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and
[Rokadiya,5(4): October-December 2015] ISSN 2277 5528 Impact Factor- 3.145
INTERNATIONALJOURNALOFENGINEERING SCIENCES&MANAGEMENT A MODEL FOR WEB BASED APPLICATION USING MANUAL AND AUTOMATED TESTING TECHNIQUES AND ALSO STUDY FAULTS, THEIR EFFECTS AND TESTING CHALLENGES IN WEB
Information systems modelling UML and service description languages
Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:
Software Specification and Testing
Software Specification and Testing Using UML and OCL Jonathan Milley Faculty of Engineering and Applied Science MUN St. John s, Newfoundland Email: [email protected] Dr. Dennis K. Peters Faculty of Engineering
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of
Case Study Solutions. This appendix contains the solutions to the Acme Mining Company Case Study.
Case Study Solutions This appendix contains the solutions to the Acme Mining Company Case Study. Sun Proprietary: Internal Use Only 1 The Acme Mining Company Rewritten Problem Statement Note The candidate
UML basics: An introduction to the Unified Modeling Language
Copyright Rational Software 2003 http://www.therationaledge.com/content/jun_03/f_umlintro_db.jsp UML basics: An introduction to the Unified Modeling Language by Donald Bell IBM Global Services Way back
From Object Oriented Conceptual Modeling to Automated Programming in Java
From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University
Tips for writing good use cases.
Transforming software and systems delivery White paper May 2008 Tips for writing good use cases. James Heumann, Requirements Evangelist, IBM Rational Software Page 2 Contents 2 Introduction 2 Understanding
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.
Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional
The BPM to UML activity diagram transformation using XSLT
The BPM to UML activity diagram transformation using XSLT Ondřej Macek 1 and Karel Richta 1,2 1 Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University,
Information Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340
XIX. Software Architectures Software Architectures UML Packages Client- vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture
Design by Contract beyond class modelling
Design by Contract beyond class modelling Introduction Design by Contract (DbC) or Programming by Contract is an approach to designing software. It says that designers should define precise and verifiable
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective
Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT
1. Introduction 1.1 Methodology
Table of Contents 1. Introduction 1.1 Methodology 3 1.2 Purpose 4 1.3 Scope 4 1.4 Definitions, Acronyms and Abbreviations 5 1.5 Tools Used 6 1.6 References 7 1.7 Technologies to be used 7 1.8 Overview
Classical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML
Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML System Development (SD) : - o SD refers to all activities that go into producing
Composing Concerns with a Framework Approach
Composing Concerns with a Framework Approach Constantinos A. Constantinides 1,2 and Tzilla Elrad 2 1 Mathematical and Computer Sciences Department Loyola University Chicago [email protected] 2 Concurrent
Component Based Development in Software Engineering
Component Based Development in Software Engineering Amandeep Bakshi, Rupinder Singh Abstract--In today s world, Component Based development is an active research area for more than a decade in software
Verifying Semantic of System Composition for an Aspect-Oriented Approach
2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development
Object-oriented design methodologies
Object-oriented design methodologies An object-oriented methodology is defined as the system of principles and procedures applied to object-oriented software development. Five years ago, there was no standard
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
II. Conceptual Modeling
II. Conceptual Modeling Engineering Software Models in Software Engineering What is Conceptual Modeling? Origins 2003 John Mylopoulos and Steve Easterbrook Conceptual Modeling -- 1 Engineering Software
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
Full-scale Online Event Ticketing System The Design and Implementation
ABSTRACT Full-scale Online Event Ticketing System The Design and Implementation The paper analyzed the system requirements for online shopping in general and specific requirements for event ticket online
UML other structural. diagrams. (Implementation Diagrams UML 1.5) Università di Padova. Facoltà di Scienze MM.FF.NN. Informatica - anno 2009-10
Università di Padova Facoltà di Scienze MM.FF.NN Informatica - anno 2009-10 Corso di Ingegneria del Software - B UML other structural diagrams (Implementation Diagrams UML 1.5) v 2.3 Renato Conte - UML:
Extending E-Ticketing Service with Mobile Transactions
1 Extending E-ing Service with Mobile Transactions Shirley Siu, Zhen Sheng Guo, Simon Fong and Sofia Zhuang Abstract The emerging technology in mobile devices presents new business potential to Internet
Formally speaking: How to apply OCL
Page 1 of 6 Copyright IBM Corporation 2004 http://www-106.ibm.com/developerworks/rational/library/5390.html Search for: within All of dw Use + - ( ) " " Search help IBM home Products & services Support
6 Contracts and Scenarios in the Software Development Process
6 Contracts and Scenarios in the Software Development Process Summary: Software development processes play an important role in the successful and timely delivery of software. There are different approaches
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
How To Understand Software Engineering
PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs
The Unified Software Development Process
The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:
Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design
I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)
Integrated Development of Distributed Real-Time Applications with Asynchronous Communication
Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Marc Schanne International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES) 26-28 September
Using Use Cases on Agile Projects
Using Use Cases on Agile Projects Ivar Jacobson with Ian Spence Agenda What are agile teams looking for? Cards, conversations, and confirmations Knowing what to do and when it s done Being agile with use
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
TDDC88 Lab 2 Unified Modeling Language (UML)
TDDC88 Lab 2 Unified Modeling Language (UML) Introduction What is UML? Unified Modeling Language (UML) is a collection of graphical notations, which are defined using a single meta-model. UML can be used
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology [email protected] Beate List Vienna University of Technology [email protected]
