The final submission of the project in the course Advanced Topics in Software Engineering
is due on Wednesday, June 2, 2015.
The submission should be a zip file containing all the software (including all the source code,
if possible as exported Eclipse projects), as well as a report (final documentation) in PDF (see here for an example from
Patrick Könemann from an earlier course).
The source code should contain everything that is needed to
install, run, and use your developed software (in addition to the Eclipse installation that
was provided as prerequiste for this course); the submission must include a working
example as well as all the necessary information on how to start and use this example with your tool.
Here are some guidelines for the final
submission and the written documentation:
- First and foremost, make sure that the different parts of the
documentation (on the sub-section level) indicate the author. This
can either be by giving an author for every sub-section, or by an
annex with a list saying which group member has written which
parts of the document. Note that also the (non-generated)
code should contain @author tags, which indicates which group
member implemented it.
- The final documentation should contain a complete problem
statement, which is understandable by a person that does
not know anything about the background of the
projects you have chosen
(on a high level of abstraction).
- The final document should explain the idea of the solution,
the technologies used for implementing it, and a justification
why these technologies were used.
- For major design decisions, there should also be a rationale. That applies
in particular to the design of your DSL (remember that a DSL consists of
abstract syntax, concrete syntax and semantics/runtime).
- Also some of the (more important and relevant) implementation
details should be discussed.
In addition, there could be a discussion of ideas for extensions and
the next steps for extending your software.
- The final software product and its use should be explained
by the help of your example (and it should be possible to run
the delivered software according to this description).
- There should be some arguments that increase the confidence that
the implemented software works correctly (documentation of
tests, code inspections, etc).
- If there are any restrictions for the implementation or some
problems, they should be documented.
- Please, also include the slides of your final
presentation to your submission.
Here is a check list for the final submission:
- Are all required files and documents included in your submission
(including the example(s))?
- Does the submission contain all necessary details for installing and
starting the group's software? Is there a document (e.g. a README
file or section in the handbook) with that
information.
- Is the software running (based on the pre-requisites stated) on another computer
(no absolute path names, etc.)?
Does the example work as descibed in the documentation?
- Are all output commands to the console deleted from the code (or only made
in debugging mode)?
- Does the software include the java docs and, in particular, the @authors tags
for all non-generated parts?
- Does the documentation include the information on the authors for the
different parts?
- Is the documentation understandable for people that do not have
a detailed understanding of the underlying technology and the project descriptions of
the ATSE course (is the documentation self-contained)?
|