Upload
dwitigajab
View
5.460
Download
0
Tags:
Embed Size (px)
Citation preview
“Distributed Airline Reservation System”
Presentation by:
Dwiti Gajab – 008020038Aman Chaurasia – 008017516Pardeep Badhan – 004504293
5/15/12 1
Contents:
1) Presentation overview
2) System functionality
3) Database design
4) Flow diagram
5) Project features
6) Project Implementation code (GUI)
7) Snapshots
8) Challenges
9) References
10) Demonstration of project
25/15/12
Presentation Overview:
Objective - To develop and design a distributed airline reservation system.
C# (for GUI), .NET sockets (client), BSD sockets (server) with C programming, MYSQL database, UNIX environment.
35/15/12
System Functionality:
Login required for all. System Administrator:- Add airline database/representative Airline Representative:
- Add/Delete specific flights
- View its own flights
- List all customers for specific flight
- Update the airline information (email, airline name, password etc.) Customers:- Register as a new user
- Make/Cancel/View reservations
- Update personal information
45/15/12
Database Design:
System administrator
Users/Customers
Airline representative
55/15/12
Flow Diagram:
65/15/12
Project Features: BSD sockets (server): – well integrated with OS. .NET sockets (client) I/O multiplexing “select ()” used:
- application needs data sharing.
- less switching time between process. “MySQL” database. Encryption using MD5 algorithm. Multi-user authentication: – Login required. Data passed in binary format
- less BW usage, fast transmission of signals.
75/15/12
Project implementation code:
GUI: Login Example (Form - new_user_form.cs)1 button_login_click() /* function called upon Click of login button*/
2 String username = textBox_login_username.Text.Trim().ToString(); /* read the username string from the textbox */
3 String password = textBox_login_password.Text.Trim().ToString();
/* read the password string from the textbox */
85/15/12
Project implementation code (contd):GUI: Login Example (contd)
4 if (flight_resv_client.attempt_login(username, password, user_info) == true)
{ /* user was authentication successfully */
}
/* Do not do anything, authentication failed */
5. attempt_login() /* form a message that will sent to the server */
6. msg.msg_id = HTON(MSG_ID_LOGIN_USER)
7. msg.username = username
8. msg.password = password
9. Steam s = tcp_client.GetStream(); /* get TCP client data stream */
10. s.write(msg, msg.Length); /* send the message to the server */
11. s.Flush(); /* flush the buffer now */
12. s.Read(user_info, sizeof(user_info)
if (user_info.success != 0 ) {
/* user was authenticated was successfully */ return (true);
} else { /* user was not authenticated */
MessageBox.Show(user_info.error); return (false);
}
195/15/12
MySql:
105/15/12
Table “users”
Table “flights”
Snapshot:System Administrator:
115/15/12
Snapshot:Airline representative:
125/15/12
Snapshot:Airline representative (contd):
135/15/12
Snapshot:
Customers:
145/15/12
Snapshot:
Customers:
155/15/12
Snapshot:Server:
165/15/12
Snapshot:Server (Contd):
175/15/12
Challenges:
Implementing C# and linking it with client MYSQL database Encrypting password using MD5
185/15/12
References:
1. http://zetacode.com/tutorials/mysqlcapitutorial/(For entire MYSQL database implementation)
2. http://en.wikipedia.org/wiki/MySQL
3. http://www.pantz.org/software/mysql/mysqlcommands.html(for commands)
4. TCP/IP Volume III Client server programming and application by Stevens and Comer
5. UNIX Network Programming by Stevens and Fenner
195/15/12
205/15/12
Any Questions???
Thank You…
215/15/12