Upload
drapeeto
View
242
Download
0
Embed Size (px)
Citation preview
7/31/2019 E- Procurement Documentation
1/127
Table Content
S.NO. CONTENTS
1. OBJECTIVE AND SCOPE OF PROJECT2. BACKGROUND INFORMATION
Introduction to Company
3. 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/31/2019 E- Procurement Documentation
2/127
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. SAMPLE CODING
10 TESTING
Test Cases
Test Models
Integration Testing
Fault Based Testing
Scenario Based Testing
System Testing
Test Report
11. INPUT AND OUTPUT SCREENS
12 DOCUMENTATION
Installation Manual
User Operational Manual
13. CONCLUSION & LIMITATIONS
14. BIBILOGRAPHY
7/31/2019 E- Procurement Documentation
3/127
OBJECTIVE AND SCOPE OF PROJECT
7/31/2019 E- Procurement Documentation
4/127
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
7/31/2019 E- Procurement Documentation
5/127
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.3. The Administrator will be able to approve the tenders and send them to the
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.
7/31/2019 E- Procurement Documentation
6/127
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.
7/31/2019 E- Procurement Documentation
7/127
BACKGROUND INFORMATION
7/31/2019 E- Procurement Documentation
8/127
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 SHARMASTECHNOLOGIES. is right now taking up more than 22 projects.
7/31/2019 E- Procurement Documentation
9/127
FEASIBILITY STUDY
7/31/2019 E- Procurement Documentation
10/127
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.
7/31/2019 E- Procurement Documentation
11/127
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.
7/31/2019 E- Procurement Documentation
12/127
SOFTWARE REQUIREMENTS SPECIFICATION
7/31/2019 E- Procurement Documentation
13/127
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.
7/31/2019 E- Procurement Documentation
14/127
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.
7/31/2019 E- Procurement Documentation
15/127
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.
7/31/2019 E- Procurement Documentation
16/127
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.
7/31/2019 E- Procurement Documentation
17/127
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. MaterialRequirement system displays the acknowledgement to the Production
Department.
Entry Conditions: The Production Department is logged into the
ReportMaterialRequirement system
7/31/2019 E- Procurement Documentation
18/127
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.
7/31/2019 E- Procurement Documentation
19/127
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.
7/31/2019 E- Procurement Documentation
20/127
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
7/31/2019 E- Procurement Documentation
21/127
PHP 5.0
MY SQL
Communication Interface:
Cute FTP (File Transfer Protocol)
Internet Explorer 7.0 or Opera
7/31/2019 E- Procurement Documentation
22/127
ANALYSIS
7/31/2019 E- Procurement Documentation
23/127
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 thatcapture 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.
7/31/2019 E- Procurement Documentation
24/127
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
7/31/2019 E- Procurement Documentation
25/127
Use Case Diagram: Purchase Material Requirement System
System
Use Case Diagram: Pricing Required System
System
7/31/2019 E- Procurement Documentation
26/127
Use Case Diagram: Tender System
System
Use Case Diagram: Quality Check System
System
Use Case Diagram: Quality Approved System
7/31/2019 E- Procurement Documentation
27/127
System
7/31/2019 E- Procurement Documentation
28/127
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.
7/31/2019 E- Procurement Documentation
29/127
Class Diagram for Administrator
Class Diagram for Store Department
ADMIN
Username : StringPassword : String
Supplier
Sname : String
password: String
address: String
emailid : String
mobileno: String
City : String
State: String
ADD(), VIEW ( ),
DELETE()
Department
Dname : String
password: String
emailid : String
mobileno: String
Location : Date
ADD( ), MODIFY ( )
DELETE ( ), VIEW ( )
Store Dept
Username : StringPassword : String
Requirement
reqid: Integer
mname : Stringmdesc: String
Qty: Integer
ADD()
Purchase
reqid: Integermname : String
mdesc: String
Qty: Integer
SEND ( )
7/31/2019 E- Procurement Documentation
30/127
Class Diagram for Supplier
Supplier
Username : StringPassword : String
Tender
Dname: String
mname : String
mdesc: String
Qty: Integer
Price: Integer
SEND()
Requirement
reqid: Integer
mname : Stringmdesc: String
Qty: Integer
VIEW()
7/31/2019 E- Procurement Documentation
31/127
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()
7/31/2019 E- Procurement Documentation
32/127
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()
inspected()sendmaterial
7/31/2019 E- Procurement Documentation
33/127
DESIGN
7/31/2019 E- Procurement Documentation
34/127
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.
7/31/2019 E- Procurement Documentation
35/127
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.
7/31/2019 E- Procurement Documentation
36/127
Interface
ProcurementClient
Application Logic
ProductionMgt SupplierMgt
Storage
ProcurementStorage
ProcurementServer
PurchaseMgtAdminMgt InspectionMgt StoreMgt
Procurement System Deployment Diagram
7/31/2019 E- Procurement Documentation
37/127
DATABASE DESIGN
7/31/2019 E- Procurement Documentation
38/127
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.
7/31/2019 E- Procurement Documentation
39/127
Lines: Lines represent the connection between the attributes to their entities, and also
entities to entities.
7/31/2019 E- Procurement Documentation
40/127
7/31/2019 E- Procurement Documentation
41/127
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)
7/31/2019 E- Procurement Documentation
42/127
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.
7/31/2019 E- Procurement Documentation
43/127
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.
7/31/2019 E- Procurement Documentation
44/127
DATA DICTIONARY
After applying 1st , 2nd, and 3rd Normal form on the above relations we are able to derive
the following tables.
LOGIN
USERNAME PRIMARY KEY VARCHAR(30)
PASSWORD NOT NULL VARCHAR(30)
DEPARTMENT
DNAME PRIMARY KEY VARCHAR(30)
PASSWORD NOT NULL VARCHAR(30)
LOCATION NOT NULL VARCHAR(100)
EMAILID NOT NULL VARCHAR(30)
CONTACTNO NOT NULL VARCHAR(20)
REQUIREMENT
REQID PRIMARY KEY VARCHAR(30)
MNAME NOT NULL VARCHAR(30)
MDESC NOT NULL VARCHAR(50)
QTY NOT NULL VARCHAR(100)
TENDER
TID PRIMARY KEY VARCHAR(30)REQID NOT NULL VARCHAR(50)
SNAME NOT NULL VARCHAR(30)
PRICE NOT NULL VARCHAR(30)
APPROVEDTENDER
TID PRIMARY KEY VARCHAR(30)
INSPECTION
TID VARCHAR(30)
STATUS VARCHAR(30)
7/31/2019 E- Procurement Documentation
45/127
METHODLOGY ADOPTED
7/31/2019 E- Procurement Documentation
46/127
Technologies Used
HTMLHTML, 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.
7/31/2019 E- Procurement Documentation
47/127
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
... 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
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
7/31/2019 E- Procurement Documentation
48/127
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 son-
id 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.
7/31/2019 E- Procurement Documentation
49/127
7/31/2019 E- Procurement Documentation
50/127
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
.. .
JavaScript statements
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.
7/31/2019 E- Procurement Documentation
51/127
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.
7/31/2019 E- Procurement Documentation
52/127
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 platform-independent (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 Internet
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 used to create two types of programs
Appl icat ions 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.
7/31/2019 E- Procurement Documentation
53/127
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 run-
time package exists for a given system, any Java program can run on it.
7/31/2019 E- Procurement Documentation
54/127
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
Picture showing the development process of JAVA Program
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
Java SourceJava byte
codeJavaVM
Java .Class
7/31/2019 E- Procurement Documentation
55/127
7/31/2019 E- Procurement Documentation
56/127
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.
7/31/2019 E- Procurement Documentation
57/127
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 ODBCfrom 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:
7/31/2019 E- Procurement Documentation
58/127
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.
7/31/2019 E- Procurement Documentation
59/127
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
JAVAApplication
JDBC
DBMS
Client machine
DBMS-proprietary protocol
Database server
Java applet orHtml browser
Application
Server (Java)JDBC
DBMS
Client machine (GUI)
HTTP, RMI, or CORBA
calls
Server machine (business
Logic)DBMS-proprietary
protocol
Database server
7/31/2019 E- Procurement Documentation
60/127
advantage is that when there is a middle tier, the user can employ an easy-
to-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 machine-
specific 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.
7/31/2019 E- Procurement Documentation
61/127
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.
7/31/2019 E- Procurement Documentation
62/127
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
7/31/2019 E- Procurement Documentation
63/127
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.
7/31/2019 E- Procurement Documentation
64/127
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 storagedevice (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 multi-
user organization. These controls are only available when a set of
application programs are customized for each data entry and
updating function.
7/31/2019 E- Procurement Documentation
65/127
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.
7/31/2019 E- Procurement Documentation
66/127
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.
7/31/2019 E- Procurement Documentation
67/127
7/31/2019 E- Procurement Documentation
68/127
SAMPLE CODING
7/31/2019 E- Procurement Documentation
69/127
Code to Add Department Details
Code to Modify the Suppliers details
7/31/2019 E- Procurement Documentation
70/127
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:
7/31/2019 E- Procurement Documentation
71/127
Modify
Delete
Code to viewapprovedquotations
7/31/2019 E- Procurement Documentation
72/127
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
{
%>
7/31/2019 E- Procurement Documentation
73/127
TESTING
7/31/2019 E- Procurement Documentation
74/127
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. Enter the requirements in the form
2. Select Send button
3. 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
7/31/2019 E- Procurement Documentation
75/127
Oracle:
1. View the requirements sent by the Production department.
2. Select Send option
3. Requirements sent successfully
Output:
1. The details of the requirements are displayed.
2. Requirements sent successfully
Test Report 2
Name of the Report: RequestTendersReport
Testing Technology: Functional Testing
Tested Data: Babi, GurudwarTest Result: Successful with no defects
Test Case3
Name of the Test case: SupplierTenderSubmissionTest
Input data: Sname, price
Oracle:
1. View the requirements of the materials.
2. Select Tender option
3. The Tender form is displayed
4. Enter the Tender details as per the above input data
5. Select the Send button
6. Tender has been sent successfully
7. Mail is sent to the Department
Output:
1. Tender has been sent
2. Mail received by the Department
Test Report 3
Name of the Report: SupplierTenderSubmissionReport
Testing Technology: Functional Testing
7/31/2019 E- Procurement Documentation
76/127
Tested Data: Babi, 5000
Test Result: Successful with no defects
Test Case4
Name of the Test case: ApprovalTenderTestInput data: MaterialName, MaterialDesc, Qty , Suppliername, price
Oracle:
1. View the Tender of the Supplier.
2. Select Approval option
3. Approval of the Tender has been sent
Output:
1. The details of the Tender are displayed.
2. 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 together4. 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
7/31/2019 E- Procurement Documentation
77/127
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
7/31/2019 E- Procurement Documentation
78/127
customer is satisfied with the results of the installation test, system testing is
complete, and the system is formally delivered and ready for operation.
7/31/2019 E- Procurement Documentation
79/127
7/31/2019 E- Procurement Documentation
80/127
INPUT & OUTPUT SCREENS
http://www.smartftp.com/?affiliate=candid7/31/2019 E- Procurement Documentation
81/127
7/31/2019 E- Procurement Documentation
82/127
7/31/2019 E- Procurement Documentation
83/127
7/31/2019 E- Procurement Documentation
84/127
7/31/2019 E- Procurement Documentation
85/127
7/31/2019 E- Procurement Documentation
86/127
7/31/2019 E- Procurement Documentation
87/127
7/31/2019 E- Procurement Documentation
88/127
7/31/2019 E- Procurement Documentation
89/127
7/31/2019 E- Procurement Documentation
90/127
7/31/2019 E- Procurement Documentation
91/127
7/31/2019 E- Procurement Documentation
92/127
7/31/2019 E- Procurement Documentation
93/127
PRODUCTION DEPARTMENT
7/31/2019 E- Procurement Documentation
94/127
7/31/2019 E- Procurement Documentation
95/127
7/31/2019 E- Procurement Documentation
96/127
STORE DEPARTMENT
7/31/2019 E- Procurement Documentation
97/127
7/31/2019 E- Procurement Documentation
98/127
7/31/2019 E- Procurement Documentation
99/127
7/31/2019 E- Procurement Documentation
100/127
7/31/2019 E- Procurement Documentation
101/127
7/31/2019 E- Procurement Documentation
102/127
Purchase Department
7/31/2019 E- Procurement Documentation
103/127
7/31/2019 E- Procurement Documentation
104/127
7/31/2019 E- Procurement Documentation
105/127
7/31/2019 E- Procurement Documentation
106/127
7/31/2019 E- Procurement Documentation
107/127
SUPPLIER
7/31/2019 E- Procurement Documentation
108/127
7/31/2019 E- Procurement Documentation
109/127
7/31/2019 E- Procurement Documentation
110/127
7/31/2019 E- Procurement Documentation
111/127
7/31/2019 E- Procurement Documentation
112/127
Purchase Department
7/31/2019 E- Procurement Documentation
113/127
7/31/2019 E- Procurement Documentation
114/127
7/31/2019 E- Procurement Documentation
115/127
7/31/2019 E- Procurement Documentation
116/127
INSPECTION DEPARTMENT
7/31/2019 E- Procurement Documentation
117/127
7/31/2019 E- Procurement Documentation
118/127
7/31/2019 E- Procurement Documentation
119/127
7/31/2019 E- Procurement Documentation
120/127
7/31/2019 E- Procurement Documentation
121/127
7/31/2019 E- Procurement Documentation
122/127
DOCUMENTATION
7/31/2019 E- Procurement Documentation
123/127
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 htdocsinsert 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
http://kumartextiles.com/http://kumartextiles.com/adminlogin.htmhttp://kumartextiles.com/http://kumartextiles.com/adminlogin.htm7/31/2019 E- Procurement Documentation
124/127
CONCLUSION & LIMITATIONS
7/31/2019 E- Procurement Documentation
125/127
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.
7/31/2019 E- Procurement Documentation
126/127
BIBILOGRAPHY
7/31/2019 E- Procurement Documentation
127/127
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
http://books.google.co.in/books?id=VEix_F-ssrAC&dq=PHP+books&printsec=frontcover&source=in&hl=en&ei=dyfMSeCyC4iO6gOvusyrBw&sa=X&oi=book_result&resnum=11&ct=resulthttp://books.google.co.in/books?id=zxsrk5qAMA0C&dq=dreamweaver+books&printsec=frontcover&source=in&hl=en&ei=0CbMSezoG5De6QOzspSYBw&sa=X&oi=book_result&resnum=11&ct=resulthttp://books.google.co.in/books?id=VOS6IlCsuU4C&dq=java+script&printsec=frontcover&source=in&hl=en&ei=PijMSdqFLJim6wO347SlBw&sa=X&oi=book_result&resnum=13&ct=resulthttp://books.google.co.in/books?id=aC3blgT3D3YC&dq=mysql&printsec=frontcover&source=in&hl=en&ei=lCjMSeHABZCw6wPpodCbBw&sa=X&oi=book_result&resnum=14&ct=resulthttp://books.google.co.in/books?id=VEix_F-ssrAC&dq=PHP+books&printsec=frontcover&source=in&hl=en&ei=dyfMSeCyC4iO6gOvusyrBw&sa=X&oi=book_result&resnum=11&ct=resulthttp://books.google.co.in/books?id=zxsrk5qAMA0C&dq=dreamweaver+books&printsec=frontcover&source=in&hl=en&ei=0CbMSezoG5De6QOzspSYBw&sa=X&oi=book_result&resnum=11&ct=resulthttp://books.google.co.in/books?id=VOS6IlCsuU4C&dq=java+script&printsec=frontcover&source=in&hl=en&ei=PijMSdqFLJim6wO347SlBw&sa=X&oi=book_result&resnum=13&ct=resulthttp://books.google.co.in/books?id=aC3blgT3D3YC&dq=mysql&printsec=frontcover&source=in&hl=en&ei=lCjMSeHABZCw6wPpodCbBw&sa=X&oi=book_result&resnum=14&ct=result