COMP603: Program Design & Construction – Projects
• Object-Oriented (OO) programming concept must be applied to the project. Important concepts, i.e.,
encapsulation, abstraction, inheritance and polymorphism, should be reflected.
• The project contains TWO Stages:
o In Stage 1, you will need to develop a Command-line User Interface (CUI) version of
the product. You will need to use text files to store input and output data from the
o In Stage 2, you will upgrade the product to a Graphical User Interface (GUI)
version. Meanwhile, you will include a Database component to the product,
implement design patterns and include necessary unit tests.
• The source code of the CUI and GUI versions of your products will be submitted in Week 6 and
Week 12, respectively. The source code for each stage weights 50% of your project grade (see the
Marking Guideline in Page 3)
• You need to use Apache Derby DB (also called JavaDB: http://db.apache.org/derby/) as the database
management system of your project.
• You need to develop the project by using NetBeans
• You need to have unit tests for testing some important functionalities of the program (for Stage 2
• The program needs to be bug-free and has robust error handling.
• The program should be easy to build and run without any configuration (especially, for Stage 2, the
DB should be set up automatically without any manual configurations).
• You need to have an open mind about the functionality of your game, and try your best to make your
program robust, interesting, and easy to use.
• You will be expected to develop your own Java code for the projects. You may use the Java standard
library and other external libraries.
• You need to register your project before Week 3’s labs by submitting your project name and group
member name (if any) through this FORM (click this link). The off-campus students who cannot
open this link, please email TA for assistance.
• Stage 1 source code submission: 03/04/2020 (Friday, Week 6), 11:59 pm
• Stage 2 source code: 29/05/2020 (Friday, Week 12), 11:59 pm
Final code submission
• The project will be submitted via Blackboard;
• You need to submit a compressed file which contains:
o The project folder which contains all the source codes, unit tests, and related files, e.g.,
image files, text files;
o In Stage 2, you also need to include the database folder which contains all the database files
in the compressed file. You can set the DB directory inside your project folder.
• Minimum pass requirement applied for the project. To pass the course, the student needs to obtain at
least a minimum pass (35%) in coursework (includes midterm exam and project) and (40%) in the
final exam. And obtain at least 50% overall. (check the Week 1 slides for details).
• Plagiarism and self-plagiarism will result in zero marks in the assignment and be reported to the
• Late submission penalty will be applied (5% penalty per day up to a maximum of 5 days. Late
assessments after 5 days will not be accepted)
• You have the responsibility to keep and back up different versions of yourprograms. Losing of data
(code) will not be considered as a valid reason for special consideration!
Requirement Max mark
User interface (CUI)
• Clear and well-designed interface
• The program can handle users’ inputs from the CUI properly
• The interface is easy for users to interact with
• The program input and output data from/to text files successfully
• File IO must contribute to the functionalities of the project.
• Use classes/methods taught in this paper
Software functionality and usability
• The program is easy to compile and run without any manual configurations (e.g.,
setup input/output files, import .jar files, etc.)
• The program can easily interact without any errors
• The complexity of the functionality
Software design & implementation
• The program can be compiled successfully
• Highly readable code
• Meaningful and appropriate comments
• Executes without runtime errors
• Robust error handling
• Clear class structure
• Complexity and robustness of the functionality
User interface (GUI)
• Clear and well-designed graphical user interface
• The interface is easy for users to interact with 10
• The program contains a database element
• Can achieve database interactions and operations (input and output) in the program
• JDBC must contribute to the functionalities of the project.
本网站支持淘宝 支付宝 微信支付 paypal等等交易。如果不放心可以用淘宝交易！
E-mail: [email protected] 微信:itcsdx