CPSY 200 – FINAL PROJECT

This is an individual assignment.

 

Scenario

 

Village Rentals has been a family run business for several decades. The patriarch, Arnold Svenson started the business in the early 1950’s servicing what was then a mostly rural township.

 

Ever thrifty, the Svenson’s were quite careful on how money was spent. The business was run using hand-written ledgers and index cards for decades. The first computer and printer were not installed and operated until the early 1990’s.

 

Times have changed considerably, and the once rural township is now quite busy with new developments in the surrounding area. Village Rentals has acquired a lot more equipment to service the township and running the business from spreadsheets is no longer feasible. Your task is to design a system that use a relational database to track equipment, customers, and rentals.

 

The system must do the following:

 

Manage the equipment inventory.

 

This includes adding new equipment or removing equipment from inventory. Equipment that has been used, but still in working order can be removed from inventory and sold. Equipment that is seriously damaged or worn is removed from inventory. (It’s never thrown away of course. “You never know when you need parts”, said the elder Svenson)

 

Manage Customer Information.

 

Enter the information for a new customer or update the information of a current customer. Note: Some customers have been banned from renting equipment.

 

Equipment Rental.

 

Each rental has a unique number, the customer, the equipment (there can be more than one item), the rental date and return date.

 

System Management.

 

Given the rapid development within the township, they will be adding new categories of equipment.\

 

Generate Reports.

 

The system will allow for a selection of reports:

 

Sales by date.

 

Sales by customer.

 

List items by category. Other customizable reports.

 

Current system information

 

The current information has paper forms and a series of spreadsheets with information. Your research has found the following information:

 

Category List

 

Each category has a number and a description:

 

10 Power tools

 

20 Yard equipment

 

30 Compressors

 

40 Generators

 

50 Air tools

 

Rental Equipment

 

Each piece of equipment has the following information:

 

Equipment id number Category

 

Name Description Daily Rental Cost

 

Customer Information

 

Each customer has the following information listed:

 

Customer id Last name First name Contact phone E-mail

 

You noticed some handwritten notes on a few records. “Give 10% discount” and “NEVER RENT TO THIS ________R AGAIN!!!”

 

Rental Information

 

Each rental document had this information:

 

Rental id

 

Current Date Customer id Customer Last name

 

For each item:

 

Equipment Id number

 

Rental Date Return Date Cost of rental

 

Total final cost of rental

 

Instructions

 

Your goal is to develop a report detailing the design of a system to meet your client’s needs. Your system will use Object Oriented programming concepts.

 

Your project must use Software Ideas Modeler (SIM) as the CASE tool for this project.

 

There will be a 30% reduction in marks if you do not submit an integrated (SIM) project file.

 

You are provided with sample data listed in data-samples.xlsx .

 

Part A: Analysis and requirements gathering. (15 Marks)

 

Using SIM, create a project and complete the following diagrams:

 

1. Use Case Diagram and descriptions. Create a use case diagram and write a brief

 

description of each use case.

 

2. Analysis Level Class Diagram. Note: this does not require UI/UX classes

 

3. A conceptual Entity Relationship Diagram (ERD). Include Primary and foreign keys.

 

4. Two sequence diagrams related to specific use cases listed in the use case diagram.

 

5. Two activity diagrams describing two processes in your system. Create a word document titled ‘CPSY200 Final Project’ with this structure:

 

A title page listing your name and student id number.

 

Export your SIM diagrams into this document. One diagram per page.

 

Submission: Submit both your document and SIM project to Brightspace under ‘assignments/finalproject/analysis’. Your instructor will review this and provide you with feedback.

 

Part B: Design and Prototyping (15 Marks)

 

Using the feedback you received in Part A, make the appropriate corrections to your project, including the SIM project diagrams.

 

Complete the following design elements for your project.

 

Create prototype user interfaces for this system. Create the necessary interfaces for each use case listed. You can use Figma or any other suitable design software.

 

Create these new diagrams in you SIM project:

 

1. Design level class diagram. This will include the UI classes and the database connection

 

class (or classes) that will read and write to the database. Note: The UI classes do not

 

require a list of each attribute. E.g. attribute for a textbox or radio button. However, they

 

will list the references to other classes and event methods.

 

2. Create new sequence diagrams that incorporate the UI and database connection

 

class(es). Note: Do not delete your previous (revised) sequence diagrams.

 

3. Create a package diagram for your system. Revise your project document as follows:

 

Export your new diagrams and add them to your document after your original diagrams. One diagram per page.

 

Include screenshots of your UI design after the package diagram.

 

Submit your revised document, SIM project file under ‘assignments/finalproject/design’

 

Prototyping (up to 20 Marks)

 

Using C#, Java or other suitable object-oriented language create a prototype with a basic GUI that does the following:

 

The program can add or delete equipment.

 

The program can add a new client.

 

The program can display all the equipment.

 

The program can display all clients.

 

The program can process the rental of one item to a client.

 

You have two choices:

 

Your program can read an write from data files that you create from those listed in datasamples.xlsx . 10 Marks

 

OR FOR THE BONUS!

 

Create a MySQL database and script to load the data listed in data-samples.xlsx into the database. Your application will connect to the database and demonstrate the functionality. 20 Marks.

 

VITAL! You must demonstrate your prototype to your instructor.

 

Final Submission

 

Submit your revised document, SIM project file and source code for your prototype under ‘assignments/finalproject/prototype’

cpsy_200_final_project_2024