Simple Port System

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

Introduction

In this project, we are tasked with designing a simple software system for managing incoming and
outgoing passenger records at a shipping port.

Through this project, we will be using Python programming language concepts and various tools like
proper functions, data structures, exception handling, classes, objects, and GUI to create a user-friendly
and efficient software system that will enhance the port's operations.

This project provides us with an opportunity to apply the theoretical knowledge we have acquired in
class and hone our practical skills in designing and implementing software systems. Overall, this project
is an exciting opportunity for us to learn and apply new concepts, work collaboratively with our team
members, and develop a practical software solution that meets the requirements.

Highlighting Each Team Member's Contributions to Our Project

Group member ID Contribution


One team member Project Manager

Another team member Software Developer

The third team member Graphic Designer

 One team member: Project Manager. Contribution: Overseeing the project's development,
ensuring that deadlines are met, and keeping team members informed of progress.

 Another team member: Software Developer. Contribution: Implementing the software's core
functionality, utilizing their knowledge of Python programming concepts and various tools to
create an efficient and user-friendly software system.

 The third team member: Designer. Contribution: Responsible for designing the software's
graphical user interface, ensuring that it is visually appealing and intuitive for users.

As a team, we will prioritize effective communication by scheduling regular meetings to discuss project
progress and provide feedback to ensure clear and well-documented code that adheres to best practices
and maintains a high level of quality. We will strive to demonstrate professionalism and leadership in
our interactions with each other and our instructor, actively seeking feedback and incorporating changes
to meet or exceed our instructor's expectations and requirements.
Overall, the team members are committed to working collaboratively and utilizing their skills and
knowledge to design and implement a practical software solution that meets the instructor's
requirements.

Collaborative Flow Charts for Immigration and Customs Officer Roles


Goal-setting and Task Planning for Effective Team Collaboration: Project Timelines

Goals:
Develop a simple software system for managing incoming and outgoing passenger records at a shipping
port. Match project requirements with code requirements to design a sophisticated software that meets
client needs and solves real-life problems. Utilize Python programming language concepts and various
tools like functions, data structures, exception handling, classes, objects, and GUI to create a user-
friendly and efficient software system. Apply theoretical knowledge and practical skills in designing and
implementing software systems. Work collaboratively with team members to develop a practical
software solution that meets the client's requirements. Demonstrate leadership and professional
behavior in teams by mentioning the contribution of each group member in the project.

Timeline:
Day 1-2:

Research and understand project requirements


Plan the software system
Assign roles and responsibilities to team members

And defining the classes and interfaces to be made

Day 3-7:

Implement the software


Develop the GUI
Integrate the software with the GUI
Test the software for functionality and performance

Day 8-10:

Perform code review and identify bugs and errors


Refactor the code to improve efficiency and maintainability
Finalize the comments on the code
Submit the final software to the instructor.
Establishment of goals and plan tasks to meet the objectives of the team through Pseudo Code::

Goal:
To develop a software system for managing incoming and outgoing passenger records at a shipping port,
using separate text files as a database for login and passenger information.

Tasks:

Day 1-2:

 Research and understand project requirements


o Read and analyze the project description and requirements
o Identify any potential challenges or limitations specific to the port management use case
o Determine the data structures and algorithms that will be necessary for managing
passenger records
 Plan the software system
o Define the overall structure and functionality of the software, including the login and
passenger information files
o Determine the necessary classes and interfaces, such as Login, Passenger, and GUI
o Create a detailed plan for the GUI, including the layout, design, and user interaction flow
 Assign roles and responsibilities to team members
o Determine who will be responsible for each aspect of the project, such as coding,
testing, and documentation
o Assign tasks and deadlines accordingly
 Define the classes and interfaces to be made
o Create a detailed plan for each class and interface, including their properties and
methods
o Define the structure of the login and passenger information text files, including the data
fields and format
Day 3-7:

 Implement the software


o Write the code for each class and interface, including the Login and Passenger classes
o Test each component as it is completed, including the functionality of reading and
writing to the text files
 Develop the GUI
o Design the layout and appearance of the GUI to match the requirements of the port
management use case
o Implement the GUI using a suitable library or framework, such as PyQt or Tkinter
o Ensure that the GUI is user-friendly and easy to use for immigration officers and customs
officers
 Integrate the software with the GUI
o Connect the GUI to the underlying code, such as updating the passenger information
text file when a passenger's status is changed
o Ensure that the GUI and software work together seamlessly
 Test the software for functionality and performance
o Test the software for errors and bugs, such as ensuring that the login system is secure
and that passenger information is properly stored and retrieved
o Ensure that the software meets the functional requirements of the project, such as
allowing immigration officers to search for and update passenger information, and
allowing customs officers to enter customs fines and see reports
o Evaluate the performance of the software and make any necessary optimizations, such
as improving the speed of searching and sorting passenger information

Day 8-10:

 Perform code review and identify bugs and errors


o Review the code to ensure that it is well-structured and easy to understand, and that it
adheres to industry best practices and coding standards
o Identify any bugs or errors that may have been missed during testing, such as potential
security vulnerabilities or edge cases that were not accounted for
 Refactor the code to improve efficiency and maintainability
o Optimize the code for better performance and efficiency, such as by reducing redundant
code or improving algorithmic complexity
o Simplify the code to make it easier to maintain and modify in the future, such as by
improving the modularity or encapsulation of classes and functions
 Finalize the comments on the code
o Add comments to the code to explain its functionality and structure, such as by
providing documentation and usage examples for each class and function
o Ensure that the comments are clear, concise, and consistent with coding standards
 Submit the final software to the instructor
o Package the software and any necessary files for submission, such as the login and
passenger information text files
o Submit the software and this report to the instructor before the deadline.

Contribute to the execution of plans to meet objectives of the team by writing python code
for role of Immigration officer as described

LOGIN
Immegration officer

- main menu

existing Passenger menu


New passenger menu
Search passenger menu

save new passenger method


Menu for Customs officer

Enter Civil ID menu

You might also like