Project
This is the fun part of this module: designing your own novel UI. The project teams are the same as the project teams for critiques. Please form a project team and choose a project topic by 30 Jan.

Click here for project topics available.
Click here for project teams, meeting dates and presentation schedule.

For the project, your team may do it in any platform using any tool including Qt Creator and Qt Designer. During project presentation and demonstration, please ensure that you can run your program by either double-clicking the program icon or typing the program's name at Linux command line. Do not run it off an IDE such as Qt Creator or Visual Studio as that is a bad way to demonstrate a piece of software to the users.
 
Project Schedule
Part
Project Deliverables
Due Date
Weightage
1
Progress report, in pdf fomart, which includes
- GUI design
13 Mar
10%
2
Progress report, in pdf format, which includes
- Revised GUI design
- System architecture
27 Mar
10%
3
Final report, in pdf format, which includes
- Final GUI design, including screen capture of GUI
- Final system architecture
- Implementation summary
Codes (zipped into a single zip file)
Presentation slides
presentation date
10%
  Total  
30%

Notes:
Reports, in pdf format, must be submitted by uploading to IVLE CS3249 workbin before due date.
Please use your project team's name as the file name of your report.
Please include the following on the first page of your report
    - project title
    - project team name
    - project team members' names
Presentation slides and zipped codes may be submitted during your presentation.
 
Project Deliverables
Your project report and presentation slides should include the following:
    > Brief outline of your system's objectives.
    > GUI Design:
       - Main UI design principles and guidelines applied.
       - Main functionalities.
       - Some screen shots of the GUI.
    > System Architecture:
       - System architecture diagram showing the system's major components and their relationships.
       - Design pattern, if applicable.
       - Main software engineering principles applied.
    > Implementation Summary:
       - Classes of main objects and how they interact with each other. This should be consistent with your system
         architecture.
       - How the objects support the system architecture and design pattern, if applicable.
       - How the objects support the software engineering principles applied.
       - Supporting libraries outside Qt, if any, and how they interact with the main objects.

Your project report and presentation should clearly explain your design decisions using concrete examples of your
   system.
Demo your system during, not after, presentation to illustrate its major functionalities.
Each student in a project team must take turn to present.
 
Grading Criteria
How well does your UI supports the functionalities of the system.
How well is the GUI designed.
How well is the software architecture designed.
How well is the system implemented.
How well are the design decisions explained and justified.

23 Jan2014