Develop a trivial console-based interactive question

Assignment Help JAVA Programming
Reference no: EM131264167

Assignment - Interactive MCQ Application

Overview

In this assignment, you are tasked to develop a trivial console-based interactive question and answer (aka Multiple Choices Question - MCQ) application. This application allows users to create, manage and attempt multiple choice questions. The user can be either teacher or student. A teacher can create a pool of questions and develop question sets by adding questions from the pool. The student can then attempt question set and the outcome i.e. answer as well as result will be capture for review later. Other requirements are written as follows:

Basic Requirements

1. Each question must have four options and one of the options must be the answer. The level of difficulty ranging from 1 (easiest) to 4 (hardest) and the creator's name must be capture too.

2. Each question set must contain at least one question and there are no limits how many questions a set can have. The same question can appear in other sets.

3. A teacher can creates, edits and deletes a question.

4. The teacher can develops question sets by adding multiple questions into the set. A teacher should be able to edit and delete question set as well.

5. The teacher can search related questions with a keyword.

6. Students can use the same application to attempt different / multiple sets of question. The attempt details i.e. student's answer, score, duration, date and time taken for that attempt should be capture for review later. Summary of an attempt must be presented to user at the end of each attempt.

7. Students are allowed to review their past attempt while teachers are allowed to review all students' attempt.

8. The application should start by identifying user's role follow by their name.

9. The application should compute and generate summary i.e. number of questions, number of question set, numbers of student, number of attempt, highest score etc.

10. The application should be able to read and write data to file for data storage (text file / csv / xml format). Usually the reading and writing data should be automated.

Advance Requirements

1. When attempting a question set, the order of the questions and its options should be randomly arrange.

2. Allowing the application to read and write data to file for data storage (cloud).

3. Having sub-pool of question by subject

4. Question with more than one correct answer i.e. A) I & II, B) I, II, IV .

5. Any other relevant / useful functionalities, discuss with your tutor before implementing.

The application should comply with product quality i.e. usability, accuracy and maintainability. The application should be easy to use and DO NOT confuse user with weird navigation path or respond message. The application must calculate, compute and summarize all data accurately. You must write and maintain your code neatly and consistently with Swinburne Java Coding Standard.

Functional Requirements

The console application should have the following functionalities:

1. Create, view, edit and delete a question.

2. Develop, view, edit and delete a question set.

3. Attempt a question set

4. Review past attempt

5. Search related question by keyword

6. Generate summary (or statistical report):
a. Question & Question Set Summary Report
b. Student Report Card (Overall attempts)
c. Student Attempt Review Report (Each attempt)

7. Automatically read and write data (upon startup and after an operation)

Non-Functional Requirements

The console application should comply with the following quality attributes:

1. Usability

The navigation of application developed should be user friendly (i.e. breadcrumb navigation method) to ease user in using the application. Text displayed and error message should be clear and understandable by non-technical users. All information and data shall be display or layout in a clean and tidy manner. At least 90% of users should have no problem and happy when using the application.

2. Accuracy

All calculation and computation accuracy rate must be 100% accurate

3. Maintainability

All source code shall be written by following Swinburne Java Coding Standard. Conventional Coding Standard is acceptable as well if the code is clean and readable. Comment should be provided within the source code when necessary. All Classes and Methods must have an header and documentation should be produce with JavaDoc. The code must be targeted to run on a JDK 1.5 or higher JVM. Code submitted must compile without any errors. Complex methods must be commented in JavaDoc format.

Appropriately Demonstrates & Applies Object Oriented Programming and other Concepts
1. Class identification
2. Encapsulation
3. Object collaboration
4. Inheritance / Abstract Class
5. Exception handling
6. Data sorting
7. File I/O (for persistent data storage)

Application Documentation

You must produce a report (in MS Word format) with the following contents:

1. Class Diagram
2. Application navigation map / flow
3. Requirement Checklist
4. Application Configuration / Guideline (if any)
5. Documentation (JavaDoc)

Reference no: EM131264167

Questions Cloud

Describe cost oriented pricing strategies : Describe cost-oriented pricing strategies. - Why is it important for managers to understand the concept of break-even points? Are there any drawbacks?
Discuss the step response of the closedloop system : Show that a PI feedback controller is undesirable because it results in a differentiator in the forward path. Discuss the step response of the closedloop system.
Create a conceptually rigorous text-rich chart : MKT 650-01 Fall 2016 Take-home Exam. DIRECTIONS: Use the designated frameworks and cases to create a conceptually rigorous text-rich chart, or an analysis, as requested. Use as evidence/support only facts known by the relevant decision makers at t..
Identify position that should be held to hedge the scenario : For each of the following examples, identify a position that should be held to hedge the scenario (you only need one). Monita Inc. anticipates receiving 200,000 soles in six months from doing business in Peru.
Develop a trivial console-based interactive question : COS30016/HIT3037 Programming in Java - Develop a trivial console-based interactive question and answer (aka Multiple Choices Question - MCQ) application. This application allows users to create, manage and attempt multiple choice questions. The use..
How comfortable are you with naming your own price : Demonstrate how the product life cycle, competition, distribution and promotion strategies, guaranteed price matching, customer demands, the Internet, and perceptions of quality can affect price.
Find the percentage overshoot : an undamped natural frequency of 5 rad/s. Obtain the response due to a unit step, and find the percentage overshoot, the time to the first peak, and the steady-state error percentage due to a ramp input.
Profit for both years using the variable costing method : The following information is available for Skipper Pools, a manufacturer of above-ground swimming pool kits: In its first year of operation, the company produced 12,290 units but was able to sell only 10,300 units. Find the profit for both years usin..
Statement of cash flows : In 2016, Chavez Company purchased land for $120,000 to use as a future site for its new office building. At the end of 2016, the land was worth $135,000. The company decided not to build the new office and sold the land for $132,000 cash in 2017. How..

Reviews

len1264167

11/3/2016 2:38:10 AM

1. A softcopy (.docx) of the report must be submitted to your tutor via Blackboard. 2. Application's source code. You must submit all source code files as a single ZIP file, no sub- directories are allowed. If you have sub-directories in the ZIP file, the automated script will not be able to compile and run your submission. 3. Hardcopy of signed Coversheet. 4. 6 marks deduction per day impose for late submission (including weekend).

Write a Review

JAVA Programming Questions & Answers

  Create a world class that contains a 2d array

You have to create a world class that contains a 2d array then create an abstract class called organism that contains move() method the organism should move randomly one step at the time.

  Print the name and number

Question is to print the name and number you entered in order either asked by name or number.

  Applet to converts a character to a corresponding integer

Design an applet Conversion.java that converts a character to a corresponding integer, and vice versa. The integer corresponding to a character is its ASCII code.

  Write a java program to simulate a lottery drawing

Write a Java program to simulate a lottery drawing. Your program should allow the user to enter values for k, n, and m above. Then, ask the user to enter the numbers that s/he wishes to play.

  Calculate the average of the values in the integer array

Calculate the average of the values in the integer array, multiply that average by the weight, and return the result - The method calcWeightedAvg should return a double and take two parameters

  Create a two dimensional integer array in java

Create a two dimensional integer array in JAVA that produces the sum of rows and columns as selected by the user.

  What is the benefit of using layout managers

What is the benefit of using layout managers? When a mouse event is generated how is the location of the click point determined? What layout manager should you use so that every component occupies the same size in the container?

  Design and implement an applet called circles

Design and implement an applet called Circles that draws 50 circles of random diameter in random locations. If the diameter of a circle is less than a certain value, the circle is ?lled with the color yellow.

  Calculate the percentage wins of a team

Write a program that will calculate the percentage wins of a team. The program will input the number of wins and losses that a team acquired during a season. The wins should be input in a parameter-less value returning function that returns the wi..

  Write a tester class snowman in java

Write a tester class Snowman.java?, with a main method that creates different objects of the classes Square and Circle to create a snowman. You can use your creativity to build different parts of the snowman. Print the area and perimeter of each o..

  Calculate the total hours of over lapping meetings

Suppose you have a meeting room which can hold multiple meetings and the smalled duration of meeting can be 30 mins. Calculate the total hours of over lapping meetings.

  Implement a class datetypethat manages a calendar

Implement a class dateTypethat manages a calendar

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd