1 of 15

Coding and Programing

5 Question FBLA Quiz

Moneel Patel

2 of 15

Project Planning: Gantt Chart

Waterfall Methodology

3 of 15

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

4 of 15

User Interface Options Analysis

Coding Language/Library

Python Tkinter Library

HTML

Java

Pros

Cons

5 of 15

Python Application

Student

SQL Database

Flat Text File

Results Page

Input

Answers

Report

Questions

System Data Flow

6 of 15

Program Call Graph

Main

Tkinter

title

geometry

font

shapes

PIL

sqllite3

Functools

Partial

7 of 15

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

8 of 15

Question Number

Question/

Task

Answer Choices

Previous Question

Next Question

Question Page Layout

9 of 15

Report Page Layout

Report Title

Student Name

Question

Review Questions

Percent Correct

10 of 15

Printable Report Page Layout

Report Title

Student Name

Question

Percent Correct

11 of 15

Text File

Student Name

Percent Correct

12 of 15

Example Program Execution

Start Page

Multiple Choice

True and False

Matching

Fill in the Blank

Multiple Choice

Report

PDF Report

Text File

13 of 15

Coding and Programing

Demo

14 of 15

Python Application

Student

SQLite Database

Report Page

Input

Answers

Questions

System Data Flow

15 of 15

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