COMP603 程序讲解

COMP603 Program Design & Construction
Software Development Project
CJLU 2021 C9

Contents
Introduction ............................................................................................................................................................2
Requirements..........................................................................................................................................................2
Important dates.......................................................................................................................................................3
Project Code submission .......................................................................................................................................3
Important Notes .....................................................................................................................................................3
Marking Guideline – PDC Project........................................................................................................................4
2
Introduction
This semester you will design and develop a software product. You can work individually or in a group
of 4 students (max). 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 AUT students to select papers
• A Virtual Academic Advisor – a chatbot for providing advice for AUT students to study planning
• Knowledge Repository – a system for knowledge management
• A Simple Q/A system – a system for lecturers to input Q/A, allowing AUT students to search
• A Simple ERP system – Enterprise Resource Planning system
• Service Desk System – a system for customer support
• Software Project Registration system – a system for students to register their PDC/SC project
• Ticket Booking System (for train, games, shows, etc.)
• Hotel Booking System
• Online Shopping System
• Inventory Management System
• Conference Management System
• A Chinese Idiom (成语) Learning System
• An English Vocabulary (英语词汇) Learning Software
• Card Game
• Virtual Pet Game
• Puzzles (Sudoku, Crosswords, Mazes, …)
• 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.
• Refer to the important dates for the due date of both project assignments.
• 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 8.2/11/12, JDK 8
• The program needs to be bug-free and has robust error handling.
• You need to develop unit tests (using Junit Framework) for testing some important
functionalities of the program.
• The program should be easy to build and run without any configuration. DB should be set up
automatically without any manual configurations.
• You need to have an open mind about the functionality of your software project, 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 are encouraged to learn more beyond the lectures and apply what you have learnt to the
projects. However, the project requirements stated in this document should be satisfied.
• You also need to include a one-page contribution for each project. If any team member gives few
contribution/no contributions, the student will be given penalty.
• Please refer to the Marking Guideline for more details.
3
Important dates
• You need to register your project before the end of Week 2 by reporting it to your class president.
Your team also needs to select a project leader.
Class President:
Please create an excel including: Group ID, Student ID, Student Name, Is Project Leader.
• Project source code submission: Friday 19 Nov 2021
Project Code submission
• The project must be submitted via Blackboard.
• You need to submit a compressed ZIP file which contains:
o The project folder contains all the source codes, unit tests, and related files, e.g., image
files, text files.
o You 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.
o You also need to include a file (PDF or Word) explaining the project setup. For the
students who work in a group, a one-page contribution is required.
o Detailed submission guidelines will be posted to the Blackboard.
Important Notes
• To pass the course, the student needs to obtain at least a minimum pass (35%) in the software
development project. And obtain at least 50% overall (including the final exam).
• Plagiarism and self-plagiarism will result in zero marks in the assignment and be reported to the
faculty. We detect Plagiarism by using commercial software https://codequiry.com/.
Plagiarism means:
o Download open-source projects from online source, e.g., GitHub, and modify the codes
o Re-use past students’ assignments with modifications
o Re-use the assignment of other papers, e.g., ADA, DSA, etc.
o Purchase assignments from any sources
However, you can:
o Re-use the sample codes and lab solutions given to you.
o Download a utility class/algorithm for your project.
o Download any existing models (e.g., machine learning model, language model)
• 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. You may
also consider using cloud tools, e.g., one drive, drop box, Google drive, for backup. Losing of
data (code) will not be considered as a valid reason for special consideration.
4
Marking Guideline – PDC Project
Requirement Max mark
User Interface (GUI)
• Clear and well-designed graphical user interface following common standards
• The interface is easy for users to interact with
10
Database
• The program contains a database element
• Can achieve database interactions (input and output) and operations in the program
• Database interactions and operations (input and output) using JDBC/Hibernate are part
of the code.
• JDBC/Hibernate must contribute to the functionalities of the project.
20
Software Functionality and Usability
• The program is easy to compile and run without any manual configurations
(e.g., setup DB, import .jar, etc.)
• The users interact with the program without any errors (e.g., the program can handle
invalid data input by giving clear error messages and instructions)
• The complexity of the functionality
30
Software Design & Implementation
• The program can be compiled successfully
• The purpose of the code is easy to understand by reading it
• The comments in the code are useful and appropriate
• The code executes without runtime errors
• The version control is applied
• The error handling is thorough and robust
• The class structure reflects good design
• Design patterns are implemented correctly where appropriate
• A good coding style is used, following appropriate coding standards
• The code design follows OO design good practice
• There are no obvious code smells
30
Unit Testing
• At least FIVE test cases are included
• The tests are well written
• The tests cover the important functionality well
• The tests are well-named
10
Contribution
• Only required for a group of more students than one
• ONE page
• Explain the contributions of each of the team member
N/A
No Marks
Others
• Late Submission
• Plagiarism Detection
• Contribution Evaluation
-0%
to
-100%
Total 100

你可能感兴趣的:(后端)