联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2019-11-16 08:52


CW2 Software Maintenance Spec Sheet

Academic Year 2019/2020

CW2 is about maintaining and extending a re-implementation of a classic retro game (Frogger). This

version has never been completed, but at least it runs, once it is set up properly.

More information about the original Frogger game and its history is available here. You can also pick

up some ideas for creating additional levels.

https://www.arcadeclassics.net/80s-game-videos/frogger

To get started download the original re-implementation from the following GitHub repository.

https://github.com/hirish99/Frogger-Arcade-Game

Then you should set up a JavaFX project in your preferred IDE (either Eclipse or IntelliJ) in your local

git repository, integrate the classes and resources you downloaded into your project, upload it to

GitLab, and start working on it.

The marks will be split as follows:

? 15% for git use (e.g. push, branch, merge, providing .gitignore)

? 30% for refactoring

? 30% for additions

? 15% for documentation (Javadocs + class diagram)

? 10% for a video, explaining your refactoring activities and additions

You should roughly spend 50 HOURS on this coursework

What to produce:

? A README.md file (max. 500 words), documenting the work you conducted (highlighting the

key changes you made for maintenance and extension, where you made them, and why you

made them)

? High level class diagram that shows the structure of the final version of your game (considering

only classes (excluding fields and methods, unless they are relevant for understanding design

principles/patterns), interfaces, relationships, and multiplicity). If you use software to reverse

engineer your class diagram, make sure the delivered diagram is correct and follows the above

requirements.

? The source code documentation (Javadocs) should be delivered in form of a Javadoc folder

inside your project folder. Besides reading your README.md file we will look at the Javadocs

to find out how you maintained and extended the game. If it is not obvious from there we

might miss it. Also we have only a limited amount of time to look at each coursework

submitted. So, please make sure to provide informative but concise Javadocs.

? Finally, you have to make a video (very briefly) showing your software running and then (for

the main part) explaining your refactoring activities and additions. You should also highlight

two achievements you are most proud of.

Important:

? This coursework is about maintaining and extending existing code. So, for the maintenance

part you have to use the existing code as a basis, and not write your own Frogger game from

scratch.

For moderate marks:

2

? Set up a git repository on the school's git server https://projects.cs.nott.ac.uk/ and use it

actively for version control activities

? Do some basic maintenance of the delivered code base (e.g. adding meaningful Javadocs,

organising files in a meaningful way into packages, breaking up large classes in a meaningful

way to support the idea of single responsibility, improving encapsulation, etc.)

? Extend the delivered code base by adding:

o A START screen, displaying a picture related to the game and a button that provides

access to a INFO screen explaining the game operation.

o A HIGH SCORE popup, appearing at the end of each round, showing the scores from

each round, highest at the top

For higher marks: In addition to the previous, do some of the following...

? Refactor the code by adding some design patterns to enhance maintainability

? Organise the code to adhere to the MVC pattern

? Create a permanent high score list (using a file to store scores)

? Add interesting levels to the game (either follow the original Frogger game levels or come up

with your own ideas)

? Add meaningful JUnit tests

? Use build files (Ant or Maven or Gradle)

You have to use Java 10 or higher and JavaFX 10 or higher for the implementation. The project files

you are submitting need to be either compatible with Eclipse or IntelliJ.

Deliverables: Three separate files, uploaded to Moodle:

? A zip file containing your entire project (including your README.md and Javadocs). It needs

to be possible to load (open/import) your project in one of the IDEs (either Eclipse or IntelliJ).

If any unusual steps are required, please mention this in your README.md file. To avoid

disappointment later, test your final version on a different computer. This should help to

uncover hardcoded path dependencies, which was a major issue in previous years.

? Please name your zip file as follows: "Surname_FirstName_IDE_JavaVersion.zip", where IDE

represents the name of the IDE you used (i.e. either Eclipse or IntelliJ) and JavaVersion the

Java version you used. Here is an example: "Siebers_Peer-Olaf_IntelliJ_12.zip".

? Your final class diagram as pdf. Please name your pdf as follows: "Surname_FirstName.pdf".

Here is an example: "Siebers_Peer-Olaf.pdf"

? A video of up to 2 minutes, as described above, in a common format that can be played on

the lab machines in A32. Please test your video on the lab machines before submitting it, to

avoid disappointment. Please name your video as follows: "Surname_FirstName.EXT", where

EXT represents the extension related to your video format (e.g. mp4; mpg; avi). Here is an

example: "Siebers_Peer-Olaf.mp4".

Note: You are gently reminded that we are at liberty to use plagiarism detection software on your

submission. Plagiarism will not be tolerated, and academic offences will be dealt with in accordance

with university policy and as detailed in the student handbook. This means you may informally discuss

the coursework with other students but your submission must be your own work. Please also note

that it is not permitted for you to copy and paste text from another source without correct referencing.

If you are unclear about this process, please discuss with the module convenors during one of our lab

sessions or at the end of a teaching session.

Assessment Details:

? This coursework is worth 50% of your module mark.

3

Questions:

? Dr Siebers and Dr Greensmith will of course be happy to answer questions and give high level

interim formative feedback on your assignment during the lab sessions. However, we might

refuse to answer very detailed technical questions, or very general questions like "What do

you think about my project so far?".

Good luck, have fun, code well :).


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp