Software design - Lecture 21. The main topics covered in this chapter include: problem statement; structure of document class; page class and structure of page class; header and footer classes; structure of bottomup class; analysis of document;...
1 Software Design Lecture : 21 Problem Statement 1 Ø Ø Suppose that you're writing a document in some of famous text processing tools, like Microsoft Word for example. You can start typing a new document, or open an existing one. You type a text by using your keyboard. Every document consists of several pages, and every page consists of header, document's body or/and footer. In header and footer you may add date, time, page number, file location e.t.c Step1 : Extracting Candidate Classes document, text processing tool, MicrosoftWord, text, keyboard, header, footer, document's body, date, time, page number, location of file, page, sentence, word, punctual sign, letter, number, special character, picture, table, row, column, cell, user Ø Keywords in Grey are candidate attributes , rest are Document Class A document will be the central class in our class diagram. Document has a several pages, therefore a numberOfPages will be one of the attributes for the Document class. For the operations we have: open(), save(), print() and new(). Every document consists of pages. The Page will be also a candidate for the class Structure of Document class Page Class Ø The Page class will hold pageNumber as an attribute, and operations allowed here can be: newPage(), hideHeader() and hideFooter(). Operations for the header and footer tells us that the Header and The Footer can be also a classes Structure of Page Class Header and Footer Classes • The Header class and the Footer class has common attributes: Ø date, time, pageNumber and fileLocation. These attributes are optional for every header or footer and user may configure them. This will guide us that a common class can be introduced. This will be a good time to make an inheritance. 10 Structure of BottomUp Class 38 Problem Statement 39 NonComputer Science Scenario Ø Consider the workflow associated with building a house. First, you select a site. Next, you commission an architect to design your house. After you've settled on the plan, your developer asks for bids to price the house. Once you agree on a price and a plan, construction can begin. Permits are secured, ground is broken, the foundation is poured, the framing is erected, and so on, until everything is done. You're then handed the keys and a certificate of occupancy, and you take possession of the house 40 41 Problem Statement 42 Ø In an order processing system, once the order is received multiple activities are initiated to complete the order process. On one side order filing is initiated and on the other end billing mechanism is initiated to receive the payment. On the order filing side delivery mechanism is finalized whether it is a rush delivery or regular delivery. In the end all the activities end to close 43 Possible Solution 44 Swim Lanes Ø At times it useful, especially when you are modeling workflows of business processes, to partition the activity states on an activity diagram into groups Ø Ø Each group representing the business organization responsible for those activities Each group is known as “Swim Lane” 45 46 Possible Solution 47 Scenario • In a typical customer services call centre scenario where multiple people are sitting, when a call is received it is first decided whether it’s a call from a new customer or an existing customer, in parallel log of the call is created to have record of the communication between Call Centre Representative (CCR) for future reference. If it is a call from a new customer then the call is transferred to sales team and it the call is from an existing customer then call is transferred to helpdesk after this the process is completed 48 Problem Statement • In a vehicle reservation system, first step is to find the client id to determine whether the client is new or existing one, after determining the type of client, the request for the reservation of vehicle is initiated to find the to be reserved car, if the car is available then the inventory is updated along with updating the charges to calculate the new total of the bill, after new bill is generated and inventory is updated the process reserving the car is completed. At each step otherwise step is to be 49 Possible Solution 50 51 Tasks to Do Ø Create Activity diagram of Use Case Diagram and Class Diagram Ø Reverse Engineered the activity diagram given in the next slide to come up with Use Cases and Use Case 52 ... Each team is given a number of games in a specific city 18 Proposed Solution 19 20 Solution to Problem Writing 21 22 Categories of UML Diagrams (3) Ø Ø Static ü Use case diagram ü Class diagram Dynamic ü Activity diagram