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 AssessedMarks Allocation
1Part 1 – Report with flowchart15
2Part 2a – Main Programs (Python)40
Part 2b – Additional Features10
3Part 3 – User guides with screenshots10
4Part 4 – Oral Presentation25
Total100
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:
CategorySample 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:
To update an item, enter the item code. Or enter 0 to go back to previous menu.
If there is no item with item code, display appropriate error message and return to sub-menu.
Program will display the item name, price, and status, if the item code exists.
User can enter the new price and/or new status to proceed with the update.
Any updates should also be effected into “Products.txt”
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:
To update an item, enter the item code. Or enter 0 to go back to previous menu.
If there is no item with item code, display appropriate error message and return to sub-menu.
Program will display the item name, price, and status, if the item code exists.
User can enter the new price and/or new status to proceed with the update.
Any updates should also be effected into “Addons.txt”
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:
1) Romantic
2) Birthday
3) Grand Opening
4) Condolence
5) Anniversary
0) Go back
Select filter category
User can select the category by entering the appropriate number. For example, if the user enters “2”, then only products in the “Birthday” category will be displayed. At the end of the list, these options will be displayed:
1) Order item
2) Back to filter category
3) Back to main menu
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
2) Back to main menu
Order item section
When user chooses “Order item”, a prompt will be shown:
Please enter item code:
System should validate item code and only allow available items to be selected.
Next, the system will display the list of add-ons, e.g:
Available add-ons:
A001 Chocolates $8
A002 Customized Handwritten card $12
A003 Soft Toy $16
Enter item code for addon, or 0 to skip.
Next, the system will prompt the user to enter:
- customer name
- recipient’s name
- message for recipient (limited to 300 characters)
- Store pickup or Delivery? ($35 for delivery)
(if delivery is selected, the below information will be required)
- delivery address
- delivery date
- same day delivery? (Additional charge of $35 applies).
The system will be display a summary as shown below:
---------- Order Summary ---------
Item: Angel Eyes R001 $85
Addon: Chocolates ADD001 $8
Delivery date: 28 Aug 2023
Same day delivery: No $0
Delivery charges: $35
Total $128
Customer’s name: Tony Lin
Recipient’s name: Linda Foo
Message for recipient:
I love you XOXO
Delivery address: 123 ABC St, Singapore 12345
-------------------------------------------------
Enter 1 to confirm, 2 to edit info, 0 to cancel :
If “1” is entered, an Order ID is generated. Order ID will follow this format: BBO-23-XXXX, where XXXX is a running number starting from 0001. The order is saved with the status “Open”. If “2” is entered, the user will be prompted to enter all information starting from customer name, then shown the summary again. If 3 is entered, nothing is saved.
b.When view order option is selected, the list of orders will be displayed.
- Only orders with “Open” is shown by default.
- At the end of the list, the following options are shown:
1) Edit/Cancel order
2) Filter order by status
3) Back to main menu
If “1” is selected, the user will be prompted to enter the order number. If order number exists, options will appear depending on its current status:
Current statusOptions
Open- Cancel order
- Change to Preparing
Cancelled- Set back to Open
Preparing- Change to Ready
Ready- Change to Preparing
- Change to Closed
ClosedNo option to change
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
- Set delivery fee to increase by $10 if delivery falls on Sat or Sun.
- Change order status to “Deliver today” if order delivery is currently today and not Ready yet.
b. Use OOP
- Use Objects to manage Products and Orders
c. Product popularity rating
- Add option to add a rating for products e.g 4.5/5 by 8 users
- Option to sort items by 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.
Important Dates of CA3 Report
CA3 Individual Assignment Deadline: 13 Nov 2023 11.59 a.m.
Submit your project via Canvas, submission must be completed in order for reports to be graded.
Lecturer Contact
You should contact your lecturer via your SIM email whenever you have any issue about your project.
Appendix A
Current list of items offered by Beautiful Blooms.
Item CodeItem NameCategoryPriceStatus
R001Angel EyesRomantic$128Available
R002Hearts on FireRomantic$158Available
R003Purple RushRomantic$288Available
B001Sweet NothingsBirthday$98Available
B002Summer SurpriseBirthday$158Available
GO001SavannahGrand Opening$158Available
GO002The Tropics Grand Opening$168Available
C001TranquillityCondolence$151Available
C002MemoriesCondolence$151Available
A001Garden of HeartsAnniversary$128Available
A002Treasured Blooms Anniversary$188Available
A003Ray of LightAnniversary$288Available
File: Products.txt
R001,Angel Eyes,Romantic,128,Available
R002,Hearts on Fire,Romantic,158,Available
R003,Purple Rush,Romantic,288,Available
B001,Sweet Nothings,Birthday,98,Available
B002,Summer Surprise, Birthday,158,Available
GO001,Savannah,Grand Opening,158,Available
GO002,The Tropics,Grand Opening,168,Available
C001,Tranquility,Condolence,151,Available
C002,Memories,Condolence,151,Available
A001,Garden of Hearts,Anniversary,128,Available
A002,Treasured Blooms,Anniversary,188,Available
A003,Ray of Light,Anniversary,288,Available
Appendix B
List of add-ons available.
Item CodeNamePriceStatus
ADD001Chocolates8Available
ADD002Customized Handwritten card12Available
ADD003Soft Toy16Available
File: Addons.txt
ADD001,Chocolates,8,Available
ADD002,Customized Handwritten card,12,Available
ADD003,Soft Toy,16,Available
Marking Rubric
CriteriaExcellentVery GoodGoodAcceptableWeak
Project Report (6%)
Description of the ProgramStudent has provided detailed and step-by-step description of the programStudent has provided step-by-step description of the programStudent has provided sufficient description of the programStudent has provided limited description of the programStudent has provided short description of the program
Appropriate FlowchartStudent has used multiple appropriate flowcharts to describe the program completelyStudent has used multiple appropriate flowcharts to describe the programStudent has used some flowcharts to describe the programStudent has attempted to use flowcharts to describe the programStudent has attempted to use flowchart to describe the program but were not sufficient
Clarity of PresentationStudent has provided clear, detailed and concise presentationStudent has provided clear and concise presentationStudent has provided clear presentationStudent has provided clear presentation to some extentStudent has attempted to provide a clear presentation
Creativity of PresentationStudent has used a variety of creative software and tools to present the assignmentStudent has used many creative software and tools to present the assignmentStudent has used some amount of creative software and tools to present the assignmentStudent has used a couple of creative software and tools to present the assignmentStudent has used at least one creative software or tools to present the assignment
Python Codes (20%)
Understanding of the ProjectStudent has demonstrated high level of understanding of the project requirements that are both stated in the task and those not mentionedStudent has demonstrated some understanding of the project requirements that are both stated in the task and those not mentionedStudent has demonstrated high level of understanding of the project requirements that are stated in the task Student has demonstrated basic understanding of the project requirements that are stated in the task Student has demonstrated sufficient understanding of the project requirements that are stated in the task
Application of programming modulesStudent is able to apply majority of the topics learnt in this projectStudent is able to apply many topics learnt in this projectStudent is able to apply some topics learnt in this projectStudent is able to apply at least two topics learnt in this projectStudent is able to apply at least one topic learnt in this project
Intellectual FeaturesStudent has demonstrated efficient use of intelligent algorithm in majority of the codesStudent has demonstrated the use of intelligent algorithm in most of the codesStudent has demonstrated some use of intelligent algorithm in the codesStudent has demonstrated basic use of intelligent algorithm in the codesStudent has demonstrated sufficient use of intelligent algorithm in the codes
Additional FeaturesStudent has added substantial number of additional features to the programStudent has added a good number of additional features to the programStudent has added some number of additional features to the programStudent has added a couple of additional features to the programStudent has added at least one additional feature to the program
User InterfaceStudent has created excellent user interface for the programStudent has created good user interface for the programStudent has created sufficient and simple user interface for the programStudent has created basic user interface for the programStudent has created poor user interface for the program
User Guides (4%)
Screenshot SamplesStudent has provided clear, detailed, and step-by-step screenshots guide on the program Student has provided step-by-step screenshots guide on the program Student has provided sufficient screenshots guide on the program Student has provided limited screenshots guide on the program Student has provided very little screenshots guide on the program
DataStudent has used appropriate and detailed test data on the program to illustrate the input and outputStudent has used appropriate test data on the program to illustrate the input and outputStudent has used sufficient test data on the program to illustrate the input and outputStudent has used some test data on the program to illustrate the input and outputStudent has used very limited test data on the program to illustrate the input and output
Oral Presentation (10%)
Clarity of PresentationStudent has provided clear, detailed, and concise presentationStudent has provided clear and concise presentationStudent has provided clear presentationStudent has provided clear presentation to some extentStudent has attempted to provide a clear presentation
Delivery StyleExcellent control of volume, pace
and diction; no distracting
gestures; visual aids used effectivelyGood volume and energy;
good pace and diction; few or no distracting
gestures; visual
aids used adequatelyAverage volume and energy; generally
good pace and diction; some distracting
gestures or posture; visual aids could be
improvedMore volume/energy needed at times;
pace too slow or fast; some distracting
gestures or posture; visual aids could be
improvedLow volume or energy; pace too slow
or fast; poor diction; distracting
gestures or posture; visual aids poorly used
ContentAll information was relevant and appropriate to requirements of the assignmentMost information was relevant and appropriate to requirements of the assignmentMost information relevant; some topics needed expansion or shortenedInformation was valid but not explicitly related to the assignmentInformation was not relevant or directly related to the assignment
Q & A SessionAnswers
questions with authority and
accuracyProvides good, clear answers to questionsProvides adequate
answers to questionsSome
difficulty answering questionsUneasiness or inability to answer
questions
Overall Impression GradeStudent was very well prepared for the entire presentationStudent was well prepared for the most parts of the presentationStudent was prepared for most parts of the presentationStudent appeared prepared for some parts of the presentationStudent was clearly unprepared for the presentation
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。