Skip to main content

Analyse, develop, and implement software solutions

Assessment details for All students Assessment item 2 
 Weighing: 30% 
Objectives 
• Analyse, develop, and implement software solutions 
• Choose and compare appropriate data structures and algorithms in program design 
• Apply classes, inheritance, polymorphism, and exception handling 
• Test software implementations to ensure correctness and maintainability 
Assessment Task: Paired Programming 
Part A 
In this assignment, you are required to write a Java Application that uses an interactive Graphical User Interface (GUI) based on the JFrame class using SWING GUI components. You will also be designing and implementing the software solution using appropriate data structures and application of classes, inheritance, and exception handling. The case study for developing a solution is given below. You will be connecting to a database programmatically and executing necessary SQL queries within your java program. 
Year 11 and 12 students study five subjects. There are many assessments for these subjects in different formats and the grade of these assessments are summative contributing to a student’s results. Your task is to extend the Java Application developed for Assignment One such that an administrator can enter details of students with their assessment details for all enrolled subjects and set grade. Students or parents can view the details by entering a student name and year level. 
The database will have the following tables: 
1. Student table having studentId (primary key): a 4 digit number, studentName: string (30 characters), and yearLevel: 2 digit number 
2. Subject table: In addition to the existing attributes this table will have subjectId (primary key): 2 digit number, and studentId as the foreign key 
3. Assessment table: extend the Assessment attributes from Assignment One to include an Assessment Id: a single digit number starting at 1. The primary key will be a composite key consisting of subjectId and AssessmentId 
4. Grades table: store the values of Grade shown in Table 3. Use the Degree of achievement as the primary key 
5. StudentGrade to store the set grade for an Assessment item of a student (use composite key of StudentId, subjectId, AssessmentId, and gradeId. 
Note: The table listings only show the values to be stored as per the user requirements. The primary keys are generated during the programmatic creation of the tables and used for other database operations. These keys need not be displayed to the user. The primary keys can be auto-incremented integer values. One Student should enrol in five Subjects and each Subject is enrolled by many Students. (many – to – many). You may add additional tables as required for the correct functioning of the database. Create an ERD to understand the relationship between tables. 
In addition to the GUI components you have in Assignment One, include the following components. 
Save Button in the bottom panel, to save the user data to the database. 
The functions of the eight buttons are described below. 
Initially the ‘Create Student’, ‘Load Assessment’, ‘Save’, and ‘Set Grade’ buttons remain disabled. This is shown in Figure 1. 
Figure 1. Screen shot of Initial Display 
An administrator enters the name (admin) and password (admin), and clicks the Login button. This enables the ‘Create Student’ button for the first run. 
In subsequent runs, if the ‘Save’ button has been clicked and data saved to the database, then the admin login should load the data structures from the database. So the ‘Load Assessment’ button should remain disabled. This should also enable the buttons ‘Create Student’, ‘Set Grade’ and ‘Save’. 
Administrator Functions 
1. Create Student 
The administrator enters Student Name and Year Level using the fields on the GUI and clicks the ‘Create Student’ button which creates a student object. While creating the Student object, three core subjects of English, Mathematics B, and Biology, and the chosen elective subjects of, Business and Communication Technologies, and Religion and 
Figure 2 Screen shot after Admin Login 
Ethics are added to the student object. This is done to simplify the process of going through adding each subject. The administrator can enter more than one student. Table 1 Test Data for Students 
Student Name Year Level 
John Clarke 11 
Peter White 11 
Lily Li 11 
Lisa Soon 11 
Tom Dixon 11 
Figure 3 Screen shot after Create Student 
2. Load Assessments 
The ‘Load Assessments’ Button will be enabled after the ‘Create Student’ button is clicked creating a student object. The ‘Load Assessments’ Button can be used to read the data file which contains the Assessment List for all the subjects. After loading the file, the loaded Assessment details are added to the corresponding subjects. The first field in each assessment item in the file is the subject name and this should be used to correctly add the assessments to the corresponding subjects. The ‘Load Assessments’ Button should also populate the Combo Boxes for Subjects, Assessments, and Degree of achievements with corresponding set of values. After loading the assessments enable the ‘Save’ and ‘Set Grade’ buttons. 
Table 2 Example Assessment Details 
Description Value 
Subject English 
Assessment Id 11.1 
type Multimedia presentation 
topic interior monologue 3-4 mins Australian Identity 
format speaking 
Due date Wed 9 - Wed 16 March 2017 
Note: Use the given data file named COIT20256Ass2Data.csv available in the Unit website and it contains the set of data required. 
3. Set Grade 
Clicking on the “Set Grade” button allows the administrator to set the Degree of achievement for a chosen Assessment Item, for a chosen student, and subject. The grading contains levels of achievements, knowledge, and skill. These values are given in the following Table 2. Once the administrator selects the Degree of achievement using the Combo Box, corresponding levels of knowledge and skill should be added. 
Table 3. Grading Details 
Degree of achievement: Degree of knowledge and understanding: Degree of skill and use of skill: 
Very high thorough understanding uses a high level of skill in both familiar and new situations 
High 
clear understanding uses a high level of skill in familiar situations, and is beginning to use skills in new situations 
Sound 
understanding 
uses skills in situations familiar to them 
Developing understands aspects of 
uses varying levels of skill in situations familiar to them 
Emerging basic understanding beginning to use skills in familiar situations 
4. Save 
This button should allow the entered Student data, subject, assessment details and grades to be saved to the database. 
General Functions 
5. Display Assessments 
This button has the same functionality as in Assignment One. This should display all the assessment details of a chosen subject in the Text Area as shown in Figure 4. The last value ‘false’ indicates the assessment item is not yet graded. You can use ‘not graded’ instead of false which may be more meaningful. 
Figure 4 Display Assessment 
6. Display Grade 
This can be used to display the grades of various assessments set already in the TextArea as shown in Figure 5. A parent or student has to enter the student name and year level before clicking the Display Grade button. 
Figure 5 Display Grade 
An admin can display the grades of all students enrolled for a chosen subject, or a chosen Assessment. 
7. Clear Display 
User clicks this button to clear the TextArea, TextFields, and set the ComboBoxes to the default value. 
8. Exit 
This should allow the user to quit the application. 
Data Structures. 
DatabaseUtility class: Create this class to implement all the tasks related to creation of database and table, extracting records from the database. Use Prepared statements to get the user input from GUI interface and use them for populating database. 
Also use prepared statements to execute query to extract data and store the records in a linked list. 
You can use the classes used in Assignment One. You don’t have to create a class for the admin user. Use Linked list instead of ArrayList to store data belonging to multiple objects. 
Paired Programming 
Complete the assignment working in pairs. You can choose your partner yourself. You should ensure that you inform your tutor about the partner and if you have any problem with choosing a partner, please inform your tutor. Distance students also can work in pairs. If there are any problems please contact the Unit Coordinator. 
Individual Report 
Your report should be written individually and submitted by each one of you. In your report clearly show your partner for the application development. 
1. Write how the Study Progress Monitor can be extended to allow teachers teaching each subject can enter their results. You need to write about the additional data structures required for this. 
2. Provide your view of using any data structures such as stacks, queues or sets to improve coding efficiency. 
3. Clearly indicate the tasks / parts of application development carried out by you. 
4. Write you experience of using paired programming clearly indicating the advantages and disadvantages if any. 
5. Include a test plan, and user instructions. 
Software Tools for Building the Application 
You can build your application using the TextPad Editor or NetBeans. It is highly recommended that you create the GUI components using code rather than 'designer' and 'click and drag' of the NetBeans. This creates code which is not maintainable. Remember this is a good prototyping tool, but not recommended for coding. 
Note: Commence with creating each class saving to the database tables and progress step by step. 
Assignment Submission 
You should submit the following source code files using the Moodle online submission 
system. (Note: the file names/class names could be changed to meaningful names) 
• Student.java – Source code for the Student class 
• Subject.java – Source code for the Subject class 
• Assessment.java – Source code for Assessment class 
• MarkedAssessment.java 
• DatabaseUtility.java – Source code for programmatic operation of the database 
• StudyMonitorInterface.java – Source code for the GUI components, other required methods as outlined above and the main method. 
The application program should create the database and necessary tables. So there is no need to submit any database files. Only one submission per pair is required. Individual Submission 
• Report.docx – File containing topics as per the individual report, test plan, and test details 

Assessment Item 2 Marking criteria 
S.No Total Marks - 30 Marks 
Allocated Marks Scored 
1 Graphical User Interface Presentation (Use appropriate sized components and alignments) 3 
2 Design and use of appropriate data structures 3 
3 Design and implementation of DatabaseUtility class enabling correct creation of database and access 4 
4 Use of exception handling (use appropriate exception classes and informative messages) 2 
5 “LogIn” button function 2 
6 Save button function 2 
7 Correct Display grade button function for the student/ parent and admin using different options 3 
8 Programmatic creation of tables and correct database connectivity 4 
9 Good coding practices (Indentation, Comments, Naming Conventions, Readability) 2 
10 Individual Report: Well presented report with student details, views on extending the system, use of data structures, test plan, and test details 4 
11 Report Format: correct spelling, grammar, document format, and readability 1 
Penalties 
Late Penalty - 1.5 marks(5% per working day) 
Plagiarism (as per policy) 
Total 30 
Note: if your program doesn’t compile or run, partial marks will be allocated by inspection of the source code.

Logo

Get 100% Original papers from writing experts.

Comments

Popular posts from this blog

Should pit bull terriers be banned in my community

 Discussion Forum: Counterarguments (Should pit bull terriers be banned in my community) You created a question about the topic for your W6 Rough Draft. For this discussion, you will give an answer to that question in the form of a thesis statement. "Dieting Makes People Fat" Main Post: Share your thesis statement with your classmates. Please note: As with last week’s discussion, nothing here is set in stone. Be open to changing everything about your topic, including your position and audience, as you research it and get feedback from your classmates. Topic + Position/Purpose + Supporting Points =Thesis Statement Example: Suppose the question you posed in the Week 5 discussion was something like, “Should pit bull terriers be banned in my community?” After doing some preliminary research, you have concluded that pit bulls, if raised properly, are no more dangerous than other breeds of dogs. Your thesis statement can be something like, “Pitbulls should not be banned

Controversy Associated With Dissociative Disorders

 Assignment: Controversy Associated With Dissociative Disorders The  DSM-5-TR  is a diagnostic tool. It has evolved over the decades, as have the classifications and criteria within its pages. It is used not just for diagnosis, however, but also for billing, access to services, and legal cases. Not all practitioners are in agreement with the content and structure of the  DSM-5-TR , and dissociative disorders are one such area. These disorders can be difficult to distinguish and diagnose. There is also controversy in the field over the legitimacy of certain dissociative disorders, such as dissociative identity disorder, which was formerly called multiple personality disorder. In this Assignment, you will examine the controversy surrounding dissociative disorders. You will also explore clinical, ethical, and legal considerations pertinent to working with patients with these disorders. Photo Credit: Getty Images/Wavebreak Media To Prepare · Review this week’s Learning

CYBER SECURITY and how it can impact today's healthcare system and the future

 Start by reading and following these instructions: Create your Assignment submission and be sure to cite your sources, use APA style as required, and check your spelling. Assignment: Recommendations Document Due Week 6 (100 pts) Main Assignment Recommendations Document The 1250 to 1500-word deliverable for this week is an initial draft of your recommendations. Note that this is a working document and may be modified based on insights gained in module eight and your professor's feedback. This document should contain the following elements: Summary of your problem or opportunity definition A list of possible recommendation alternatives. In this section, you are not yet at the point of suggesting the best set of recommendations but you are trying to be creative and explore all the different ways that the problem or opportunity might best be addressed. The end result here will be a list of alternatives among which you will choose your final recom