辅导案例-COMP603

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top
1
COMP603: Program Design & Construction – Projects
2020 Semester 1





Contents
Introduction ............................................................................................................................................................ 2
Requirements.......................................................................................................................................................... 2
Important dates ....................................................................................................................................................... 3
Final code submission ........................................................................................................................................... 3
Note ......................................................................................................................................................................... 3
Marking Guideline ................................................................................................................................................. 4



2
Introduction
This semester you will design and develop a software product. You can work individually or in a group
of 2 students. You may want to select a project from the list below or come up with your own.

• Student Information Management System
• Course Selection System – a program for university students to select available papers.
• Knowledge Repository – a system for files management
• Ticket Booking System (for train, games, shows, etc.)
• Hotel Booking System
• Foreign Language (Vocabulary) Learning Software
• Card Game
• Virtual Pet Game
• Sudoku
• RPG game
• Chess Games
• Board Games
• Deal or No Deal
• Who Wants to Be a Millionaire?


Requirements
• 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
program.
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
only).
• 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.
3
Important dates
• 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.

Note
• 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
Faculty.
• 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 your programs. Losing of data
(code) will not be considered as a valid reason for special consideration!


4
Marking Guideline


Requirement Max mark






Stage 1
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


10
File IO
• 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

10
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



10
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
20









Stage 2
User interface (GUI)
• Clear and well-designed graphical user interface
• The interface is easy for users to interact with

10
Database
• 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.
10
Software functionality and usability
• The program is easy to compile and run without any manual configurations (e.g.,
setup DB, import .jar, etc.)
• The program can easily interact without any errors
• The complexity of the functionality
10
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
• Implementation of design patterns
• Good coding style
• Good OO design
• No obvious code smells
15
Unit testing
• Correct tests
• Tests cover important functionality well
• Well-named tests
5
Total 100

51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468