Industrial Project : Air India Ltd

Page 1

GROUND RESOURCE MANAGEMENT SYSTEM PROJECT REPORT Submitted in partial fulfillment of the Requirements for the degree of BACHELOR OF ENGINEERING In COMPUTER ENGINEERING By Seat No.

Group No. 4

-----------------

ANISHA AGARWAL

-----------------

PUNIT AGRAWAL

-----------------

ANKITA AHLUWALIA

------------------

RAUNAK BANTHIA

Under the guidance of MR. S.V.KALE (Manager-Air India Ltd.)

Department of Computer Engineering Thadomal Shahani Engineering College University of Mumbai 2007-2008



Acknowledgments We take this opportunity to express our gratitude towards the below mentioned for all the support, guidance and encouragement we received while working on this project.

Mr. S.V. Kale Manager Air India Ltd.

Ms. Shalini Bhatia Head of Department, Department of Computer Engineering, Thadomal Shahani Engineering College.

Mr. Gopal Gupta Internal Co-coordinator, Professor, Department of Computer Engineering, Thadomal Shahani Engineering College.


References [1] Paul DuBois;” MySQL The definitive guide to using, programming, administering MySQL 4.1 and 5.0 Third Edition”, March 08, 2005. [2] Core Servlets and JavaServer Pages : Volume 1 Core Technologies by Marty Hall and Larry Brown [3] Hans Bergsten; “Java Server Pages, 3rd Edition”, December 2003 [4] Mark Matthews, Jim Cole, Joseph D. Gradecki;” MySQL and Java Developer’s Guide”; 2003 [5] Andrew Patzer, ”JSP Examples and Best Practices”;2002 [6] Java 2 complete reference - Schildt [7] Thinking in java - Bruce Eckel [8] JSP tutorial by VisualBuilder.com [9] Java Server Pages Fundamentals by jGURU (sun.java.com).

Websites used for reference: [10] The JavaServerPages product site , Http://java.sun.com/products/jsp/index.html, 2nd August 2007. [11] The Java Boutique: Server-Side Web Applications using Java Servlets versions 2.1/2.2 and JSP. http://javaboutique.internet.com/tutorials/JSP/


SUMMARY Our project ‘Ground Resource Management System’ is basically the automation of the workflow in the ground equipment department of Air India Ltd. The project is implemented using the MVC pattern with MySQL as the model, JSP as view and Java Servlets as Controller. The basic workflow of the system is as follows. At the start of the day, the system administrator initializes the system. When the system is initialized, the equipment allocation for the previous day is cleared, updates, if any are backed up and cleared and the tables are modified accordingly. Also, the active timetable for the current day is populated using the master timetable. Using the allocate equipment option, the system administrator allocates equipment to the flights for the day. When allocation is complete, a checklist is generated by the system that contains information regarding the allocation of the ground equipments to different flights. This allocation information can be then printed with a printer and be used if required. At any time during the day, if any flight gets delayed or cancelled, then only the flight no and delay information needs to be entered by the authorized personnel. The equipment allocation is modified accordingly by the system. Apart from these, the system offers a variety of features including maintenance of equipments. The system administrator can add /remove equipments from maintenance. The equipments under maintenance are not available for allocation. The system also provides a search facility which can be used to quickly find information regarding a flight or an equipment. Errors in this new system related to allotment of equipments would be negligible compared with the old system. Computerization and easy information access facilitates reduction in errors. Manual errors are reduced in the new system as manual work is minimized. Error reduction helps in providing all equipments on time to the concerned aircrafts which in turn helps the flight to be on schedule. This regularity increases passenger faith in the airlines and hence in turn benefits the airlines with more passengers traveling by this airline.


TABLE OF CONTENTS 1.

Introduction 1.1 Abstract 1.2 Problems with Manual System 1.3 Project Problem 1.4 Scope of Project

1 1 1 2 2

2.

Review of Literature 2.1 Web Application 2.2 Technologies Used 2.2.1 JSP Model 2 Architecture 2.2.2 Java 2.2.3 JavaScript 2.2.4 Java Server Pages 2.2.4.1 The JSP Advantage 2.2.5 MySQL 2.3 Tools Used 2.3.1 TOAD for MySQL 2.3.2 NetBeans 6.0 2.3.3 GlassFish v2

3 3 3 3 4 7 7 8 8 9 9 11 12

3.

Design Aspects 3.1 Need for the system 3.2 Feasibility Study 3.2.1 Technical Feasibility 3.2.2 Economical Feasibility 3.2.3 Operational Feasibility 3.3 Linear Sequential Model 3.3.1 System Engineering and Analysis 3.3.2 Software Requirement Analysis 3.3.3 Design 3.3.4 Code Generation 3.3.5 Testing 3.3.6 Maintenance

13 13 13 14 14 14 15 15 15 16 16 16 16

4.

Design Considerations 4.1 Functional Components of the Project 4.1.1 User Login 4.1.2 Flight Time-Table 4.1.3 Equipment Handling 4.2 Users of the System

17 17 17 18 19 20

i


5.

UML Design 5.1 Structural Design 5.1.1 Entity Relationship Diagram 5.1.2 Database Tables 5.2 Functional Design 5.2.1 Data Flow Diagram 5.2.2 Use Case Diagram

21 21 21 25 32 32 35

6.

Implementation Details 6.1 Sequence Diagram 6.1.1 Allocate Equipment 6.1.2 Action taken when a flight is delayed 6.1.3 Action taken when a flight is cancelled 6.2 User Interface Screens 6.2.1 Login module 6.2.2 Authorized Personnel 6.2.3 System Administrator

39 39 40 41 41 42 42 43 48

7.

Conclusion & Further Work 7.1 Conclusion 7.2 Further Work

55 55 55

References Acknowledgments Summary

ii


1

1.Introduction 1.1 Abstract In today’s Aviation industry, managing resources is considered not only to serve the airline company but also profitable in many aspects. So, Ground Resource Department forms an essential part in any airline company. Any company managing aircrafts cannot work effectively without the formation of this department. The main function of Ground Resource Department is to manage and allocate resources available to the company and make optimum utilization of them. Our Project on Ground Resource Allocation System is based on the same lines. It deals with developing software which can be used by the entire department from the Administrator to The Authorized Personnel so that the information about allocation of resources and communication can be established effectively.

1.2 Problems With The Manual System: The current ground equipment distribution and allotment for aircraft is done manually, which is where most of the problems come into existence ➢

Manual working has its typical drawbacks which are:

1)error-prone 2)time-consuming 3) tedious

Information, availability of the required equipment is not available easily and quickly

Status of all equipments such as ‘under maintenance’, ’usable’ etc is not up to date and robust

The manual work environment allows security leaks and hence the security of the current system is not good


2

1.3 Project Problem This project is concerned with Aircrafts and the allotment of ground equipments which are to be used for servicing the aircrafts. Equipments such as the cargo van used for loading and unloading the cargo in the aircraft, food van used for reloading food, step ladder used to alight/board the aircraft etc come under the ground equipment department. The ground equipment Department is concerned with the equipments distribution required for servicing the aircrafts before they are ready for takeoff.

1.4 Scope of project ●

The proposed system will facilitate the automation of the workflow in the ground equipment department.

All the data related to equipment distribution would be available at more than one node, that is, this data can be accessed by authorized personnel from any node within the department premises and other related departments

This data will then be accessible to all authorized personnel, but they cannot change this data without having the administrative rights.

Querying facilities like which flights, total number of flights require servicing from the ground equipment department at any given time is supported.

Minimization of errors is guaranteed with computerization and automation replacing traditional manual work environment

More economical use of the company resources is facilitated. Security of the system is increased manifold with 2 types of logins

One for administration and the other for authorized personnel. Each account having different passwords. Unauthorized attempts to gain entry into the system will be rejected


3

2. Review of Literature This chapter details the literature surveyed for designing & implementing the system. We are going to develop the system as a web application using the MVC architecture. The concepts are explained below:

2.1 Web Application A web application is an application that is accessed with a web browser over the Internet or an intranet. Web applications are deployed to a web server like Tomcat or, if we want to use Java EE features like web services and enterprise beans, to a Java EE application server like the Sun Java System Application Server.

2.2 Technologies Used 2.2.1 JSP Model 2 Architecture: The Model 2 architecture, shown in Figure 1, is a hybrid approach for serving dynamic content, since it combines the use of both servlets and JSP. It takes advantage of the predominant strengths of both technologies, using JSP to generate the presentation layer and servlets to perform process-intensive tasks. Here, the servlet acts as the controller and is in charge of the request processing and the creation of any beans or objects used by the JSP, as well as deciding, depending on the user's

Illustration 1: JSP Model2 Architecture actions, which JSP page to forward the request to. There is no processing logic within the JSP page itself; it is simply responsible for retrieving any objects or beans that may have been previously created by the servlet, and extracting the dynamic content


4

from that servlet for insertion within static templates. This approach typically results in the cleanest separation of presentation from content, leading to clear delineation of the roles and responsibilities of the developers and page designers on the programming team. In fact, the more complex your application, the greater the benefits of using the Model 2 architecture should be.

2.2.2 Java Java is a programming language originally developed by Sun Microsystems and released in 1995 as a core component of Sun's Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer lowlevel facilities. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture. There were five primary goals in the creation of the Java language 1. It should use the object-oriented programming methodology. 2. It should allow the same program to be executed on multiple operating systems. 3. It should contain built-in support for using computer networks. 4. It should be designed to execute code from remote sources securely. 5. It should be easy to use by selecting what were considered the good parts of other object-oriented languages. The Advantages of Java are as follows: Java is Simple ➢

Java was designed to make it much easier to write bug free code

Because Java is simple, it is easy to read and write.

Java is an excellent teaching language, and an excellent choice with which to learn programming. The language is small so it's easy to become fluent in it.

The language is interpreted so the compile-link-run cycle is much shorter. (In fact, the link phase is eliminated entirely.)


5

Java is Object-Oriented Object oriented programming is alleged to have a number of advantages including: ➢

Simpler, easier to read programs

More efficient reuse of code

Faster time to market

More robust, error-free code

Java is Platform Independent One characteristic, platform independence, means that programs written in the Java language must run similarly on any supported hardware/operating-system platform. One should be able to write a program once, compile it once, and run it anywhere. A Java program never really executes natively on the host machine. Rather a special native program called the Java interpreter reads the byte code and executes the corresponding native machine instructions. Thus to port Java programs to a new platform, all you need to do is run it with an interpreter written for the new platform. You don't even need to recompile. Even the compiler is written in Java. The byte codes are precisely defined, and remain the same on all platforms. Although there is an explicit compiling stage, at some point, the Java bytecode is interpreted or converted to native machine code by the JIT compiler. Java is Safe Java was designed from the ground up to allow for secure execution of code across a network, even when the source of that code was untrusted and possibly malicious. Java implements a robust exception handling mechanism to deal with both expected and unexpected errors. The worst that a Java program can do to a host system is bring down the runtime environment. It cannot bring down the entire system. The biggest security issue in computing today is bugs. Regular, ordinary, nonmalicious, unintended bugs are responsible for more data loss and lost productivity than all other factors combined. Java, by making it easier to write bug-free code, substantially improves the security of all kinds of programs.


6

Java is High Performance Java byte codes can be compiled on the fly to code using a "just-in-time compiler."

Java is Multi-Threaded Java is inherently multi-threaded. A single Java program can have many different processes executing independently and continuously. Java is incredibly responsive to user input.

Java is Dynamically linked Java does not have an explicit link phase. Java source code is divided into .java files, roughly one per each class in your program. The compiler compiles these into .class files containing byte code. Each .java file generally produces exactly one .class file. The compiler searches the current directory and a few other well specified places to find other classes explicitly referenced by name in each source code file. If the file you're compiling depends on other, non-compiled files, then the compiler will try to find them and compile them as well. The Java compiler is quite smart, and can handle circular dependencies as well as methods that are used before they're declared. It also can determine whether a source code file has changed since the last time it was compiled.

Java is Garbage Collected You do not need to explicitly allocate or deallocate memory in Java. Memory is allocated as needed, both on the stack and the heap, and reclaimed by the garbage collector when it is no longer needed. To sum up, Java is a safe, robust, garbage-collected, object-oriented, highperformance,

multi-threaded,

interpreted,

architecture-neutral,

cross-platform,

buzzword-compliant programming language

2.2.3 Java Script ●

Java Script gives HTML designers a programming tool: HTML authors are


7

normally not programmers, but Java Script is a scripting language with a very simple syntax! Almost anyone can put small “Snippets of code into their HTML pages. ●

Java Script can put dynamic text into an HTML page: A Java Script statement like this; document.Write(“<h1>”+name+”</h1>) can write a variable text into a HTML page.

Java Script can react to events: A Java Script can be set to execute when something happens, like when a page has finished loading or when a user clicks on a HTML element.

Java Script can read and write HTML elements: A Java Script can read and change the content of an HTML element.

Java Script can be used to validate data: A Java Script can be used to validate form data before it is submitted to a server, this will save the server from extra processing.

2.2.4 Java Server Pages Java Server Pages (JSP) is the latest Java technology for web application development and is based on the servlet technology. It is a technology for developing web pages that include dynamic content. Unlike a plain HTML page, which contains static content that always remains the same, a JSP page can change its content based on any number of variable items, including the identity of the user, the user's browser type, information provided by the user, and selections made by the user. This functionality is key to web applications such as online shopping and employee directories, as well as for personalized and internationalized content. A JSP page contains standard markup language elements, such as HTML tags, just like a regular web page. However, a JSP page also contains special JSP elements that allow the server to insert dynamic content in the page. JSP elements can be used for a variety of purposes, such as retrieving information from a database or registering user preferences. When a user asks for a JSP page, the server executes the JSP elements,


8

merges the results with the static parts of the page, and sends the dynamically composed page back to the browser, as illustrated in Figure 2.

Illustration 2: Generating dynamic content with JSP elements JSP defines a number of standard elements that are useful for any web application, such as accessing JavaBeans components, passing control between pages and sharing information between requests, pages, and users. Developers can also extend the JSP syntax by implementing application-specific elements that perform tasks such as accessing databases and Enterprise JavaBeans, sending email, and generating HTML to present application-specific data. One such set of commonly needed custom elements is defined by a specification related to the JSP specification: the JSP Standard Tag Library (JSTL) specification. The combination of standard elements and custom elements allows for the creation of powerful web applications.

2.2.4.1 The JSP Advantage JSP combines the most important features found in the alternatives: ➢

JSP supports both scripting- and element-based dynamic content, and allows developers to create custom tag libraries to satisfy application-specific needs.

JSP pages are compiled for efficient server processing.

JSP pages can be used in combination with servlets that handle the business logic, the model favored by Java servlet template engines.

2.2.5 MySQL MySQL is a full-featured relational database management system (RDBMS) that offers a variety of administrative tools to ease the burdens of database development, maintenance and administration. MySQL has many attractive features to offer: ●

Speed. MySQL is fast. Its developers contend that MySQL is about the fastest


9

database system you can get. ●

Ease of use. MySQL is a high-performance but relatively simple database system and is much less complex to set up and administer than larger systems.

Query language support. MySQL understands SQL (Structured Query Language), the standard language of choice for all modern database systems.

Capability. The MySQL server is multi-threaded, so many clients can connect to it at the same time. Each client can use multiple databases simultaneously. One can also access MySQL using applications that support ODBC (Open Database Connectivity), a database communications protocol developed by Microsoft. This gives the choice of using prepackaged client software or writing his own for custom applications.

Portability. MySQL runs on many varieties of Unix, as well as on other non-Unix systems, such as Windows, NetWare, and OS/2. MySQL runs on hardware from small personal computers (even palmtop devices) to high-end servers.

Small size. MySQL has a modest distribution size, especially compared to the huge disk space footprint of certain commercial database systems.

Availability and cost. MySQL is an Open Source project with dual licensing. First, it is available under the terms of the GNU General Public License (GPL). This means that MySQL is available without cost for most in-house uses. Second, for organizations that prefer or require formal arrangements or that do not want to be bound by the conditions of the GPL, commercial licenses are available.

2.3 Tools Used 2.3.1 TOAD for MySQL Toad is a powerful, low-overhead tool that makes database and application development faster and easier and simplifies day-to-day administration tasks. Toad for MySQL is a database development and administration tool that provides productivity features for rapidly creating and executing queries and managing complex database systems. Toad for MySQL includes the following features:


10

Query Development

Database Design

Database Administration

Data Management

Reporting

Project Management

Automation

Toad for MySQL Freeware - Provides a comprehensive solution for MySQL professionals to create and execute queries, as well as build and manage database objects. The product installs everything you need in one shot, connects to MySQL right away and you are presented with a very nice intuitive UI that supports a full range of features You can type in the field and it will actually save the change back to the database. If you want to test values and see what happens in your application, then this is how you can easily do it without coding SQL.

Illustration 3: Netbeans


11

2.3.2 NetBeans NetBeans refers to both a platform for the development of Java desktop applications, and an integrated development environment (IDE) developed using the NetBeans Platform. The NetBeans Platform allows applications to be developed from a set of modular software components called modules. A module is a Java archive file that contains Java classes written to interact with the NetBeans Open APIs and a manifest file that identifies it as a module. Applications built on modules can be extended by adding new modules. Since modules can be developed independently, applications based on the NetBeans platform can be easily and powerfully extended by third party developers.

2.3.2.1 The NetBeans IDE The NetBeans IDE is an open-source integrated development environment written entirely in Java using the NetBeans Platform. NetBeans IDE supports development of all Java application types (J2SE, web, EJB and mobile applications) out of the box.

Illustration 4: NetBeans IDE 6.0 The current version is NetBeans IDE 6.0, which was released in December 2007.


12

NetBeans IDE 6.0 extends the existing Java EE features Modularity: All the functions of the IDE are provided by modules. Each module provides a well defined function, such as support for the Java language, editing, or support for the CVS versioning system. NetBeans contains all the modules needed for Java development in a single download, allowing the user to start working immediately. Modules also allow NetBeans to be extended. New features, such as support for other programming languages, can be added by installing additional modules.

2.3.3 GlassFish In computing, GlassFish is an application server project by Sun Microsystems for the Java Enterprise Edition (Java EE) platform GlassFish is based on source code donated by Sun and Oracle Corporation's TopLink persistence system. It uses a derivative of Apache Tomcat as the servlet container for serving Web content, with an added component called Grizzly which uses Java NIO for scalability and speed. GlassFish is free software, dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the classpath exception.


13

3. Design Aspects 3.1 Need for the System:

Illustration 5: Need for the system

The existing system for ground equipment distribution is totally manual. In the current system the workflow is manual. The ground equipment department for AIRINDIA has checklists for each of their aircrafts that require servicing. All the data entry in the checklists and other related documents is done manually by the working staff of the ground equipment department. All the data retrieval and entry is time consuming and error prone. Due to such disadvantages of the manual system, company resources are not properly utilized.

3.2 Feasibility Study: “Feasibility is defined as the different ways in which a project in terms of hardware and software can be applied to a certain specified application”. The following areas


14

will have to be taken into consideration to prove our project feasible enough to be developed:●

Technical Feasibility

Economic Feasibility

Operational Feasibility

3.2.1 Technical Feasibility: It includes technical know-how of project members & the technical viability of the project. Before initiating development phases, it is necessary to know whether the project team is technically competent to complete design and implementation modules of the system to be built. The group members are well acquainted with ‘JAVA’ and ‘SQL’ as they were included as a subject in third year engineering. Regarding the technical viability, the project will be made in such a way that it can be customized to any existing system with least efforts. The system will contain a manual thus making this a cakewalk. Also it will be low on resources making it possible to run on older and slower machines.

3.2.2 Economical Feasibility: For studying the Financial Feasibility of the project, we have to consider all costs that will be incurred while developing the project. Also the final cost, at which the system is to be delivered, has to be evaluated. The whole system is developed using opensource Web Development Frameworks and freely available IDEs. Also, the proposed system is implementable on the existing hardware available and hence is economically feasible.

3.2.3 Operational Feasibility: The proposed system is customizable and will be easily incorporable into the existing Flight Management System. It is very user friendly and does not require its users to undergo any training to use the system. Thus, it is operationally feasible.


15

3.3 Linear Sequential model: We will consider Linear Sequential model for the development of the system. It is also called as waterfall model or classic life cycle and demands a systematic, sequential approach to software development that begins at system level and progresses through analysis, design, coding, testing and maintenance.

Illustration 6: Linear Sequential Model

3.3.1 System Engineering and analysis: As software is always a part of a larger system, work begins by establishing requirements for all system elements and them allocating some subset of these requirements to software. We mainly carried out this by visiting Air India & understanding the existing system in detail and also talked informally with people working with the system there.

3.3.2 Software requirement analysis: The requirement gathering process is intensified and focused specifically on software. To understand the nature of the programs to be built, the software engineer must understand the information domain for software, as well as required functions, behavior, performance and interface. Here, we generated all the requirements of our


16

system by calculating the needs of the software and then the output. Specific attention will be given in JAVA modules and functions where our development phase would be carried out.

3.3.3 Design: Software design is a multi step process that focuses on four distinct attributes of a program - data structure, software architecture, interface representations and procedural details. In this step, we carried out both the physical and logical design, by first drawing an outline of the system, recognizing its boundaries and then by actually putting on paper the steps to design the software.

3.3.4 Code generation: The design must be translated into a readable form. The code generation step performs this step. In the coding phase, we have decided to write the code for form and screen generation in JAVA and then providing the backend support using MySQL.

3.3.5 Testing: Once code has been generated, program testing begins. The testing process focuses on the logical internals of the software, ensuring that all statements are tested, and on the functional externals. We will test our system, for all the possible values of input and thus guarantee a system which will accept all weird inputs from the user and give appropriate messages if an input goes out of range.

3.3.6 Maintenance: Software will undoubtedly undergo a change after it is delivered to the customer. This phase can only be understood if the software is installed somewhere or used by any particular user from a long period of time.


17

4. Design Considerations 4.1 Functional Components of The Project This project mainly consists of three major parts which are described as follows:●

User Login.

Time-Table.

Equipment Handling.

4.1.1 User Login This part mainly deals with the User Login process. This process takes care of the authentication and verification of the data provided by the user during logging into the system. This is required to prevent unauthorized users from accessing the system. The authentication and verification mechanism ensures that users equipped with valid usernames and matching passwords only are granted access to the system. In case the username and / or the password provided by the user are not valid then access is not granted to the system. This ensures security of the system against unauthorized access. The functionality of the users also depends on the log-in details provided by the user. A system administrator has complete access to the system, whereas a general user has only limited access to the system. Also, Following is an example of the log-in interface

Illustration 7: Login If a user enters wrong user-id and password then an error message is generated asking him to reenter the details. If he enters wrong details three times in a row then the system locks the particular terminal for one hour. This is implemented using


18

cookies. If a terminal is idle for more than ten minutes then the system automatically logs out the user at that terminal. In order to start operation the user must log-in again.The system makes sure that a user is able to access a particular page only by proceeding through the proper links. A user cannot view any page without reaching it via proper links.

4.1.2 Flight Time-Table: The Flight Time-Table is a very essential aspect of this system. The flight Time-Table acts as the reference to all the activities of the Equipment Handling Services. The main role of maintaining a time table is to keep the ground staff informed about the timings of the incoming flights with their arrival time as well as the departure time. It is important to maintain the arrival and departure timings of the flights since the functioning of the ground staff is largely dependent on these factors. In normal situations, the allocation of the staff to a particular flight depends on the simple rule which is given below:-15 minutes à Arrival Time à +30 minute - 30 minutes à Departure Time à +15 minutes The above mentioned rule states that the activities of the ground staff are initiated 15 minutes prior the arrival of the flight up to 30 minutes after the flight has arrived. Also the activities of the ground staff are initiated 30 minutes prior the departure of the flight up to 15 minutes after the flight has departed. All these things would be very difficult without the presence of a valid and precise flight time-table. The flight time-table consists of general details such as: - Flight name, Flight number, Source of the flight, Destination of the flight, Arrival Time, Departure Time, etc. The time-table also consists of the Local arrival time at its next destination. As we have already seen, the flight time-table is essential to display the arrival and the departure timings for the flights scheduled on a given day. But one major problem is that the arrival and the departure times also depend largely on factors, such as efficiency of the staff in getting the essential services on time or weather conditions. This means that a flight may not be able to arrive or depart on the specified timing. It


19

is very much possible that a flight may get delayed even by a mere 10-15 minutes, this result to an updating problem in the flight time-table. To avoid such a problem, a copy of the actual time-table is made on a daily basis which acts as the “Active TimeTable”, whereas the actual time-table is referred to as the “Master Time-Table”. It should be noted that the ordinary user does not have the rights to make amendments to the Master time-table, but has the right to make changes to the Active time-table according to the prevailing conditions. Modification rights to the Master time-table are reserved only for the system administrator. Depending up on the Active time-table, a Delay Report should also be generated on a daily basis. The Delay Report will help in evaluating the total number of flights that were delayed during the day. The delay report will also help in determining the factors that lead to the flight delay and will be useful in building strategies to tackle these factors and thus avoid flight delays in the future.

4.1.3 Equipment Handling: Equipment Handling forms the basis of this project. The equipment handling module has to keep a track of the purchase date as well as the expiry date of the available equipments. In the manual work environment is it very difficult and time-consuming for the ground staff to keep a track of all the equipments. This project will provide an easy to use interface by means of which it will be easier for the department to maintain records. The new system will also be capable of providing easy update facilities, in case new equipments need to be added. Likewise equipments that are no longer in use by the department can be deleted from the system, thus providing for optimum space utilization. Every equipment that is added to the system will consist of a valid equipment code as their identification. From this the system will also display the availability status of the equipment. If some equipment is under maintenance, the duration of maintenance will also be maintained. To further simplify the task of the ground staff, a full-fledged “Search” module will also be incorporated into the system. With the help of this search module, the staff will be able to search the required equipments by merely inputting the equipment information. The system will then generate an output displaying the status of the equipment that is searched for.


20

4.2 Users of the System The Ground Resource Management System has two types of users.

4.2.1 Authorized Personnel The authorized personnel can search information about any flight or equipment, view the active time table and also make changes to it in case of delays or cancellation, view

the

equipment

requirement

of

any

flight,

view

the

status

of

equipments(allocated, not allocated or under maintenance). They can print checklists providing all information regarding equipment allocation for easy view. They can only view information such as allocation status of equipments, maintenance status of equipments but not make changes to it. Also they do not have access to other database tables such as user account information.

4.2.2 System Administrator The system administrator like the authorized personnel can also search information about any flight or equipment, view the time table and also make changes to it in case of delays or cancellation, view the equipment requirement of any flight, print checklists and hand them out to Authorized Personnel for easy reference. In addition he can add or remove equipments under maintenance and most importantly initialize allocation of equipments to various flights and clear allocation if the need arises. The system administrator can also view all database tables and make changes to them as and when required. Using this privilege he can modify both active and master time tables, add and delete user accounts as per requirement. Also he can add, clear and view any updates.


21

5. UML Design 5.1 Structural Design This section contains an explanation of the diagrams regarding the architecture of the system.

5.1.1 Entity Relationship Diagram The ER-Diagram graphically represents the Conceptual schema, in which the structure of entity types, the relationship between entities and constraints on the relationships, are all represented. The main focus of ER modeling is the data items in the system and the relationships between them. It aims at creating the conceptual Schema for the data from the user’s perspective. The Schema can later be used during the development of the database. We have the following 8 entities in our ER Diagram: Employee, System Administrator, Authorized personnel, Equipment, User , Time Table, Master Time Table and Active Time Table ➢

Every employee is a user of the system.

There are two types of employees: System Administrator and Authorized Personnel.

The system administrator is responsible of allocating equipments to aircrafts as per requirement and also seeing to the maintenance of the equipments.

There are two types of time tables: master time table and active time table.

The master time table can only be updated by the system administrator.

The active time table can be updated by both system administrator and authorized personnel.


22

Illustration 8: E.R. Diagram

Description: 1. Allocation Of Equipment

The system administrator allocates many types of equipment to many flights.

The system administrator will always allocate equipment. Hence total

participation. ➢

A particular type of equipment may or may not be allocated. Hence partial


23

participation. ➢

A particular flight may or may not be allocated all the required equipments. Hence partial participation.

2. Maintenance of Equipments:

➢ ➢

The system administrator maintains many types of equipment. The equipments are maintained by only one system administrator. Hence the relationship is 1:M

The system administrator will always maintain equipment. Hence total participation. ➢ A particular equipment may or may not be under maintenance. Hence total

participation.

3. Handling of User Accounts:

An employee may or may not be a user. Hence partial participation. Hence the relationship is 1:1

A user may or may not be an employee for example when an employee leaves, his user account may be deactivated. Hence partial participation.

4. Modification of Time Table:


24

The System Administrator may or may not update the time table. Hence partial participation.

The time table may or may not be updated. Hence partial participation.

5. Modification of Active Time Table:

There are many authorized personnel.

There is one active time table. Hence 1:1.

The Authorized Personnel may or may not update the active time table. Hence partial participation.

The time table may or may not be updated. Hence partial participation.

6. Handling of Flight Data:

One time table contains details about many flights. Hence the relationship is 1:M

Each flight must be included in the time table. Hence total participation.

The time table must contain flights. Hence total participation.

7. Equipment

There are many equipments of a particular equipment type. Hence the relation is


25

M:1. ➢

Each equipment belongs to an equipment type. Hence total participation.

Each equipment type contains some equipments. Hence total participation.

8. Requirement of equipments

A flight may require many equipments.

An equipment may be required be many flights. Hence the relation is 1:1.

A flight may or may not require a particular equipment. Hence partial participation.

An equipment may or may not be required by a particular flight. Hence partial participation.

5.1.2 Database Tables: The proposed design of different tables in the Database is as follows: 1. masterdb

Field 7.1 7.2 7.3 7.4 Number Field Name airline_code flight_no aircraft_code days Type Varchar Length 5 Default AI Value Mandatory Yes

7.5

7.6

Varchar Char 10 3 Blank Blank

arrival_time departure_ti me Varchar Varchar Varchar 25 4 4 Daily Blank Blank

Yes

Yes

Yes

Yes

Yes


26

The attribute days gives information about how many days in the week the flight is scheduled. If the flight is scheduled everyday then the attribute has value daily. Otherwise the days are explicitly mentioned. Example a flight which is scheduled for Monday and Tuesday will have value ‘Mon Tue’ for this attribute. 2. activedb

Field Number

1.1

1.2

1.3

1.4

Field Name Type Length Default Value Mandatory

flight_no varchar 10 blank Yes

arrival_time varchar 4 Blank Yes

departure_time cancelled varchar char 4 1 Blank N Yes Yes

Flight_no is the flight number that is assigned to each flight to distinguish among them. Example AI301 Here AI is the airline code for Air India and AI301 is the flight number. Arrival_time is the time at which the flight lands at the airport. Departure _time is the time at which the flight takes off from the airport. The attribute cancelled indicates if the particular flight has been cancelled or not. N indicates that the flight has not been cancelled while Y indicates that it has been cancelled. 3. aircraftdb


27

Field Number Field Name Type Length Default Value Mandatory

2.1 aircraft_code char 3 Blank Yes

2.2 aircraft_type varchar 30 Blank Yes

Aircraft_code is the code given to a particular type of aircraft i.e. it indicates the type of aircraft. Aircraft_type is gives the name of the aircraft type corresponding to the code. Examples of aircraft types are Boeing, Road feeder service, etc 4. employeedb

Field Number Field Name Type Length Default Value Mandatory

3.1 emp_id varchar 10 Blank Yes

3.2 emp_name varchar 20 Blank Yes

3.3 emp_dob varchar 10 Blank Yes

3.4 emp_tel Int 10 Blank Yes

3.5 emp_user_id varchar 10 1 No

Emp_ id is the identification number given to each employee. Emp_name is the name of the employee. Emp_dob is the date of birth of the employee. Emp_tel is the telephone number of the employee. Emp_user_id is the user id assigned to the employee that allows him to access the ground resousce management system.


28

5. userdb

Field Number Field Name Type Length Default Value Mandatory

10.1 user_id Varchar 10 -Yes

10.2 password Varchar 10 -Yes

10.3 administrator Char 1 N Yes

Every user has a unique user_id and password that he uses to log on to the system. The attribute administrator indicates if a user is system administrator or authorized personnel. If the user as the system administrator then the attribute administrator has value Y for that user otherwise it has value N. 6. equipmentdb

Field Number 4.1 4.2 4.3 4.4 4.5 Field Name Equipment_id equipment_name no_of_units description type Type Varchar Varchar Int Varchar Varchar Length 5 50 11 250 50 Default Value Blank Blank 0 Blank Passenger_ Stair Mandatory Yes Yes Yes Yes Yes Equipment_id is the identification number assigned to each type of equipment to distinguish among them. Example R1 is the equipment id assigned to all equipments of type R1. Equipment_name is the name of the equipment.


29

The attribute no_of_units indicates how many units of that particular equipment type are present. 7. equipmentinfodb

Field Number Field Name Type Length Value Range Default Value Mandatory

5.1 equipment_code Varchar 5 -0 Yes

5.2 equipment_id Varchar 5 -Blank Yes

Field Number Field Name Type Length Value Range Default Value Mandatory

5.4 expiry_date Varchar 20 1-31/1-12/2000-2015 5.4 expiry_date

5.5 status char 1 -Blank 5.5

5.3 mfg_date Varchar 20 1-31/1-12/2000-2015 Blank Yes

5.6 Last_maintenance_date Varchar 20 1-31/1-12/2000-2015 Blank Yes

Equipment_code is a code assigned to each equipment. Examples R101, R102, R103 are the codes assigned to equipments with id R1. Mfg_date is the date when the equipment was manufactured. Expiry_date is the date when the equipment expires. The attribute status gives information about the status of the equipment i.e. whether the equipment is under maintenance(M) or not under maintenance i.e. available for allocation. 8. maintenancedb


30

Field Number Field Name Type Length Value Range Default Value Mandatory

6.1 6.2 equipment_code date_from Varchar Varchar 5 10 --Blank Blank Yes Yes

6.3 6.4 date_to reason Varchar Varchar 10 25 1-31/1-12/2000-2015 -Blank Blank Yes No

The attributes date_from and date_to indicate the period for which an equipment is under maintenance. The attribute reason tells why an equipment is under maintenance. 9. requirementdb

Field Number 8.1 8.2 8.3 8.4 8.5 Field Name flight_no equipment no_of_units is_allocated_for is_allocated_for_ _id _arrival departure Type Varchar Varchar Int Char char Length 5 5 11 1 1 Default Value --0 N N Mandatory Yes Yes Yes Yes yes For any flight the required equipments are allocated from 15 minutes before arrival and till 30 minutes after departure. The attributes is_allocated_for_arrival and is_allocated_for_departure indicate if the required equipments have been allocated for the time periods required in case of arrival and departure respectively.


31

10. updatelogdb

Field Number Field Name Type Length Mandatory

9.1 user_id Varchar 10 Yes

9.2 time Varchar 20 Yes

9.3 update Varchar 50 Yes

User_id is the identification number assigned to each user of the system. The attribute time indicates the time at which the particular update was made. The attribute update gives information about the update. 11. loginhistorydb

Field Number 11.1 11.2 11.3 11.4 Field Name user_id Session_id time_from time_till Type Varchar Varchar Varchar Varchar Length 10 40 30 30 Value Range --0000-2359 0000-2359 Default Value --Null Null Mandatory Yes Yes Yes Yes When a user logs on to the system a session begins and he is assigned a Session id. The attributes time_from and time_till indicate the time period for which the session continues.


32

12. updatebackupdb

Field Number 11.1 11.2 Field Name date update Type Varchar Varchar Length 4 4 Default Value Blank Blank Mandatory Yes Yes The attribute date indicates the date when the update backup was created.

5.2 Functional Design 5.2.1 Data Flow Diagrams A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system.Data flow diagrams are used to describe how the system transforms information. They define how information is processed and stored and identify how the information flows through the processes. Context Diagram (Level 0) The context diagram has one process called Ground resource Management System and two entities called Administrator and Authorized personnel. Administrator gives Login details, Flight information and Equipment information as inputs to the system and the access privileges on various databases from the system as output. The system takes Login details and Request for Flight & Equipment information as inputs from Authorized Personnel and generates Flight & Equipment information as output.


33

Illustration 9: DFD Level 0

Level-1 Diagram Level 1 has 2 entities, 9 processes and 5 data stores.

Illustration 10: DFD Level 1 The flow of information between these components is shown in the figure above as


34

arrows with explanations on it. Child Diagram For Process 3: This diagram shows the steps followed in process 3. The input to this diagram is the Actual Flight Information. The input is first validated using the rules by process 3.1

Illustration 11: DFD Level 2 followed by its insertion in the Master Flight Time Table by process 3.2. Also, the modified information has to be recorded in the Active Time Table which is done by process 3.3


35

5.2.2 Use Case Diagrams A use case is to capture the functional requirements of a system. Use cases describe the interaction between a primary actor—the initiator of the interaction—and the system itself, represented as a sequence of simple steps. Actors are something or someone which exist outside the system under study, and who (or which) take part in a sequence of activities in a dialogue with the system, to achieve some goal: they may be end users, other systems, or hardware devices. Each use case is a complete series of events, from the point of view of the actor. 5.2.2.1 Administrator This scenario shows the processes that occur between an administrator and GRAS system. The actors of the system are Administrator and GRAS system

Illustration 12: Use Case Diagram : Administrator ●

Login: This use case corresponds to the Administrator logging into the system. ➢

Authentication and Verification: This Use case shows the system validating


36

the Administrator ID and password. ➢

Generate Error Message: This use case shows the error message once the Administrator fails to log in GRM system and asks him to reenter the details. If Administrator enters wrong user name and password three times in a row then the system is locked for an hour.

Grant Access to system: This use case shows that the Administrator is allowed the access the system

Database Management: This use case displays and updates the list of tables in database.

Flight Management: This use case is used to manage Flights which includes Displaying and Updating Flight Time Table, Flight Delay Implementation and Flight Cancellation.

Application Options: This use case is used Initialize Application, Clear updates and Backup updates in GRM. ➢

Initialize Application: This is used to initialize the Application and the processes at the start of the day.

Clear Updates: This Use case is used to clear any updates made during the day.

➢ ●

Backup Updates: This Use case is used to save and Backup any updates.

Equipment Handling: This use case includes displaying current allocation status of equipments, display the requirement status of equipment that are required by flights. It also shows and clears the last allocation of day, allocates equipments and clears allocations made in a day.

Maintenance: This use case is used to add and remove equipments under Maintenance as well as View the Maintenance Table.

5.2.2.2 Authorized Personnel This Scenario shows processes that take place when Authorized Personnel uses the Ground Resource Allocation System (GRAS). The actors of the system are


37

“Authorized Personnel” and “GRAS”.

Illustration 13: Use Case Diagram : Authorized Personnel The Use Case is explained as follows ●

Login: This use case corresponds to the Authorized Personnel logging into the system, similar to previous Use Case.

Flight Management: This use case is used to manage Flights which includes


38

Displaying and Updating Flight Time Table, Flight Delay Implementation and Flight Cancellation. ●

Equipment Allocation: This use case includes displaying current allocation status of equipments, display the requirement status of equipment that are required by flights. It also shows the last allocation of day.

Search: This use case is used to search information about Flights and Equipments.


39

6. Implementation Details The GRM is implemented as a web application using the MVC architecture. The view is designed using Java Server Pages, controller will be implemented using JAVA and finally model using MySQL. The implementation of the various modules in this system has been elucidated below

6.1 Sequence Diagram UML sequence diagrams model the flow of logic within the system in a visual manner, enabling both to document and validate the logic, and are commonly used for both analysis and design purposes. Sequence diagrams are the most popular UML artifact for dynamic modeling, which focuses on identifying the behavior within the system. Sequence diagrams are typically used to model: ●

Usage scenarios. A usage scenario is a description of a potential way your system is used. The logic of a usage scenario may be part of a use case, perhaps an alternate course. It may also be one entire pass through a use case, such as the logic described by the basic course of action or a portion of the basic course of action, plus one or more alternate scenarios. The logic of a usage scenario may also be a pass through the logic contained in several use cases.

The logic of methods. Sequence diagrams can be used to explore the logic of a complex operation, function, or procedure. One way to think of sequence diagrams, particularly highly detailed diagrams, is as visual object code.

The logic of services. A service is effectively a high-level method, often one that can be invoked by a wide variety of clients. This includes web-services as well as business transactions implemented by a variety of technologies such as CICS/COBOL or CORBA-compliant object request brokers (ORBs).


40

6.1.1 Allocate Equipment The following sequence diagram shows the logic and implementation of the Servlet which is used to allocate equipments to flights.

Illustration 14: Sequence Diagram : Allocate Equipment


41

6.1.2 Action taken when a flight is delayed The following sequence diagram shows the logic and implementation of the Servlet which is invoked when a particular flight is delayed.

Illustration 15: Sequence Diagram : flight is delayed

6.1.3 Action taken when a flight is cancelled The following sequence diagram shows the logic and implementation of the Servlet which is invoked when a particular flight is cancelled.

Illustration 16: Sequence Diagram : Flight is cancelled


42

6.2 User Interface Screens 6.2.1 Login Module The following page is the Login-page. On entering the user-name and password, the system checks their authenticity and accordingly system administrator and authorized personnel are redirected to their respective pages.

Illustration 17: Login Page If the User enters incorrect user name and/or password then the system displays an error message asking the user to re-enter the details

Illustration 18: invalid username/password


43

If the user enters wrong details three times in a row then the terminal is locked for 1 hour.

Illustration 19: Terminal Locked

6.2.2 Authorized Personnel The Options available to Authorized Personnel are Flight Management , Equipment Handling and Search.

Illustration 20: Authorized Personnel Homepage


44

6.2.2.1 Flight Management Under Flight Management there are options like Flight Timetable, Flight Delay and Cancellation of flights.

Illustration 21: Flight Management

The flight timetable displays all the flights with their arrival and departure times. Also he can edit the arrival and the departure time in case of delay.

Illustration 22: Flight TimeTable The authorized personnel can see the equipments required by each flight.


45

The delay option can be used to enter delay for any flight.

Illustration 23: Delay

The cancel option is used in case a flight is canceled.

Illustration 24: Cancel Flight


46

6.2.2.2 Equipment Handling Under Equipment Handling there are options like current status, total requirement of the day, requirement from now and last allocation.

Illustration 25: Equipment handling Current Status shows the current allocation status of all equipments. If an equipment is allocated the flight no and the mode of allocation is displayed. If its not, N.A. Is displayed.

Illustration 26: Requirement Status Total requirement of the day gives information about the equipment allocated throughout the day whereas requirement from now gives the same information


47

starting from the current time. If an equipment is allocated, the flight no and the mode of allocation is displayed. If its not, N.A. Is displayed.

Illustration 27: Total Requirement Last allocation gives information about the results of the last allocation of equipments performed by the System administrator.

Illustration 28: Last Allocation


48

6.2.2.3 Search Under search there are options to search for information about any flight or

Illustration 29: Illustration 27: Search equipment. On entering a flight number the system gives all flight details such as airline code, flight number, aircraft code, days,arrival time and departure time. On entering an equipment code the system gives all equipment details such as equipment code, equipment id, manufacturing date, expiry date, status, flight number and mode.

6.2.3 System Administrator

Illustration 30: Administrator


49

The Options available to System Administrator are Flight Management, Database Management, Equipment Allocation, Maintenance and Application Options.

6.2.3.1 Database Management The system administrator can use database management option to add, edit, delete various database tables.

Illustration 31: Database Management 6.2.3.2 Equipment handling The options under Equipment handling include current status, total requirement of the day, requirement from now, clear allocation for the day, allocate and last allocation. The clear allocation for the day option clears all the equipment allocation’s made for the current day. Clear last allocation is used to clear the result of the last allocation of equipments performed by the System administrator. The allocate option is used by the system administrator to allocate the required equipments to various flights.


50

Illustration 32: Equipment Handling 6.2.3.3 Application Options The application option includes clear update, backup update and initialize application .

Illustration 33: Application Options The clear update option is used to clear the news updates that are displayed at the top right hand corner of the screen. The initialize application option is used by the system administrator to initialize the equipment allocation process every 24 hours i.e. everyday in the morning. 6.2.3.4 Maintenance Under maintenance the system administrator has options to add, remove and view equipments under maintenance.


51

Illustration 34: Maintenance The system administrator can add any equipment under maintenance.

Illustration 35: Add Equipment The following validations are done when an equipment is added for maintenance : 1. Only those equipments that are not already under maintenance are listed. 2. In the date_from and date_to fields, only dates in the format dd-mm-yy are allowed. Also the date cannot contain any spaces. 3. The values in date from and date to fields cannot be the same, else the system gives an error asking for correct date. Also, the date in date_to has to be greater than that in date_from. 4. An equipment, which is currently allocated to a flight, cannot be put under maintenance .


52

The system administrator can remove any equipment from under maintenance as per requirement.

Illustration 36: Remove Equipment

The system administrator can view all the equipments currently under maintenance.

Illustration 37: See Equipments


53

6.2.3.5 Checklists The System Administrator can print checklists and hand them out to Authorized Personnel for easy reference.

Illustration 38: Checklist The print version is shown as below

Illustration 39: Checklist : Print Version


54

6.2.3.5 Logout The logout option is for logging out of the system.

Illustration 40: Logout


55

7. Conclusion and Further Work The previous chapter explained the implementation phase of the system. We illustrated the implementation by displaying sample screens and explaining them. The following is the conclusion of the report.

7.1 Accomplishments The system previously in use was a manual one involving a lot of alertness and paper work on part of the people involved. The traditional system was both time-consuming and error-prone and therefore led to inefficiency. Such disadvantages have been overcome. Our project provides a sophisticated tool to manage and administer the Ground Resource Management System of Air India. The user login module identifies whether a particular user is System Administrator or Authorized personnel based on his user name and password. The System Administrator can view flight time table, make changes to it, search for information about any flight or equipment, allocate equipments to various flights, update databases and create and delete user accounts. The Authorized Personnel can view all the above information but cannot make changes. They can only update the active time table. The equipments are allocated efficiently and in case of delay in flight timings or cancellation of a flight the system automatically clears and reallocates the required equipments.

7.2 Further Work Although the system overcomes most of the difficulties of the existing manual system, there are some other functions which when implemented shall enhance the functionality of the system further. Flights may require different resources for different time durations. A module to deal with clashing of flights can also be included.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.