You are beginning the design for ShopPal app. The following scenario applies:
In order to compete with online retailers, bricks-and-mortar retail department store giant OneMart intends to implement an automated shopping system. Besides automated checkout, OneMart plans to provide customers with a wearable smart watch app called ShopPal (Apple Watch, Samsung Gear, etc.) and an accompanying mobile app with the same name.
You are required to develop a design for ShopPal which includes the smart watch app and the mobile phone app, and which communicates with a machine vision checkout system.
The following characteristics apply:
• OneMart will use GPS-like location, Bluetooth, in-store sensors, cameras, and machine vision to track a user’s location.
• Customers will be notified by ShopPal for location-based deals, price and “similar item” suggestions, depending on where they are in the store.
• Customers will have access to a list of what items they have selected so far as well as their customer profile which includes favorite lists.
• The ShopPal watch app will communicate with the store’s machine vision checkout system.
• The ShopPal mobile app will integrate with ApplePay and GooglePay, the goal being not waiting in line for checkout.
Notes and Hints:
• In order to make your design clear to your reader, accompany each requested section with a brief description that explains your thinking and the choices that you made.
o This is not required for the Use Case (section 1) but is required for all other sections.
• As usual, the notes are a primary source for explanations and examples; we also encourage you to do outside reading and research to gain additional perspective.
• It is important that the entire solution is consistent. You will want to iteratively review all of the four sections to make sure that together they are consistent as a single solution.
Provide Use Case, Classes, and Models for ShopPal using the numbering below.
1. Use Case Selection: Select and/or update two use cases from assignment 3. Refine your existing detailed use case. Use a format and level of detail clearest to your reader. Also, keep in mind that these use cases will be used for the rest of the assignment, so check for consistency.
2. Entity Classes: Select six significant business classes (also known as “entity” or “domain” classes) and one non-entity design class for a class model. Describe their main purpose, attributes, functionalities, and relationships to other classes you have selected.
3. Sequence Diagram: Draw a detailed sequence diagram for one specific functional area of your choice. (A sequence diagram is often based on a use case.) You may use Visio, LucidChart, or another design tool of your choice (please check with your facilitator in advance if the latter). Your solution should have at least six internal objects, with function calls among them, and needs to be consistent with the use case in part one as well as classes identified in the previous section. Recall that the objects involved are instances of a class that should appear among your classes. Make sure to represent these correctly. For example, if you were to create an instance of an Cart class (i.e., to model a new shopping cart) it may be called “newCart:Cart” if the instance name is relevant.
4. Class Model: Draw a class model for the ShopPal system, maintaining the general scope you determined in Assignment 3. You may use Visio, LucidChart, or another design tool of your choice (please check with your facilitator in advance). Your solution should have approximately 10-12 classes. (When complete, a real design typically contains perhaps hundreds of classes, so your submission will have to focus on the scope of your choice.) Your class model needs to show classes and their relationships; To add clarity to your diagram, provide the most important attributes and methods- you do not need to list every attribute and or method, just the most important ones. Label everything appropriately and clearly.
• Review Assignment 3 Use Case section for additional hints and approaches.
• This section is harder than it looks. You will want to review this week’s concepts first before approaching this section, although keep the assignment details in mind as you review the week’s material.
• Make sure to describe the main purpose, attributes, functionalities, and relationships to other classes which you have selected.
o A good place to start in identifying classes is to review Module 4 “Introduction to UML.”
o You will need to understand how to identify business objects and their relationships. Note how the example starts with the use case, this is where going back to the use case which you have developed is important.
• Make sure to decide on the scope as there may be additional classes in both your class and sequence diagram which you may not outline in this section.
• Please see Module 4 primary readings as the textbook provides much useful detail about object-oriented design and class modeling.
• You will want to understand concepts such as—but not limited to—inheritance, generalization, specialization, aggregation, composition, and association.
• Make sure to understand the difference between entity and non-entity classes and be sure to organize your response appropriately.
• Note that some students tend to identify classes by first writing sequence diagrams while others prefer to identify class models first, thus you are free to try different approaches (i.e. do part 3 before doing part 2)
• A good way to use references in this section is to outline your approach to identifying classes and their relationships.
• Start by reading the Module 4 “Sequence Diagrams” section, as it has several examples and approaches.
• The textbook goes into some detail on sequence diagrams on pages 202-210.
• Page 206 in the textbook outlines the components of a detailed sequence diagram, all of these should be evaluated and considered as part of your design.
• Module 6 has additional examples of detailed sequence diagrams if you need more examples.
• As the directions note, make sure to explain your design choices below the diagram.
• Consistency is very important; make sure that your sequence diagram is consistent between the use case and the classes which you have identified in previous sections.
• Try to balance clarity and thoroughness, as an example too many return messages may clutter your design.
• You may want to do some outside research to see how sequence diagrams are developed and used. You can include your findings in the Appendices section.
• Objects involved in a sequence diagram are all instances of classes. In some situations (i.e. if in a sequence diagram there are multiple instances of the same class shown) it may be appropriate to label each individual instance of the class (i.e. NewCart:Cart and OpenCart:Cart)
• See hints in the entity class section.
• Module 4 “Introduction to UML” is important to understand, especially when it comes to relationships between classes.
• Please see Module 4 primary readings as the textbook provides much useful detail around object-oriented design and class modeling.
• Make sure your diagram is clearly labeled including relationships and multiplicity.
• As noted in the directions, attributes are not required at this time within your class model.
• Make sure your diagram is consistent with the class selections and descriptions in the other parts of your solution. If you introduce a new class or relationship, make sure to explain it.
• On the class diagram make sure to use stereotypes to distinguish non-entity classes (an example is <<design>> for a GUI-related class).
• It is helpful to add attributes and methods to your class diagram where appropriate, it will help you think through the classes and create more thoroughness and coverage within your solution.
• You may want to do some outside research to see how class diagrams are developed and used. You can include your findings in the Appendices section.
It is important that the entire solution is consistent. You will want to iteratively review all of the four sections to make sure that together they are consistent as a single solution.
This material may consist of step-by-step explanations on how to solve a problem or examples of proper writing, including the use of citations, references, bibliographies, and formatting. This material is made available for the sole purpose of studying and learning - misuse is strictly forbidden.About the company
The company for which I am going to address going mobile issues and challenges is a fictitious company I will call BRetail which is involved in selling traditional retail goods primarily to end customers but also less often to other businesses. The company has its stores across the city of Boston, in total 25 retail stores and a website which provides its customers with the option to order and pay for their orders online. Also, in order to provide a more convenient way for its customers to shop online, a company started buy-online, pick-up-in-store service in 2015. This service enables the customers to buy retail goods online using a company's website and to pick them up in a store which is in a most convenient location for them. The advance in mobile technologies and their use made the company's management to seriously consider entering the mobile market and the consequences of such an act. The details are provided below.
The competitiveness aspects of m-commerce strategy
I will start the argumentation of BRetail decision to go mobile by providing some statistical data regarding the size and the potential of the mobile market. According to some sources (Beeketing Blog, 2016)), 66% of consumers’ time spent on online shopping accounts on mobile shopping.
Figure 1. Mobile retail e-commerce sales in the U.S. from 2013 to 2021 (in billion US dollar)
As it may be seen from Figure 1, it is expected that by 2019 the mobile retail revenues will reach 267.47 billion US dollars. Mobile retail market will continue to grow and the decision of BRetail management to go mobile and to provide m-commerce service to their customers is more than reasonable in that regards.
In terms of competitiveness, as stated by (Abdullah et al., 2012), m-commerce represents another avenue for the companies to gain a competitive advantage. The fact that mobile phones are deeply rooted in everyone's everyday activities represents a serious opportunity for the companies of all sizes to use the advantage of this new channel of interaction with their customers. The company BRetail thinks and acts the same way.
As with any other new technology, m-commerce enabled the early adopters to gain the first mover advantage while lagging merchants are facing more intense competition and customers who are more demanding and who use their smartphones to check reviews, compare prices and make deals with competitors on the spot (Anderson et al, 2011). Unfortunately for them, the company BRetail is in the group of merchants who are lagging behind.
Although potentially very lucrative and attractive, m-commerce should be observed and used with care, since it can also be potentially destructive for some merchants and especially those who are lagging behind. For example, a seemingly simple fact like mobile checkout if not properly designed can have very negative consequences on purchases. According to MarketWired (Marketwire, 2013)...
By purchasing this solution you'll be able to access the following files: