Module Code: ITS66704 (April 2025)
Module Name: Advanced Programming
LEARNING OUTCOME
By the end of this assignment, students will be able to:
• Apply problem solving skills to evaluate and solve specific problems in advanced object-oriented programming (MLO2).
OBJECTIVES
Develop a customer service desktop application using JavaFX as the frontend interface and Langchain4j for AI-powered conversational support. You can define the target customer relevant to your application, e.g. a student service system, technical support system, airline ticketing service system etc.
The system should also provide real-time chat assistance with a focus on customer queries, product information, and issue resolution. For students opting for bonus credit, implement advanced RAG techniques including query transformation, multi-source retrieval, and re-ranking of results. Your lecturer will show you example implementation of RAG using Java in class. You can read more about Langchain4j here.
REQUIREMENTS
You are to design and develop a JavaFX-based Customer Service Desktop Application. The application can model any customer service context (e.g., technical support ticketing system, product returns, hotel reservation services, etc.). The number of modules covered will be up to your group to decide.
A typical customer service application includes components that help manage customer interactions, support requests, issue tracking, and service delivery. Below is a list of common components grouped by functionality. Ideally each student should own and develop one module from the list below.
Core Components
Component
|
Description
|
User Management
|
Allows registration, login, and role-based access (e.g., admin, customer, agent).
|
Ticketing System
|
Let customers submit support tickets; includes ticket creation, tracking, and status updates.
|
Knowledge Base / FAQ
|
Provides self-service resources for common issues or questions.
|
Live Chat / Chatbot*
|
Enables real-time interaction with agents or automated chatbot assistance. Bonus marks will be given for good implementation.
|
Email Integration
|
Allows communication through automated/manual email replies.
|
CRM Integration
|
Links with customer relationship management to retrieve customer history and profile.
|
Due to time constraints, the other operational features (e.g., dashboard, search and filter tools, SLA management, escalation rules, assignment and routing), monitoring and reporting (e.g., analytics and reports, customer feedback tools, audit trail/logs) and support and security (role-based access control, data encryption and privacy, backup and recovery) are optional and need not be implemented.
The project is split into two key deliverables:
• Part 1 - Analysis and Design (100%)
• Part 2 - Development and Implementation (100%)
Part 1 - Analysis and Design (100%)
Objective: You are required to analyze the application’s requirements for the proposed customer service application module, define its scope, and present a complete design document with interface mockups and architecture overview.
Deliverables:
• Requirement specifications
• Use case diagrams and descriptions
• UI wireframes or sketches
• Class diagrams and object-oriented design overview
• Description of event handling and data flow The marking scheme for Part 1 is as follows:
Criteria
|
Marks
|
Assessment Details
|
1. Problem Definition & Objectives
|
10
|
Clear explanation of the purpose, target users, and customer service scope.
|
2. Requirements Specification
|
10
|
Functional and non-functional requirements well identified and categorized.
|
3. Use Case Diagram & Description
|
10
|
Proper UML use case diagram with at least 3–4 valid use cases and descriptions.
|
4. UI Wireframes/Sketches
|
10
|
Meaningful wireframes for all main screens, labelled and logically laid out.
|
5. Class Diagram & OOP Design
|
10
|
Class diagram with relevant entities, attributes, relationships, and methods.
|
6. Event Handling Plan
|
10
|
Explanation of expected events and handlers in key UI components.
|
7. Data Storage
|
10
|
Strategy for storing, retrieving, and validating data (e.g., use of lists, file I/O).
|
8. Architecture Overview
|
10
|
Clear explanation of MVC or any architectural pattern applied.
|
9. Tool Usage & Planning
|
10
|
Tools selected (JavaFX, Scene Builder, IDEs) and project timeline draft.
|
10. Documentation Quality
|
10
|
Neat, organized, and complete submission with proper headings and consistency.
|
Deliverables
A well-structured and properly formatted academic document that contains the detailed specifications for the proposed system, associated solution high-level design diagrams, and interface prototype diagrams. Ensure that your submission includes a cover page (page 1 of this document) which shows your group member names and student IDs. All submissions should be in pdf format (GroupNo_ProjectPartA.pdf).
Part 1 Due Date: 22/06/2025 11:59pm submit via mytimes.taylors.edu.my submission link.
Part 2 - Development and Implementation (100%)
Objective: Based on your analysis, implement the full application using JavaFX, applying OOP principles, proper GUI design, and event handling mechanisms.
Deliverables:
• Complete source code (organized by packages)
• JavaFX GUI application (must be runnable)
• Test cases or user testing evidence (screenshots, logs)
• Final user guide or README
• Video demo (optional but recommended) The marking scheme for Part 2 is as follows:
Criteria
|
Marks
|
Assessment Details
|
1. Functional Implementation
|
10
|
Key features described in Part 1 are implemented and working correctly.
|
2. GUI Design & Layout
|
10
|
Clean, user-friendly layout using JavaFX components and proper scene switching.
|
3. Event Handling
|
10
|
Buttons, inputs, and other UI elements respond correctly using JavaFX event handling.
|
4. Code Organization & OOP
|
10
|
Code modularity, use of classes, inheritance, and interface where applicable.
|
5. Data Handling
|
10
|
Proper handling of customer data (e.g., validation, storage, reading from file).
|
6. Input Validation & Error Handling
|
10
|
Input fields are validated, and exceptions are managed gracefully.
|
7. MVC or Architecture Use
|
10
|
Evidence of clear separation of concerns in the implementation.
|
8. Readability & Comments
|
10
|
Code is readable, uses naming conventions, and contains helpful comments.
|
9. Testing & Debugging
|
10
|
Test cases shown or described with evidence of debugging effort.
|
10. Completeness & Bonus Features
|
10
|
The app is fully functional with extra features (e.g., comprehensive chatbot, search, export, reports).
|
MARKING RUBRICS
For EACH criterion of marks allocated, the following rubrics will be applied:
Deliverables
Your pdf report along with your zipped application project folder. Ensure that your submission includes a cover page which shows your group member names and student IDs. File names should be named as follows:
“GroupNo_ProjectPartBReport.pdf” – The pdf copy of your report
“GroupNo_ProjectPartBProgram.zip” – The application project folder
Part 2 Due Date: 13/07/2025 11:59pm submit via mytimes.taylors.edu.my submission link.