COMP603/ENSE600
Program Design & Construction / Software
Construction - Assessment
Software Development Project 2
2024 Semester 1
In Assignment 2, you/your group will work on the same topic. You can either extend the project (re- use the code from Assignment 1) or develop a project from scratch.
• You need to register your group by the end of Week 3 by joining a group from Canvas.
• Project 1 source code submission: Week 7, by Friday 11:59 pm
• Project 2 source code submission: Week 13, by Friday 11:59 pm
• There are two assessments. The first and second take 40% and 60%, respectively. Each
assessment is comprised of lab exercises and a software development project. Refer to the table below:
Where “complete” means you will need to attempt to complete the task and upload it to Canvas.
• To pass the course, To pass the course, students must satisfy the stated learning outcomes and achieve a minimum overall grade of C- (50%).
• In Software Development Project 2, you will need to develop a Graphical User Interface (GUI) version of the software product using Java Programming Language.
• In Software Development Project 2, you can either upgrade the software (Project 1) to /
newly develop a GUI version. Meanwhile, you will include a database component to the product, implement Design Patterns, use Git for version control, eliminate code smells, and include necessary Unit Tests.
• In Software Development Project 2, you will also need to apply OOP concepts (abstraction, encapsulation, inheritance, polymorphism), try to follow the SOLID design principles, and create multiple classes with relationships.
• Progress of the project needs to be tracked via multiple Git commits and all the histories must be retrieved through the “ .git” hidden folder (placed under your project folder) or from GitHub.
• The source code of Project 2 will be submitted by the end of Week 13.
• Refer to the important dates for the due date of both project assignments.
• The program needs to be bug-free and has robust error handling.
• You need to develop the projects by using NetBeans 14 and JDK 11.
• You need to use Apache Derby DB (also called JavaDB:http://db.apache.org/derby/)as the database management system. No other types of databases are allowed.
• 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. The DB should be set up automatically without any manual configurations, including manually launching a DB service.
• 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 very short (less than one page) report, stating the project setup,
GitHub URL (if there is one), and the contribution of each teammate (if you work in a group) . If any team member gives less than 40% contribution/no contribution in terms of coding, the student will be given a penalty or even fail the course.
• You need to record a short video (less than 5 minutes) using any tools (e.g., MS Teams) to demonstrate your project AND explain the code. The recorded video must be included in the submission.
• Read Marking Guideline carefully for the details.
ChatGPT(Chat Generative Pre-trained Transformer) is a type of language model that is designed to process and generate natural language text. It is based on a deep learning algorithm called a transformer, which uses a neural network to process sequences of text. In this assignment:
• You can use ChatGPT to assist you with programming
• You can use ChatGPT to learn to program
• You can use ChatGPT to debug your program
• You can use ChatGPT to generate PART of the program
• When utilising ChatGPT to generate a method or class, please include a reference or comment in the code that indicates that the code was generated using ChatGPT. It is important to note that any classes or methods that are generated by ChatGPT should not be considered as part of the classes that you have developed.
• However, using ChatGPT to generate an entire program even with minor modifications is considered plagiarism. If we suspect that a project is fully generated, we will request the team to present the
project and ask questions about the code.
• The project must be submitted via Canvas.
• You need to submit a compressed ZIP file that contains:
o The project folder with all the source codes and related files, e.g., image files, text files, unit tests, etc.
o A very short (less than one page) report, including:
• the project setup (e.g., username and password)
• GitHub URL (if there is one), and
• the contribution of each team member if this is group work (this item is not required if you work individually). If any team member gives less than 40% contribution/no contribution in terms of coding, the student will be given a penalty or even fail the course.
o A short video (less than 5 minutes), including
• Project demonstration, showing all the features by running your project
• Code explanation, explaining class structures, methods and processes.
o For Project 2, you need to include the database folder, which contains all the database files in the compressed ZIP file. You can set the DB directory inside your project folder.
o For Project 2, you need to include .git (hidden folder), having all the historical commits and branches.
• Submission Guideline
o Find your group ID from Canvas.
o When you submit your project, please compress the whole project as a .zip (not .rar, .7z or any other type), and rename the zipped file with your group ID and the student ID of members.
o For example, if the group ID is 9, and the student ID is 1234567, then the name of the submitted file should be “P09_ 1234567.zip” . If you have a partner in your
group whose student ID is 7654321, then the name should be “P09_ 1234567_7654321.zip” .
o Please submit a complete NetBeans project (Ant or Maven). Any improper submission (e.g., non-NetBeans project, several Java files or compiled classes, lack of essential files, improper name of the submitted file) will affect the
assessment of your project.
• Plagiarism and self-plagiarism will result in a mark of zero in software development and be
reported to the faculty. We detect Plagiarism by using commercial software https://codequiry.com/.
Plagiarism means:
• Download open-source projects from online sources, e.g., GitHub, and modify the codes
• Re-use past students’ assignments with modifications
• Re-use the assignment of other AUT courses, e.g., ADA, DSA, etc.
• Re-use the assignment the assignment of PDC/SC when repeating this course
• Purchase assignments from any sources
• Generate the entire project (with slight modifications) using generative AI tools, e.g., ChatGPT
However, you can:
• Re-use the sample codes and lab solutions given to you.
• Download a utility class/algorithm for your project.
• 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 storage, e.g., OneDrive, Dropbox, and Google Drive, for backup.
Losing data (code) will not be considered a valid reason for special consideration.
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。