Sunteți pe pagina 1din 127

Table Content

S.NO. 1. 2. 3. CONTENTS OBJECTIVE AND SCOPE OF PROJECT BACKGROUND INFORMATION Introduction to Company FEASIBILITY STUDY Economic Feasibility Technical Feasibility Operational Feasibility 4. SOFTWATE REQUIREMENT SPECIFICATION Introduction Functional Requirements Identifying Actors Identifying Roles Identifying Scenarios Identifying Use Cases Non-Functional Requirements Software & Hardware Requirements Communication Interface Requirements 5. ANALYSIS Introduction to UML Identifying Functional Model by using Use Case Diagrams Identifying Object Model by using Class Diagrams Identifying Dynamic Model by using State, Activity and Interaction Diagrams(Sequence & Collaboration) 6. DESIGN Identifying Subsystems Mapping Subsystems to Processors and Components by using Deployment Diagrams Identifying and Storing Persistent Data

7.

DATABASE DESIGN Introduction E-R Diagrams Normalization Data Dictionary

8.

METHODOLOGY ADOPTED Development Tool DreamWeaver Client Side Tools HTML Java Script Server Side Tool Java Back End Tool Oracle

9. 10

SAMPLE CODING TESTING Test Cases Test Models Integration Testing Fault Based Testing Scenario Based Testing System Testing Test Report

11. 12

INPUT AND OUTPUT SCREENS DOCUMENTATION Installation Manual User Operational Manual

13. 14.

CONCLUSION & LIMITATIONS BIBILOGRAPHY

OBJECTIVE AND SCOPE OF PROJECT

SCOPE OF THE PROJECT: The project was mainly developed for textile based company which always requires raw materials and buys from the suppliers. Each department will require its own products. So they prepare a list of requirements in the production department. The production department send these requirements to store department. If the Store department contain those requirements then it will pass to production department otherwise it will send to the purchase department Purchase department send these requirements to the suppliers who produce their quotations for the products. The quotations are sent to the administrator who check the pricing of the different quotations and approve quotations or reject them. Once the quotation is approved the purchase department will send the required details to the inspection department whose job is to go to the supplier and check the quality of the products. If they are good then send a confirmation letter to the purchase department. The purchase department buys the products from the supplier and then send them to the store department who record all the products,then store department will send to the production department PRESENT SYSTEM: The present system is done manuallyi.e through people, phone, post etc. The production department send its requirement with a person to the store department . The store department asks the purchase department to purchase the material through phone. Purchase department send requirements to he suppliers through post Administrator accepts or reject quotations by sending through posts PROBLEMS WITH PRESENT SYSTEM: So taking all the above situations, the above process require very much time. It is time consuming and each department was unable to know quickly the status of the related departments This delay the process very much so the production system gets late and this leads to companys loss

NEW SYSTEM
It is the online network based software system. Here all the processing is done through online. Each department will require its products so they prepare a list and send it to the production department. Production department send these requirements to the store department then store department send to the purchase department if the requirements are not available. Purchase department send requirement to the suppliers who produce quotations for the products. These quotations are sent to admininstrators who check the pricing of different quotation and approve or reject them Once quotation is approved purchase department will send the required details to Inspection department whose job is to go to supplier and check the quality of the products. If they are good then send them to the store department who records all the products. All the above requirements and acknowledgement is sent by email through online so the process was able to complete within seconds for every department so there was no time consuming Every department can know the status of the related departments Objective for the Administrator: 1. The Administrator will be able to maintain all the product details 2. The Administrator will be able to maintain all the employee details. purchase department. 4. The Administrator will be able to view the details of the products that have been bought 5. The Administrator can view suppliers information Objectives for Design and Engineering Departments: 1. They will be able to add the product details they require 2. They will be able to view whether their requirements have been sactioned or rejected or asked to be modified and make the modifications and resent the details Objectives for Purchase Department: 1. They will be able to view the requirements sent by the different departments. 3. The Administrator will be able to approve the tenders and send them to the

2. They will be able to send the requirements to the different suppliers 3. They will view the quotations sent by the different suppliers 4. They will be able to send these quotations to the administrator. 5. They will receive the details of the supplier whose quotation has been approved 6. They will be able to send these details to the Inspection department 7. They will be able to view the report submitted by Inspection department. Objectives for the Inspection Department: 1. They will be able to view the product details along with supplier details that they have to inspect. 2. They will be able to send their report on the product details to the purchase department. Objectives for the Store Department: 1. They will be able to add the product details that they have received from the purchase department. 2. They will be able to send their report on the products received from the purchase department.

BACKGROUND INFORMATION

INTRODUCTION TO ORANIZATION
SHARMAS TECHNOLOGIES was introduced in the year 2002 which started up as a small software developing company has improved with clients such as Citrox (UK), 44plus (Australia) as our clients. SHARMAS TECHNOLOGIES has under taken many projects but one of the major projects under taken by the organization was Citrox. While maintenance activities progressed apace encouraged and enthused SHARMAS TECHNOLOGIES to spread its wings and turned its attention to other areas of computer support. Computer centers were set up in different cities and whole ranges of consultancy services were offered. Computer education and training programmes were started. Software development in data communications and database management became one of the Corporations fastest growing activities, and ITs, Indias first commercial computer network began taking shape. As the communication sector is improving day by day, SHARMAS TECHNOLOGIES has given new protocols, communication lines & equipment as well as host systems. Besides, the need for highly specialized software engineering skills has triggered increased thrust on Education & Training activities. SHARMAS TECHNOLOGIES is owned by Mr. Prem Kumar Sharma, Mr. Amar Kumar Sharma and Mr. Pradeep Kumar Sharma who are the Directors of SHARMAS TECHNOLOGIES. is right now taking up more than 22 projects.

FEASIBILITY STUDY

They are 3 major issues involved in the Feasibility Study 1. Economic Feasibility 2. Technical Feasibility 3. Operational Feasibility Economic Feasibility: This system is to increase the speed of processing whenever products are required by the Production Department and these products are not present with the Store department. Earlier the processing would be very slow, but due to the online implementation now all the tenders from the suppliers are send online. From an Economic Feasibility point of view the company hasnt any additional benefits in terms of earning profits from the software, but the issue for the company is their processing would speed up. The company has to pay an amount of 20000/- for developing the software. Technical Feasibility: They are not many technical issues for this software. As the software is going to run online therefore the following are the software and hardware requirements for the software. Technical cost that the client has to bear per year can be calculated by the following assumptions 1. The client obviously requires a computer with internet connection. So the internet connection will cost him an amount of Rs. 500/- per month. Which is annually added upto Rs. 6000/-. 2. In order to host the site online we require Hosting space on the server, which will cost an amount of Rs. 1500/- per year. 3. In order to get the Domain name registered for the site, it would cost Rs. 500/- per year. Therefore a total of amount Rs. 8000/- per year overhead will be on the client. Except this the client doesnt have to spend any amount on the Software. Operational Feasibility: From an Operational Feasibility point of view since already employees are working in each department, therefore they will be no additional cost for the operation of the software.

Therefore the conclusion for this Feasibility study is that a total amount of Rs. 22000/- will incur for the client at the beginning, for the software completion.

SOFTWARE REQUIREMENTS SPECIFICATION

SOFTWARE REQUIREMENT SPECIFICATIONS Software Requirement Specifications: SRS is a mechanism of developing a document, which has all the requirements for the development of the software. The following are the requirements specifications for the E-Procurement System. 1. Introduction a) Purpose b) Problem Statement 2. Functional Requirements a) Identifying Actors b) Identifying Scenarios c) Identifying Use Cases 3. Non Functional Requirements a) Performance Requirements b) Safety Requirements c) Security Requirements 4. External Interface Requirements a) Hardware Interfaces b) Software Interfaces c) Communication interfaces 1. Introduction: Purpose of SRS: The main purpose of this SRS is to document each and every requirement of the entire software that is to be developed. We have decided a release number of EPS 1.0.1 to this SRS. Any further releases will be shown in the future with a modified release number. Problem Statement: This system is developed for a textile industry, which always buys different materials for its vehicles from different suppliers.

Each department will require its own material, so they prepare a list of the requirements and send it to the Store Department. The Store Department, if they have the required material then they send it to the Production department but if they dont have the material then they send the requirements to the Purchase Department. The Purchase Department then sends the requirements to the Suppliers, who produce there quotations for the material. These quotations are received by the Purchase Department, who check the pricing of the different quotations and approve a quotation or reject them. Once the quotation is approved, the Purchase department will send the required details to the Inspection department, whose job is to go to the supplier and check the quality of the products. If they are good, then send a confirmation letter to the purchase department. Then the purchase department buys the products from the supplier and then send them to the store department who record all the product details. All the above-specified procedure is done manually with paper work involved. This delays the process very much. Therefore the company has approached us to create online network based software, so that all the processing is done online Functional Requirements: In order to show the functional requirements of the software we have to identify the following activities. 1. Identifying Actors: The different actors involved with the Project: 1. Administrator 2. Production Department 3. Purchase Department 4. Inspection Department 5. Store Department 6. Supplier Roles of the Actors: The following are the roles of the actors Administrator: The role of the administrator is to maintain all the master information like Items Information, suppliers information, Employees information Production Department: The role of Design & Engg(Production) Department is going to prepare the list for the required product to the store department.

Store Department: The role is to receive the requirements from the Production department and send them to the Purchase Department. Purchase Department: The role of the Purchase Department is to send the requirements to the Suppliers and receive the tenders from the Suppliers. Inspection Department: The Inspection Departments role is to check the goods quality of the material supplied by the supplier. . Supplier: Supplier is going to bid the amount for tender with in the stipulated time, and will know the final status of the tender once it is closed. 2. Identifying Scenarios: A scenario is a narrative description of what function will the client perform on the system. In our project the following scenario takes place Scenario - 1 Scenario name: ProductRequirementSubmission Participating Actor instances: Mr. S. Raju : Production Department, Mr. Satish: Store Department. Flow of Events: 1. Raju the Department Head, needs new sewing machines. He activates the MaterialRequirement system from his computer. 2. MaterialRequirement system displays a form to Raju. 3. He enters the details of the material that he wants. 4. MaterialRequirement system displays an acknowledgement to Raju and notifies to Satish about the requirements. Scenario - 2 Scenario name: PurchaseRequirementSubmission Participating Actor instances: Mr. Satish: Store Department, Mr. Ravindra: Purchase. Flow of Events: 1. Satish doesnt have the material required by the Production Department. Therefore. He activates the PurchaseRequirement system from his computer. 2. PurchaseRequirement system displays a form which displays the details of all the requirements. 3. He selects the material that he requires and clicks the send button.

4. PurchaseRequirement system displays an acknowledgement to Satish and notifies Ravindra about the requirements. Scenario - 3 Scenario name: TenderRequirementSubmission Participating Actor instances: Mr. Ravindra: Purchase Department, Mr Kumar: Supplier. Flow of Events: 1. Ravindra wants to purchase a set of requirements. He activates the TenderRequirement system. 2. The TenderRequirement system displays the Supplier that are available for the sewing machines. 3. He selects the Suppliers and Clicks the send button. 4. TenderRequirement system sends the details of the material to Kumar, and acknowledges Ravindra. Scenario - 4 Scenario name: TenderSubmission Participating Actor instances: Mr. Kumar: Supplier, Mr Ravindra: Purchase Department. Flow of Events: 1. Kumar views the material requirements sent by Ravindra. 2. He activates the Tender system. 3. The Tender system displays a form to Kumar. He fills all the Tender details and clicks the send button. 4. The Tender system sends the tender to Ravindra and acknowledges Kumar. Scenario - 5 Scenario name: TenderApproval Participating Actor instances: Mr Ravindra: Purchase Department., Mr. Kumar: Supplier Flow of Events: 1. Ravindra views the tender sent by Kumar. 2. He activates the TenderApproval system. 3. The TenderApproval system displays a form to Ravindra. He fills all the Tender Approval details and clicks the send button.

4. The TenderApproval system sends the approved tender to Kumar and acknowledges Ravindra. Scenario - 6 Scenario name: MaterialInspection Participating Actor instances: Mr Sridhar: Inspection Officer Flow of Events: 1. Sirdhar activates his MaterialInspection system to view all the material and suppliers details that he has to inspect. 2. The MaterialInspection system displays a report to Sridhar. 3. He takes a print out by clicking the print button and a report is generated by MaterialInspection 3. Identifying Use Cases: Use Cases are used to identify the different functions that are involved during the use of the software. Use Case 1: Use Case Name: ReportMaterialRequirement Participating Actors: Initiated by Production Department, Communicates with Store Department Flow of Events: 1. The Production Department activates the MaterialRequirement use case at his computer. 2. MaterialRequirement use case responds by presenting a form to the Production Department. 3. The Production Department fills the form, and submits it. 4. MaterialRequirement system receives the form and stores in the database by invoking the OpenMaterialRequirement use case and notifies the Store Department. 5. Entry MaterialRequirement system displays the acknowledgement to the Production Department. Conditions: The Production Department is logged into the ReportMaterialRequirement system

Exit Conditions: The Production Department has received an acknowledgement (or) He has received an explanation why the transaction could not be processed. Use Case 2: Use Case Name: ReportPurchaseRequirement Participating Actors: Initiated by Store Department, Communicates with Purchase Department Flow of Events: 1. The Store Department activates the PurchaseRequirement use case at his computer. 2. PurchaseRequirement use case responds by presenting a form to the Store Department. 3. The Store Department fills the form, and submits it. 4. PurchaseRequirement use case receives the form and stores in the database by invoking the OpenPurchaseRequirement use case. 5. PurchaseRequirement system displays the acknowledgement to the Store Department. Entry Conditions: The Store Department is logged into the PurchaseRequirement system Exit Conditions: The Store Department has received an acknowledgement (or) He has received an explanation why the transaction could not be processed. Use Case 3: Use Case Name: ReportTenderRequirement Participating Actors: Initiated by Purchase Department, Communicates with Supplier Flow of Events: 1. The Purchase Department activates the TenderRequirement use case at his computer. 2. TenderRequirement use case displays all the supplier details. 3. The Purchase Department selects the suppliers and sends the requirement to all of them. 4. TenderRequirement system displays the acknowledgement to the Purchase Department that requirements have been sent to the Suppliers.

Entry Conditions: The Purchase Department is logged into the TenderRequirement system Exit Conditions: The Purchase Department has received an acknowledgement (or) He has received an explanation why the transaction could not be processed. Use Case 4: Use Case Name: ReportTender Participating Actors: Initiated by Supplier, Communicates with Purchase Department Flow of Events: 1. The Supplier activates the Tender use case at his computer. 2. Tender use case displays all the material requirements details. 3. The Supplier selects a requirements. 4. Tender use case displays a form to the Supplier. 5. The Supplier fills the form and submits it. 6. Tender use case receives the form and stores in the database by invoking the OpenTender use case. 7. Tender system displays the acknowledgement to the Supplier. Entry Conditions: The Supplier is logged into the Tender system Exit Conditions: The Supplier has received an acknowledgement (or) He has received an explanation why the transaction could not be processed. Use Case 5: Use Case Name: ReportApprovalTender Participating Actors: Initiated by Purchase Department, Communicates with Supplier Flow of Events: 8. The Purchase Department activates the ApprovalTender use case at his computer. 9. ApprovalTender use case displays all the tender details. 10. The Purchase Department selects a tender.. 11. ApprovalTender use case displays a form to the Purchase Department. 12. The Purchase Department fills the form and submits it. 13. ApprovalTender use case receives the form and stores in the database by invoking the OpenApprovalTender use case.

14.

ApprovalTender system displays the acknowledgement to the Purchase Department.

Entry Conditions: The Purchase Departmentis logged into the ApprovalTender system Exit Conditions: The Purchase Department has received an acknowledgement (or) He has received an explanation why the transaction could not be processed. Non Functional Requirements: Non-Functional Requirements describe the aspect of the system that are not directly related to its functional behavior. The different Non-functional requirements for our project are Performance Requirements: Since the software is online, therefore much of the performance of the system depends on the traffic that is present online and the speed of the Internet. We are trying to give an improved performance by setting cookies to the functions so that when the user submits something for the second time, the processing is done much quicker. Security Requirements: In order to provide security to the data all the different loginIDs are completed encrypted and then transferred online. A strong encryption technique is used to encrypt all the sensitive data. Quality Software Requirements: The software is developed with a very high quality, as the users can find their required data very quickly and efficiently. We will also provide a user documentation with which the user can use the software very easily. External Interface Requirements: User Interface Requirement: The system has a wide range of very good interface screens, whose colors are very soothing to the user, as per his specifications. And also high quality resolution images and pictures are used all over so the feel and look of the website will be excellent. Hardware Interface Requirement: Pentium IV Processor 256 MB RAM 100 MB Server Hard Disk Space Ethernet Card with an Internet and Internet zone Software Interface Requirement: Window XP or Linux operating System

PHP 5.0 MY SQL Communication Interface: Cute FTP (File Transfer Protocol) Internet Explorer 7.0 or Opera

ANALYSIS

Introduction to UML
Unified Modeling Language is the one of the most exciting tools in the world of system development today. Because UML enables system builders to create blue prints that capture their visions in a standard, easy to understand way and communicate them to others. The UML is brainchild of Grady Brooch, James Rumbaugh and Ivar Jacobson.

Components of UML:
The UML consists of a number of graphical elements that combine to form diagrams. Because its a language, the UML has rules for combining these elements. The purpose of the diagrams to present multiple views of the system, and this set of multiple views is called a Model. A UML Model of a system is something like a scale model of a building. UML model describes what a system is supposed to do. It doesnt tell how to implement the system.

Identifying Functional Model by using Use Case Diagrams


Functional Model: In order to represent the functions that are involved with the project, we develop the functional model, which is derived from the above Software Requirement Specification. The Functional Model is a complete representation of all the functions involved in the project. The Functional Model will be represented by Use Case Diagrams Use Case Diagram: A Use-Case is a description of a systems behavior from a users stand point. For system developer this is a valuable tool: its a tried-and-true technique for gathering system requirements from a users point of view. A little stick figure is used to identify an actor the ellipse represents use-case functions.

Use Case Diagram: Material Requirement System


System Re quire dM a t e ria l

<<initiate>>

St ore Dept Product ionDe pt <<participate>> <<participate>> OpenRe quireM a t e ria l

Use Case Diagram: Purchase Material Requirement System


System Purcha s e M a t e ria l

<<initiate>>

St o re De pt

Purcha s e De pa rt m e nt <<participate>> Ope nPur cha se M a t e ria l <<initiate>>

Use Case Diagram: Pricing Required System


System PricingRe quire d

<<initiate>>

Supplie r Purcha se De pa rt m e nt <<participate>> <<participate>> Ope nPricingRe quire d

Use Case Diagram: Tender System


System Te nder

<<initiate>>

Supplier

purcha s eDept <<participate>> Ope nTende r <<participate>>

Use Case Diagram: Quality Check System

System Ins p e ct ionTe nd e r

<<initiate>>

purcha se De pt <<participate>> Ope nInsm a t e ria l

Ins pe ct ionDe pt <<participate>>

Use Case Diagram: Quality Approved System

System Qua lit y

<<initiate>>

Inspe ct ion De pt

purcha s eDept <<participate>> Ope nQua lit y <<participate>>

Identifying Object Model by using Class Diagrams


Object Model: In order to represent the objects that are involved with the project, we develop the Object model, which is derived from the above Software Requirement Specification. The Object Model is a complete representation of all the classes, attributes and the operations that are involved with that particular class involved in the project. The Object Model will be represented by Class Diagrams

Class Diagrams:
Class diagrams describe the structure of the system in terms of classes and objects. Classes are abstractions that specify the attributes and behavior of a set of objects. Objects are entities that encapsulate state and behavior. Each object has an identity: It can be referred individually and is distinguishable from other objects. In UML, boxes including three compartments depict classes and objects. The top

compartment displays its attributes, and the bottom compartment displays its operations. The attribute and operation compartment can be omitted for clarity. Object names are underlined to indicate that they are instances.

Class Diagram for Administrator


ADMIN Username : String Password : String

Department
Dname : String password: String emailid : String mobileno: String Location : Date

Supplier
Sname : String password: String address: String emailid : String mobileno: String City : String State: String

ADD( ), MODIFY ( ) DELETE ( ), VIEW ( )

ADD(), VIEW ( ), DELETE()

Store Dept Username : String Password : String

Requirement
reqid: Integer mname : String mdesc: String Qty: Integer

Purchase
reqid: Integer mname : String mdesc: String Qty: Integer SEND ( )

ADD()

Class Diagram for Store Department

Supplier Username : String Password : String

Requirement
reqid: Integer mname : String mdesc: String Qty: Integer

Tender
Dname: String mname : String mdesc: String Qty: Integer Price: Integer

VIEW()

SEND()

Class Diagram for Supplier

Identifying Dynamic Model by using Sequence & State Chart Diagrams


Dynamic Model: In order to represent the flow of the internal operations that take place between the object we develop the Dynamic model. This Model is derived from the Functional and Object model specified earlier. The Dynamic Model is a complete representation of all the internal operations and the flow of data that is involved in the project. The Dynamic Model will be represented by Sequence & State Chart Diagrams Sequence Diagram: The sequence of operations that take place when the Production department sends its requirement to the Store Department, which in turn sends these requirements to the different Suppliers.
Production Dept Requirement StoreDept Purchase

fillcontent()

send()

notavailable() available()

Sequence Diagram: The sequence of operations that take place between the Supplier, Purchase Dept, Admin and the Inspection Department.

Supplier

Tender

PurchaseDept

Inspection

filltender()

send()

send()

sendmaterial

inspected()

DESIGN

Design
Design is the transformation of an analysis model into a system design model. During Design, the system is decomposed into smaller sub systems so that they can be managed by individuals. The main impetus of Design must be given in the following areas. Identifying Subsystems Mapping Subsystems to Processor and Components Identifying and Storing Persistent Data

Identifying Subsystems
The following Procurement Subsystems are identified from the functional requirements and from the analysis model. To represent the Procurement subsystems we will use the Three-tier architectural style where the first part will represent the Interface, second part Application Logic and the third part consists of Storage. Interface Subsystems: In the Interface part we have the ProcurementClient subsystem. ProcurementClient: ProcurementClient subsystem is responsible to provide the interface to the Admin, Purchase, Store, Production, Inspection department as well as the supplier. Application Logic: In the Application logic we have the ProcurementServer subsystem which is responsible for access control and concurrency control to the number of nested subsystems which are connected to it. Different subsystems are given such as PurchaseMgt, AdminMgt, StoreMgt, ProductionMgt, InspectionMgt, SupplierMgt. AdminManagement Subsystem: This subsystem is responsible to add Department, and also to add Suppliers details. ProductionManagement Subsystem: This subsystem is responsible to send the requirements of the material to the Store department. StoreManagement Subsystem: This subsystem is responsible to display the requirements to the Store manager and send the requirements to the Supplier. It also receives approvals from the Purchase Department to buy the material from the Supplier.

PurchaseManagement Subsystem: This subsystem is responsible to display the tenders to the Purchase manager and send the tender approval back to the store Supplier. It is also responsible to send the details of the material to the Inspection Department to inspect the material at the Suppliers place.

InspectionManagement Subsystem: This subsystem is responsible to display the tenders to the Purchase manager and send the tender approval back to the store Supplier. It is also responsible to send the details of the material to the Inspection Department to inspect the material at the Suppliers place.

Mapping Subsystem to Processors and Components


Procurement is a distributed system, as users sit in front of different machines. Therefore we implement two types of nodes. The Usermachine to provide user interface and the Servermachine to run the application logic and storage. From the above subsystems, the ProcurementClient run on the Usermachine and the other Subsystems ProcurementServer and ProcurementStorage run on Servermachine. The ProcurementClient is run by the Web Browser and the other subsystems are accessed through the web server. To implement the ProcurementServer we select PHP as the main technology.

Interface
ProcurementClient

Application Logic
ProcurementServer

PurchaseMgt

ProductionMgt

AdminMgt

SupplierMgt

InspectionMgt

StoreMgt

Storage

ProcurementStorage

Procurement System Deployment Diagram

DATABASE DESIGN

INTRODUCTION:
Persistent data and objects that have been derived during the Design is used to develop the database. Storing data in a database enables the system to perform complex queries on a large data set. Where and how the data is stored in the system impacts the system decomposition. The selection of a specific data base management system can also have the implications on the overall control strategy and concurrency management.

Entity Relationship Model: An Entity relationship model is a diagrammatic representation of entities, attributes and the relationship among those entities and attributes. Entity Type: Any thing in the real world that has the same characteristics or attributes can be termed as an Entity. For example student can be called as an entity as they have the same attributes such as roll number, name, address etc. Attributes: The characteristics of an entity are called as attributes. Each entity will have its own values for each attribute. For example the attributes for a student entity are roll number, name, address etc. A Student entity such as Ravi will have its own values such as 1, Ravi, Visakhapatnam etc. Entity Set: The collection of entities of a particular entity type are grouped into an Entity Set. For example if employee is the entity type then the collection of all the employees is referred as the entity set. Notations for ER-Diagram: In the ER diagrams the cardinality ration between the entity types can be represented by attaching 1, M, or N on each participating edge. For example the cardinality ratio of Department:Employee for manages is 1:1. The different symbols used to represent the E-R diagram are Rectangles: This symbol represents the each entity type. Double Rectangle: This represent a Weak Entity. Diamonds: These represent the relationship among the entities. Double Diamonds: These represent the identifying relationship between the entities. Ellipses: These represent the attributes of an entity. Underlined Ellipse: These represent the key attributes of an entity. Double Ellipse: These represent Multi valued attributes. Dotted Ellipse: This represent Derived attribute.

Lines: Lines represent the connection between the attributes to their entities, and also entities to entities.

By using the above ER Diagram we can derive the following relations Login (Username, Password) Department (Dname, password, location, emailed, contactno) Supplier (Sname, password, Address, Emailid, contactno, city, state) Requirement (reqid, mname, mdesc, qty) Tender (Tid, Reqid, Sname, price) ApprovedTender (Tid) Inspection (Tid, status)

Normalization
The process of analyzing the data to be represented and breaking it down into separate tables in accordance with the principles of relational structure.

Need for Normalization


Normalization reduces redundancy. Redundancy is the unnecessary repetition of data. It can cause problems with storage and retrieval of data redundancy can lead to inconsistence. Errors are more likely to occur when facts are repeated. Update anomalies inserting, deleting, modifying data may cause inconsistence. There is high likelihood of updating or deleting data in one relation, while omitting to make corresponding changes in other relations. During the process of normalization, we can identify dependence, which can cause problems when deleting or updating. Normalization also helps to simplify the structure of tables to fully normalize record, which should consist of a primary key that identifies that entity is a set of attributes that describes the entity.

Normal Forms
Normalization results in the formation of tables that satisfy certain specified constraints and represent certain normal forms. Normal forms are table structures with minimum redundancy.

First Normal Form


A relation R is in first normal form if and only if all underlying domains contain atomic values only.

Second Normal Form


A relation R is in the second normal form if and only if its is in 1st NF and every non key attributes is fully dependent on the primary key.

Third Normal Form


A relation R is in Third Normal form if and only if it is in SNF and every non-key attributes is not transitively dependent on the primary key.

Fourth Normal Form


A relation R is in fourth normal form if and only if whenever there exist a multi-valued dependency is R, say A>>B, then attributes on other attribute is a determinant.

Boyce-codd Normal Form


A relation is in Boyce-codd normal form (BCNF) if and only if every determinant is a candidate key. An attribute is fully dependent on other attribute is a determinant.

Fifth Normal Form


A relation is in fifth normal form also called project-join normal form(PJNF) if and only if the candidate keys of R imply every join dependency in R.

DATA DICTIONARY
After applying 1st , 2nd, and 3rd Normal form on the above relations we are able to derive the following tables. LOGIN USERNAME PASSWORD DEPARTMENT DNAME PASSWORD LOCATION EMAILID CONTACTNO REQUIREMENT REQID MNAME MDESC QTY TENDER TID REQID SNAME PRICE APPROVEDTENDER TID INSPECTION TID STATUS VARCHAR(30) VARCHAR(30) PRIMARY KEY VARCHAR(30) NOT NULL PRIMARY KEY NOT NULL NOT NULL VARCHAR(30) VARCHAR(30) VARCHAR(30) VARCHAR(50) PRIMARY KEY NOT NULL NOT NULL NOT NULL VARCHAR(30) VARCHAR(30) VARCHAR(50) VARCHAR(100) PRIMARY KEY NOT NULL NOT NULL NOT NULL NOT NULL VARCHAR(30) VARCHAR(100) VARCHAR(30) VARCHAR(20) VARCHAR(30) PRIMARY KEY NOT NULL VARCHAR(30) VARCHAR(30)

METHODLOGY ADOPTED

Technologies Used HTML


HTML, an initialism of Hypertext Markup Language, is the predominant markup language for web pages. It provides a means to describe the structure of text-based information in a document by denoting certain text as headings, paragraphs, lists, and so on and to supplement that text with interactive forms, embedded images, and other objects. HTML is written in the form of labels (known as tags), surrounded by angle brackets. HTML can also describe, to some degree, the appearance and semantics of a document, and can include embedded scripting language code which can affect the behavior of web browsers and other HTML processors. HTML is also often used to refer to content of the MIME type text/html or even more broadly as a generic term for HTML whether in its XML-descended form (such as XHTML 1.0 and later) or its form descended directly from SGML Hyper Text Markup Language

Hypertext Markup Language (HTML), the languages of the World Wide Web (WWW), allows users to produces Web pages that include text, graphics and pointer to other Web pages (Hyperlinks). HTML is not a programming language but it is an application of ISO Standard 8879, SGML (Standard Generalized Markup Language), but specialized to hypertext and adapted to the Web. The idea behind Hypertext is that instead of reading text in rigid linear structure, we can easily jump from one point to another point. We can navigate through the information based on our interest and preference. A markup language is simply a series of elements, each delimited with special characters that define how text or other items enclosed within the elements should be displayed. Hyperlinks are underlined or emphasized works that load to other documents or some portions of the same document. HTML can be used to display any type of document on the host computer, which can be geographically at a different location. It is a versatile language and can be used on any platform or desktop.

HTML provides tags (special codes) to make the document look attractive. HTML tags are not case-sensitive. Using graphics, fonts, different sizes, color, etc., can enhance the presentation of the document. Anything that is not a tag is part of the document itself. Basic HTML Tags:
<! ---> specifies comments Creates hypertext links Formats text as bold Formats text in large font. Contains all tags and text in the HTML document <CENTER>...</CENTER> <DD></DD> <DL>...</DL> <FONT></FONT> <FORM>...</FORM> <FRAME>...</FRAME> <H#></H#> <HEAD>...</HEAD> <HR>...</HR> <HTML></HTML> <META>...</META> <SCRIPT></SCRIPT> <TABLE></TABLE> <TD></TD> <TR></TR> <TH></TH> Attributes The attributes of an element are name-value pairs, separated by "=", and written within the start label of an element, after the element's name. The value should be enclosed in single or double quotes, although values Creates text Definition of a term Creates definition list Formats text with a particular font Encloses a fill-out form Defines a particular frame in a set of frames Creates headings of different levels( 1 6 ) Contains tags that specify information about a document Creates a horizontal rule Contains all other HTML tags Provides meta-information about a document Contains client-side or server-side script Creates a table Indicates table data in a table Designates a table row Creates a heading in a table <A>.</A> <B>.</B> <BIG>.</BIG> <BODY></BODY>

consisting of certain characters can be left unquoted in HTML (but not XHTML).Leaving attribute values unquoted is considered unsafe. Most elements take any of several common attributes: id, class, style and title. Most also take language-related attributes: lang and dir. The id attribute provides a document-wide unique identifier for an element. This can be used by stylesheets to provide presentational properties, by browsers to focus attention on the specific element or by scripts to alter the contents or presentation of an element. The class attribute provides a way of classifying similar elements for presentation purposes. For example, an HTML document (or a set of documents) may use the designation class="notation" to indicate that all elements with this class value are all subordinate to the main text of the document (or documents). Such notation classes of elements might be gathered together and presented as footnotes on a page, rather than appearing in the place where they appear in the source HTML. An author may use the style non-attributal codes presentational properties to a particular element. It is considered better practice to use an elements sonid page and select the element with a stylesheet, though sometimes this can be too cumbersome for a simple ad hoc application of styled properties. The title is used to attach subtextual explanation to an element. In most browsers this title attribute is displayed as what is often referred to as a tooltip. The generic inline span element can be used to demonstrate these various non-attributes. The preceding displays as HTML (pointing the cursor at the abbreviation should display the title text in most browsers).

Advantages
A HTML document is small and hence easy to send over the net. It is small because it does not include formatted information. HTML is platform independent. HTML tags are not case-sensitive.

JavaScript
JavaScript is a script-based programming language that was developed by Netscape Communication Corporation. JavaScript was originally called Live Script and renamed as JavaScript to indicate its relationship with Java. JavaScript supports the development of both client and server components of Web-based applications. On the client side, it can be used to write programs that are executed by a Web browser within the context of a Web page. On the server side, it can be used to write Web server programs that can process information submitted by a Web browser and then update the browsers display accordingly Even though JavaScript supports both client and server Web programming, we prefer JavaScript at Client side programming since most of the browsers supports it. JavaScript is almost as easy to learn as HTML, and JavaScript statements can be included in HTML documents by enclosing the statements between a pair of scripting tags <SCRIPTS>.. </SCRIPT>. <SCRIPT LANGUAGE = JavaScript> JavaScript statements </SCRIPT> Here are a few things we can do with JavaScript: Validate the contents of a form and make calculations. Add scrolling or changing messages to the Browsers status line. Animate images or rotate images that change when we move the mouse over them. Detect the browser in use and display different content for different browsers. Detect installed plug-ins and notify the user if a plug-in is required.

We can do much more with JavaScript, including creating entire application.

JavaScript Vs Java

JavaScript and Java are entirely different languages. A few of the most glaring differences are:
Java applets are generally displayed in a box within the web document; JavaScript can affect any part of the Web document itself. While JavaScript is best suited to simple applications and adding interactive features to Web pages; Java can be used for incredibly complex applications. There are many other differences but the important thing to remember is that JavaScript and Java are separate languages. They are both useful for different things; in fact they can be used together to combine their advantages. Advantages JavaScript can be used for Sever-side and Client-side scripting. It is more flexible than VBScript. JavaScript is the default scripting languages at Client-side since all the browsers supports it.

Java Technology
Initially the language was called as oak but it was renamed as Java in 1995. The primary motivation of this language was the need for a platformindependent (i.e., architecture neutral) language that could be used to create software to be embedded in various consumer electronic devices. Java is a programmers language. Java is cohesive and consistent. Except for those constraints imposed by the Internet environment, Java gives the programmer, full control. Finally, Java is to Internet programming where C was to system programming.

Importance of Java to the Interne t

Java has had a profound effect on the Internet. This is because; Java expands the Universe of objects that can move about freely in Cyberspace. In a network, two categories of objects are transmitted between the Server and the Personal computer. They are: Passive information and Dynamic active programs. The Dynamic, Self-executing programs cause serious problems in the areas of Security and probability. But, Java addresses those concerns and by doing so, has opened the door to an exciting new form of program called the Applet.

Java can be use d to create two types of programs

Applications and Applets: An application is a program that runs on our Computer under the operating system of that computer. It is more or less like one creating using C or C++. Javas ability to create Applets makes it important. An Applet is an application designed to be transmitted over the Internet and executed by a Java compatible web browser. An applet is actually a tiny Java program, dynamically downloaded across the network, just like an image. But the difference is, it is an intelligent program, not just a media file. It can react to the user input and dynamically change.

Features of Java Security Every time you that you download a normal program, you are risking a viral infection. Prior to Java, most users did not download executable programs frequently, and those who did scan them for viruses prior to execution. Most users still worried about the possibility of infecting their systems with a virus. In addition, another type of malicious program exists that must be guarded against. This type of program can gather private information, such as credit card numbers, bank account balances, and passwords. Java answers both these concerns by providing a firewall between a network application and your computer. When you use a Java-compatible Web browser, you can safely download Java applets without fear of virus infection or malicious intent.

Portability
For programs to be dynamically downloaded to all the various types of platforms connected to the Internet, some means of generating portable executable code is needed .As you will see, the same mechanism that helps ensure security also helps create portability. Indeed, Javas solution to these two problems is both elegant and efficient.

The Byte code


The key that allows the Java to solve the security and portability problems is that the output of Java compiler is Byte code. Byte code is a highly optimized set of instructions designed to be executed by the Java run-time system, which is called the Java Virtual Machine (JVM). That is, in its standard form, the JVM is an interpreter for byte code. Translating a Java program into byte code helps makes it much easier to run a program in a wide variety of environments. The reason is, once the runtime package exists for a given system, any Java program can run on it.

Although Java was designed for interpretation, there is technically nothing about Java that prevents on-the-fly compilation of byte code into native code. Sun has just completed its Just In Time (JIT) compiler for byte code. When the JIT compiler is a part of JVM, it compiles byte code into executable code in real time, on a piece-by-piece, demand basis. It is not possible to compile an entire Java program into executable code all at once, because Java performs various run-time checks that can be done only at run time. The JIT compiles code, as it is needed, during execution.

Java Virtual Machine (JVM)


Beyond the language, there is the Java virtual machine. The Java virtual machine is an important element of the Java technology. The virtual machine can be embedded within a web browser or an operating system. Once a piece of Java code is loaded onto a machine, it is verified. As part of the loading process, a class loader is invoked and does byte code verification makes sure that the code thats has been generated by the compiler will not corrupt the machine that its loaded on. Byte code verification takes place at the end of the compilation process to make sure that is all accurate and correct. So byte code verification is integral to the compiling and executing of Java code.

Overall Description

Java Source

Java byte code

JavaVM

Picture showing the development process of JAVA Program

.Class Java Java programming uses to produce byte codes and executes them. The first box indicates
that the Java source code is located in a. Java file that is processed with a Java compiler called javac. The Java compiler produces a file called a. class file, which contains the byte code. The .Class file is then loaded across the network or loaded locally on your machine

into the execution environment is the Java virtual machine, which interprets and executes the byte code.
Java Architecture

Java architecture provides a portable, robust, high performing environment for development. Java provides portability by compiling the byte codes for the Java Virtual Machine, which is then interpreted on each platform by the run-time environment. Java is a dynamic system, able to load code when needed from a machine in the same room or across the planet.
Compilation of code

When you compile the code, the Java compiler creates machine code (called byte code) for a hypothetical machine called Java Virtual Machine (JVM). The JVM is supposed to execute the byte code. The JVM is created for overcoming the issue of portability. The code is written and compiled for one machine and interpreted on all machines. This machine is called Java Virtual Machine.

Compiling and interpreting Java Source Code

During run-time the Java interpreter tricks the byte code file into thinking that it is running on a Java Virtual Machine. In reality this could be a Intel Pentium Windows 95 or

SunSARC station running Solaris or Apple Macintosh running system and all could receive code from any computer through Internet and run the Applets.
Simple

Java was designed to be easy for the Professional programmer to learn and to use effectively. If you are an experienced C++ programmer, learning Java will be even easier. Because Java inherits the C/C++ syntax and many of the object oriented features of C++. Most of the confusing concepts from C++ are either left out of Java or implemented in a cleaner, more approachable manner. In Java there are a small number of clearly defined ways to accomplish a given task.

Object-Oriented
Java was not designed to be source-code compatible with any other language. This allowed the Java team the freedom to design with a blank slate. One outcome of this was a clean usable, pragmatic approach to objects. The object model in Java is simple and easy to extend, while simple types, such as integers, are kept as high-performance non-objects.

Robust
The multi-platform environment of the Web places extraordinary demands on a program, because the program must execute reliably in a variety of systems. The ability to create robust programs was given a high priority in the design of Java. Java is strictly typed language; it checks your code at compile time and run time. Java virtually eliminates the problems of memory management and de-allocation, which is completely automatic. In a well-written Java program, all run time errors can and should be managed by your program.

Java Database Connectivity What Is JDBC? JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a trademarked name and is not an acronym; nevertheless, JDBC is often thought of as standing for Java Database Connectivity. It consists of a set of classes and interfaces written in the Java programming language. JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API. Using JDBC, it is easy to send SQL statements to virtually any relational database. One can write a single program using the JDBC API, and the program will be able to send SQL statements to the appropriate database. The combinations of Java and JDBC lets a programmer write it once and run it anywhere. What Does JDBC Do? Simply put, JDBC makes it possible to do three things: Establish a connection with a database Send SQL statements Process the results.

JDBC versus ODBC and other APIs At this point, Microsoft's ODBC (Open Database Connectivity) API is that probably the most widely used programming interface for accessing relational databases. It offers the ability to connect to almost all databases on almost all platforms. So why not just use ODBC from Java? The answer is that you can use ODBC from Java, but this is best done with the help of JDBC in the form of the JDBC-ODBC Bridge, which we will cover shortly. The question now becomes "Why do you need JDBC?" There are several answers to this question:

1. ODBC is not appropriate for direct use from Java because it uses a C interface. Calls from Java to native C code have a number of drawbacks in the security, implementation, robustness, and automatic portability of applications. 2. A literal translation of the ODBC C API into a Java API would not be desirable. For example, Java has no pointers, and ODBC makes copious use of them, including the notoriously error-prone generic pointer "void *". You can think of JDBC as ODBC translated into an object-oriented interface that is natural for Java programmers. 3. ODBC is hard to learn. It mixes simple and advanced features together, and it has complex options even for simple queries. JDBC, on the other hand, was designed to keep simple things simple while allowing more advanced capabilities where required. 4. A Java API like JDBC is needed in order to enable a "pure Java" solution. When ODBC is used, the ODBC driver manager and drivers must be manually installed on every client machine. When the JDBC driver is written completely in Java, however, JDBC code is automatically installable, portable, and secure on all Java platforms from network computers to mainframes. Two-tier and Three-tier Models The JDBC API supports both two-tier and three-tier models for database access.

In the two-tier model, a Java applet or application talks directly to the database. This requires a JDBC driver that can communicate with the particular database management system being accessed. A user's SQL statements are delivered to the database, and the results of those statements are sent back to the user. The database may be located on another machine to which the user is connected via a network. This is referred to as a client/server configuration, with the user's machine as the client, and the machine housing the database as the server. The network can be an Intranet, which, for example, connects employees within a corporation, or it can be the Internet.

JAVA Application

Client machine

JDBC

DBMS-proprietary protocol

DBMS

Database server

Java applet or Html browser

Client machine (GUI) HTTP, RMI, or CORBA calls

Application Server (Java) JDBC

Server machine (business DBMS-proprietary Logic) protocol Database server

DBMS

In the three-tier model, commands are sent to a "middle tier" of services, which then send SQL statements to the database. The database processes the SQL statements and sends the results back to the middle tier, which then sends them to the user. MIS directors find the three-tier model very attractive because the middle tier makes it possible to maintain control over access and the kinds of updates that can be made to corporate data. Another

advantage is that when there is a middle tier, the user can employ an easyto-use higher-level API which is translated by the middle tier into the appropriate low-level calls. Finally, in many cases the three-tier architecture can provide performance advantages. Until now the middle tier has typically been written in languages such as C or C++, which offer fast performance. However, with the introduction of optimizing compilers that translate Java byte code into efficient machinespecific code, it is becoming practical to implement the middle tier in Java. This is a big plus, making it possible to take advantage of Java's robustness, multithreading, and security features. JDBC is important to allow database access from a Java middle tier.

JDBC Driver Types


The JDBC drivers that we are aware of at this time fit into one of four categories: JDBC-ODBC bridge plus ODBC driver Native-API partly-Java driver JDBC-Net pure Java driver Native-protocol pure Java driver

JDBC-ODBC Bridge
If possible, use a Pure Java JDBC driver instead of the Bridge and an ODBC driver. This completely eliminates the client configuration required by ODBC. It also eliminates the potential that the Java VM could be corrupted by an error in the native code brought in by the Bridge (that is, the Bridge native library, the ODBC driver manager library, the ODBC driver library, and the database client library).

What Is the JDBC- ODBC Bridge?


The JDBC-ODBC Bridge is a JDBC driver, which implements JDBC operations by translating them into ODBC operations. To ODBC it appears as a normal application program. The Bridge implements JDBC for any database for which an ODBC driver is available. The Bridge is implemented as the Sun.jdbc.odbc Java package and contains a native library used to access ODBC. The Bridge is a joint development of Innersole and Java Soft.

JDBC connectivity
The JDBC provides database-independent connectivity between the J2EE platform and a wide range of tabular data sources. JDBC technology allows an Application Component Provider to: Perform connection and authentication to a database server Manager transactions Move SQL statements to a database engine for preprocessing and execution Execute stored procedures Inspect and modify the results from Select statements

Database:
A database management system (DBMS) is computer software designed for the purpose of managing databases, a large set of structured data, and run operations on the data requested by numerous users. Typical examples of DBMSs include Oracle, DB2, Microsoft Access, Microsoft SQL Server, Firebird, PostgreSQL, MySQL, SQLite, FileMaker and Sybase Adaptive Server Enterprise. DBMSs are typically used by Database administrators in the creation of Database systems. Typical examples of DBMS use include accounting, human resources and customer support systems. Originally found only in large companies with the computer hardware needed to support large data sets, DBMSs have more recently emerged as a fairly standard part of any company back office.

Description
A DBMS is a complex set of software programs that controls the organization, storage, management, and retrieval of data in a database. A DBMS includes: A modeling language to define the schema of each database hosted in the DBMS, according to the DBMS data model. The four most common types of organizations are the hierarchical, network, relational and object models. Inverted lists and other methods are also used. A given database management system may provide one or more of the four models. The optimal structure depends on the natural organization of the application's data, and on the application's requirements (which include transaction rate (speed), reliability, maintainability, scalability, and cost). The dominant model in use today is the ad hoc one embedded in SQL, despite the objections of purists who believe this model is a corruption of the relational model, since it violates several of its fundamental principles for the sake of practicality and performance.

Many DBMSs also support the Open Database Connectivity API that supports a standard way for programmers to access the DBMS. Data structures (fields, records, files and objects) optimized to deal with very large amounts of data stored on a permanent data storage device (which implies relatively slow access compared to volatile main memory).

A database query language and report writer to allow users to interactively interrogate the database, analyze its data and update it according to the users privileges on data. It also controls the security of the database. Data security prevents unauthorized users from viewing or

updating the database. Using passwords, users are allowed access to the entire database or subsets of it called subschemas. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data. If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multiuser organization. These controls are only available when a set of application programs are customized for each data entry and updating function.

A transaction mechanism, that ideally would guarantee the ACID properties, in order to ensure data integrity, despite concurrent user accesses (concurrency control), and faults (fault tolerance). It also maintains the integrity of the data in the database. The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can help prevent duplicate records via unique index constraints; for example, no two customers with the same customer numbers (key fields) can be entered into the database. See ACID properties for more information (Redundancy avoidance).

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data. When a DBMS is used, information systems can be changed much more easily as the organization's information requirements change. New categories of data can be added to the database without disruption to the existing system. Organizations may use one kind of DBMS for daily transaction processing and then move the detail onto another computer that uses another DBMS better suited for random inquiries and analysis. Overall systems design decisions are performed by data administrators and systems analysts. Detailed database design is performed by database administrators. Database servers are specially designed computers that hold the actual databases and run only the DBMS and related software. Database servers are usually multiprocessor computers, with RAID disk arrays used for stable storage. Connected to one or more servers via a high-speed channel, hardware database accelerators are also used in large volume transaction processing environments.

DBMSs are found at the heart of most database applications. Sometimes DBMSs are built around a private multitasking kernel with built-in networking support although nowadays these functions are left to the operating system.

SAMPLE CODING

Code to Add Department Details <%@page import="java.sql.*,bean.ConnectionBean" %> <% Connection con=null; ConnectionBean CBean=new ConnectionBean(); String dname=request.getParameter("dname"); String dpassword=request.getParameter("dpassword"); String dlocation=request.getParameter("dlocation"); String demailid=request.getParameter("demailid"); String dcontactno=request.getParameter("dcontactno"); con=CBean.getConnection(); String sql="insert into department(dname,dpassword,dlocation,demailid,dcontactno) values ('"+dname+"','"+dpassword+"','"+dlocation+"','"+demailid+"','"+dcontactno+"')"; int i=CBean.executeUpdate(sql); if(i==1) { %> Code to Modify the Suppliers details <%@page import="java.sql.*,bean.ConnectionBean" %> <% Connection con=null; ConnectionBean CBean=new ConnectionBean(); String suppid=request.getParameter("suppid"); String spassword=request.getParameter("spassword"); String sname=request.getParameter("sname"); String saddress=request.getParameter("saddress"); String semailid=request.getParameter("semailid"); String scontactno=request.getParameter("scontactno");

con=CBean.getConnection();

String sql="update supplier set spassword='"+spassword+"',saddress='"+saddress+"' ,semailid='"+semailid+"',scontactno='"+scontactno+"' where suppid='"+suppid+"'"; int i=CBean.executeUpdate(sql); if(i==1) { %> Code to View Tenders: <%@page import="java.sql.*,bean.ConnectionBean" %> <% String username=(String) session.getAttribute("username"); Connection con=null; ResultSet rs1=null; ConnectionBean CBean=new ConnectionBean(); con=CBean.getConnection(); %> <% rs1=CBean.executeQuery("select * from tender"); while(rs1.next()) { String reqid=rs1.getString(1); String suppid=rs1.getString(2); String price=rs1.getString(3); String comments=rs1.getString(4); String tdate=rs1.getString(5); %> <tr align="center">

<td><%=reqid%></td> <td><%=suppid%></td> <td><%=price%></td> <td><%=comments%></td> <td><%=tdate%></td> <td><a href="editdepartment.jsp?id=<%=reqid%>">Modify</a></td> <td><a href="deletedepartment.jsp?id=<%=reqid%>">Delete</a></td> </tr> <% } %> Code to viewapprovedquotations <%@page import="java.sql.*,bean.ConnectionBean" %> <% String sname=(String) session.getAttribute("sname1"); Connection con=null; ResultSet rs=null; ResultSet rs1=null; ResultSet rs2=null; ResultSet rs3=null; ConnectionBean CBean=new ConnectionBean(); con=CBean.getConnection(); %> <% rs=CBean.executeQuery("select * from approvedtender"); while(rs.next()) { String reqid=rs.getString(1); String suppid=rs.getString(2); String comments=rs.getString(3);

rs1=CBean.executeQuery("select * from supplier where suppid='"+suppid+"'"); if(rs1.next()) { String sname1=rs1.getString(3); if(sname.equals(sname1)) { rs2=CBean.executeQuery("select * from requirement where reqid='"+reqid+"'"); if(rs2.next()) { String mname=rs2.getString(2); String mdesc=rs2.getString(3); String qty=rs2.getString(4); String status=rs2.getString(4); String status1="Completed"; if(status.equals(status1)) { } else { %>

TESTING

Test Cases
A test case is a set of input data and expected results that exercises a component with the purpose of causing failures and detecting faults. A test case has five attributes: name, location, input, oracle, and log. The name of the test case allows the tester to distinguish between different test cases. A heuristic for naming test cases is to derive the name from the requirement it is testing or from the component being tested. The location attribute describes where the test case can be found. It should be either the pathname or the URL to the executable of the test program and its inputs. Input describes the set of input data or commands to be entered by the actor of the test case. The expected behavior is described by the oracle attribute. The log is set of time-stamped correlations of the observed behavior with the expected behavior for various test runs.

Test Case1 Name of the Test case: ProductionRequirementSubmissionTest Input data: MaterialName, MaterialDesc, Qty Oracle: 1. 2. 3. Enter the requirements in the form Select Send button Requirement successfully sent

Output: Requirement successfully sent

Test Report 1 Name of the Report: ProductionRequirementSubmissionReport Testing Technology: Functional Testing Tested Data: Cloths, nice, 10 Test Result: Successful with no defects

Test Case2 Name of the Test case: RequestTendersTest Input data: SupplierName, Address

Oracle: 1. 2. View the requirements sent by the Production department. Select Send option

3. Requirements sent successfully Output: 1. 2. The details of the requirements are displayed. Requirements sent successfully

Test Report 2 Name of the Report: RequestTendersReport Testing Technology: Functional Testing Tested Data: Babi, Gurudwar Test Result: Successful with no defects Test Case3 Name of the Test case: SupplierTenderSubmissionTest Input data: Sname, price Oracle: 1. 2. 3. 4. 5. 6. 7. View the requirements of the materials. Select Tender option The Tender form is displayed Enter the Tender details as per the above input data Select the Send button Tender has been sent successfully Mail is sent to the Department

Output: 1. 2. Tender has been sent Mail received by the Department

Test Report 3 Name of the Report: SupplierTenderSubmissionReport Testing Technology: Functional Testing

Tested Data: Babi, 5000 Test Result: Successful with no defects Test Case4 Name of the Test case: ApprovalTenderTest Input data: MaterialName, MaterialDesc, Qty , Suppliername, price Oracle: 1. 2. View the Tender of the Supplier. Select Approval option

3. Approval of the Tender has been sent Output: 1. 2. The details of the Tender are displayed. Approval of the Tender has been sent

Test Report 3 Name of the Report: ApprovalTenderReport Testing Technology: Functional Testing Tested Data: Petrol, Pure, 50lt, Babi, 2500 Test Result: Successful with no defects

Test Models
The following are the different models (activities) of testing 1. Inspecting components, which finds faults in an individual component through the

manual inspection of its source code. 2. Unit testing, which finds faults by isolating an individual component using test stubs and drivers and by exercising the component using a test case 3. Integration testing, which finds faults by integrating several components together 4. System testing, which focuses on the complete system, its functional and nonfunctional requirements, and its target environment.

Integration testing
Integration testing detects faults that have not been detected during unit testing, by focusing on small groups of components. Two or more components are integrated and tested, and once tests do

not reveal any new faults, additional components are added to the group. This procedure allows the testing of increasingly more complex parts of the system while keeping the location of potential faults relatively small.

System Testing
Unit and integration testing focus on finding faults in individual components and the interfaces between the components. Once components have been integrated, system testing ensures that the complete system complies with the functional and nonfunctional requirements of the system. There are several system testing activities that are performed:

Functional testing Functional testing, also called requirements testing, finds differences between the functional requirements and the system. System testing is a black box technique: Test cases are derived from the use case model. In system with complex functional requirements, it is usually not possible to test all use cases for all valid and invalid inputs.

Performance testing Performance testing finds differences between the design and the system. Because the design goals are derived from the nonfunctional requirements, the test cases can be derived from the SDD or from the RAD. The following tests are performed during performance testing.

Pilot testing During the pilot test, also called the field test, the system is installed and used by a selected set of users. Users exercise the system as if it had been permanently installed. No explicit guidelines or test scenario are given to the users.

Acceptance testing There are three ways the client evaluates a system during acceptance testing. In a benchmark test the client prepares a set of test cases that represent typical conditions under which the system should operate. Another kind of system acceptance testing is used in reengineering projects, when the new system replaces an existing system. In Competitor testing, the new system is tested against an existing system or competitor product. In Shadow testing, a form of comparison testing, the new and the legacy systems are run in parallel and their outputs are compared.

Installation testing After the system is accepted; it is installed in the target environment. A good system-testing plan allows the easy reconfiguration of the system from the development environment. The desired outcome of the installation test is that the installed system correctly addresses all requirements. Once the

customer is satisfied with the results of the installation test, system testing is complete, and the system is formally delivered and ready for operation.

INPUT & OUTPUT SCREENS

PRODUCTION DEPARTMENT

STORE DEPARTMENT

Purchase Department

SUPPLIER

Purchase Department

INSPECTION DEPARTMENT

DOCUMENTATION

Installation Manual
CREATING DATABASE The following are the steps that are used to create database on the server by using the MYSQL 1. Enter the following link on the URL and open the Control Panel www.kumartextiles.com./cpanel Enter the Username and Password of the Control Panel 2. Select the Mydatabases option in the Control Panel, the Database Panel will open Enter the database name, and Click the Create Database button Database will be created 3. Create User by entering the Username and Password and Click the create user button. User will be created 4. Add the User created to the database created by clicking the add button. 5. Select the All privileges and grant all the privileges to the user.

INSTALLING FILES ON SERVER 1. Open the c:/xampp

2. Click File htdocs insert file


3. Enter the URL as http://localhost/phpmyadmin 4. Upload the files into the local server

12.2 Operation Manual


Open the Internet Explorer and type the following URL http://kumartextiles.com To enter into the Admin type the following URL http://kumartextiles.com/adminlogin.htm

CONCLUSION & LIMITATIONS

This website provides a very easy way for all the departments to communicate each other so that the processing for the materials can be done at much faster pace then what was actually being done. The department managers have to just login to the intranet and send the requirements to the other departments. The package developed for this project can be
utilized effectively from anywhere in the world. This is to conclude that the project titled E-PROCUREMENT, has been compiled, debugged and tested at the clients place and is found to be successfully running. The project was completed in time and is running at the clients place successfully. The main purpose of this project is to make the procurement process very easy for everybody.

BIBILOGRAPHY

1. JAVA

JAVA Complete Referenece - OReily


2. DreaamWeaver

Macromedia Dreamweaver 8: Training from the Source - Khristine Annwn


3. Java Sript

JavaScript: The Definitive Guide - David Flanagan


4. MYSQL

MySQL Cookbook - Paul DuBois

S-ar putea să vă placă și