Specification for the final project:
- Deadline: 01.03.2014 12:00
- Allowed programming languages: Vala, Python, C++, C#, Java, JavaScript
- A documentation is required (given as PDF file). It must contain:
- 1 high-level UML diagram (e.g. package diagram of the application)
- 4 mid-level UML diagrams (e.g. class diagram of an applied design pattern)
- 1 low-level UML diagram (e.g. sequence diagram describing the algorithm of a certain method or class)
- 1-2 paragraphs describing the project
- A short description of followed principles (e.g. OCP)
- Remarks on any special technique (e.g. TDD, agile, unit-tests in general, ...)
- A short tutorial on how to compile (or what dependencies must be fulfilled for a successful compilation)
- The project itself (source code) must contain:
- At least 4 patterns from at least two of these categories: (Behavioral, Structural, Creational, Concurrency), e.g. factory, singleton, composite and observer (these are 4 from 3 categories)
- For UI applications: Use any presentation pattern (e.g. MVC, MVP or MVVM)
- For libraries: The facade pattern should be used to include an API layer
- C++ only: Avoid memory leaks (check e.g. with valgrind)
- Managed languages only: Avoid unnecessary references (e.g. check memory consumption)
- The whole project is then to be zipped (preferred, 7-Zip, but anything else will also be sufficient) and send via e-mail to florian.rappl @ physik ... (standard university e-mail)