ENTD 321 American Public University System Application Design Specification Paper
Description
Assignment 6 – Class Design
Purpose
The purpose of this assignment is to continue our design modeling for the ITOT Case Study by creating detailed class designs for both ShoppingCart and ShoppingCartItem classes.
In this assignment you will develop a detailed design for both the ShoppingCart and ShoppingCartItem classes. Follow the class design guidelines in your readings and use the appropriate use cases you have already developed for the project. Remember that the actions in the use cases and sequence diagrams have to be allocated to classes as operations and ultimately implemented in a programming language. Sequence diagrams include messages which are implemented as operations in classes. So you will need to make certain that your messages in your sequence diagram are reflected in your detailed design. You will need the detailed steps of the Manage Shopping Cart use case and your sequence diagrams. Provide a description of your class design and justification for your decisions.
A class is often asked to provide the values of its attributes, so we usually create getter operations for each of the attributes while the attributes are made private. Like for Course we could create public operations like get.courseNo(), get.CourseTitle(), etc. and each of the attributes of Course would be made private so that any change is made through a publicly available operation(method). On the other hand we would create setter operations for each of the attributes to change the value of the attribute. So again we would have set.CourseTitle(courseTitle), etc. where the parameter would be the new course title.
ShoppingCartItem would need operations/methods to manage the attributes it has like itemName, qty, costPerItem, and totalCost. So you would have an update operation/method and the getter/setter operations/methods. It would also have the operation/method to calculate the total cost since it has all of the attributes and values to do this.
You will complete Sections 5 Class Design, 5.1 Detailed Class Diagram, and 5.2 Detailed Class Diagram Discussion in your Design Specification from last week.
Instructions
1. Review the resources listed at the end of this assignment.
2. Review the IT Online Training Project Requirements 2018R2 description, your Analysis Specification, and your Design Specification.
3. Develop a detailed UML class design for ShoppingCart and ShoppingCartItem and add it to Section 5.1 in your Design Specification. Remember that there is a compositon relationship between ShoppingCart and ShoppingCartItem and this means that if the ShoppingCart is empty, then The ShoppingCartItem is also empty. For implementing UML Composition in Java see the Person and Address composition example at http://icarus.cs.weber.edu/~dab/cs1410/textbook/12.CPP_Relationships/progexample/actor3.html.
4. Complete Sections 5, 5.1, and 5.2 (discussion) in your Design Specification. You may want to add your detailed use case and/or sequence diagrams so you can refer to them in your discussion.
Submission Instructions
1. When you submit your Word file, use your name as part of the file name, e.g., ENTD321Assignment6_FirstNameLastName
Your assignment will be graded with the following rubric:
Rubric for Assignments |
Points |
Content & Development 50% |
50/50 |
Organization 20% |
20/20 |
Format 10% |
10/10 |
Grammar, Punctuation, & Spelling 15% |
15/15 |
Readability & Style 5% |
5/5 |
Timeliness (late deduction 10 points) Optional |
|
Total |
100/100 |
Quick Resources
1. Both required readings will be helpful–Larman (2001), Blaha and Rumbaugh (2005).
2. See also http://www.cs.gordon.edu/courses/cs211/AddressBookExample/Links.html for an almost complete UML model example. For detailed classes, see http://www.cs.gordon.edu/courses/cs211/AddressBookExample/ClassDesign.html
2. For implementing UML Composition Person and Address composition example at http://icarus.cs.weber.edu/~dab/cs1410/textbook/12.CPP_Relationships/progexample/actor3.html,
Course and Program Objectives
CO9: Apply object oriented and UML concepts by designing and developing UML models.
SLO (Program Objectives): Apply industry driven techniques for designing, developing, deploying, and securing enterprise applications on the desktop and on the Web.
SLO (Program Objectives): Demonstrate use of analytical, logical, and critical thinking to design, develop, and deploy effective Information Technology solutions.