Purchase Mgmt Report
-
Upload
mohsin-ansari -
Category
Documents
-
view
217 -
download
0
Transcript of Purchase Mgmt Report
-
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.