
” COMP503程序 写作、Java程序语言调试COMP503/ENSE502/ENSE602 _ Assignment 1Technical School AppDue date: Friday, 28th August 2020 at 5:00 pmThis assignment has 100 marks and is worth 10% of your final grade.BriefFor this assignment, you will individually develop a Technical School App (eight classes) inJava to determine whether or not a student is certified, their transcript is checked against acertification criterion. For this assignment, you will develop classes to store data formodules, students, and their transcripts. You will demonstrate the functionality of yourcode on sample transcripts.Methodology and Marking SchemeYou have been provided with an outline of eight classes that contain the core functionalitiesof the technical School app: Grade, ModuleType, Level, Module, Student, Result,TechnicalSchool, And StudentEvaluation. The relationships between classes are describedbelow using a UML Class Diagram (Figure 1). Complete the assignment by using the givenUML class diagram. Please use the following steps to develop the eight classes with theprovided instance variables and methods using appropriate access modifiers (as shown inthe diagram). Please take the time to test your methods as you progress.Note: No other methods/instance variables are required. But feel free if you would like toadd more methods!COMP503/ENSE502/ENSE602 _ Assignment 1Sem 2 2020Dr. Seyedjamal Zolhavarieh, Auckland University of Technology, szolhava@aut.ac.nzFigure 1: UML Diagram of The Technical School AppStep 1: Creating Enumerated types1. Create an enumerated type Grade, which maintains: A list of Grade values with associated boundaries for each mark:o 100% A+ (APLUS) 90%o 90% A 85%o 85% A- (AMINUS) 80%o 80% B+(BPLUS) 75%o 75% B 70%o 70% B- (BMINUS) 65%o 65% C+ (CPLUS) 60%o 60% C 55%o 55% C- (CMINUS) 50%o 50% D Encapsulated instance variables (for each Grade):o Two integer variables indicating the range of each letter gradeo A Boolean variable to indicate if the grade is a pass (greater than or equalto 50%).NOTE: the variables are immutable!EnumerationGradeEnumerationModuleTypeEnumerationLevelAPLUSAAMINUSBPLUSBBMINUSCPLUSCCMINUSD- low: int- high: int- Pass: boolean- Grade(int, int, boolean)+ toString(): String+ isPass(): boolean+ getHigh: int+ getLow(): intModule- title: String- code: StringCOMP503作业 写作、Java程序语言作业调试、Java课程设计作业 辅导- level: Level- type: ModuleType+ Module(ModuleType, String, String, Level)+ GetTitle(): String+ getCode(): String+ getLevel(): Level+ getType(): ModuleType+ setTitle(String)+ setCode(String)+ setLevel(Level)+ setType(ModuleType)+ toString(): StringTechnicalSchool- offerings: Module[]+ TechnicalSchool()+ getSemesterOfferings(): Module[]+ lookup(String): Module- semesterOneModuleOfferings(): Module[]+ isCertified(Student): booleanStudentEvaluation+ axel(): Student+ kate(): Student+ jim(): Student+ Robin(): Student+ main(String[])Result- module: Module- grade: Grade+ Result(Module, Grade)+ getModule(): Module+ getGrade(): Grade+ setModule(Module)+ setGrade(Grade)Student- name: String- MAX_TRANSCRIPT_LENGTH: int- nResults: int- transcript: Result[]+ Student(String)+ addResultToTranscript(Module, Grade)+ getTranscript(): Result[]+ getNResults(): int+ getName(): String+ SetTranscript(Result[])+ setNResults(int)+ setName(String)+ toString(): StringSELF_STUDYTAUGHTPROJECTCLIENT_PROJECTONETWOTHREECOMP503/ENSE502/ENSE602 _ Assignment 1Sem 2 2020Dr. Seyedjamal Zolhavarieh, Auckland University of Technology, szolhava@aut.ac.nz isPass() method, which returns true if the Grade is a pass and falseotherwise. a constructor with input for all instance variables to initialize Grade objects.2. Create an enumerated type ModuleType, which maintains four valuescorresponding to the type of modules available: SELF_STUDY, TAUGHT, PROJECT,and CLIENT_PROJECT.3. Create an enumerated type Level containing three-level values: ONE, TWO, THREE.Step 2: The Module ClassCreate the Module class which: maintains instance variables for type, title, code, and level. All instance variables areprivate with get and set methods. Has one constructor with input for all instance variables to initialize Module object. overrides the toString method to return a beautiful text representation.Step 3: The Technical School classThe TechnicalSchool class maintains the Semester 1 Module Offerings T based on thefollowing table:Module Type Title Code LevelTaught Programming PROG101 1Taught Statistics STAT102 1Taught Database Design DATA222 2Taught Object-Oriented Programming PROG202 2Taught Information Systems INSY313 3Taught Web Services WEBS332 3Self-Study Technology Applications TECH103 1Self-Study Theory of Computation THEO111 1Self-Study Model Checking MODC233 2Self-Study Topology TOPG233 2Self-Study Logic LOGI321 3Project Web App Dev PROJ399 3Client Project Great Code Company EXTO396 3Table1: Semester 1 Module OfferingsThe TechnicalSchool class: maintains a private instance variable Module[] offerings which stores the Semester1 Modules based on Table 1. has a method private static Module[] semesterOneModuleOfferings(), whichreturns A primitive array populated by 13 Module objects, corresponding to eachrow of the table. create a default constructor TechnicalSchool() instantiates the offerings variablewith appropriate Module objects comes from semesterOneModuleOfferings()(i.e. this.offerings = TechnicalSchool.semesterOneModuleOfferings()) has a get method for offerings variable. has a public Module lookup(String code) method to search the offerings array andreturn a module with the matching code.COMP503/ENSE502/ENSE602 _ Assignment 1Sem 2 2020Dr. Seyedjamal Zolhavarieh, Auckland University of Technology, szolhava@aut.ac.nzStep 4: The Result classThe Result class: stores Module and Grade objects. has an appropriate constructor to initialize both instance variables. has get and set methods. has a toString method to represent the result object.Step 5: The Student classThe Student class: Maintains an array of results, called a transcript. declareso a student name,o a private final static integer variable that sets the maximum size of the array(e.g., MAX_TRANSCRIPT_LENGTH = 20)o an instance variable called numberOfResults, which maintains the number ofresults available for the student.Complete the Student class with the following methods: a constructor initializes name (using input parameter) and transcript as a new array public void addResultToTranscript(Module module, Grade grade), whichcreates a Result object and adds it to the end of the transcript and updatesnumberOfResults. If the transcript is already full, do not add the result. public Result[] getTranscript() which returns an array of Result objects. Thereturned array should not contain any null entries; e.g., it is of lengthnumberOfResults.Step 6: Certification AlgorithmThe certification algorithm is a method (i.e., isCertified method) in the TechnicalSchoolclass. It takes a Student object as an input and examines his transcript to determine if he iscertified, according to the following criteria: at least three modules passed at level 1, either taught or self-study AND at least three modules passed at level 2, more than one must be self-study AND at least Four modules passed at level 3, at least two must be taught AND at least one project module passed (either of project or client project).Complete the method and returns true if the student satisfies ALL of the above four criteriaand false otherwise.COMP503/ENSE502/ENSE602 _ Assignment 1Sem 2 2020如有需要,请加QQ:99515681 或邮箱:99515681@qq.com
“
添加老师微信回复‘’官网 辅导‘’获取专业老师帮助,或点击联系老师1对1在线指导。






