Purchase Mgmt Report

Embed Size (px)

Citation preview

  • 8/3/2019 Purchase Mgmt Report

    1/96

    1. INTRODUCTION

    Introduction of Project

    Competition in todays age has a new face-Agility. Companies need to act and

    react faster to a rapidly changing business environment. Smart Information

    Management is the key to the companys growth. Purchasing is a strategic

    function in any company, and Purchase Management System is software

    which automates the entire purchasing cycle for goods and services, resulting

    in greater efficiencies in time and money savings. The Online Purchase

    Management System is an enterprise wide single application consists of

    solutions for all functional areas of a purchase enterprise and Online PMS can

    help companies meet their financial and business objectives. Online PMS

    contains detailed reports that keep managers informed throughout the supply

    chain management process. Online PMS Software manages the purchasingprocess in a purely paperless mode.

    1.2 Title of the Project

    Online Purchase Management System

    1.3 Purchase Management System under ERP

    Enterprise Resource planning software or ERP doesnt live up to its acronym.

    Forget about planning - it doesnt do that - and forget about resource. a

    throwaway term. But remember the enterprise part. This is true ERP ambition.

    It attempts to integrate all departments and functions across a company onto a

    single computer system that can serve all those different departments

    particular needs.

    That is a tall order, building a single software program that serves the needs of

    people in finance as well as it does the people in human resources and in the

    warehouse. Each of those departments typically has its own computer system,

    each optimized for the particular ways that the department does its work, but

    ERP combines them all together into a single, integrated software program

    that runs of a single database so that the various departments can more easily

    share information and communicate with each other .

    1

  • 8/3/2019 Purchase Mgmt Report

    2/96

    That integrated approach can have a tremendous payback if companies install

    the software correctly.

    The project Online Purchase Management System is the system, which works

    on a local area network for ease of Purchase department in maintaining the

    details of purchase of various departments in any organization. It includes the

    following functions:-

    Vendor Management.

    Item Details

    Requisition Entry and Approval

    Enquiry generation

    Quotation Entry and Approval

    Purchase Order Generation

    Purchase Order Close

    Report Generation.

    Scope of the Project

    Entry of requisitions by different departments.

    Approval of requisitions by the administrator and further send them for

    enquiry to different vendors.

    Registration of Vendors for different items.

    Quotation Generation based on received enquiry.

    Approval of quotation.

    Generation of Purchase Order.

    Dispatch of Purchase Order.

    Closing of Purchase Order.

    This software can run either on standalone machine or on Network so a

    number of users can access the data simultaneously.

    Hard copy of various reports can be generated.

    2

  • 8/3/2019 Purchase Mgmt Report

    3/96

    Security features are implemented. Only administrator can view and

    send the enquiry, quotation, purchase order etc.

    1.4 Projects Objectives

    The main objective to develop the project is to make the Purchase

    Management system simple, easy and increase the productivity of the

    Managers in taking decisions because all the information is available in

    the organized form.

    This software provides a user-friendly interface for the user and it

    reduces the data redundancy. Centralized information is available

    which can be accessed by number of users.

    The other objective of software project planning is to provide a

    framework that enables the manager to make reasonable estimates of

    resources and schedule.

    These estimates are made within a limited time at the beginning of a

    software project and should be updated regularly as the project

    progresses.

    There are some other objectives to develop this system. The most

    important objective is:

    1) Capability

    Business activities are influenced by company or organizations ability

    to process information quickly and efficiently. The Purchase

    Management System adds capability in the following ways:

    Improved Processing speed

    The inherent speed, with which computers process information is one

    reason why organization seeks the development of the system projects.

    3

  • 8/3/2019 Purchase Mgmt Report

    4/96

    Faster Retrieval of information

    Locating and retrieving information from storage. The ability in

    conducting complex searches.

    2) Control

    Greater accuracy and consistency

    Carrying out computing steps, including arithmetic, correctly and

    consistently.

    Better Security

    Safeguarding sensitive and important information in form that is

    accessible only to authorized person.

    3) Communication

    Enhanced Communication

    Speeding the flow of information and messages between remote

    locations as well as with in offices. This includes the transmission of

    documents within offices.

    Integration of business areas

    Coordinating business activities taking place in separate areas of an

    organization though capture and distribution of information.

    4) Cost

    Monitor Cost

    Tracking the purchase process and overhead is essential to determine

    whether a firm is performing in line with expectations with in budget.

    Reduce Cost

    Using computing capability to process at a lower cost than possible

    with other methods, while maintaining accuracy and performance

    level.

    4

  • 8/3/2019 Purchase Mgmt Report

    5/96

    1.5 Proposed System

    The proposed system is an information system which is being designed to

    replace the existing manual information system. The proposed system has the

    following key features.

    Features

    It reduces the paperwork and increased automation.

    Very fast processing

    Efficient management of information

    Improved security

    Data safety through redundancy

    Quick response to adhoc queries

    Integrity of the data is maintained

    Transparency in the system

    1.6 Introduction of Organisation

    e.Soft Technologies Limited is a software development and business process

    consulting company providing business process re-engineering consultancy

    and services, enterprise solutions, ERP, Engineering Services, e-business

    intelligence, data warehousing, ecommerce solutions and CAD solutions.

    e.Soft was incorporated with the prime objective of providing on-site and off-

    site professional services specializing in system integration, application

    development, CAD and web services.

    5

  • 8/3/2019 Purchase Mgmt Report

    6/96

    2. SYSTEM ANALYSIS

    2.1 Identification of Need

    If system, which is going to be developed, is complex in nature the goals of

    the entire system could not be easily comprehended. Hence the need for a

    more rigorous system analysis phase arose.

    2.1.1 Problem Analysis

    The basic aim of problem analysis is to obtain clear understanding of the

    needs of the clients and the users, what exactly is desired from the software,

    and what the constraints on the solution are. Analysis leads to the actual

    specification.

    6

    Generate

    Request

    Build

    Models

    Developer

    Managers

    Problem

    Statement

    UserInterviews

    Experience

    User

    Functional Model

    Object Model

    Dom Domain

  • 8/3/2019 Purchase Mgmt Report

    7/96

    2.1.2 Problem Analysis Approaches

    There are three basic approaches to problem analysis.

    Informal Approach

    Conceptual modeling-based Approach

    Prototyping Approach

    In this project we use Structured Analysis technique to understand the exact

    requirement of the organization. In this technique we have divided the main

    problem in two sub problems and solved them separately. One is Master

    Creation and other is Transactions and the Master Database module.

    2.2 Preliminary Investigation

    The Preliminary investigation starts as soon as someone either a user or a

    number of a particular department recognizes a problem or initiates a request,

    to modify the current computerized system, or to computerize the current

    manual system. An important outcome of the preliminary investigation is

    determining whether the system is feasible or not.

    Manual work being done in each department of organization needs to be

    computerized for quick and better results with minimum delay in time. The

    software is developed in such a way to ensure time utilization, smooth

    functioning and building a cohesive relationship between various activities.The designing has been made with a view to reduce the effort involved in

    processing the activities of various people thus diminishing the inconvenience

    to users and increasing system efficiency and reliability.

    To provide the user friendly automated system, which provides efficiency,

    security of data and errorless outputs. The system should be capable of:

    Managing all order forms, details for their requirements, Vendor

    details who supply items.

    7

  • 8/3/2019 Purchase Mgmt Report

    8/96

    Aim is to perform all transactions involving people and organization

    using Internet with other channels of transactions, which take a

    supportive role to Internet.

    Negotiate the price, quantity, mode of payment, mode of dispatch etc.

    Receives Quotations for items & services.

    Provide various reports.

    Purchase module is responsible for maintaining records for vendors, items,

    and entering requisitions, generating purchase orders. It provides vendor, item

    relationship, after enquiry of items and quotation approval. It maintains also

    pending requisitions and pending P O.

    The main objective to develop the project is to make the Purchase

    Management System simple, easy and increase the productivity of the

    Managers in taking decisions because all the information is available in the

    organized form.

    This software provides a user friendly Interface for the user and it reduces the

    data redundancy. Centralized information is available which can be accessed

    by number of users.

    2.2.1Drawbacks in current system

    There is no existing computerized system. All the work is performed

    manually. The manual system is not secure enough.

    The current system had lot of problems, which are as follows

    Difficult to locate or find particular information regarding items,

    vendors, requisitions, enquiries, quotations, purchase orders etc.

    Comparison and approval of quotation.

    All the departments are working in isolation. Every one is

    maintaining its own database to keep the information related to its

    purchase and there is no common database. Hence there isduplication of data.

    8

  • 8/3/2019 Purchase Mgmt Report

    9/96

    Lot of work has to be done manually.

    No security of data.

    Maintenance of large numbers of record is a hectic job.

    Inefficiency to respond to management queries.

    Time consuming process.

    Very slow processing.

    Loss of integrity of data.

    Inability to recover from data damages.

    System is not transparent.

    In order to cope with the above problems this software has been designed and

    developed to computerize the working of the Purchase Department. The main

    objective to develop the project is to make the system simple.

    2.3 Feasibility Study

    Feasibility is the determination of whether or not a project is worth doing. The

    process followed in making this determination is called a feasibility study.

    This type of study determines if a project can and should be taken. Once it has

    been determined that project is feasible, the analyst can go ahead and prepare a

    project specification, which finalizes project requirements.

    All projects are feasible given unlimited resources and infinite time!

    Unfortunately, the development of computer based system is more likely to be

    plagued by a scarcity of resources and difficult delivery dates. It is both

    necessary and prudent to evaluate the feasibility of the project at the earliest

    possible time. Months or years of efforts, money loss and untold professional

    embarrassment can be averted if we better understand the project at its study

    time.

    The feasibility of a project is being analyzed within some frame work. The

    most important factor is feasible and desirable then it include in the schedule

    of the management so that approval can be taken from the same. In the

    9

  • 8/3/2019 Purchase Mgmt Report

    10/96

    conduct of the feasibility study, the analysis considers seven distinct, but inter-

    related types of feasibility. They are:

    Technical Feasibility

    Economic Feasibility

    Operational Feasibility

    Social Feasibility

    Management Feasibility

    Legal Feasibility

    Time Feasibility

    The assessment of the Purchase Management System has the following

    facts:

    Technical Feasibility

    Technical Analysis begins with the assessment of the technical viability of the

    proposed system. We have to mention what technologies are required to

    accomplish system function and performance .We have to also study how will

    these technology issues affect cost .

    The existing technology seems sufficient to run the new system. The data

    holding facility is also seems sufficient because we are using MS SQL

    RDBMS and it can handle large volume of data, hence in near future if the

    work increases it can handle it very easily.

    Operational Feasibility

    It seems that management of the purchase is of very much interest in the new

    system. The management and the users are normally the same members so

    there is no problem of conflict between the management & users.

    10

  • 8/3/2019 Purchase Mgmt Report

    11/96

    2.3.1 Financial and economical

    Among the most important information contained in feasibility study is cost

    benefit Analysis an assessment of the economic justification for a computer

    based system project. Cost benefit Analysis calculates approximate costs for

    project development and weighs them against tangible and intangible benefits.

    2.4 Project Planning

    Project life cycle has three stages: -

    1. Project Initiation Development team prepares the project plans andfinalizes the outcome of each phase. In this stage team also prepares the

    comprehensive list of tasks involved in each phase, and the project assigns

    responsibilities to the team members, depending on their skills.

    2. Project Execution In this stage, the team develops the product. In

    case of Purchase Management development team, will develop the online

    Purchase Order Management

    This Stage consists of following phase: -

    1. Requirement Analysis

    2. High Level Design

    3. Low Level Design

    4. Construction

    5. Testing

    6. Acceptance

    3. Project Completion - In this stage, the team has to update the site

    regularly. Each new enquiry has to add by the Purchase Manager as

    according to the needs and demands. This stage is very important for the

    freshness of the site.

    11

  • 8/3/2019 Purchase Mgmt Report

    12/96

    When any updation or upgradation is required for the website, the developers

    Or maintenance team make the website up to date.

    There are lots of requirements after the completion of the Project. As this

    website is dynamic website in which lots of changes are requires such as

    Update Enquiries, quotations or selected vendors list. So for this is always a

    way to do this.

    12

  • 8/3/2019 Purchase Mgmt Report

    13/96

    2.5 Project Scheduling

    2.5.1 PERT Chart

    Program Evaluation Review technique (PERT) Chart is mainly used for high

    risk projects with various estimation parameters. For each module in a project,duration is estimated as follows:

    1. Time taken to complete a project or module under normal conditions,

    tnormal.

    2. Time taken to complete a project or module with minimum time, tmin.

    3. Time taken to complete a project or module with maximum time,

    tmax.

    4. Time taken to complete a project from previous related history,

    thistory.

    An average of tnormal, tmin, tmax and thistory is taken depending upon the

    project.

    Beta

    Testing

    Programming

    SRS And Design Alpha Testing

    20 35 20 20

    15

    5

    20 20 20 10

    Writing User

    13

    11

    9

    10

    8

    7

    5

    6

    4

    3

    1 2

    User Requirement

    And AnalysisBuy

    Hardware

    Installation Writing

    Manuals

    Training User Test

  • 8/3/2019 Purchase Mgmt Report

    14/96

    Figure 2 : P.E.R.T CHART FOR ONLINE Recuriment Process &

    Employee Management System for HR Group for a Company

    2.5.2 Gantt Chart

    Gantt Chart is also known as Time Line Charts. A Gantt chart can be

    developed for the entire project or a separate chart can be developed for

    each function. A tabular form is maintained where rows indicate the

    tasks with milestones and columns indicate duration (weeks/months).

    The horizontal bars that spans across columns indicate duration of the

    task.

    June July August September

    Requirement Gathering

    Design

    Test Cases

    Coding

    Testing

    Build

    Figure 3 : Gantt Chart

    14

  • 8/3/2019 Purchase Mgmt Report

    15/96

    2.6 Software Requirement Specifications (SRS)

    SRS is a document that completely describes what the proposed software

    should do without describing how the software will do it. The basic limitation

    for this is that the user need keeps changing as environment in which the

    system was to function changes with time. This leads to a request for

    requirement changes even after the requirement phase is done and the SRS is

    produced.

    The origin of the most software system is the need of a client, who either

    wants to automate the existing manual system or desires a new software

    system. The developer creates the software system and the end users will use

    the completed system. There are three major parties interested in a new

    system: the clients, the user and the developer. Somehow the requirements for

    the system that will satisfy the needs of the clients and the concerns of the

    users have to be communicated to the developer. The Problem is that the

    client usually does not understand the software and the software development

    process, and the developer often does not understand the clients problem and

    application area.

    The basic purpose of the SRS is to bridge this communication gap. The SRS is

    the medium through which the client and the user needs are accurately

    specified; indeed SRS forms the basis of the software development. A good

    SRS should satisfy all the parties -- something very hard to achieve and

    involves trade-offs and persuasions. The important purpose of developing SRS

    is helping the client understand their own needs.

    Advantages of SRS

    An SRS establishes the basis for agreement between the client and the

    supplier on what the software product will do.

    An SRS provides a reference for validation of the final product.

    15

  • 8/3/2019 Purchase Mgmt Report

    16/96

    A high quality SRS is a prerequisite to a high quality software.

    A high quality SRS reduces the development cost.

    Characteristics of an SRS

    A good SRS is

    1. Correct

    2. Complete

    3. Unambiguous

    4. Verifiable

    5. Consistent

    6. Ranked for importance and/or stability

    7. Modifiable

    8. Traceable

    Requirement specification document

    The requirement for the proposed system is that, it would be less vulnerable to

    the mistakes being made due to entry at two or three levels and calculations.

    Moreover, the control of the administrator would be centralized. This will

    provide the support for Purchase department working process.

    (1) Introduction

    (a) Purpose of the software

    The purpose of the proposed system is to provide efficient information

    system for management, department and vendors.

    The main objective to develop the project is to make the information

    part simple and to provide user friendly access of this program to all the

    staff members of the organization so that they can locate and reply the

    inquiries concerned to them.

    (b) Scope

    The software prepared for e.soft technologies ltd., it can be implemented

    in any Organization with a few minor changes. The software finds good

    scope in any organization having Purchase department. Talking to the

    administrator and the employee who were dealing with the Purchase

    16

  • 8/3/2019 Purchase Mgmt Report

    17/96

    department, we came to know that the manual system was not up to the

    mark due to the cumbersome data entry and ample of calculations on the

    basis of which reports are generated.

    (2) General description

    (a)Product function and overview

    Data Entry Section

    User section This section is developed using ASP.NET with C# as

    front-end and MS SQL Server as back-end. Only valid user enters to

    this section by providing login name and password to the system.

    Administrator section This section can be accessed by providing

    administrator password. In this section the administrator can authorize

    persons to data entry. The administrator can add or edit the master

    table information and transaction information.

    Data Updation Section

    User section

    This section is developed using ASP.NET with C# asfront-end and MS SQL Server as back-end. Only valid department user

    and Valid Vendor can update daily transactions information.

    Administrator section This section can be accessed by providing

    administrator password. In this section the administrator can authorize

    persons to data updation. The administrator can edit the master table

    information and transaction information.

    Data Deletion Section

    Administrator section This section can be accessed by providing

    administrator password. In this section the administrator can authorize

    persons to data deletion. The administrator can delete the master table

    information and transaction information.

    17

  • 8/3/2019 Purchase Mgmt Report

    18/96

    Data Processing Section

    This section can be accessed by providing administrator password. In

    this section the only administrator can process the purchase related

    information.

    Report Section

    This section is developed using Crystal Report as a report generation

    tool and SQL Server as back-end.

    (b) User Characteristics

    The user at the entry section can be the department employee, Vendor

    or administrator. The employee can made the request for the products

    required, administrator can manage the whole process of purchasing

    while vendor can navigate through his account for the enquiries,

    quotation generation, purchase orders, its dispatch etc.

    (a) General constraints

    The back-end has to be either SQL Server 7.0 or 2000 and the system

    should run on the Windows Operating System.

    (3) Specific Requirements

    (a) Input and Output

    Requisition Entry, Enquiry Entry, Quotation Entry, Purchase Order

    Generation can serve as input & the items list, vendors information, enquiry

    details, quotation details, PO details forms are the output of this software.

    (b) Functional Requirement

    There should be no manual entry in the database table by directly

    accessing the tables i.e. there should be security at database server.

    18

  • 8/3/2019 Purchase Mgmt Report

    19/96

    Only valid user can Input, update or delete record and only

    administrator can perform any operation on master database and

    purchase module

    (c) External Interface Requirement

    The software must be a user friendly platform to reduce the complexity of

    operation. The Online Purchase Management System should be capable

    enough to support multi-user environment. The software is based on client-

    server architecture so that one or more user can do entries in the software

    system as well as view reports at a time.

    (d) Performance Constraints

    The software is supposed to have lacs of records so it should be capable to

    generate reports and to perform cumbersome calculations in seconds.

    (e) Acceptance Criteria

    Before accepting the system, the developer must demonstrate that the system

    works on Purchase Department. The developer will have to show through the

    test cases that all conditions are satisfied.

    Software Requirement Specification

    Software Tools

    Front-end Tool:-Microsoft ASP.NET 2.0

    User friendly

    Low Cost Solution

    GUI feature

    Better designing aspects

    Back-end Tool: -Microsoft SQL Server 20000 features are

    19

  • 8/3/2019 Purchase Mgmt Report

    20/96

    Security

    Portability

    Quality

    Platform

    Windows platform like: 2000 professional, XP & Vista

    Hardware Specification:

    Intel Pentium and Celeron class processor

    Processor Speed 1.2 GHz or above

    RAM - 512 MB

    HDD - 40 GB

    FDD-1.44MB

    Monitor-14SVGA

    Printer Dot Matrix /Inkjet /Laser Printer

    Mouse- Normal

    Keyboard- Normal

    20

  • 8/3/2019 Purchase Mgmt Report

    21/96

    2.7 Software Engineering Paradigm applied

    Requirement Analysis Phase

    During the requirement analysis phase, the development team analyse the

    requirement, to be fulfilled by the online Purchase Management System and

    identifies the portable approaches for meeting these requirements.

    To identify the requirement needed to the application, to study the existingPurchase Management portals.

    Finally, team identifies that the Purchase Management System should: -

    1. Enable a vendors to register with the site after validations has been

    performed on the data provided but the vendor.

    2. Enable vendors to perform activity such as view enquiries, send

    quotation, and send Purchase Order.

    3. Enable the departments to send their requisitions to the purchase

    department.

    4. Enable administrator to view database and different reports generated by

    Purchase department.

    5. Enable Purchase Manager to add and view database to update records of

    Purchase, vendors etc.

    Requirement Engineering Processes

    1. Elicitation-determine the operational requirements

    (User needs and customer expectations)

    2. Analyze-translate operational requirements into technical specifications

    3. Documentation-record the operational requirements and technical

    specifications Verification-check that specifications are complete, correct

    and consistent with Needs and expectations

    21

  • 8/3/2019 Purchase Mgmt Report

    22/96

    4. Generate acceptance test scenarios

    5 Requirements Management-control changes to requirements

    What Is a Software Process?

    A process is a way of doing something includes work activities

    Includes procedures for conducting the work activities.

    The work activities transform input work products into output work products

    The procedures are supported by methods and tools; for example

    Figure 4 : Software Process

    Process Models for Software Development

    Iterative Development

    Design

    Process

    Requirements Design Documents

    Test Plans

    Methods

    And tools

    22

    IncrementalValidation

    RequirementsSpecifications

    DesignPartitioning

    ArchitecturalDesign

    IncrementalBuilds*

    IncrementalVerification

    OperationalRequirements

  • 8/3/2019 Purchase Mgmt Report

    23/96

    Figure 5 : Iterative Development Model

    Iteration is the process by which the desired result is approached through

    repeated cycles

    In software engineering, an iterative approach allows revision of and addition

    to the work products

    Different types of iterative models support revision of:

    Requirements -

    1. Design

    2. Code

    Analysis of website

    Analysis is a great starting point for developing a website. Analysis enables

    your strengths should be permanently promoted on the website can be used to

    overcome competitive weakness, such as limited resources to establish a

    twenty four hours a day, seven a weak customer service center. The website

    also serves as a reliable center point for taking advantage of opportunities. A

    website with a list serve potential candidates can quickly notify its.

    Design Model

    To solve the actual problem, a website developer or a team of developers must

    incorporate development strategy that encompasses the presses method and

    tools.

    A process model for website chosen based on the nature of the project and

    application. By selecting appropriate process model for website.

    Software Engineering Methodology Used

    23

  • 8/3/2019 Purchase Mgmt Report

    24/96

    Modular approach is used for developing the proposed system. A system is

    considered modular if it consists of discrete components so that each

    component can be implemented separately and a change to one component has

    minimal impact on other components. Every system is a hierarchy of

    components. This system is not an exception. To deign such a hierarchy there

    are two approaches: -

    (1) Top down

    (2) Bottom up

    Both approaches have some merits and demerits. For this system top down

    approach has been used. It starts by identifying the major components of the

    system, decomposing them into their lower level components and iterating

    until the derived level of detail is achieved.

    Top down design methods often result in some from of stepwise refinement.

    Starting from an abstract design, in each step the design is refined to a more

    concrete level, until we reach a level where no more refinement is needed and

    the design can be implemented directly. A top down approach is suitable only

    if the specifications of the system are clearly known and the system

    development is from scratch.

    A bottom up approach starts with designing the most basic or primitive

    components and proceeds to higher level components that use these lower

    level components.

    The user of the existing system defines his general objectives for the software,

    but he does not identify detailed input, processing or output requirements. So,

    I have chosen PROTOTYPING approach to develop this software.

    Prototyping

    24

  • 8/3/2019 Purchase Mgmt Report

    25/96

    The basic idea of prototyping is that instead of freezing the requirements

    before any design or coding can proceed, a throwaway prototype is build to

    help understand the requirements. This prototype is developed based on the

    prototype obviously undergoes design, coding & testing, but each of these

    phases is not done very formally or thoroughly. By using this prototype the

    client can get an actual feel of the system, because the interactions with the

    prototype can enable the client to better understand the requirements of the

    desired system.

    Design Code Test

    Requirement

    Analysis

    THE PROTOTYPE MODEL

    Because the system is complicated and large and there is no existing system

    (computerized) prototyping is an attractive idea. In this situation letting the

    client test the prototype provides the variable inputs, which help in

    determining the requirements of the system. It is also an effective method of

    demonstrating the feasibility of a certain approach.

    2.8 Data model

    A data model is an abstract model that describes how data is represented and

    accessed.

    The term data model has two generally accepted meanings:

    1. A data model theory, i.e. a formal description of how data may be

    structured and accessed. See also List of database models.

    25

    Requirement

    Analysis

    Design

    Code

    http://en.wikipedia.org/wiki/Abstract_modelhttp://en.wikipedia.org/wiki/Data_(computing)http://en.wikipedia.org/wiki/List_of_database_modelshttp://en.wikipedia.org/wiki/Abstract_modelhttp://en.wikipedia.org/wiki/Data_(computing)http://en.wikipedia.org/wiki/List_of_database_models
  • 8/3/2019 Purchase Mgmt Report

    26/96

    2. A data model instance, i.e. applying a data model theory to create a

    practical data model instance for some particular application. See data

    modeling.

    Data Model Theory

    A data model theory has three main components:

    The structural part: a collection of data structures which are used to

    create databases representing the entities or objects modeled by the

    database.

    The integrity part: a collection of rules governing the constraints

    placed on these data structures to ensure structural integrity.

    The manipulation part: a collection of operators which can be applied

    to the data structures, to update and query the data contained in the

    database.

    For example, in the relational model, the structural part is based on a modified

    concept of the mathematical relation; the integrity part is expressed in first-

    order logic and the manipulation part is expressed using the relational algebra,

    tuple calculus and domain calculus.

    Data Model Instance

    A Data Model Instance is created by applying a Data Model Theory. This is

    typically done to solve some business enterprise requirement.

    Business requirements are normally captured by a semantic logical datamodel. This is transformed into a physical Data Model Instance from which is

    generated a physical database.

    For example, a Data modeler may use a data modeling tool to create an Entity-

    relationship model of the Corporate data repository of some business

    enterprise. This model is transformed into a relational model, which in turn

    generates a relational database.

    26

    http://en.wikipedia.org/wiki/Data_modelinghttp://en.wikipedia.org/wiki/Data_modelinghttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Relation_(mathematics)http://en.wikipedia.org/wiki/First-order_logichttp://en.wikipedia.org/wiki/First-order_logichttp://en.wikipedia.org/wiki/Relational_algebrahttp://en.wikipedia.org/wiki/Tuple_calculushttp://en.wikipedia.org/wiki/Domain_calculushttp://en.wikipedia.org/wiki/Logical_data_modelhttp://en.wikipedia.org/wiki/Logical_data_modelhttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Entity-relationship_modelhttp://en.wikipedia.org/wiki/Entity-relationship_modelhttp://en.wikipedia.org/wiki/Corporate_data_repositoryhttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Data_modelinghttp://en.wikipedia.org/wiki/Data_modelinghttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Relation_(mathematics)http://en.wikipedia.org/wiki/First-order_logichttp://en.wikipedia.org/wiki/First-order_logichttp://en.wikipedia.org/wiki/Relational_algebrahttp://en.wikipedia.org/wiki/Tuple_calculushttp://en.wikipedia.org/wiki/Domain_calculushttp://en.wikipedia.org/wiki/Logical_data_modelhttp://en.wikipedia.org/wiki/Logical_data_modelhttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Entity-relationship_modelhttp://en.wikipedia.org/wiki/Entity-relationship_modelhttp://en.wikipedia.org/wiki/Corporate_data_repositoryhttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Relational_database
  • 8/3/2019 Purchase Mgmt Report

    27/96

    Entity-relationship model

    The entity-relationship model or entity-relationship diagram (ERD) is a data

    model or diagram for high-level descriptions of conceptual data model, and it

    provides a graphical notation for representing such data models in the form of

    entity-relationship diagrams. Such models are typically used in the first stage

    of information-system design; they are used, for example, to describe

    information needs and/or the type of information that is to be stored in the

    database during the requirement analysis. The data modeling technique,

    however, can be used to describe any ontology (i.e. an overview and

    classifications of used terms and their relationships) for a certain universe of

    discourse (i.e. area of interest). In the case of the design of an information

    system that is based on a database, the conceptual data model is, at a later

    stage (usually called logical design), mapped to a logical data model, such as

    the relational model; this in turn is mapped to a physical model during

    physical design. Note that sometimes, both of these phases are referred to as

    "physical design".

    There are a number of conventions for entity-relationship diagrams (ERDs).

    The classical notation is described in the remainder of this article, and mainly

    relates to conceptual modeling. There are a range of notations more typically

    employed in logical and physical database design.

    27

  • 8/3/2019 Purchase Mgmt Report

    28/96

    ERDIAGRAM

    28

  • 8/3/2019 Purchase Mgmt Report

    29/96

    3. SYSTEM DESIGN

    3.1 Modularisation details

    Designing of system deals with transforming the requirements of system into a

    form implement able using a programming language. We can broadly classify

    various design activities into two parts:

    Preliminary (or high level) design.

    Detailed Design.

    In preliminary design part we design the following items:

    1. Different modules required to implement the design.

    2. Control relationship among the identified modules.

    3. Interface among different modules.

    Designing of this software is done with high cohesiveness, i.e. there is a

    minimized interaction between two different modules. There is no intra

    modular relationship between modules. Most of the modules are self

    independent. At the same time, modules are loosely coupled i.e. inter-modular

    relation. Hence the software is loosely coupled and highly cohesive.

    29

  • 8/3/2019 Purchase Mgmt Report

    30/96

    3.1.1 Systems Modules

    Since we use the structured approach to develop the system we divide the

    system in modules on the basis of function they perform. These modules are

    again divided in to sub modules so that problem can be solved easily andaccurately.

    3.1.1.1 Module Division

    The description of each module is given below:

    1. Master Creation

    This module is responsible for creating all the

    required masters to manage overall processing. Various types of masters are

    created under this module. This module has following sub Modules listed

    below.

    a. Vendor Entry

    This sub module is used to manage Vendor records.

    We have to maintain database of various Vendors with their names, address,

    phone no, and other information. This module allows us to add vendor

    records, delete records and modify vendor records. We can print vendor

    records whenever we want. Vendor codes are generated automatically.

    b. Item Entry

    This sub module is used to manage Items. Items may be raw

    material and may be product. We have to maintain various information

    regarding to items such as item code, Item Name, specification, reorder

    level etc. We have to maintain max level, min level, reorder level, reorder

    quantity etc. This module allows us to add new Item detail, delete old items,

    modify items and find items. We can also print items details.

    30

  • 8/3/2019 Purchase Mgmt Report

    31/96

    c. Vendor Item Relationship

    This module allows us to create Vendor

    Item Relationship. There may be number of vendors who supply numbers of

    items and a particular item may be supplied by more than one vendor. This

    many to many relationship we have to maintain. This module provides us

    vendor list and Item list we can select vendor and further select the items,

    which can be supplied by this currently selected vendor. This vendor item

    relationship information may be supplied whenever vendor provides us

    Quotation details.

    2. Transactions

    This module is responsible for managing all the

    required transactions. Transactions covered under this module such as

    Requisition Entry, Enquiry Entry, Quotation Entry and Purchase Order

    Generation.

    a. Requisition Entry

    This module is used to enter Requisition Details.

    Different types of requisitions from different departments are come to

    purchase department to purchase the goods. According to the requisition

    Purchase order to vendors are generated. This module is only responsible to

    enter Requisition Details supplied from other departments. Requisitions can be

    Added, Deleted, and Modified and searched in this module. This module

    manages two tables same time. One is Requisition Master and other is

    Requisition Detail. Many records in Requisition Detail per record in

    Requisition Master are maintained.

    b. Enquiry Entry

    This module is used to enter Enquiry Details.

    Enquiries may be generated by purchase department as well as based on

    Requisitions from other departments. Each times a new enquiry no. is

    31

  • 8/3/2019 Purchase Mgmt Report

    32/96

    generated. Each enquiry has a unique Enquiry No, Enquiry Date etc and

    details of the same enquiry like Item Name, Quantity needed and

    specification. Purchase module maintains all enquiry records. It allows user to

    add new enquiries, delete enquiries, and modify enquiries. Enquiries are

    transferred to vendor for Quotation. Enquiry list or specific enquiry may be

    print also. Added, Deleted, and Modified and searched in this module. This

    module manages two tables same time. One is Requisition Master and other is

    Requisition Detail. Many records in Requisition Detail per record in

    Requisition Master are maintained.

    c. Quotation Entry & Approval

    This module is used to enter

    Quotation Details supplied by Vendors. Enquiries are made to vendors for

    different items. Vendors provide us Quotation Details of the same Items

    mentioned in enquiry. Quotations may be in form of hard copies that should be

    converted into tables. Quotations are examined by the management and finally

    approved on the basis of information supplied in the Quotations like rate of

    items, quality of items, delivery time, mode of payments etc. This module

    allows us to Add new Quotations, Modify Quotation, Delete Quotations.

    Quotations are managed in master and detail tables. Quotation Master has

    Enquiry No against which Quotation is generated, Quotation Date, Vendor

    Code, Payment Terms etc and Quotation Detail has Items Detail such as Item

    Name, Rates of Items. This information helps us to maintain Vendor Item

    Relationship. We can print also one or all Quotations.

    d. Generation of Purchase Order

    This module is used to generate

    Purchase Order. Purchase Orders are generated on the basis of Requisitions

    received from various Departments. Different Requisitions may have different

    or same items. Item list are generated from various Requisitions by adding

    quantity of same items. When item list are ready vendors are selected who can

    32

  • 8/3/2019 Purchase Mgmt Report

    33/96

    supply theses items. At a time purchase order is generated for only single

    vendor. Two tables called PO Master and PO Detail are used to manage

    Purchase Order. PO Master contains PO No which is generated automatically,

    PO date, Vendor Code etc. PO details contains list of items have to be

    purchased with the required quantity. Requisitions for which PO is generated

    are closed automatically. PO can be found in form of hard copy.

    e. Requisition Close

    This module is used to close Requisitions for

    which Purchase Order is generated. Although Requisitions are automatically

    closed when PO is generated but in some cases requisitions are to be closed

    manually. This processing is called short close. For this a flag field is used like

    Requisition Completed which is set to True when Requisitions are closed, it

    remains false for pending requisitions. User is provided with the list of

    pending Requisitions he further selects the requisitions, which are to be

    closed.

    f. Purchase Order Close

    This module is used to close Purchase

    Orders against which Goods are received. PO is remained pending until

    requested items are received from vendors. When Items are received in Store

    Department, Goods Receive Notes are generated and a copy of GRN is send to

    Purchase Department. GRN holds the PO No, Vendor Name and the Item list,

    which are received with their quantity. On the basic of GRN detail completed

    PO are short closed. Short closing method is implemented by using a flag field

    such as POCompleted, which is set to true when PO is completed. Before this

    PO are called pending PO. User closes the pending PO from the list of

    pending PO.

    3.2 Data integrity and constraints

    33

  • 8/3/2019 Purchase Mgmt Report

    34/96

    Pictorial representations of systems have long been acknowledged as being

    more effective than narrative. They are easier to grasp when being explained

    or investigate; it is easier to find a particular aspect interest, and pictorial

    representations are less ambiguous than narrative.

    The DFD is a simple graphical notation that can be used to represent a system

    in terms of the input data to the system, various processing carried out on

    these data, and the output data generated by the system.

    The 0 level DFD of system is as follows:

    34

  • 8/3/2019 Purchase Mgmt Report

    35/96

    35

  • 8/3/2019 Purchase Mgmt Report

    36/96

    36

  • 8/3/2019 Purchase Mgmt Report

    37/96

    37

  • 8/3/2019 Purchase Mgmt Report

    38/96

    3.3 Database design/Procedural Design/Object Oriented

    Design

    Detail design is the most creative & challenging phase in the development life

    cycle of the project. In the detail design of the system we design the tables of

    database, schema of tables and relationship between tables and file

    organization of the application.

    3.1.1 Design of Database Table

    The data to be used in the system are stored in various tables. The number of

    tables used & their structure are decided upon keeping in mind the logical

    relation in the data available. The database design specifies:

    The various tables to be used

    Data to store in each table

    Format of the fields & their types

    We are using database of SQL Server.

    To create the database firstly we start the SQL Server. The starting window

    appears as:

    38

  • 8/3/2019 Purchase Mgmt Report

    39/96

    After running the SQL Server, firstly weve created the database purchase

    with the user sa. The initial size of the database is 3 mb.

    DATABASE TABLES

    Table Name-DepartmentMaster

    Field name Data type [size] ConstraintsDeptCode Varchar (10) Primary key

    DeptName Varchar (40)

    Table Name-ItemMaster

    Field name Data type [size] ConstraintsItemCode Varchar (10) Primary key

    ItemName Varchar (40) Unique not null

    Specification Varchar(40)

    ItemWeight Numeric(9,2)

    WeightUnitCode Varchar(10)

    ExciseRate Numeric(9,2)

    Category Varchar (10)

    Purchase Varchar (10)

    Issue Varchar (10)

    Production Varchar (10)

    39

  • 8/3/2019 Purchase Mgmt Report

    40/96

    Sale Varchar (10)

    UnitCode Varchar(10)

    IssueUnitCode Varchar(10)

    ProductionUnitCode Varchar(10)

    SaleUnitCode Varchar(10)

    MaxRate Numeric(9,2)

    AvgRate Numeric(9,2)

    LastRate Numeric (9,2)

    MinRate Numeric (9,2)

    MaxLevel Numeric (9,2)

    MinLevel Numeric (9,2)

    ReorderLevel Numeric (9,2)

    ReorderQty Numeric (9,2)

    CurrBalance Numeric (9,2)

    Table Name-Login

    Field name Data type [size] ConstraintsRid Varchar (10)

    username Varchar (10) Primary Key

    pwd Varchar(10)

    C_pwd Varchar (10)hq Varchar (50)

    ha Varchar(50)

    Table Name-New Registration

    Field name Data type [size] ConstraintsVendorname Varchar(25) Not Null

    Compname Varchar(25)

    Address Varchar(50)

    Email Varhar(30)

    Phone_no Varchar(15)

    Mobile_no Varchar(15)

    Username Varchar(15)

    Pwd Varchar(20)

    Cpwd Varchar(20)

    Hq Varchar(50)

    Ha Varchar(50)

    40

  • 8/3/2019 Purchase Mgmt Report

    41/96

    Table Name-VendorMaster

    Field Name Data Type [size] Constraints

    VendorCode Varchar (10) Primary keyVendorName Varchar (40) Not Null

    Address Varchar (60)

    CityCode Varchar (10)

    StateCode Varchar (10)

    CountryCode Varchar (10)

    Pincode Numeric (10)

    Phone Numeric (10)

    Fax Numeric (20)

    Email Varchar (40)

    Url Varchar (50)

    ContactPerson Varchar (40)

    Table Name-POMaster

    Field name Data type [size] ConstraintsPurchaseOrderNo Varchar(10) Primary key

    PurchaseOrederDate Datetime

    VendorCode Varchar(10)RequisitionNo Varchar(10)

    Remark Varchar(50)

    Table Name-PODetail

    Field name Data type [size] ConstraintsPurchaseOrederNo Varchar (10)

    ItemCode Varchar (10)

    Quantity Numeric (9,2)UnitCode Varchar (10)

    Table Name-RequisitionMaster

    Field name Data type [size] Constraints

    RequisitionNo Varchar (10) Primary keyRequisitionDate Datetime

    41

  • 8/3/2019 Purchase Mgmt Report

    42/96

    DeptCode Varchar (10)

    CompCode Varchar (10)

    ReqType Varchar (10)

    IndentNo Varchar (10)

    Table Name-RequisitionDetail

    Field name Data type [size] ConstraintsRequisitionNo Varchar (10)

    ItemCode Varchar (10)

    Quantity Numeric (9,2)

    UnitCode Varchar (10)

    ScheduleDate Datetime

    Table Name-QuotationMaster

    Field name Data type [size] ConstraintsEnquiryNo Varchar (10)

    VendorCode Varchar (10)

    QuotationDate DatetimeDispatchMode Varchar (10)

    PaymentTermsCode Varchar (10)

    DeliveryTerms Varchar (30)

    SpecialInstruction Varchar (30)

    Enclosure1 Varchar (20)

    Enclosure2 Varchar (20)

    Table Name-Quotation Detail

    Field name Data type [size] ConstraintsEnquiryNo Varchar (10)

    ItemCode Varchar (10)

    Qty Numeric (9,2)

    UnitCode Varchar (10)

    Rate Numeric (9,2)

    Specification Varchar (40)

    42

  • 8/3/2019 Purchase Mgmt Report

    43/96

    Table Name-EnquiryMaster

    Field name Data type [size] ConstraintsEnquiryNo Varchar (10) Primary key

    EnquiryDate Datetime

    RequisitionNo Varchar (10)

    VendorCode Varchar (10)

    DueDate Datetime

    Table Name-EnquiryDetail

    Field name Data type [size] ConstraintsEnquiryNo Varchar (10)

    ItemCode Varchar (10)

    Quantity Numeric (9,2)

    UnitCode Varchar (10)

    Specification Varchar (40)

    43

  • 8/3/2019 Purchase Mgmt Report

    44/96

    3.4 User Interface Design

    User interface portion of a software product is responsible for all interactions

    with the user. Almost every software product has a user interface. User

    interacts with a software product through its user interface, which is the

    primary component of any software product that is directly relevant to the

    users.

    User interface of our project has several characteristics. They are as follows:

    It is simple to learn.

    The time and effort required to initiate and execute different

    commands is minimum.

    Once users learn how to use interface, their speed of recall about

    how to use the software.

    It is attractive to use.

    The commands supported by interface are consistent.

    SCREEN SHOTS

    44

  • 8/3/2019 Purchase Mgmt Report

    45/96

    4. CODING

    4.1 Complete Project Coding

    4.3 Standardization of the coding /Code Efficiency

    45

  • 8/3/2019 Purchase Mgmt Report

    46/96

    The process of optimization starts from the designing stage itself and

    continues till the deployment and distribution stage.

    Optimizing speed

    In order to optimize the speed of the application the following techniques are

    used:

    Use of appropriate data type

    Assigning property values to variables

    Using Early binding instead of late binding

    Use of appropriate data type

    The use of appropriate data type optimizes the execution speed of the

    application. Too many implicit data type conversions slow down the

    execution. The use of variant data type has been avoided in the application as

    it causes application to run slowly.

    Assigning property values to variables

    Accessing a value from a variable is 10 to 20 times faster than accessing it

    from a property because accessing a value from a property makes use of

    calling an object. This is not true for a variable as there is no overhead of

    making a call to the object. This is used to optimize the execution speed of the

    application.

    An unoptimized code would have been

    k = Convert.ToString(Convert.ToInt32(k) + 1);

    An optimized code would have been

    c1.cmd.CommandText = "select top 1 city_code from city_master order by

    city_code desc";

    c1.adp.Fill(c1.ds, "code");

    b = dr[city_code].ToString();

    k = Convert.ToString(Convert.ToInt32(b) + 1);

    46

  • 8/3/2019 Purchase Mgmt Report

    47/96

    Using Early Binding instead of Late Binding

    A client interacts with a component using its properties and methods. In order

    to access the properties and methods of a component, the client needs to bebound to the component. The process of associating a client with a component

    is binding. When you implement early binding between a clients call and a

    component method, the method called is determined at compile time i.e. the

    call is associated with the appropriate method during the process of

    compilation.

    Performance speed

    Syntax checking at compile time Display of objects in the Object Browser window

    Provision of help in the Object Browser

    Optimizing the Display Speed

    In order to display a form frequentlyHide and Show methods are used instead

    of the Unload and load events. Loading and unloading a form involves

    memory overhead and is therefore slower.

    Optimizing the Memory

    The application has been optimized to occupy the least amount of memory and

    still give a good performance. In order to optimize the memory the data is

    reclaimed from the string by setting it to .

    Compiling to Native Code

    Native code compilation offers several options for performance tuning than

    are available with P-code compilation. We can use one of the following

    options for compiling the application:

    1) Optimize for fast code

    2) Optimize for slow code

    3) Favor Pentium Pro(tm)

    47

  • 8/3/2019 Purchase Mgmt Report

    48/96

    Optimize for fast code

    This is the best option when the application has been optimized on speed and

    there is large storage space on the disk. The compiler compiles the code for

    faster execution. It examines the program structure and changes some of it,resulting in an optimized code but an enlarged executable file. This is the

    default compile option in Visual Studio 2005.

    Optimize for slow code

    This is the best option when one is concentrating on the hard disk space and

    not the speed. The compiler creates the smallest possible compiled code,

    occupying less disk space but probably slow in execution.

    Advanced Optimization Options

    The following Advanced optimization techniques were used:

    Assume No Aliasing

    As Aliasing provides a name that refers to a memory location that is

    already referred by a different name, selecting this option allows the

    compiler to apply optimization that it could not otherwise be applied.

    Remove Array Bounds Checks

    Selecting this option can also optimize application speed. The Visual

    Studio Compiler by default checks for array indexes and their dimensions.

    It reports an error if an array index is out of bounds. As the arrays used

    here (minimum) are sure not to go out of bounds, therefore choosing this

    option will actually optimize speed and thus gives a faster code.

    4.6 Validation checks

    48

  • 8/3/2019 Purchase Mgmt Report

    49/96

    For correct data entry we will provide different type of validation during

    software development process. These checks work as barrier to enter irregular

    entries entered by the user or someone else. These validations are described

    below: -

    Validation Checks-VENDOR ENTRY

    Vendor Names should not be duplicated.

    Vendor Code should be unique.

    All the necessary information like vendor Name, Address, Contact No,

    should be specified.

    Validation Checks-ITEM ENTRY

    Items Names should not be duplicated.

    Item Code should be unique.

    All the necessary information like Item Name, Specification, Category,

    and levels should be specified.

    Item category such as Product or raw material should be mentioned.

    Validation Checks-VENDOR ITEM RELATIONSHIP

    Vendor code and Item code should be valid and exist in corresponding

    tables.

    New Item rates should be specified and reflect in Item Master as last

    rate.

    Validation Checks-REQUISITION ENTRY

    Requisition No should be unique and in incremental order.

    Requisition date should be in (mm/dd/yyyy) format.

    Department Name from, where requisition generated should be

    specified.

    49

  • 8/3/2019 Purchase Mgmt Report

    50/96

  • 8/3/2019 Purchase Mgmt Report

    51/96

    PO should be generated for one vendor at a time.

    PO should be generated only for pending requisitions.

    Validation Checks-REQUISITION CLOSE

    Only Pending Requisition should be closed.

    Validation Checks-PURCHASE ORDER CLOSE

    Only Pending PO should be closed.

    51

  • 8/3/2019 Purchase Mgmt Report

    52/96

  • 8/3/2019 Purchase Mgmt Report

    53/96

  • 8/3/2019 Purchase Mgmt Report

    54/96

    The tests are organized to check all the interfaces, until all the components

    have been built and interfaced to each other producing the whole system.

    System Testing

    Once the entire system has been built then it has to be tested against the

    System Specification to check if it delivers the features required. It is still

    developer focused, although specialist developers known as system testers are

    normally employed to do it.

    In essence System testing is not about checking the individual parts of the

    design, but about checking the system as a whole. In effect it is one giant

    component.

    System testing can involve a number of specialist types of test to see if all the

    functional and non-functional requirements have been met. In addition to

    functional requirements these may include the following types of testing for

    the non-functional requirements:

    1). Performance- Are the performance criteria met?

    2). Volume- Can large volumes of information be handled?

    3). Stress- Can peak volumes of information be handled?

    4). Documentation- Is the documentation usable for the system?

    5). Robustness- Does the system remain stable under adverse circumstances?

    There are many others, the needs for which are dictated by how the system is

    supposed to perform.

    Acceptance Testing

    Acceptance testing checks the system against the Requirements. It is similar

    to system testing in that the whole system is checked but the important

    difference is the change in focus:

    System testing checks that the system that was specified has been delivered.

    Acceptance testing checks that the system delivers what was requested. The

    customer and not the developer should always do acceptance testing. The

    customer knows what is required from the system to achieve value in the

    54

  • 8/3/2019 Purchase Mgmt Report

    55/96

  • 8/3/2019 Purchase Mgmt Report

    56/96

    Black box testing is designed to uncover errors. They are used to demonstrate

    that software functions are operations; that input is properly accepted and

    output is correctly produced; and that integrity of external information is

    maintained. A black box examines some fundamental aspects of a system with

    little regard for the internal logical structure of the software.

    White box testing of software is predicated on close examination of procedural

    details. Providing test cases that exercises specific set of conditions and/or

    loops tests logical paths through the software. The state of program may be

    examined at various points to determine if the expected or asserted status

    corresponding to the actual status.

    5.1.3 Testing the Purchase Management System

    Testing phase is the very important phase in the software development so it is

    fully kept in mind while developing this software. In case of this software,

    testing has been done in the following areas and manner:--

    5.1.3.1) Functional Testing

    According to the need of the software, the following testing plans have been

    planed on some amount on test data. Hypothetical data is used to test the

    system before implementation. Some temporary user ids are created to check

    the validity and authenticity of the users. Various constraints are checked for

    their working. A demo case will be taken with dummy data for new users.

    5.1.3.2) Security Testing

    User id and password is checked and verified for secure login and

    access.

    It will be demonstrated that two different login sessions have different

    permissions on the menu items. In case a user forgets his password

    56

  • 8/3/2019 Purchase Mgmt Report

    57/96

  • 8/3/2019 Purchase Mgmt Report

    58/96

    component level. The second place for debugging is during the later stages of

    testing, involving multiple components or a complete system, when

    unexpected behavior such as wrong return codes or abnormal program

    termination (abends) may be found. A certain amount of debugging of the

    test execution is necessary to conclude that the program under test is the cause

    of the unexpected behavior and not the result of a bad test case due to

    incorrect specification, inappropriate data, or changes in functional

    specification between different versions of the system. Once the defect is

    confirmed, debugging of the program follows and the misbehaving component

    and the required fix are determined. The third place for debugging is in

    production or deployment, when the software under test faces real operational

    conditions. Some undesirable aspects of software behavior, such as inadequate

    performance under a severe workload or unsatisfactory recovery from a

    failure, get exposed at this stage and the offending code needs to be found and

    fixed before large-scale deployment. This process may also be called

    problem determination, due to the enlarged scope of the analysis required

    before the defect can be localized.

    Code Improvement

    The process of optimization starts from the designing stage itself and

    continues till the deployment and distribution stage.

    Optimizing speed

    In order to optimize the speed of the application the following techniques are

    used:

    Use of appropriate data type

    Assigning property values to variables

    Using Early binding instead of late binding

    Use of appropriate data type

    The use of appropriate data type optimizes the execution speed of the

    application. Too many implicit data type conversions slow down the

    execution. The use of variant data type has been avoided in the application as

    it causes application to run slowly.

    58

  • 8/3/2019 Purchase Mgmt Report

    59/96

    Assigning property values to variables

    Accessing a value from a variable is 10 to 20 times faster than accessing it

    from a property because accessing a value from a property makes use of

    calling an object. This is not true for a variable as there is no overhead ofmaking a call to the object. This is used to optimize the execution speed of the

    application.

    An unoptimized code would have been

    k = Convert.ToString(Convert.ToInt32(k) + 1);

    The optimized code is as follows:

    c1.cmd.CommandText = "select top 1 city_code from city_master

    order by city_code desc";

    c1.adp.Fill(c1.ds, "code");

    string b = dr["city_code"].ToString();

    k = Convert.ToString(Convert.ToInt32(b) + 1);

    Using Early Binding instead of Late Binding

    A client interacts with a component using its properties and methods. In order

    to access the properties and methods of a component, the client needs to be

    bound to the component. The process of associating a client with a component

    is binding. When you implement early binding between a clients call and a

    component method, the method called is determined at compile time i.e. the

    call is associated with the appropriate method during the process of

    compilation.

    Performance speed

    Syntax checking at compile time

    Display of objects in the Object Browser window

    Provision of help in the Object Browser

    59

  • 8/3/2019 Purchase Mgmt Report

    60/96

  • 8/3/2019 Purchase Mgmt Report

    61/96

    As Aliasing provides a name that refers to a memory location that is already

    referred by a different name, selecting this option allows the compiler to apply

    optimization that it could not otherwise be applied.

    Remove Array Bounds Checks

    Selecting this option can also optimize application speed. The Visual Studio

    Compiler by default checks for array indexes and their dimensions. It reports

    an error if an array index is out of bounds. As the arrays used here (minimum)

    are sure not to go out of bounds, therefore choosing this option will actually

    optimize speed and thus gives a faster code.

    61

  • 8/3/2019 Purchase Mgmt Report

    62/96

  • 8/3/2019 Purchase Mgmt Report

    63/96

    (usernames, passwords, and so on.) the sensitive data to secure throughout the

    enterprise. Application-layer encryption and mature database-layer encryption

    solutions allow enterprises to selectively encrypt granular data into a format

    that can easily be passed between applications and databases without changing

    the data. I'll focus on database-layer encryption in this article.

    Data encryption

    The sooner data encryption occurs, the more secure the information is. Due to

    distributed business logic in application and database environments,

    organizations must be able to encrypt and decrypt data at different points in

    the network and at different system layers, including the database layer.Encryption performed by the DBMS can protect data at rest, but you must

    decide if you also require protection for data while its moving between the

    applications and the database and between different applications and data

    stores. Sending sensitive information over the Internet or within your

    corporate network as clear text defeats the point of encrypting the text in the

    database to provide data privacy.

    6.2 Creation of User profiles and access rights

    Determining user profiles and their privilege domains will contribute to the

    creation of a personalized software experience. Effective software must only

    present those that are relevant to a given user and within the user's domain of

    privilege. These must also reflect the specific grains relevant to the user.

    Application personalization requires the establishment of a three-dimensional

    framework inclusive of the following:

    1. User groups and hierarchies

    2. Privilege domain

    3. Content domain

    63

  • 8/3/2019 Purchase Mgmt Report

    64/96

  • 8/3/2019 Purchase Mgmt Report

    65/96

    dashboard? Answering this question leads us to the issue of content domain-

    the parameters of which would define the KPI granularity, the reports, and the

    alerts for each dashboard user. Managing content domain involves two

    aspects: (1) security and (2) relevance. Security refers to the restriction of

    information delivery only to those with the privilege to access certain

    information. Information is inherently confidential, and every organization has

    its boundaries regarding who may access what information. The security

    framework must be created during a dashboard deployment, determining the

    permissions and restrictions on the content domain of each user. Relevance

    refers to the filtering of the most relevant content to a given dashboard user.

    From all of the permitted information for a given user, an effective dashboard

    must present the most relevant content with flexibility for the user to access

    more information as needed.

    65

  • 8/3/2019 Purchase Mgmt Report

    66/96

    7. Cost Estimation of the Project

    For a given set of requirements it is desirable to know how much it will cost to

    develop the software to satisfy the given requirements, and how much time

    development will take. These estimates are needed before development is

    initiated. The primary reason for cost and schedule estimation is to enable the

    client or developer to perform a cost benefit analysis and for project

    monitoring and control. A more practical use of these estimates is in bidding

    for software projects, where the developers must give cost estimates to a

    potential client for the development contract.

    For a software development project, detailed, and accurate cost and schedule

    estimates are essential prerequisites for managing the project. Otherwise, even

    simple question like is the project late, are there cost overruns, and when

    is the project likely to complete cannot be answered. Cost and schedule

    estimate are also required to determine the staffing level for a project a

    deferent phase. It can be safely said that cost and schedule estimates are

    fundamental

    To any form of management and are generally always required for a project.

    Cost in a project is due to the requirement for software, hardware, and human

    resources. Hardware resources are such thing as the computer time, terminal

    time, and memory required Fir the project, whereas software resources include

    the tool and compilers needed during development .The bulk of the cost of

    software development is due to the human resources needed, and most cost

    estimation procedure focus on this aspect. Most cost estimates are determined

    in terms of person-month (PM). By properly including the overheads in

    rupees cost of a person-month, besides including the direct cost of the personmonth, most costs for a project can be incorporated by using PM as the basic

    measure. Estimates can be based on subjective opinion of some person or

    determined through the use of models.

    The costs associated with the system are expenses, outlays or losses arising

    from developing and using a system. But the benefits are the advantages

    received from installing and using this system.

    Cost and benefits can be classified as follow:

    66

  • 8/3/2019 Purchase Mgmt Report

    67/96

  • 8/3/2019 Purchase Mgmt Report

    68/96

  • 8/3/2019 Purchase Mgmt Report

    69/96

    This project is an organic project so :-

    ab = 2.4

    bb = 1.05

    cb = 2.5

    db = 0.38

    Number of line of code in my project LOC=800

    LOC = 8000

    So, KLOC = 8000/1000 = 8

    E = 2.4 (KLOC)1.05

    = 2.4(8)1.05

    = 21.30

    = 21 person - months

    Now calculate the D is the development time in chronological months

    D = 2.5 (E) 0.35

    = 2.5 (21) 0.35

    = 7.25 months

    = 7 months approximately

    The computer project duration we use the effort estimated described

    above

    N = 21/7 = 3

    = 3 person

    Where N is the recommended number of people for the project.

    69

  • 8/3/2019 Purchase Mgmt Report

    70/96

    8. Reports

    70

  • 8/3/2019 Purchase Mgmt Report

    71/96

    9. PERT Chart, Gantt Chart

    9.1 PERT Chart

    Program Evaluation Review technique(PERT) Chart is mainly used for high

    risk projects with various estimation parameters. For each module in a project,

    duration is estimated as follows:

    5. Time taken to complete a project or module under normal conditions,

    tnormal.

    6. Time taken to complete a project or module with minimum time, tmin.

    7. Time taken to complete a project or module with maximum time,

    tmax.

    8. Time taken to complete a project from previous related history,

    thistory.

    An average of tnormal, tmin, tmax and thistory is taken depending upon the

    project.

    Beta Testing

    Programming

    SRS And Design Alpha Testing

    20 35 20 20

    15

    5

    20 20 20 10

    Writing User

    71

    11

    9

    10

    8

    7

    5

    6

    4

    3

    1 2

    User RequirementAnd Analysis

    Buy

    Hardware

    Installation WritingManuals

    Training User Test

  • 8/3/2019 Purchase Mgmt Report

    72/96

  • 8/3/2019 Purchase Mgmt Report

    73/96

    10. Future scope and further enhancement of the

    Project

    10.1 Further Scope

    A test system proposal according to its workability, impact on organization

    ability to meet users need and effective use resources; it focuses on the

    following three major questions:

    What are the users demonstrable needs and how does it need them?

    What resources are available for the given system?

    Is the problem worth solving?

    What is the likely impact of the system on the organization?

    Each of these questions has to be answered carefully. They revolve around

    investigation and evaluation of the problems. Identification and description of

    candidate systems, specification of performance and the cost of each system

    and the final selection of the best system.

    End User Support

    1. The proposed system is developed in ASP.NET and SQL

    Server.

    2. If organization increases users, it just has to add more machines

    and install the software on it, which is in the form of exe.

    Security

    Security features are implemented. No unauthorized access to the

    package, as the security is implemented through login and password.

    Last but one of the most important advantages of the Purchase

    Management System is that, this system can be used in any Govt. or

    Public organization, to process and manage their Purchase department

    working, with slight modifications.

    73

  • 8/3/2019 Purchase Mgmt Report

    74/96

    There is no doubt that there always remains some scope of

    improvement. The important thing is that the system developed should

    be flexible to accommodate any future enhancements. This system can

    be used to provide some enhancements without rewriting of existing

    code.

    74

  • 8/3/2019 Purchase Mgmt Report

    75/96

    10.2 Further Enhancement of the Project

    Everything that is made has some or the other things to be added to make it

    better than revolutions. The project Online Purchase Management System

    also falls in the same domain.

    Although it has been tried to develop a robust and fault free system, still

    enough flexibility has been provided for further enhancements and

    modifications. As I mentioned earlier that the designed forms are typically

    reflections of the developer, so I strongly believe that the enhancement to be

    done with the project to be done with the design changes, coding changes. But

    at the same time I would like to mention that since one can not claim himself

    as a master of the technology there is always some scope of technical

    modifications in the project that may lead to find code redundancy & storage

    space minimization.

    Since the data is retrieved from the tables where everything is based on

    the coding system if the coding system is changed then the system needs to

    be redesigned.

    The number of queries can always be increased when needed by the

    user just by modifying the code little bit, full concentration is maintained

    on the design of the system so that it can be easily modified.

    Design of the system can be changed in the sense of the flow of the

    control so that the coding can be decreased to a considerable level.

    The developed sub modules have all the related features but still

    improvement can be done. The developed package is flexible enough to

    incorporate the modifications or enhancements with less alteration.

    Purchase Management System can easily be incorporated in the ERP system,

    as it is in itself a separate module of other modules,

    In future web-enabled features can also be included in the software so that the

    information can be retrieved globally.

    75

  • 8/3/2019 Purchase Mgmt Report

    76/96

    11. Bibliography

    Black Book On ASP.NET

    Microsoft SQL Server 2000 in 21 Days

    by Richard Waymire, Rick Sawtell

    Software Engineering

    by Roger S. Pressman

    Software Engineering An Integrated Approach

    by Panka Jalote

    Referenced Sites

    www.msdn.microsoft.com

    www.w3schools.com

    www.vb.netcode.comwww.microsoft.com

    76

    http://www.msdn.microsoft.com/http://www.w3schools.com/http://www.vb.netcode.com/http://www.microsoft.com/http://www.msdn.microsoft.com/http://www.w3schools.com/http://www.vb.netcode.com/http://www.microsoft.com/
  • 8/3/2019 Purchase Mgmt Report

    77/96

    12. Appendices

    12.1 Introduction to Visual Studio.net

    Visual studio.net is a complete set of development tools for building ASP

    Web applications, XML Web services, desktop applications, and mobile

    applications. Visual Basic .Net, visual c++.NET all use the same integrated

    development environment (IDE), which allows them to share tools

    facilitates in the creation of mixed language solutions. In addition, these

    languages leverage the functionality of the .NET Framework, which provides

    access to key technologies that simplify the development of ASP Webapplications and XML Web services.

    Architecture is explained form bottom to the top in the following

    discussion:

    VB C++ C# Jscript

    77

    Common language specificationASP.NET Web services and

    Web forms

    Windows forms

    BASE Classes

    ADO.NET Data and XML

    Common language Runtime

  • 8/3/2019 Purchase Mgmt Report

    78/96

    1. At the bottom of the architecture is common language Runtime. The

    common language runtime loads and executes code that targets the

    runtime. This code is therefore called managed code.

    2. .NET Framework provides a rich set of class libraries. These include

    base classes, like networking and input/output classes, a data library

    for data access, and classes for use by programming tools, such as

    debugging services.

    3. ADO.NET is Microsofts ActiveX Data Object (ADO) model for

    the .NET Framework. ADO.NET is intended specifically for

    developing web applications.

    4. The 4th layer of the framework consists of the windows application

    model and, in parallel, the web application model. The Web

    application model-in the slide presented as ASP .NET includes Web

    Forms and Web Services .ASP.NET comes with built in Web forms

    controls, which are responsible for generating the user interface. They

    mirror typical HTML widgets like text boxes or buttons.

    5. One of the obvious themes of .NET is unification and interoperability

    between various programming languages. In order to achieve this;

    certain rules must be laid and all the languages must follow these rules.

    6. The CLR and the .NET Frameworks in general, however, are designed

    in such a way that code written in one language can not only

    seamlessly be used by another language. Hence ASP.NET can be

    programmed in any of the .net compatible language whether it is

    VB.NET, C#, Managed C++ OR JSCRIPT.NET.

    The .NET Framework

    The .NET Framework is a multi-language environment for building,

    deploying, and running XML Web services and applications . It consists of

    three main parts:

    78

  • 8/3/2019 Purchase Mgmt Report

    79/96

  • 8/3/2019 Purchase Mgmt Report

    80/96

  • 8/3/2019 Purchase Mgmt Report

    81/96

    To provide a code execution environment that minimizes

    software deployment and versioning conflicts.

    To provide a code-execution environment that guarantees safe

    execution of code, including code created by an unknown orsemi trusted third party.

    To provide a code execution environment that eliminates the

    performance problems of scripted or interpreted environments.

    To make the developer experience consistent across widely

    varying types of applications, such as windows based

    applications and Web based applications.

    To build all communication on industry standards to ensure thatcode based on the .NET Framework can integrate with any

    other code.

    Server Application Development

    Server side applications in the managed world are implemented through

    runtime hosts. Unmanaged applications host the common language runtime,

    which allows your custom managed code to control the behavior of the server.

    This model provides us with all the features of the common language runtime

    and class library while gaining the performance and scalability of the host

    server.

    ADO.NET

    ADO.NET is a set of libraries included with the Microsoft .NET Framework

    that help you communicate with various data stores from .NET applications.

    The ADO.NET libraries include classes for connecting to a data source,

    submitting queries, and processing results. You can also use ADO.NET as a

    robust, hierarchical, disconnected data cache to work with data off line. The

    central disconnected object, the DataSet, allows you to sort, search, filter, store

    pending changes, and navigates through hierarchical data. The Dataset also

    81

  • 8/3/2019 Purchase Mgmt Report

    82/96

  • 8/3/2019 Purchase Mgmt Report

    83/96

    communicate with various data stores through OLE DB providers. The SQL

    Client .NET Data Provider is designed solely to communicate with SQL

    Server databases, version 7 and later.

    Each .NET data provider implements the same base classesConnection,

    Command, DataReader, Parameter, and Transactionalthough their actual

    names depend on the provider. For example, the SQL Client .NET Data

    Provider has a SqlConnection object, and the OLE DB .NET Data Provider

    includes an OleDbConnection object. Regardless of which .NET data provider

    you use, the providers Connection object implements the same basic features

    through the same base interfaces. To open a connection to your data store, you

    create an instance of the providers connection object, set the objects

    ConnectionString property, and then call its Open method.

    Each .NET data provider has its own namespace. The two providers included

    in the .NET Framework are subsets of the System.Data namespace, where the

    disconnected objects reside. The OLE DB .NET Data Provider resides in the

    System.Data.OleDb namespace, and the SQL Client .NET Data Provider

    resides in System.Data.SqlClient.

    Namespaces

    A namespace is a logical grouping of objects. The .NET Framework is large,

    so to make developing applications with the .NET Framework a little easier,

    Microsoft has divided the objects into different namespaces.

    The most important reason for using namespaces is to prevent name collisions

    in assemblies. With different namespaces, programmers working on different

    components combined into a single solution can use the same names for

    different items. Since these names are separated, they dont interfere with each

    other at compile time. A more practical reason for namespaces is that grouping

    objects can make them easier to locate.

    Crystal Reports

    Crystal Reports for Visual Studio .NET is the standard reporting tool for

    Visual Studio .NET: it brings the ability to create interactive, presentation

    83

  • 8/3/2019 Purchase Mgmt Report

    84/96

    quality content-which has been the strength of Cryatal Reports for years- to

    the .NET platform

    Crystal Reports fro Visual Studio .NET is an Integrated component of the

    Visual Studio .NET development environment.

    12.2 Microsoft SQL SERVER

    Microsoft SQL Server 2000 is designed to work effectively as:

    A central database on a server shared by many users who connect to it

    over a network.