E- Procurement Documentation

download E- Procurement Documentation

of 127

Transcript of E- Procurement Documentation

  • 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=candid
  • 7/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.htm
  • 7/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