Java代写|Software Design Project Version 1


1 Problem Description

In this project, you are expected to implement a software system for the following:

Background: The SmartShoppers system is an online system that allows customers to find products
in the physical retail stores with a greater precision. The main goal of the software system is to
provide the customers with afaster and smooth shopping experience in store. SmartShoppers
would allow customers to find the products that are available in a specific store and its location in
the store. This product will have many benefits to the customer andthe SmartShoppers Inc. The
customer will have financial benefits as they are able to save money by being providedall the on
sale items. The customer also is able to find recommended products which they might not have had
a chance to find in store. The customer saves time shopping because they know the exact locations
of the products which they would like to purchase. ShoppersLand Inc. would benefit financially as
they will sell more products because of the SmartShoppers online system. ShoppersLand’s
employees would also be able to work efficiently as they will be asked fewer questions by the
customers regarding the products.

Specifications: The detailed specification is in Software-Requirement-Specification.pdf.

2 Getting Started

There is no template for the course project. You should create your own Eclipse project.

You can use maven or gradle2 to maintain the libraries and dependencies of your project.

You are suggested to follow MVC3 model (i.e., Model–view–controller) to separate meta
models, business logic, and GUI components during developing the project.

• Your project must be a Java GUI project.

3 You Tasks

4.1 Implement the System (50%)

You are expected to develop valid implementations and meet all the listed requirements
in the software requirement specification document. (See attached document)

• You can design and implement your system with any design patterns that are applicable.
(Singleton pattern, factory pattern, abstract factory pattern, prototype pattern, builder
pattern, adapter pattern, bridge pattern, iterator pattern, observer pattern…)

Your system should have basic Java GUI interfaces. You can use any third-party GUI libraries
in your project.Database is not required, you can use text files (or csv file) to mimic the database. Good GUI
implementation will get 5 bonus points.

You could make any assumption for any requirement (scenario, business logic, etc), while
your assumptionsshould be reasonable and justified in your report.

4.2 Write Test Cases to Test Your Project (20%)

You are required to add as many tests as you judge necessary to test the correctness of your

You must add at least 2 test cases for each requirement, and all of them must pass. (In
fact, you should write as many as you think is necessary.) Let’s skip the GUI related
classes when writing tests.

You will be assessed by the quality of your tests via the code coverage. For the non-GUI classes,
the average code coverage should be larger than 80% (i.e., after executing your test cases,
more than 80% code should be covered). You can use JaCoCo4 to measure the code coverage
of your test cases. JaCoCo has an Eclipse plugin which is available in the Eclipse Marketplace.


本网站支持淘宝 支付宝 微信支付  paypal等等交易。如果不放心可以用淘宝交易!

E-mail:  微信:itcsdx