Cos30016hit3037 programming in java - develop a trivial


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)

Request for Solution File

Ask an Expert for Answer!!
JAVA Programming: Cos30016hit3037 programming in java - develop a trivial
Reference No:- TGS01666983

Expected delivery within 24 Hours