Up to 2000 characters briefly describing the project.
Detailed description of the project goals, requirements, and expected outcomes.
Use case Diagrams, examples, or Q/A simulations are welcome.
Informal description of the ways users are expected to interact with your project. It should describe how and why a user should use / interact with the system.
How should the quality of the produced software be assessed?
How should the effectiveness of the project outcomes be assessed?
Is there any implicit requirement hidden within this project's requirements?
Is there any implicit hypothesis hidden within this project's requirements?
Are there any non-functional requirements implied by this project's requirements?
What model/paradigm/techonology is the best suited to face this project's requirements?
What's the abstraction gap among the available models/paradigms/techonologies and the problem to be solved?
This is where the logical/abstract contribution of the project is presented.
Notice that, when describing a software project, three dimensions need to be taken into account: structure, behaviour, and interaction.
Always remember to report why a particular design has been choosen. Reporting wrog design choices which has been evalued during the design phase is welcome too.
Which entities need to by modelled to solve the problem?
(UML Class diagram)
How should entities be modularised?
(UML Component/Package/Deployment Diagrams)
How should each entity behave?
(UML State diagram or Activity Diagram)
How should entities interact with each other?
(UML Sequence Diagram)
Just report interesting / non-trivial / non-obvious implementation details.
This section is expected to be short in case some documentation (e.g. Javadoc or Swagger Spec) has been produced for the software artifacts. This this case, the produced documentation should be referenced here.
Choose a criterion for the evaluation of the produced software and its compliance to the requirements above.
Pseudo-formal or formal criteria are preferred.
In case of a test-driven development, describe tests here and possibly report the amount of passing tests, the total amount of tests and, possibly, the test coverage.
Explain here how to install and launch the produced software artifacts. Assume the softaware must be installed on a totally virgin environment. So, report any conviguration step.
Gradle and Docker may be useful here to ensure the deployment and launch processes to be easy.
Show how to use the produced software artifacts.
Ideally, there should be at least one example for each scenario proposed above.
Recap what you did
Racap what you did not
Racap what did you learned