ZOHAIB ASHRAF 521363(Morning)
Proposal for GUI Project:
Pizza Ordering System using Java Emphasizing HCI Principles
Abstract
This proposal outlines the development of an Object-Oriented Programming (OOP) Graphical
User Interface (GUI) Pizza Ordering System using Java, tailored for Human-Computer
Interaction (HCI) principles. The system involves several classes, including Main, Login, Pizza,
MyObjectOutputStream, Topping, Customer, Admin, FileAdmin, FileCustomer, and FilePizza.
This project aims to address user interface challenges, ensuring a user-friendly and engaging
experience for both customers and administrators interacting with the Pizza Ordering System.
Objectives and Concepts Application
Introduction to Interactive Systems Development
The project aims to apply key principles of Human-Computer Interaction (HCI) to design a user-
focused interface for the Pizza Ordering System.
Limitations of Windowing Systems
Managing how things look on the screen separately from how the application works and
communicates within the graphical interface.
Programming Paradigms
Applying programming approaches, especially internal application control, to make user
interaction smooth and navigation easy within the system.
Toolkits and Abstraction
Utilizing Java toolkits and abstraction to enhance input/output behaviors and efficiently control
dialogs within the system.
User Interface Management Systems (UIMS)
Implementing UIMS principles to effectively structure the relationships between application
and presentation components within the GUI.
Graphical Specification Languages
Incorporating graphical specification languages to make user interactions easier for everyone,
even those without expertise, while still keeping a high level of control over how things work.
HCI
ZOHAIB ASHRAF 521363(Morning)
Hierarchy of Abstraction
Using different levels of simplification in the system to handle the complexities involved in how
users interact with the Pizza Ordering System.
Components and Classes
Main Class
Serving as the entry point and overseeing system initialization and management.
Login Class
Handling user authentication, access control, and user-specific interactions.
Pizza Class
Enabling pizza customization, ordering, and managing order-specific functionalities.
MyObjectOutputStream Class
Managing object serialization for efficient data handling and storage.
Topping Class
Managing and presenting various toppings available for pizza customization.
Customer Class
Representing and managing customer-related data and interactions within the system.
Admin Class
Facilitating administrative tasks, system management, and overseeing backend functionalities.
FileAdmin, FileCustomer, FilePizza
Managing file handling and storage for administrative, customer, and pizza-related data,
respectively.
Methodology
Requirement Analysis
Thoroughly analyzing user requirements and expectations for the GUI, focusing on HCI
principles and interaction preferences.
OOP Implementation
Creating and building classes based on Object-Oriented Programming (OOP) rules to ensure
that the code is organized, can be easily expanded upon, and is efficiently managed.
HCI
ZOHAIB ASHRAF 521363(Morning)
GUI Development
Creating an intuitive, responsive, and aesthetically pleasing GUI using Java Swin libraries,
aligning with HCI guidelines for optimal user experience.
Integration and Testing
Integrating classes, implementing data handling functionalities, and conducting rigorous testing
to ensure system functionality, security, and user-friendliness.
User Acceptance Testing
Engaging users for feedback and validation of the system's usability, incorporating suggestions
for further refinement.
Timeline and Budget
Timeline
The project's estimated completion is within weeks, encompassing different development,
testing, and refinement phases.
Budget
A detailed budget plan will be provided, covering development, testing, resources, and tools
necessary for the successful project completion.
Conclusion
The proposed project aims to create an OOP-based GUI Pizza Ordering System in Java,
emphasizing HCI principles to deliver an intuitive and efficient interface. By addressing
limitations, applying paradigms, integrating classes, and following proper HCI guidelines, the
system will provide a seamless and enjoyable experience for both customers and
administrators interacting with the platform.
HCI