60-470 Project Report (Group V)

          Final Exam Time:       April 26th 10:00am

 

 

 

 

Maintenance management system

(Produced for Ms. Ritu Chaturvedi)

 

 

 

 

 

 

 

 

 

 

Group members:

 

Xudong Xie           100887020

Yuan Wang           100

Yan wang              100588439

 

 

 

April 25, 2004

 

 

 

 

 

 

 

 

Table of contents

 

 

 

 

 

             I.      Abstraction  -------------------------------------------------      3

 

       II.      Proposal  -----------------------------------------------------     4

 

       III.      The Oracle Tools  ------------------------------------------      5

 

     IV.      Development  -----------------------------------------------      7

 

        V.      Interfaces and user documentation  ----------------------       12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abstraction

 

This report describes the proposal of developing a maintenance management system in a manufactory environment. Then, it describes the characteristics of the Oracle Tools (Forms, Reports or PL/SQL) we used in this project. After that, it describes the development of this project including an entity relationship diagram, the database design and the interface we used in our application. Finally, it describes how to use this management system, i.e. the manual of this system.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Proposal

 

 

In this project, we are going to use Oracle Tools (Forms, PL/SQL) to develop a maintenance management system in a manufacturing environment.

 

As a maintenance management system, it includes three subsystems as following:

 

(1)   Maintenance job management subsystem

(2)   Spare parts management subsystem

(3)   Manager’s monitoring & system administration subsystem

 

Maintenance job management subsystem has the functions as following:

(1)   Maintenance job generation and job assignment, job finishing and finishing confirmation.

(2)   Equipment information.

(3)   Job detail information.

 

Spare parts management subsystem has functions as following:

(1)   Spare parts ordering.

(2)   Spare parts checking and distribution.

(3)   Spare parts receiving.

 

Manager’s monitoring & system administration subsystem has functions as following:

(1)   Spare parts inventory monitoring.

(2)   Maintenance job monitoring.

(3)   New data addition and obsolete data deletion, data modification.

(4)   Access authority.

 

 

 

 

 

 

 

 

 

The Oracle Tools

 

In this project, we use oracle tools (Forms, Reports and PL/SQL). These tools help us to create forms and reports based on the data tables that we have created.

Our project has a 3-tier structure. The Oracle tools are very powerful to develop 3-tier structured systems.

(1)   The front tier is the front end: clients use this tier to interact with the maintenance management system to complete all the functions we described in the proposal. Normally, we use html and JSP to finish this part. In this project, we have used Object Navigator, Layout Editor and Menu Editor to design and customize our forms and reports, add a lot of kinds of functionality, like buttons, radio buttons, list of values to make our forms and reports more user friendly and easy to develop.

(2)   The middle tier is the control part: we use this part to control the system and make bridge between the front end and database. Normally, we use Java Serverlet and JDBC to finish this part. In this project, we have used PL/SQL Editor to write triggers on our objects to add functionality to them and capture errors. The Oracle tools have shortened our programming and testing time dramatically.

(3)   The back tier is the database: The oracle tools we have used provide use a convenient way to manipulate the data, handle the relationship of data tables, avoid errors while manipulate data. For example, it provides user friendly interface to connect two tables to create a new view. The build in function have reduced our programming time dramatically.

When we use these Oracle tools, we take a standard development sequence which makes the oracle tools so powerful. The sequence is:

(1)   Use Object Navigator to name the form.

(2)   Use Developer menu command to connect to the database.

(3)   Use New Block window to create blocks.

(4)   Use Layout Editor to fine-tune the layout.

(5)   Use Properties window to set properties.

(6)   Use PL/SQL Editor to add code.

(7)   Use Runform to test the form.

As I know, besides these Oracle tools, IBM provides similar tools named Lotus Notes Domino Designer. Compare to Lotus Notes Domino Designer, besides both of them have very similar forms and reports development functions, the Oracle tools are more powerful in data block development. But Lotus Notes Domino Designer can connect to other kinds of database, like DB2, Access, and it provides more beautiful and finer appearance of forms, reports.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Development

According to our proposal, we drew an Entity Relationship Diagram of the data we would use in this project as following:

 

 

 

 

 

 

 

 

 

 

 


         

(0,  n)

 

(1,  n)

 

(1,  n)

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Then, we began to design the tables.

 

First of all, we need a table for data access control.

 

(1) The staff table is used for login and rank. When login, we can check the password. After login, we can check out the user’s position. Then give a rank to the user, and the rank will control the user’s authority to access the database. The userID is the index of this table.

 

Staff

UserID

Password

Position

Information

 

create table staff(

userid               CHAR(8) not null,

pd                    CHAR(8)         not null,

position            CHAR(12),

info                   VARCHAR2(200),

PRIMARY KEY          (userid))

 

Then, we need tables for spare parts management. In this subsystem, we need all information about parts. After normalization, we get parts, order, supplier and consume tables.

 

(2) The parts table is used for parts’ information. PartsNo is the index of this table. We will generate a list of parts which number of on stock is smaller than the minimal number.

 

Parts

Parts No.

Order No.

Min. No.

On Stock

Description

Unit Price

Location

 

ordNo              CHAR(4) not null,

minNo              NUMBER(3),

onStock                       NUMBER(3),

description        VARCHAR2(100),

price                 NUMBER(6,2),

location            CHAR(20),

PRIMARY KEY          (partNo))

 

 

 

 

(3)After we generate the above list of the parts, we need to order parts according to the list. So we need this Order table. OrderNo is the index of this table. After the parts arrive, the quantity of the arrival parts will add to the numbers of on stock. Parts (which actually is the parts number) is the foreign key from parts table and supplier is the foreign key from supplier table. OrderPerson is the foreign key from staff table.

 

Order

Order No.

Ordering Person
Parts

Supplier

Arrival Date

Quantity

 

create table ordering(

ordNo              CHAR(4) not null,

ordPerson        CHAR(8) not null,

part                  CHAR(4) not null,

supplier            CHAR(16) not null,

orderDate         DATE,

arrDate             DATE,

quantity            NUMBER(3),

PRIMARY KEY          (ordNo),

FOREIGN KEY          (part) REFERENCES parts,

FOREIGN KEY          (supplier) REFERENCES supplier,

FOREIGN KEY (ordPerson) REFERENCES staff)

 

(4) Supplier table includes the information about the parts suppliers. Name is the index of this table.

 

Supplier

Name

Contact Person

Delivery Duration

Information

 

 

create table supplier (

name                CHAR(16) not null,

contactor          CHAR(8) not null,

delivDuration    NUMBER(2),

meno                VARCHAR2(100),

PRIMARY KEY          (name))

 

 

 

 

(5)Consume table includes the information about the parts consuming. PartsNo is the index and foreign key from parts table. Consumer is the foreign key from staff table. When the record generates, the quantity of the consuming parts will be deducted from the number of on stock in parts table.

 

Consume

Parts No.

Consumer

Quantity

Date

Notes

 

create table consume (

partNo             CHAR(4) not null,

consumer          CHAR(8) not null,

quantity            NUMBER(2),

comsumDate    DATE,

notes                VARCHAR(100),

PRIMARY KEY          (partNo, consumer),

FOREIGN KEY          (partNo) REFERENCES parts,

FOREIGN KEY          (consumer) REFERENCES staff)

 

After that, we develop table for equipment management. In this subsystem we need all information about the equipment maintenance information. After normalization, we get equipment, work and job tables.

 

(6) Equipment table includes information about all the equipment. EqNo is the index.

 

Equipment

Eq. No.

Loaction

Information

 

create table equipments (

eqNo               CHAR(4) not null,

loaction            CHAR(16)  not null,

information       VARCHAR2(100),

PRIMARY KEY     (eqNo))

 

 

 

 

 

 

 

 

(7) Work table includes information about maintenance routes. WorkNo is the index. Supervisor is the foreign key from the staff table.

 

Work

Work No.

Information

Interval

Supervisor

 

create table work (

workNo           CHAR(4) not null,

interval NUMBER(3),

supervisor         CHAR(8),

info                   VARCHAR(100),

PRIMARY KEY          (workNo))

 

(8) Job table includes information about the tasks of maintenance. Job no. is the index. WorkNo is the foreign key from work table. EqNo is the foreign from the equipment table. Technician is the foreign key from staff table.

 

Job

Job No.

Work No.

Eq. No.

Technician

Due Date

Assign Date

Finishing Date

 

create table job (

jobNo              CHAR(4) not null,

workNo                       CHAR(4) not null,

eqNo               CHAR(4),

technician         CHAR(8),

dueDate                       DATE,

assignDate        DATE,

finishingDate     DATE,

PRIMARY KEY          (jobNo),

FOREIGN KEY          (workNo) REFERENCES work,

FOREIGN KEY          (eqNo) REFERENCES equipments,

FOREIGN KEY          (technician) REFERENCES staff)

 

After that, we need to develop interfaces (forms and reports) used in our application. Interfaces will be introduced with user documentation.

 

 

 

 

 

 

 

 

 

 

Interfaces and user documentation

 

First, install Oracle Form 6i on the PC, create all the above data tables in the Oracle system and insert the records. Save the Menu.mmb files and MMS.fmb files in certain fold.

 

Open Form Builder. In Form Builder environment, go File->Open, and open   Menu and MMS module files. Then, go File->Connect to connect to the Oracle system with the help of your DBA, go File->administration->compile files to compile both files. After that, press Ctr+R. 

 

Then you enter the MMS system. In this system, if you click the item or button you are not permitted to go or use, it will give you error message.

 

 

(1)   User Menu: you can find this menu on every page except the login page. So you can easily go to the page you want by clicking the menu. If you click the item you are not permitted to go, it will give you error message.

 

 

Figure 1            User Menu

 

 

 

 

 

 

 

 

 

 

(2)   Login: After you enter this system, it appears this login page. Input your user ID and password. It will give error information if login fails. If login successful, it jump to help page.

 

 

Figure 2            Login page

 

(3)   Help page: this page includes explanation plus index of different pages. Click the button to the page you want to go.

 

 

Figure 3            Help Page

 

(4)   If you click Equipment information(query), it appears this page. You can query equipment information in this page.

 

Figure 4            Equipments information (query)

 

    (5) If you click Parts information (query), it appears this page. You can query parts information in this page.

 

Figure 5            Parts information (query)

 

 

 

(5)   If you click Job information (query), it appears this page. You can query job information in this page.

 

Figure 6            Job information (query)

 

(7) If you click Job Confirm, it appears this page. You can confirm job after you finish the job in this page.

 

Figure 7            Job confirm

 

 

 

 

(8)   If you click Job Generation, it appears this page. You can generate job in this page.

 

Figure 8            Job generation

 

(9)   If you click Part Stock Check, it appears this page. You can generate a list of parts which need to be ordered in this page.

 

Figure 9            Parts stock check

 

 

 

 

 

(10)If click Make New Order, it appears this page. You can query order and supplier. If you want to make a new order, click new button, input information, then click save button, and a new order is created. If you want to modify an order, click modify button, input modified information, then click save button, and a order information is modified.

 

Figure 10          Make new orders

 

 

 

 

 

 

 

(11) If click Parts Consume, it appears this page. You can query parts and consume information in this page. If you want to make a new consuming record, click new consume button, input information, then click save button, and a new consuming record is created.

 

Figure 11          Parts consume

 

 

 

(12) If you are system administrator and click Staff Info/Management, it appears this page. You can query, insert, delete and edit staff record in this page. Don’t forget to press save button after you insert, delete and edit staff record.

 

Figure 12          Staff info (management)

 

 

 

 

 

(13) If you are system administrator and click Supplier & Parts Info/Management, it appears this page. You can query, insert, delete and edit parts or supplier record in this page. Don’t forget to press save button after you insert, delete and edit parts or supplier record.

 

Figure 13          Supplier & Parts info (management)

 

(14) If you are system administrator and click Work & Equipment Info/Management, it appears this page. You can query, insert, delete and edit work or equipment record in this page. Don’t forget to press save button after you insert, delete and edit work or equipment record.

 

Figure 14          Work & Equipment info (management,)