Coding and Programing
5 Question FBLA Quiz
Moneel Patel
Project Planning: Gantt Chart
Waterfall Methodology
Requirements Table
Requirement | Details | Execution Plan |
At least 50 questions with correct answers | Sample questions generated by programmer | Obtain 50 questions from FBLA based Quizlets |
Use database to host questions | Can be local or cloud database for questions | Use SQL local database |
At least 4 types of questions | i.e. multiple choice, T/F, fill-in-the-blank, matching, and dropdown, etc. | Code: Multiple choice, True/False, Fill-in-the-Blank, and Matching |
Inform user of correctly answers questions | Display correct answers to user | Display correct answer on questions page after submission |
Calculate total correct on five questions | Correct answers/5 *100 = Quiz score | After submission, check all answers and calculate final score |
Generate printable report on quiz results | Save mechanism for results page | Use save as PDF function to save the results page as a report on the quiz |
Data must be stored persistently | Storage may be in a relational database, a document-oriented NoSQL database, flat text files, flat JSON, or XML files. | Store user’s data into flat text file after submission persistently |
All data entry must be validated | Using appropriate user notifications and error messages including the use of required fields | Check that all questions are answered before calculating score |
User Interface Options Analysis
Coding Language/Library | Python Tkinter Library | HTML | Java |
Pros | | | |
Cons | | | |
Python Application
Student
SQL Database
Flat Text File
Results Page
Input
Answers
Report
Questions
System Data Flow
Program Call Graph
Main
Tkinter
title
geometry
font
shapes
PIL
sqllite3
Functools
Partial
Start
Display Start Screen
Display Question
Next/Previous Question?
Next Question
Program Process Flow
Submit Button?
Previous Question
No
Check Answers
Pull Questions from Database
Save Report to Text File
Display Results
See Questions?
No
Display Question Unchangeable Answer
Next/Previous Question?
Next Question
Previous Question
No
Yes
Yes
Save/Print Results
Save Report as PDF
Yes
No
Validated Answers?
Prompt user to fix answer
No
Yes
Input Name?
No
No
Prompt user to fix name
Yes
Question Number
Question/
Task
Answer Choices
Previous Question
Next Question
Question Page Layout
Report Page Layout
Report Title
Student Name
Question
Review Questions
Percent Correct
Printable Report Page Layout
Report Title
Student Name
Question
Percent Correct
Text File
Student Name
Percent Correct
Example Program Execution
Start Page
Multiple Choice
True and False
Matching
Fill in the Blank
Multiple Choice
Report
PDF Report
Text File
Coding and Programing
Demo
Python Application
Student
SQLite Database
Report Page
Input
Answers
Questions
System Data Flow
Start
Display Start Screen
Display Question
Next/Previous Question?
Next Question
Program Process Flow
Submit Button?
Previous Question
No
Check Answers
Pull Questions from Database
Save Report to Text File
Display Results
See Questions?
No
Display Question with Answer
Next/Previous Question?
Next Question
Previous Question
No
Yes
Yes
Save/Print Results
Save Report as PDF
Yes
No