Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

EECS 3311

Software Design

Project (100 points), Version 1

2022

One of the efficient way to evaluate a software design is to examine its effectiveness and usefulness in development. This project will provide you a different type of experience, i.e., developing software under the guidance of a given design (from your Midterm). Specifically, you will be asked to further develop the SmartShoppers project based on your design from Midterm. Note that, the evaluation of this project will be on 1. the completeness of your implementation for the requirements and 2. lesson learned regarding the pros and cons of your design in the development. Your design WILL NOT BE EVALUATED in this course project.

All your lab and project submissions must be compilable on the department machines. It is then crucial that should you choose to work on your own machine, you are responsible for testing your project before submitting it for grading.

This project is intended to help you practice design principles we have introduced in this course. Check the Amendments section of this document regularly for changes, fixes, and clarifications.  Ask questions on our slack channel 1.


1 Policies

- Your (submitted or un-submitted) solution to this assignment (which is not revealed to the public) remains the property of the EECS department.  Do not distribute or share your code in any public media (e.g., a non-private Github repository) in any way, shape, or form before you get the permission from your instructors.

You are required to work on your own for this project. No group partners are allowed.

When you submit your solution, you claim that it is solely your work. Therefore, it is considered as an violation of academic integrity if you copy or share any parts of your code or documentation.

When assessing your submission, the instructor and TA may examine your doc/code, and suspicious submissions will be reported to the department/faculty if necessary. We do not tolerate academic dishonesty, so please obey this policy strictly.

- You are entirely responsible for making your submission in time.

● You may submit multiple times prior to the deadline:  only the last submission before the deadline will be graded.

● Practice submitting your project early even before it is in its final form.

● No excuses will be accepted for failing to submit shortly before the deadline.

Back up your work periodically, so as to minimize the damage should any sort of computer failures occur. You can use a private Github repository for your labs/projects.

The deadline is strict with no excuses.

Emailing your solutions to the instruction or TAs will not be acceptable.





Amendments

● so far so good


2 Problem Description

In this project, you are expected to implement a software system for the project we introduced in the Midterm exam.

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 a faster 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 and the SmartShoppers Inc. The customer will have financial benefits as they are able to save money by being provided all 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.

Specications: The detailed specification is in Software-Requirement-Specication.pdf.


3 Getting Started

● There is no template for the course project. You should create your own Eclipse project named EECS3311- 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.