Assignment Specifications 2021
Assignment Specifications 2021
Submission of work
• You must submit both elements of the coursework on-line, via the coursework on-line
submission system on the module portal. Coursework elements must be submitted by the
specified deadlines.
• You should give due consideration to your personal time management to ensure that
coursework is submitted in plenty of time prior to the deadline.
• Coursework elements can be submitted at any time ahead of the deadline.
• Please note that the University enforces a penalty of zero percent for work submitted after
the published deadline without valid extenuating circumstances (see University student
handbook on the portal for details).
• Work submitted less than 24 hours late, the student’s mark will be capped at 40%
• Work submitted 24 hours or more late, the student will receive a mark of zero and a late ‘LT’
flag against the assessment.
Type of work
This assignment is partly based on programming and partly based in producing the documentation
and is to be carried out on an individual basis. There is no group work involved.
Overall Aim
The aim of this assignment is to produce a suitable design for a software application, followed by an
implementation in C++ using Qt library and a documentation of such application.
There are only few “rules” that I would like to make clear:
• You must use Qt as the basis of your work. Therefore, the program must have a GUI and
must be implemented in Qt;
• You may use third-party libraries in addition to Qt (e.g. OpenGL) provided that all the main
functionalities of the program in terms of, e.g., graphics interface, user interactions, working
with files, are based on Qt;
• You may use any Qt module and you must be sure that any aspect of your program is fully
empowered by Qt, so to be reassured on its cross-platform portability;
• You may use the program code provided at the labs or any other sources, such as Qt
tutorials (much better than my code), but you must provide in this case the original code you
started with. You must clarify what you have done and your original contribution to it.
• The program must compile (comment and discuss problems, in case) and run
• The program should be tested and run on at least 2 platforms
You can get inspiration for you work from the Qt website and from some example provided in the
module portal. In particular, the section Qt in Use (http://www.qt.io/qt-in-use/) you will find many
showcases that can give you interesting ideas.
Deliverables
All submission should be made online via DLE. Documents and files to submit for the final
submission can be logically divided in two parts and must be submitted in the form of a single .zip
archive. The name of this file must contain your name, registration and Module code.
PART I: Program – The Qt project created for implementing the program. Every file needed for
compiling the program must be included. Therefore, you should include in this part of the
submission:
- Project file (.pro file)
- All code files (every .h and .ccp files)
- The User Interface files that contain Forms and Dialogs eventually created (.ui files)
- Resources included in the project for displaying the GUI, e.g., icons, pictures, etc.
NOTE: it is required that your program compiles and run to obtain a pass mark. If some part of your
code give you some errors, my advice is to comment that part and explain the problem in the
program description (see below).
PART II: Program Documentation – This part contains all the documentation that describes the
software implementation and informs the user about the program. It is very important and should
give enough information to allow me to run and use the program. The program documentation is
sub-divided in two parts:
- Technical documentation
• This aspect of the documentation should include a description of the GUI design (can be
done with snapshots of the graphic interface and a description of its main software
components).
• In addition to this, in order to explain the structure of your program, a documentation of
the code is required. The main purpose of this documentation is to carefully describe the
structure of the code. The Qt modules and/or the third-party libraries you have used. This
NOTE: some tools exist that may help you in the production of this documentation, e.g. doxygen and
Ndoc, although the use of this software is not strictly required.
- User documentation
• This aspect must include a description of the program, in which you should describe the
scope and functionality, any issues and bugs that you know about the program, supported
platforms, and any other relevant information about your software, such as the installation
of additional libraries in order to run it. Here you have to provide me some evidence of the
fact that you have tested the program on at least 2 platforms (e.g. snapshots on the two
platforms).
• Moreover, a light “User Manual” for the program must be submitted, in case in is not
covered on the above point. This should be detailed enough to allow me to use your
program.
Assessment criteria
Although assessing works that performs different operations and have different purposes is always
quite complex, some general aspects that will definitely affect your marking are the following:
• Quality of submission: all required documentation must be included and properly formatted;
• If your code does not compile you will not achieve a pass mark (see general guidelines);
• The program should run on at least 2 platforms;
• The code should be clearly written, well organised (indentation and classes organisation in
particular), and well commented;
A marking grid that can give you a rough guidance of the assessment criteria is provided here:
The application
Operation of the program, functionality, originality 30
Level of Qt usage and cross-platform design 20
Structure of classes, reusability of the code, scalability 10
GUI usability and cross-platform appearance (look & feel) 10