ASSESSMENT GUIDE Unit Code: ITEC217 Programming Concepts, Semester 2, 2020 Assessment number 3 – Programming Project Assessment Artefact: project Java code and readme document Weighting [40%] Why this...

1 answer below »
Coding Assignment attached below


ASSESSMENT GUIDE Unit Code: ITEC217 Programming Concepts, Semester 2, 2020 Assessment number 3 – Programming Project Assessment Artefact: project Java code and readme document Weighting [40%] Why this assessment? What are the types of employability skills that I will acquire upon completion of this assessment? Assessment Overview: Due date: Friday, 13 November 2020, 1pm Weighting: 40% Length and/or format: Java source code and accompanied short readme doc Learning outcomes assessed LO2, LO3, LO4 Graduate attributes assessed GA2, GA4, GA5, GA10 How to submit: Assignment submission – via LEO Return of assignment: Via LEO Assessment criteria: Rubric: see end of document • Through this assessment, students will be able to work collaboratively in groups to demonstrate programming concepts and skills for building a bigger object-oriented program with potential impact to the common good. Skill Type Developed critical and analytical thinking ☒ Developed ability to solve complex problems ☒ Developed ability to work effectively with others ☒ Developed confidence to learn independently ☒ Developed written communication skills ☒ Developed spoken communication skills ☐ Developed knowledge in the field study ☐ Developed work-related knowledge and skills ☒ 2 Context Building a larger Unit Assignment Marks Tracking software system Instructions You need to do this project in a group with a maximum of 3 members. Unlike previous practicals, this is a much bigger assessment and group work, so start as early as possible as leaving to the last few days won't work! For this final project, there are two phases of tasks called object-based (ob) and object-oriented (oo). You need to submit 3 files in total: 1) for phase 1, submit all your object-based source code including test classes in a zip file with name '[group_name]_ob.zip'; and 2) for phase 2, submit all your object-oriented source code including test classes in a zip file with name '[group_name]_oo.zip'; and 3) lastly, submit a '[group_name]_readme.docx' file that describes: • your group name, so that the above placeholder [group_name] in submitted file names can be substituted with your actual group name. • your group member names with respective few-sentence contribution statement and percentage specifically to each of the four requirements (REs) outlined below for the purpose of peer assessment of phase 1. The contributions of group members to each RE must add up to 100%. Also elect a dedicated group leader and specify who she/he is. • for both phase 1 and 2, simply describe how your code bases are structured (i.e. software designs) and how others can test your project (i.e. user manuals). Note: 1. The mark allocation to phase 1 is 25% of the unit full mark, phase 2 is 10% (as an oo extension of phase 1), and the readme file 5%. Phase 1 marks breakdown (25%) is subject to the implementation of system/software requirements (REs) below and peer assessment of contributions. For phase 2 and readme doc assessments (15%), members in the same group will receive the same mark. 2. Only group leader is responsible/needs to submit the project solution so that only one submission is needed from each group. In special circumstances, other group members except the leader can help make the submission. 3. Throughout the project description, you are provided with some preliminary UML diagrams, instructions, code as hints (largely incomplete and imprecise) to help structure your final project submissions. Please first do spend time carefully reading through the entire project description as follows, before designing and coding your project. 4. Online group discussion/workshop is encouraged, and they should be scheduled outside the class once or twice a week. You will also need to research into different Java API classes to implement the project requirements. Feel free to expand your imagination and maximise your project's functionality (bonus marks might be considered)! Multiple attempts of the submission are allowed until the due date. 3 Project title: Unit Assignment Marks Tracking System Carefully read the information provided below and design, develop and test a java application using Object Oriented Programming concepts to track student marks of various assignments in a given unit of study. The requirements (REs) or functionalities of the system are: RE0. System design (5%) Draw a UML diagram of the whole system involving classes and relationships between classes, subject to the rest of requirements (REs) in the following. RE1. Tracking Display (8%) The java application should have a main menu (e.g. GUI) from which we can track the marks of all students in the class ITEC217x as detailed in the following system interaction and reporting requirements. Assume there are 5 types of assessments: weekly discussion forums (DFs), weekly quizzes, weekly practical tasks, a final project, and a final exam. RE2. System Interaction (6%) The system should be able to allow entering/adding the marks (of at least 10 students in total) using the JOptionPane class or some other visual interface. Assume the marks will be stored in textual form on a file or multiple files. The system should also be able to retrieve the marks obtained by a student or by all students, by reading the stored data from the file. This means it should be able to search a student. In addition, the system should be able to update the mark and remove the record of any student from the system, by accessing the file. This means it should be able to update student marks if there is an error and eliminate records of students who has dropped out of the class. RE3. System Reporting (6%) The system should be able to produce a report of the average of the weekly assessment marks obtained by all students from week 1 up to a specified week. The report must also identify those students whose marks are below the average. The system should produce a report of both project and final exam marks obtained by all students. The report must also identify those students who fail (<50%) at least one of these components. the system should produce a report of the total marks and respective tentative grades (hd, d, c, p, or f) awarded to each student at the end of the semester. total marks are calculated by adding the marks/percentages of the weekly assessments, the project marks and the final examination marks. among these total marks, the report should identify the boundary cases for further review such as the marks of 84, 74, 64, and 49. assumptions there are weekly and individual task assessments as follows. assume the weekly distribution of the assessment marks is: weekly assessment weighting (evenly distributed to each week) weekly quizzes over 10 weeks 10% weekly dfs over 10 weeks 10% weekly practicals over 10 weeks 10% assume the project and final exam marks distribution is: other assessment weighting project 30% final exam 40% 4 note: you can solve this task in two phases: 1) object based 2) object oriented 1) in the object based phase you will not dwell on inheritance, instead you will focus on implementing different objects and their interactions. 2) in the later object oriented phase you will improve your program with advanced concepts such as inheritance and abstract classes. phase 1: object based (25%) for phase 1, you need to submit a zip file '[group_name]_ob.zip' with all source code compressed. to get started, study a preliminary overall class diagram, a specific class diagram, and a list of high level class definitions. below are some basic instructions to help structure your code: write a java class each for weeklyqzassmtmarks weeklydfassmtmarks weeklypractassmtmarks assume each of the above classes have attributes: -max marks -awarded marks -weekno also assume each of the above clases have operations: getmarks() setmarks() getweekno() setweekno() we will follow the iterative software development life cycle methodology. that is, we will design a little, code a little and test a little before completing the whole project hence, we will not test all the above classes at once. first let us code the weeklyqzassmt class. then we will test it a bit by creating objects in a test class and invoking the methods on it. once we are sure about it we will repeat the same for the weeklydfassmt class etc. next we follow the design a little, code a little and test a little principle for the same for the following 3 sets of classes. that is first we will create an object of semqzassmt and test it. once we are happy with it we will do the same for semdfassmt and sempractassmt also create a java class each for: semqzassmtmarks semdfassmtmarks sempractassmtmarks semprjassmtmarks semfinalassmtmarks assume the semqzassmtmarks has an array of 10 weeklyqzassmt assume the semdfassmtmarks has an array of 10 weeklydfassmt assume the sempractassmtmarks has an array of 10 weeklypractassmt also assume each of the first three classes have the following operations: gettotal(starting week, ending week) getaverage(starting week, ending week) getmaxwithweekno() getminwithweekno() https://leo.acu.edu.au/pluginfile.php/4220093/mod_assign/introattachment/0/umtswithpackageumldiagram.jpg?forcedownload=1 https://leo.acu.edu.au/pluginfile.php/4220093/mod_assign/introattachment/0/richerumldiagrampart.png?forcedownload=1 https://leo.acu.edu.au/pluginfile.php/4220093/mod_assign/introattachment/0/unitmarkstrackingsystemhighlevelapiswointerfaces.txt?forcedownload=1 https://leo.acu.edu.au/pluginfile.php/4220093/mod_assign/introattachment/0/unitmarkstrackingsystemhighlevelapiswointerfaces.txt?forcedownload=1 5 then it is left to you how to similarly structure the classes semprjassmtmarks and semfinalassmtmarks. then the student class will need to be coded and tested semstudentassmtmarks attributes: semqzassmtmarks semdfassmtmarks sempractassmtmarks semfinalassmtmarks semprjassmtmarks operations: gettotal() getaverageweeklymarksexclprjandfinal() at="" least="" one="" of="" these="" components.="" the="" system="" should="" produce="" a="" report="" of="" the="" total="" marks="" and="" respective="" tentative="" grades="" (hd,="" d,="" c,="" p,="" or="" f)="" awarded="" to="" each="" student="" at="" the="" end="" of="" the="" semester.="" total="" marks="" are="" calculated="" by="" adding="" the="" marks/percentages="" of="" the="" weekly="" assessments,="" the="" project="" marks="" and="" the="" final="" examination="" marks.="" among="" these="" total="" marks,="" the="" report="" should="" identify="" the="" boundary="" cases="" for="" further="" review="" such="" as="" the="" marks="" of="" 84,="" 74,="" 64,="" and="" 49.="" assumptions="" there="" are="" weekly="" and="" individual="" task="" assessments="" as="" follows.="" assume="" the="" weekly="" distribution="" of="" the="" assessment="" marks="" is:="" weekly="" assessment="" weighting="" (evenly="" distributed="" to="" each="" week)="" weekly="" quizzes="" over="" 10="" weeks="" 10%="" weekly="" dfs="" over="" 10="" weeks="" 10%="" weekly="" practicals="" over="" 10="" weeks="" 10%="" assume="" the="" project="" and="" final="" exam="" marks="" distribution="" is:="" other="" assessment="" weighting="" project="" 30%="" final="" exam="" 40%="" 4="" note:="" you="" can="" solve="" this="" task="" in="" two="" phases:="" 1)="" object="" based="" 2)="" object="" oriented="" 1)="" in="" the="" object="" based="" phase="" you="" will="" not="" dwell="" on="" inheritance,="" instead="" you="" will="" focus="" on="" implementing="" different="" objects="" and="" their="" interactions.="" 2)="" in="" the="" later="" object="" oriented="" phase="" you="" will="" improve="" your="" program="" with="" advanced="" concepts="" such="" as="" inheritance="" and="" abstract="" classes.="" phase="" 1:="" object="" based="" (25%)="" for="" phase="" 1,="" you="" need="" to="" submit="" a="" zip="" file="" '[group_name]_ob.zip'="" with="" all="" source="" code="" compressed.="" to="" get="" started,="" study="" a="" preliminary="" overall="" class="" diagram,="" a="" specific="" class="" diagram,="" and="" a="" list="" of="" high="" level="" class="" definitions.="" below="" are="" some="" basic="" instructions="" to="" help="" structure="" your="" code:="" write="" a="" java="" class="" each="" for="" weeklyqzassmtmarks="" weeklydfassmtmarks="" weeklypractassmtmarks="" assume="" each="" of="" the="" above="" classes="" have="" attributes:="" -max="" marks="" -awarded="" marks="" -weekno="" also="" assume="" each="" of="" the="" above="" clases="" have="" operations:="" getmarks()="" setmarks()="" getweekno()="" setweekno()="" we="" will="" follow="" the="" iterative="" software="" development="" life="" cycle="" methodology.="" that="" is,="" we="" will="" design="" a="" little,="" code="" a="" little="" and="" test="" a="" little="" before="" completing="" the="" whole="" project="" hence,="" we="" will="" not="" test="" all="" the="" above="" classes="" at="" once.="" first="" let="" us="" code="" the="" weeklyqzassmt="" class.="" then="" we="" will="" test="" it="" a="" bit="" by="" creating="" objects="" in="" a="" test="" class="" and="" invoking="" the="" methods="" on="" it.="" once="" we="" are="" sure="" about="" it="" we="" will="" repeat="" the="" same="" for="" the="" weeklydfassmt="" class="" etc.="" next="" we="" follow="" the="" design="" a="" little,="" code="" a="" little="" and="" test="" a="" little="" principle="" for="" the="" same="" for="" the="" following="" 3="" sets="" of="" classes.="" that="" is="" first="" we="" will="" create="" an="" object="" of="" semqzassmt="" and="" test="" it.="" once="" we="" are="" happy="" with="" it="" we="" will="" do="" the="" same="" for="" semdfassmt="" and="" sempractassmt="" also="" create="" a="" java="" class="" each="" for:="" semqzassmtmarks="" semdfassmtmarks="" sempractassmtmarks="" semprjassmtmarks="" semfinalassmtmarks="" assume="" the="" semqzassmtmarks="" has="" an="" array="" of="" 10="" weeklyqzassmt="" assume="" the="" semdfassmtmarks="" has="" an="" array="" of="" 10="" weeklydfassmt="" assume="" the="" sempractassmtmarks="" has="" an="" array="" of="" 10="" weeklypractassmt="" also="" assume="" each="" of="" the="" first="" three="" classes="" have="" the="" following="" operations:="" gettotal(starting="" week,="" ending="" week)="" getaverage(starting="" week,="" ending="" week)="" getmaxwithweekno()="" getminwithweekno()="" https://leo.acu.edu.au/pluginfile.php/4220093/mod_assign/introattachment/0/umtswithpackageumldiagram.jpg?forcedownload="1" https://leo.acu.edu.au/pluginfile.php/4220093/mod_assign/introattachment/0/richerumldiagrampart.png?forcedownload="1" https://leo.acu.edu.au/pluginfile.php/4220093/mod_assign/introattachment/0/unitmarkstrackingsystemhighlevelapiswointerfaces.txt?forcedownload="1" https://leo.acu.edu.au/pluginfile.php/4220093/mod_assign/introattachment/0/unitmarkstrackingsystemhighlevelapiswointerfaces.txt?forcedownload="1" 5="" then="" it="" is="" left="" to="" you="" how="" to="" similarly="" structure="" the="" classes="" semprjassmtmarks="" and="" semfinalassmtmarks.="" then="" the="" student="" class="" will="" need="" to="" be="" coded="" and="" tested="" semstudentassmtmarks="" attributes:="" semqzassmtmarks="" semdfassmtmarks="" sempractassmtmarks="" semfinalassmtmarks="" semprjassmtmarks="" operations:="" gettotal()="">
Answered Same DayOct 30, 2021

Answer To: ASSESSMENT GUIDE Unit Code: ITEC217 Programming Concepts, Semester 2, 2020 Assessment number 3 –...

Aditya answered on Nov 02 2021
148 Votes
ITEC217/build.xml

Builds, tests, and runs the project ITEC217.


ITEC217/build/classes/.netbeans_automatic_build
ITEC217/build/classes/.netbeans_update_resources
ITEC217/build/classes/AllStudentAssmtMarks.class
public synchronized class AllStudentAssmtMarks {
private java.util.ArrayList student;
public void AllStudentAssmtMarks();
public void addStudent(SemStudentAssmtMarks);
public double getAverageMarks(int, int);
public String getBelowAVergaeStudentMarks(int, int);
}
ITEC217/build/classes/SemDFAssmtMarks.class
synchronized class SemDFAssmtMarks {
public static final int INVALID_TOTAL = -2147483648;
public static final double INVALID_AVERAGE = -2.147483648E9;
public static final int MAX_WEEKS = 10;
private WeeklyDFAssmtMarks[] allWksDFAssmtMarks;
private int currentIndex;
public void setAllWksDFAssmtMarks(WeeklyDFAssmtMarks[]);
public void incrCurrentIndex();
public int getCurrentIndex();
public WeeklyDFAssmtMarks[] getAllWksDFAssmtMarks();
public void SemDFAssmtMarks(WeeklyDFAssmtMarks[]);
public void SemDFAssmtMarks(WeeklyDFAssmtMarks);
public void SemDFAssmtMarks();
public void addWeeklyDFAssmtMarks(WeeklyDFAssmtMarks);
public int getTotal(int, int);
public double getAverage(int, int);
public String toString();
}
ITEC217/build/classes/SemFinalAssmtMarks.class
public synchronized class SemFinalAssmtMarks {
public static final int INVALID_TOTAL = -2147483648;
public static final double INVALID_AVERAGE = -2.147483648E9;
public static final int MAX_WEEKS = 10;
private WeeklyFinalAssmtMarks[] allWksFinalAssmtMarks;
private int currentIndex;
public void setAllWksFinalAssmtMarks(WeeklyFinalAssmtMarks[]);
public void incrCurrentIndex();
public int getCurrentIndex();
public WeeklyFinalAssmtMarks[] getAllWksFinalAssmtMarks();
public void SemFinalAssmtMarks(WeeklyFinalAssmtMarks[]);
public void SemFinalAssmtMarks(WeeklyFinalAssmtMarks);
public void SemFinalAssmtMarks();
public void addFinalAssmtMarks(WeeklyFinalAssmtMarks);
public int getTotal(int, int);
public double getAverage(int, int);
public String toString();
}
ITEC217/build/classes/SemPracticalAssmtMarks.class
public synchronized class SemPracticalAssmtMarks {
public static final int INVALID_TOTAL = -2147483648;
public static final doubl
e INVALID_AVERAGE = -2.147483648E9;
public static final int MAX_WEEKS = 10;
private WeeklyPracticalAssmtMrks[] allWksPracticalAssmtMarks;
private int currentIndex;
public void setAllWksDFAssmtMarks(WeeklyPracticalAssmtMrks[]);
public void incrCurrentIndex();
public int getCurrentIndex();
public WeeklyPracticalAssmtMrks[] getAllWksPracticalAssmtMarks();
public void SemPracticalAssmtMarks(WeeklyPracticalAssmtMrks[]);
public void SemPracticalAssmtMarks(WeeklyPracticalAssmtMrks);
public void SemPracticalAssmtMarks();
public void addWeeklyPracAssmtMarks(WeeklyPracticalAssmtMrks);
public int getTotal(int, int);
public double getAverage(int, int);
public String toString();
}
ITEC217/build/classes/SemProjectAssmtMarks.class
public synchronized class SemProjectAssmtMarks {
public static final int INVALID_TOTAL = -2147483648;
public static final double INVALID_AVERAGE = -2.147483648E9;
public static final int MAX_WEEKS = 10;
private WeeklyProjectAssmtMarks[] allWksProjectAssmtMarks;
private int currentIndex;
public void setallWksProjectAssmtMarks(WeeklyProjectAssmtMarks[]);
public void incrCurrentIndex();
public int getCurrentIndex();
public WeeklyProjectAssmtMarks[] getallWksProjectAssmtMarks();
public void SemProjectAssmtMarks(WeeklyProjectAssmtMarks[]);
public void SemProjectAssmtMarks(WeeklyProjectAssmtMarks);
public void SemProjectAssmtMarks();
public void addWeeklyProjectAssmtMarks(WeeklyProjectAssmtMarks);
public int getTotal(int, int);
public double getAverage(int, int);
public String toString();
}
ITEC217/build/classes/SemQuizAssmtMarks.class
public synchronized class SemQuizAssmtMarks {
public static final int INVALID_TOTAL = -2147483648;
public static final double INVALID_AVERAGE = -2.147483648E9;
public static final int MAX_WEEKS = 10;
private WeeklyQuizAssmtMarks[] allWksQuizAssmtMarks;
private int currentIndex;
public void setallWksQuizAssmtMarks(WeeklyQuizAssmtMarks[]);
public void incrCurrentIndex();
public int getCurrentIndex();
public WeeklyQuizAssmtMarks[] getallWksQuizAssmtMarks();
public void SemQuizAssmtMarks(WeeklyQuizAssmtMarks[]);
public void SemQuizAssmtMarks(WeeklyQuizAssmtMarks);
public void SemQuizAssmtMarks();
public void addWeeklyQuizAssmtMarks(WeeklyQuizAssmtMarks);
public int getTotal(int, int);
public double getAverage(int, int);
public String toString();
}
ITEC217/build/classes/SemStudentAssmtMarks.class
public synchronized class SemStudentAssmtMarks {
private String name;
private SemDFAssmtMarks dfaMarks;
private SemFinalAssmtMarks finalMarks;
private SemProjectAssmtMarks projectMarks;
private SemQuizAssmtMarks quizMarks;
private SemPracticalAssmtMarks practicalMarks;
public void SemStudentAssmtMarks(String, SemDFAssmtMarks, SemFinalAssmtMarks, SemProjectAssmtMarks, SemQuizAssmtMarks, SemPracticalAssmtMarks);
public String getName();
public double getAverage(int, int);
}
ITEC217/build/classes/Test.class
public synchronized class Test {
public void Test();
public static void main(String[]);
}
ITEC217/build/classes/WeeklyDFAssmtMarks.class
synchronized class WeeklyDFAssmtMarks {
public static final int INVALID_WEEKNO = -2147483648;
public static final int INVALID_MARKS = -2147483648;
public static final int MAX_MARKS = 15;
private int weekNo;
private int marksAwarded;
public void WeeklyDFAssmtMarks(int, int);
public void setWeekNo(int);
public int getWeekNo();
public void setMarksAwarded(int);
public int getMarksAwarded();
public String toString();
}
ITEC217/build/classes/WeeklyFinalAssmtMarks.class
public synchronized class WeeklyFinalAssmtMarks {
public static final int INVALID_WEEKNO = -2147483648;
public static final int INVALID_MARKS = -2147483648;
public static final int MAX_MARKS = 15;
private int weekNo;
private int marksAwarded;
public void WeeklyFinalAssmtMarks(int, int);
public void setWeekNo(int);
public int getWeekNo();
public void setMarksAwarded(int);
public int getMarksAwarded();
public String toString();
}
ITEC217/build/classes/WeeklyPracticalAssmtMrks.class
public synchronized class WeeklyPracticalAssmtMrks {
public static final int INVALID_WEEKNO = -2147483648;
public static final int INVALID_MARKS = -2147483648;
public static final int MAX_MARKS = 15;
private int weekNo;
private int marksAwarded;
public void WeeklyPracticalAssmtMrks(int, int);
public void setWeekNo(int);
public int getWeekNo();
public void setMarksAwarded(int);
public int getMarksAwarded();
public String toString();
}
ITEC217/build/classes/WeeklyProjectAssmtMarks.class
public synchronized class WeeklyProjectAssmtMarks {
public static final int INVALID_WEEKNO = -2147483648;
public static final int INVALID_MARKS = -2147483648;
public static final int MAX_MARKS = 15;
private int weekNo;
private int marksAwarded;
public void WeeklyProjectAssmtMarks(int, int);
public void setWeekNo(int);
public int getWeekNo();
public void setMarksAwarded(int);
public int getMarksAwarded();
public String toString();
}
ITEC217/build/classes/WeeklyQuizAssmtMarks.class
public synchronized class WeeklyQuizAssmtMarks {
public static final int INVALID_WEEKNO = -2147483648;
public static final int INVALID_MARKS = -2147483648;
public static final int MAX_MARKS = 15;
private int weekNo;
private int marksAwarded;
public void WeeklyQuizAssmtMarks(int, int);
public void setWeekNo(int);
public int getWeekNo();
public void setMarksAwarded(int);
public int getMarksAwarded();
public String toString();
}
ITEC217/manifest.mf
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
ITEC217/nbproject/build-impl.xml















































































































































































































Must set src.dir
Must set test.src.dir
Must set build.dir
Must set dist.dir
Must set build.classes.dir
Must set dist.javadoc.dir
Must set build.test.classes.dir
Must set build.test.results.dir
Must set build.classes.excludes
Must set dist.jar




































































































Must set javac.includes
































































































































No tests executed.























































































































































































































































Must set JVM to use for profiling in profiler.info.jvm
Must set profiler agent JVM arguments in profiler.info.jvmargs.agent





























































































































































































































Must select some files in the IDE or set javac.includes













































To run this application from the command line without Ant, try:

java -jar "${dist.jar.resolved}"










































Must select one file in the IDE or set run.class



Must select one file in the IDE or set run.class


















...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here