Always alive
This presentation is the property of its rightful owner.
Sponsored Links
1 / 8

Industrial project 234313 PowerPoint PPT Presentation


  • 48 Views
  • Uploaded on
  • Presentation posted in: General

Always alive mySQL viewer with inter process data communication Instructed by: Daher Kaiss Performed by: Adham Masarwah. Industrial project 234313. Project Objectives. Create a GUI application that: Opens a mySQL database and visualize its content using a table view

Download Presentation

Industrial project 234313

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Industrial project 234313

Always alive mySQL viewer with inter process data communication

Instructed by:

DaherKaiss

Performed by:

AdhamMasarwah

Industrial project234313


Project objectives

Project Objectives

  • Create a GUI application that:

    • Opens a mySQL database and visualize its content using a table view

    • Enable a pre-defined set of queries on the database

    • Demonstrate ‘always alive GUI’ (i.e. demonstrates that the GUI is never stuck when the database is busy)

    • Enable remote updates to the SQL database from remote machine(s) while enable continuous refresh of the data


Methodology

Methodology

  • QT package: for developing always alive GUI, using QT multi-threading package

  • mySQL package: for storing the data

  • QT sockets : connect between the main application and remote processes that need to update the DB


Achievements

Achievements

  • Main application:

    • Contain all the objects that are needed for the required functionality such as buttons , menu and table view

    • Support all the required functionality such as :

      • Connecting to the mySQL server (using username & pass)

      • Load the data from the DB into the table view

      • Executing pre-defined queries and visualize its results on the table

      • Support option to change the DB and/or the table that contain data from the mySQL server in middle of work


Achievements cont

Achievements (cont.)

  • Main application:

    • Ready to read the data sent from remote machine(s) and applies the updates (in this way the data on the table always up-to-date)

    • Always alive GUI: using the multi-threading programming, the GUI still alive while the DB is busy in long computations

      • This way, the user can still interact with the application (e.g. view the data, select another tasks)


Achievements cont1

Achievements (cont.)

  • Remote machine application:

    • Supports the functionality of sending data to the main application using sockets

    • Supports the ability to choose the table to be updated in the server DB


Illustration

Illustration

Update

Remote Machine

………….

Update

Remote Machine

IPC QSockets

IPC QSockets

Main application

Viewer

query1

query2

SQL

query3

query4


Conclusions

Conclusions

  • The course gave us an opportunity to be exposed to new technologies and new environments, and acquired us experience with the real software projects, and getting familiar with the project’s life-cycle

  • When using open-source packages/tools, reading the documentations and the examples is very important for fast ramp up

  • Good design is very important in building/developing an application especially when it is created from multiple components, that need to be integrated together


  • Login