Diploma in Information Technology
Problem Solving
Instruction for CA3 Group Assignment
October 2023 Semester
Assessment
100 marks (This assignment constitutes 40% of the overall assessment)
Deliverables
There are Four (4) deliverables in this assignment, students must complete ALL components.
1. Written project report (6%)
2. Python codes (20%)
3. User guides with sample inputs/outputs (4%)
4. Oral Presentation (10%)
The Task
The objective of this project is to allow students to design and implement a mini program. You are to use flowchart to design your program, with clear steps and flows indicated. You need to use Python programming language to code all the programs, according to the project requirement.
In your report, write a short description, in 500 words, on your program design. You need to include the flowchart of your mini program in the report. You will also include screenshot samples on how the program should run in the report.
In your Python codes, include comments to explain the purpose of each section.
Assessment Marks Allocation
| Component Assessed | Marks Allocation |
1 | Part 1 – Report with flowchart | 15 |
2 | Part 2a – Main Programs (Python) | 40 |
| Part 2b – Additional Features | 10 |
3 | Part 3 – User guides with screenshots | 10 |
4 | Part 4 – Oral Presentation | 25 |
| Total | 100 |
The Case
Ms Chong started flower arrangement as a hobby in 2016, and posting her arrangements and bouquets on Instagram. Little did she know what her pictures and arrangements would be so popular. Friends and even strangers started asking her to sell them flowers.
With a large social media following and growing side business, Ms Chong has decided to go all in and run her florist business full-time with the name “Beautiful Blooms”. She will require a system to manage the buying of flowers, viewing orders and changing the status of orders.
For a start, Beautiful Blooms has decided to offer a limited selection of flowers arranged under 5 categories as shown below:
Category | Sample Picture |
Romantic | |
Birthday | |
Grand Opening | |
Condolence | |
Anniversary |
Details of all the products can be found in Appendix A.
Currently, all orders can taken manually. Every order must include the item code, item category, add-ons (if any), customer name, delivery address, recipient name, message for recipient, special instructions (if any) and lastly delivery date and time.
As an intern in IMDA (Infocomm Media Development Authority), your supervisor has assigned you to help Beautiful Blooms automate their sales process, inventory management and order management.
Project Requirement
After several rounds of discussion, Beautiful Blooms would like to have the following essential features to be included: · Inventory management that includes setting up products, adding and removing products and pricing updates. · Sales management that allows consistent order taking, taking delivery details, update of order status etc. · Further features to be integrated in the application are the ability to filter products by category and sorting by price. Based on you understanding, the application should display the below main menu to allow Beautiful Blooms to repeatedly perform the 2 key features. @@@@ Beautiful Blooms @@@@ 1. Inventory management 2. Sales management 0. Exit Enter option: Before presenting the main menu, your application needs to load the existing from “Products.txt” (Appendix A) into a collection*. * you can decide to implement using either Dictionary or List. Details of the 2 key features are presented below: 1. Inventory management
This feature allows the user to perform the following: (through a sub-menu) a. View /Update blooms b. Add new blooms c. View / Update add-ons d. Add new add-on e. Back to main menu
a. This feature will list product details, as shown in Appendix A. At the end of the list, the program will display a prompt: User can enter the new price and/or new status to proceed with the update.
b. To setup a new item, these data elements should be collected: · Name of item · Item code: this has to be unique. Can be manually entered or automatically generated · Price. · Category: There are 5 fixed categories – Romantic, Birthday, Grand Opening, Condolence, Anniversary
The new item is created, added into the collection, with status “Available”. The “Products.txt” file is also updated with this new item. c. This feature will list all the available add-ons, as shown in Appendix B. At the end of the list, the program will display a prompt: d. To setup a new add-on, the following information must be added: · Name of the item · Item code. This must be unique. It can be manually entered or auto generated. · Price
The new addon is created,added to the collection, with the status ‘Available’. The ‘Addons.txt’ file is also updated with this new item.
2. Sales management
This feature allows to take orders, view orders and update orders according to their process. These options should be presented in the sub-menu) a. Create order b. View order c. Back to main menu
a. When creating an order, the list of products is first displayed. At the end of the list, 3 options are displayed:
1) Filter products by category 2) Sort products by price 3) Order item
If “1” is entered, then these options will be displayed: 0) Go back
1) Order item
If user enters “1”, the user will proceed to the Order item section (see below)
If “2) Sort products by price” option is chosen”, then the products will be listed in ascending order of price. At the end of the list, these options will be displayed:
1) Order item
Order item section
System should validate item code and only allow available items to be selected.
Next, the system will prompt the user to enter: - recipient’s name - message for recipient (limited to 300 characters) - Store pickup or Delivery? ($35 for delivery) - delivery address - delivery date - same day delivery? (Additional charge of $35 applies).
The system will be display a summary as shown below:
Delivery date: 28 Aug 2023 Same day delivery: No $0 Total $128
Customer’s name: Tony Lin
b. When view order option is selected, the list of orders will be displayed.
If “2” is selected, the user can choose the option to filter (see the different status above), and only Orders with that status will be shown.
Below are suggestions for BONUS features for consideration. You do not have to incorporate all of them and you may include your own additional features. a. Using Python Date library b. Use OOP - Use Objects to manage Products and Orders c. Product popularity rating |
Instructions for CA3 Report, Python Codes and User Guides
Cover Page
The cover page should include the institution name (and institution logo) the programme and the module name, the semester and year and date of submission. All these must be centralised in the page.
Write FULL Name and Student number as in the register on the cover. Students should a keep a copy of assignment submitted.
Python Codes
Suggested IDE and version: Wing Personal 7, Python 3.8.2 and above
Please zip all your Python codes into single file and upload it together with the report. If you used any additional Python library apart from the standard package, you need to include them in the submission.
Referencing
No referencing is needed for program designs and codes.
Font and Spacing
Font: Times New Roman
Font size: 12 and 1.5 for line spacing.
Penalty Marks for Late Submission of Assignment
By one day: 20% to be deducted from total marks.
More than one day: submission will NOT be graded.
Plagiarism and Collusion
Students are not allowed to reuse old assignments or submit projects from previous semesters or copy largely from sources, particularly from the Internet web.
The submitted report must show evidence that this is students’ own work. No marks will be awarded if there are no workings or reasonable explanations. Please be reminded that plagiarism and collusion is a serious offence, and all cases will be referred to the administration. Grades will be withheld if the submission is suspected of plagiarism or collusion till investigations are completed.