As seen in our Chapter 7 discussion, the core activity of object-oriented design is determining the classes and objects that will make up the solution. The common way to identify potential classes is to identify the objects referenced in the software requirements document that establishes the problem domain. In this assignment you will perform the steps involved in this important beginning stage of the software development process – the determination of the necessary classes and their responsibilities.
Suppose that you are hired to create an application program that the manager of Annie’s Smartphone Repair Shop will use to print service estimate quotes for clients as described in the requirements document below.
Annie’s Smartphone Repair Shop specializes in servicing smartphones made by Apple, Samsung, and LG. When a client brings in a phone to the shop, the manager gets the customer’s name, address, and telephone number. The manager then determines the make, model, and the memory size of the phone and gives the customer a service quote. The service quote shows the estimated parts charges, estimated labour charges, sales tax, and total estimated charges.
Included in the above are the relevant physical objects, the role played by a person, the results of a business event and items needed for recordkeeping. Based on the specified requirements, perform the series of tasks below to establish the classes needed for your application program solution.
To begin, recall that nouns are typically candidates for classes and verbs are typically candidates for methods.
Part A. Identify the Necessary Classes. – Perform the Steps Below
Here, you will progressively refine the nouns list to end with the classes you will need for your program.
Identify and list all nouns and noun phrases including any pronouns found in the requirements document.
List all terms that basically mean or refer to the same thing, i.e., can be defined as a single class, and eliminate them from the original list in Step 1. Be sure to explain your reasoning.
List all nouns representing items that are not relevant to the specified requirements, e.g., those that go beyond the scope of producing the individual service estimate quotes themselves and eliminate them from the list in Step 2. Be sure to explain your reasoning.
List all nouns that are likely to represent objects (instances) rather than classes and eliminate them from the list in Step 3. Be sure to explain your reasoning.
Tip: Sometimes (not always) a plural noun will indicate a class and a singular noun will indicate an object.
List all nouns that represent simple values that can be stored in a primitive type variable (rather than defined in terms of state and behavior which are the hallmarks of a class) and eliminate them from the list in Step 4. Be sure to explain your reasoning.
List the last remaining nouns in Step 5. These represent the necessary classes in your solution program.
Part B. Assigning Class Responsibilities – Perform the Steps Below
Your next task is to assign responsibilities to the classes identified at the completion of Part A.
For each class:
Identify the things that the class must know (attributes). Be careful to include only items that are referenced in the requirement document.
Identify the actions that the class must do (standard methods: constructors, accessors and mutators). As noted earlier begin by looking at verbs in the requirements which generally tend to be good candidates of names of methods.
Using MS Word’s table features, create UML class diagrams of each class indicating the class names, attributes and methods including their visibilities and types and returns.
Plagiarism Free Papers
All our papers are original and written from scratch. We will email you a plagiarism report alongside your completed paper once done.
All papers are submitted ahead of time. We do this to allow you time to point out any area you would need revision on, and help you for free.
A title page preceeds all your paper content. Here, you put all your personal information and this we give out for free.
Without a reference/bibliography page, any academic paper is incomplete and doesnt qualify for grading. We also offer this for free.
Originality & Security
At Homework Valley, we take confidentiality seriously and all your personal information is stored safely and do not share it with third parties for any reasons whatsoever. Our work is original and we send plagiarism reports alongside every paper.
24/7 Customer Support
Our agents are online 24/7. Feel free to contact us through email or talk to our live agents.
Try it now!
How it works?
Follow these simple steps to get your paper done
Place your order
Fill in the order form and provide all details of your assignment.
Proceed with the payment
Choose the payment system that suits you most.
Receive the final file
Once your paper is ready, we will email it to you.
We work around the clock to see best customer experience.
Our prices are pocket friendly and you can do partial payments. When that is not enough, we have a free enquiry service.
Admission help & Client-Writer Contact
When you need to elaborate something further to your writer, we provide that button.
We take deadlines seriously and our papers are submitted ahead of time. We are happy to assist you in case of any adjustments needed.
Your feedback, good or bad is of great concern to us and we take it very seriously. We are, therefore, constantly adjusting our policies to ensure best customer/writer experience.