PA165 Enterprise Java - Seminars

Milestones in PA165 & Writing Projects Evaluations

Milestones in PA165

Your team will be required to meet several milestones. For each milestone there are two things you need to do:

  1. Push to Github everything in your project that is part of that milestone;
  2. Evaluate the project from another team;

For (1) there will be always a special document with requirements that your project should meet. If your team doesn’t meet some of the requirements it will be penalized. For not meeting a deadline there will be further penalizations.

When you evaluate another project (2) you must evaluate the code that was committed at the time of the deadline. So if for example the deadline is 29.10. 23:59 then you should clone and checkout a commit just before this time.

It is expected that every person in the team contributes equally during every milestone. It is important that this can be proved by looking up Github commit history. This means you must not commit changes on behalf of somebody else.

It is expected that you can answer questions about parts of the code you have written. Even if everything works as expected, if you cannot answer basic questions about it you can be penalized.

We prepared an example project for you that is used during the seminars to show different topics (https://github.com/fi-muni). You can use parts of the project, if you think they can be useful in your own implementation.

How to write another project’s evaluation

You will submit the evaluation as text document to the submission folder in information system /auth/el/1433/podzim2017/PA165/ode/. Use the submission folder for your seminar group, subfolder for the specific milestone and subfolder for the specific project. Add to the filename your name (or the way that will be communicated by your tutor to identify your submission, e.g. uco and surname might be added automatically to the file submission).

For each milestone, the tutor will assign you a project (another team’s project) that you must evaluate. Every student in your team will evaluate a different project assigned by your tutor and projects will rotate during milestones, so that by the end of the seminars you will have evaluated as many projects as possible.

You should use the checklist that will be part of each milestone to deduct points. Your evaluation should be a short text document, see the example below. In your evaluation you should mention why you are deducing points and how many. The conclusion of your evaluation should be how many points the project should receive for this milestone.

Example checklist:

  • Maximum number of points for this milestone are 10 points
  • -1 point project should be compilable from command line using “mvn compile”
  • -2 points for 5 hours late submission

Example evaluation:

evaluated project: github.com/XXXXYYY
uco, name, surname: 5555, myname, mysurname

a) Checklist evaluation:

  • -1 project was not compilable
  • -2 project was submitted 1 hour after deadline

total points: 7

b) General comments: we would like to suggest to write more extended comments, example for classes xxx and yyy. We generally found the number of test methods acceptable for the project, however we would suggest to improve the quality of tests for more critical parts of the project, example package zzz. The provided tests do not test the system when multiple entities are removed.
Really great work on the configuration of the project, we liked the idea to use the Dozer project for beans mapping.

c) Strong points of the project: great user-friendly user interface, very good exception handling throughout the project.

d) Weaknesses of the project: testing should be improved. Some parts of the application seem quite fragile and not reliable at all (example: classes abc and bcd). The project does not follow Java code conventions in several places (example: xxx).

e) other notes: It seems that Petr Lenoch was not contributing very much, he has only one commit in which he was formatting code.