辅导案例-COSC2391/2401
Assignment 1Due Friday by 18:00 Points 25 Submitting a file upload File types zipAvailable 26 Jul at 9:00 - 7 Sep at 18:00 about 1 monthCOSC2391/2401 A1 S2 2019Criteria Ratings PtsSubmit AssignmentFP_Assignment1_sem2_2019.pdfCoinGame.zipThe .pdf contains the written assignment specification and the .zip contains supporting source code(interfaces) and JavaDoc documentation generated from the interface comments. To view thejavadoc simply load index.html in the doc/ folder in a web browser. The project also contains anexample console output trace (OutputTrace.pdf).For submission you need to submit your full eclipse project. This can be done by right clicking theproject and selecting Export ... (General -> Archive File).You are allowed multiple submissions however only the final one will be marked.Standard RMIT Late penalty of 10% per day (of full marks i.e. 2.5/25) applies (to a maximum of 5days after which late assignments can no longer be accepted).! Functional CorrectnessMarking Functional Correctnessinvolves the marker running a testclient which runs a series of knowntests against your submissions. Thefollowing will be tested:Add/Remove Players; Refuse anillegal bet; Place a valid bet; Coinand CoinPair behaviour (includingequals()/hashCode() functionality);Unmodifiable Collection; Spin Coins(Delay, Result, Sequence, Callbacknumber and sequencing); SpinCoins a Second Time (to testGameEngine state handling);applyBetResults() produces correctoutcome based on result andBetType (table 1 in spec); Aftermarking you will be supplied with an13.0 to >11.0 PtsExemplaryCodesuccessfullypasses all testsaccording to therequirementsspecified in theassignmentdocumentationwith correctoutput, no errors,or exceptions.11.0 to >9.0 PtsDevelopingCode passesmajority of testsaccording to therequirementsspecified in theassignmentdocumentationand where it failsit is able toproduce partialoutput andcontinueexecuting.9.0 to >6.5 PtsPassCode is able tocompile and run(perhaps withsome minormodification bythe marker) butfails some tests,produceserroneous outputor functionalitythat does notmatch therequirements orthrowsexceptions.6.5 to >0 PtsFailCode will notcompile orcannotexecute toprovide anymeaningfultesting offunctionalityOR only asmall subsetoffunctionalityis correctlyimplemented.13.0 pts4.0 pts3.5 ptsoutput log of the tests to help youfix any errors that are detectedduring evaluation.Structural Adherence toSpecificationSubmission makes appropriate useof the provided classes andinterfaces. Code passes Validator.jarchecks. Compilation and executiontest with external code. (e.g. ourGEI and GEC) Output is formattedaccording to spec/OutputTrace.txt4.0 to >3.5 PtsExemplaryAll methods inthe interfaceshave beenimplementedwithoutmodification asspecified. Allimplementationclasses areaccessedthroughprovidedinterfaces.3.5 to >3.0 PtsDevelopingMost methods inthe interfaceshave beenimplementedwithoutmodification asspecified.Implementationclasses are mostlyaccessed throughprovidedinterfaces. Onlyminor errors,occasionalcasting/misnamingetc.3.0 to >2.0 PtsPassSignificantchanges havebeen made to theprovidedinterfaces/classes.Exceptions, orcompile errorspresent whentesting withexternal clientcode. Partialautomated testingis still possible orcan be evaluatedmanually.2.0 to >0 PtsFailCode doesnot follow thespecification.An ad-hocapproach hasbeen takenand/or no orminimal codehas beenadded to thesuppliedframework.Encapsulation and OO PrinciplesConstrained variable scope,information hiding, modularity, codereuse.3.5 to >3.0 PtsExemplaryFields areappropriatelyencapsulated,suitable use of OOtechniques toremove codeduplication, nounnecessary/globalvariables.Appropriate use oftypes and visibility3.0 to >2.5 PtsDevelopingGenerally wellencapsulatedbut minorerrors withvisibility, minorcodeduplicationand/orinappropriateuse oftypes/casting.2.5 to >1.75 PtsPassClear evidenceof copy andpaste codereuse,unnecessaryvariables, globalvariables andhigh visibility.Lack ofappropriategetters and1.75 to >0 PtsFailNo obviousencapsulation.Code structureappearsrandom or ispoorlyplanned.Total points: 25.03.5 pts1.0 pts0.0 pts0.0 ptsmodifiers. setters andparameterpassing.Coupling and CohesionGoal: High Cohesion (Classes havea precise, clear well definedfunction). Low Coupling (classesonly interact with other modules asnecessary to perform a clearfunction).3.5 to >3.0 PtsExemplaryThe source codeis highly cohesiveand has lowcoupling. Classesand methods aresuccinct andhave a clearseparation ofconcerns.Dependenciesare well managedand only occurwhere necessaryto achieve aspecific goal orinteraction.3.0 to >2.5 PtsDevelopingGenerally highcohesion andlow coupling butminor caseswhere codestructure couldbe improved bysplittingmethods/classesand removingunnecessarydependencies.2.5 to >1.75 PtsPassSome effort hasbeen made toincreasecohesion andlower couplingbut there areclear problemswith largeuncohesiveclasses ormethods withhigh complexitythat wouldbenefit fromdecomposition.1.75 to >0 PtsFailThere is noobviousstructure tothe code andmodulesappear to berandomlygrouped withlittleconsiderationgiven tomaintainability,reusability andextensibility.Source Code QualityImportable Eclipse Project,Appropriate class, method andvariable names, meaningfulcommenting, easilycomprehensible, no warnings,appropriate formatting1.0 to >0.85 PtsExemplaryThe qualitycriteria have beenconsistently andfully applied inthe project0.85 to >0.75 PtsDevelopingThe qualitycriteria have beenmostly applied inthe project0.75 to >0.5 PtsPassThe qualitycriteria havebeeninconstantly orpartially appliedin the project0.5 to >0 PtsFailThe qualitycriteria havemostly notbeen appliedin the projectDeductionsSee comments if deduction hasbeen applied.0.0 PtsNo description0.0 PtsNo descriptionLate PenaltyIf applicable late penalty of 10%(2.5 marks) per day applied here.0.0 PtsNo description0.0 PtsNo description