Web Based Procurement Management
Web Based Procurement Management
E-procurement
Online procurement
Gedefon Abebe
School ofComputing
23/03/2017
Information System
ACKNOWLEDGEMENT
First, we thank to Almighty GOD for giving us the courage and perseverance in completing the
project. And we would like to give our regards and deep sincere of gratitude to our project
Advisor Azeb Mehari, (Head, Computer and Network Security Chair) for providing valuable
guidance at every stage of this project work.
And also, it is a great pleasure for us to also acknowledge the assistance and support of
all the people who helped us start and finish this project successfully especially Instructor
Selama G/Meskel(MSc.) who has been a great supervisor.
Finally we would like to express our deep sense and thanks giving to Guna Trading PLC,
mekelle branch and Mekelle University procurement and Property management Office workers,
their direct or indirect help has enabled us to complete this work successfully.
i
Abstract
In the past, there wasn’t any process for issuing a new tender online. All process were offline. If
any new tender was issued then the organization would give an advertisement on its website,
newspaper or any other media. Newspapers contain only few detail of tender, if any more details
are required then the contractors have to physically visit the organization. All process from issue
of a new tender to allocate a tender to the contractor would have to be done on paper and
personally. So the Bidder’s, contractor’s portfolio and bid details are managed manually. No
online registration and subscription were provided.
This e-procurement system (electronic procurement system) facilitates the complete tendering
process from the advertising of the requirement through to the placing of the contract on online.
All the Bidder details, corrigendum details can be shown online. In e-procurement system
Bidder can bid for the Product online and portfolio can be submitted at the time of bidding.
i
i
Contents
CHAPTER ONE.......................................................................................................1
1. Introduction..........................................................................................................1
1.1. Background of the Organization...................................................................2
1.2. Statement of the Problem..............................................................................2
1.3. Objectives of the Project...............................................................................3
1.3.1. General Objective...................................................................................3
1.3.2. Specific Objectives.................................................................................3
1.4. Scope and Limitation.....................................................................................4
1.5 Methodology......................................................................................................5
1.5.1 Observation:............................................................................................5
1.5.2 Interview:.................................................................................................5
1.5.3 System development....................................................................................5
1.5.4 Implementation Tools..............................................................................6
1.6 Significance of the System..................................................................................7
Chapter Two.............................................................................................................8
2. Requirement Analysis..........................................................................................8
2.1 Overview of the project..................................................................................8
2.2. Current System description...........................................................................9
2.3 Problem of Existing system..........................................................................11
2.4 Proposed System..............................................................................................13
2.4.1 Overview of the proposed system..............................................................13
2.4.2 Objectives of the project................................................................................13
2.4.3 Scope and limitation of the project................................................................14
2.5 Functional Requirements..................................................................................15
2.7 System Model...................................................................................................19
2.7.1 Use case model..........................................................................................20
2.7.2 Use case description...............................................................................24
2.8 Sequence diagram.........................................................................................29
2.9 Class Diagram...............................................................................................35
CHAPTER THREE................................................................................................37
i
i
3. SYSTEM DESIGN.............................................................................................37
3.1 Introduction...................................................................................................37
3.2 Purpose of the system...................................................................................37
3.3 Design Goal..................................................................................................37
3.4 Current software architecture........................................................................39
3.5 Proposed Software Architecture...................................................................39
3.6 Subsystem decomposition.............................................................................42
3.6.1 Component Diagram.............................................................................42
3.7 Software/Hardware Mapping........................................................................43
3.7.1 Deployment Diagram............................................................................44
3.8 Persistent Data Management........................................................................46
3.9 Access control and security..........................................................................49
3.10 Global Software Control............................................................................51
3.11 Boundary conditions...................................................................................51
3.12 Subsystem architectures..............................................................................52
CHAPTER - 4........................................................................................................53
4. System Implementation and Testing..................................................................53
4.1 Introduction...................................................................................................53
4.2 Objective of Implementation........................................................................53
4.3 Constraint of Implementation.......................................................................57
4.4 Error Handling..............................................................................................57
4.5 Testing..........................................................................................................58
4.5.1 Unit testing............................................................................................61
4.5.2 Integration Testing................................................................................61
4.5.3 Functional Testing.................................................................................62
4.6 Conclusion.........................................................................................................62
4.7 Recommendations for Future Work..................................................................62
4.8 Acronym and abbreviation, definition..............................................................64
4.9 References.........................................................................................................65
i
v
Table 1.Hard ware
requirement ...............................................................................18
Table 2. Software
Requirements ..............................................................................18
Table 3. Use case description for log
in ...................................................................24
Table 4. Use case description for
logout ..................................................................25
Table 5. Use Case Description for Create
Tender ...................................................25
Table 6. Use Case Description for Upload
Tender ..................................................26
Table 7. Use Case Description for Create
Invitation ...............................................26
Table 8. Use Case Description for Add criteria for
tender ......................................26
Table 9. Use Case Description for publishing blacklist and winner .......................27
Table 10. Use Case Description for Create and send
notification ...........................27
Table 11. Use Case Description for Prepare
Contract .............................................27
Table 12. Use Case Description for download tender
documents ...........................28
Table 13. Use Case Description for view
announcement ........................................28
Table 14.User
Information .......................................................................................47
Table 15. Product/service category name and Description .....................................47
Table 16. Errors and systems
respond .....................................................................58
Table 17. Test
cases .................................................................................................60 Figure 1. Use
Case diagram for bidder. ...................................................................21
Figure 2.Use case diagram for
manager. .................................................................22
Figure 3. Use case diagram for procurement
expert. ...............................................23
v
Figure 4. Use case diagram for
admin. ....................................................................23
Figure 5. Sequence diagram for create
users ...........................................................30
Figure 6.Sequence Diagram for
Admin ...................................................................31
Figure 7.Sequence diagram for Procurement
Manager ...........................................32
Figure 8.Sequence diagram for
expert .....................................................................33
Figure 9.Sequence Diagram for
Bidders/Suppliers .................................................34
Figure 10. Class
diagram .........................................................................................36
Figure 12.Internal structure of MVC software
Architecture ...................................42
Figure 13. Component
Diagram ..............................................................................43 Figure 14.
Deployment Diagram .............................................................................45
v
i
v
i
CHAPTER ONE
1. Introduction
Today, the use of technologies takes an increasing importance in our everyday life as it makes
the world a small planetary village, and this constitutes a major concern for our country. Ethiopia
Government plans to use the ICT for Development and National Information and
Communication infrastructure framework. Achieving the implementation of the ICT framework
in Ethiopia, requires the government to spread the use of high technologies in all government
institutions, which means, from offices to public academic centers to private academic centers.
To do so, the government of Ethiopia has started various programs to quicken (quick start) the
use of the ICT in the country.
As technology advances, the world tends to be more technology dependent, as a way to improve
their working environment. E-Business continues to grow and thrive as more organizations begin
to utilize the Internet infrastructure and align their processes. The same case is true for e
Procurement. Online solutions allow procurement officers to perform their tasks more effectively
and efficiently. Procurement is the acquisition of goods and services and it is favorable goods
and services be appropriate and procured at the best possible cost to meet the needs of the
purchaser in terms of quality, quantity, time and location. The procurement departments have
always been seeking effective ways to improve how the procurement process works. Bearing that
in mind, it seems fitting for the Guna trading house, to further embrace the use of the ICT, and
introduce the e-procurement system. The use of such a system could be of great importance,
because it should be very supportive in terms of easy storage of bids and easy access of results.
Traditionally, the bidders’ details had been kept manually on the shelves, and the evaluation
process of tenders was erroneous and lengthy. Again, bidders were having difficulties to access
results of their bids.
Online Procurement (E-Procurement) System is a website which is developed in PHP for helping
Suppliers to sell products through online and fix rates based on procurement procedure. This
website is also useful for posting classifies under different category. In present fast growing
information technology and software world web application are playing important role in
increasing business mainly online purchase related websites are growing fast in every filed.
1
The title of the project is E-Procurement For Guna Trading PLC. This means that the project is
aimed to build a website that can be accessed via the internet. This web site enables the Suppliers
to participate the e-procurement that held by the Guna trading PLC for buying products inside
and outside the Houses. Users can see the available e-procurement in the web site and can easily
apply to the procurement and participate simply in the place where internet access is there.
Guna trading PLC is private company established in 1992 located in Mekelle Ethiopia. It is
working in overseas business, import and export agents, food retailers, herbs and spices farming,
agricultural services, agriculture business activities. One among the funding members of the
holding company i.e. EFFORT. Guna trading house PLC. Is one of the founding member of the
corporate entity of endowment fund for the rehabilitation of Tigray (EFFORT) the company is
established according to the Ethiopian code of 510ff in 1992 G.C. it is legally registered as
“GUNA TRADING HOUSE PLC.” And its trade mark is legally protected in the Ethiopian
patent authority, certificate number 4653 Guna is established with a paid up capital USD 10
million and with an annual sales turnover of USD 100 million and it is mainly engaged in import
and export business activity. The company has about 410 well qualified and experienced
employees. The head quarter is located in Addis Ababa, behind to Jackros Residential units, Bole
sub-city, kebele 14/15.
The system has no security mechanism such as authentication and authorization; Lengthy
process on getting service.
2
No more tenders are participate due to luck of announcement delivery (can’t get
information easily since it is posted locally, even if TV and News).
The tenderers are take procurement manually and participate physically.
Deficult to manage the user request because the request is done manually to take thier
order as first come first serve.
It consume more personel power and material wastage like paper, pink related to printing
documents for the sake of procurement guideline for employment.
So we have developed this website to fix these problems by submitting tender details to a
dedicated tender site which will be visible for every company and apply for tender through this
web site .This process will reduce time and provide option for different companies respond to the
tender.
3
1.4. Scope and Limitation
The scope of the project will cover the system functionalities, technologies used, the targeted
users, system deployment and methodology. As a whole the system is focused to work with
Electronic Procurement system.
Due to time and resource limitation this system is mainly focuses on the following areas:-
After identifying the system the proposed system is not include the following points as limitation.
Distribute the material from the stock to the request department Generate Report when
the material received.
The system will not support money transfer
The project focuses only on open procurement, may not include other types.
The project only concern material request but not attending whether it is deliver to the
requester or not.
The project only selects with least bidder from the given entry, not from documents and
does not work weather they take the materials after they win or not.
4
1.5 Methodology
1.5.1 Observation:
When we observed the real system how to take procurement in the company it is very complex.it
is implemented in purchasing team tenderers participate physically and there are many
documents in the office that take earlier procurement in the company.
1.5.2 Interview:
In a project we have interviewed Mekelle University Procurement department and Guna Trading
purchasing team coordinator to understand organizational directions, policies and expectations,
managers have on the units they supervise and other non-routine aspects.
JavaScript also provide the facility for validating user input. Data is validated before submitting
it to the server and hence server is saved from extra processing. And it is also easy to do image
animation based on its function.
HTML
5
Hypertext Markup Language (html) is a language in which web Pages are written, documents
displayed over the internet. It is platform Independent language that is predominantly used the
web and web base applications.
CSS
Cascading Style Sheets, or CSS, allow you to specify things like the font we want on your page,
the size of your text, whether the page is to have lots of columns, whether the text is to be in bold
or italics, and so on. In other words, it is the part that lets you control the appearance of your web
page.
PHP
PHP makes it possible to create pages that changes depending on the data given to PHP, for
example we can show a different page to people from different countries or we can show a
different page depending on what was posted recently on the page.
Software tools
The Suppliers of the commodities are not left out. With the use of the Internet, Supplier
can make bids and place their bids from the comfort of their own homes.
Carrying out procurement sales over the internet not only reduces costs on both parties
(buyers and sellers) but raises security, provides better comfort for customers, affords
the customers increased privacy, etc.
Buyer (Guna) will not limit on local products since they can make bids for products
from anywhere.
Making the procurement process effective.
6
Can provide updated information at any time about the procurement status.
Saves time and resource expenditure for both bidders as well as procurement
participants.
There is no time constraint on which bids can be placed at any time (24/7). Items are
listed for a number of days so it provides a chance of giving bidders time to search,
decide, and bid.
There is no geographical constraint so Sellers or bidders can participate from anywhere
that has internet access.
Generally it helps the buyers and sellers to concentrate on online activities instead of following
advertisements and magazines
Chapter Two
2. Requirement Analysis
2.1 Overview of the project
E-Commerce has been defined as "any electronic communication that facilitates the exchange of
goods, services or other assets between suppliers and buyers. Ecommerce includes all forms of
electronic trading including EDI (electronic data interchange), electronic banking, electronic
mail, e-procurement and other online services.
E-procurement tools have been used by several organizations to purchase direct and indirect
materials for processes such as operations, sales, administration and maintenance, construction
related items, cleaning solvents, and transportation services, among
7
others. This procedure allows the organizations to have a decentralized purchasing decision, in
which only the accredited suppliers can be seen in their purchasing systems, through for example
e-catalogues.
One of the tools used within the e-procurement process is the e-RFQ (Electronic Request for
Quotation), where the quotation is requested online in a platform set by the buyer (Guna) in
which the form for the quotation is uploaded and the supplier can only update the information
requested. Another tool used in e-procurement is e-auction, where the number of suppliers can be
maximized while the workload is minimized and through which negotiations can be completed in
a short time with great saving potentials, though procurement and related documents uploading
and downloading.
When the Trading House want to buy goods or materials, first they organize a committee that
identifies the type of goods that should be buy, after the identification they propose the goods to
the highest body in the organization; then the highest body of the organization assess the goods
that provided by the auction committee and then it decides whether they should be buy or not.
The existing system has procedures that must be followed according to the law and regulations of
tender in Ethiopia. We have spent time at analyzing, interviewing users and observing the way
they prepare tenders. After the approval made by the highest body, the company brings it to the
media, and the committee decides the place where procure should be held and the starting and
closing date of auction.
8
During the procurement planning process and the preparation of bidding documents, the
procurement shall ensure that there is sufficient budget allocation.
The Procurement Unit prepares the bidding documents and incorporates the technical
specifications based on the standard bidding documents. The bidding document is prepared based
on the approved annual procurement plan which provides important details like quantities, cost
estimates, method of procurement etc. Once the bidding document is ready it must be given to
the Tender Committee which will review and provide comments. The bidding document is then
finalized. In accordance with the procurement law, the bidding document should provide the
following information:
a. The specific requirements relating to the goods, works or services being procured and the
time limit for delivery or completion;
b. The general and specific conditions governing the contract, if the performance security is
provided;
c. The tender number assigned to the procurement proceedings by the procuring entity;
d. Instructions for the preparation and submission of Bidders including:
The bid form;
The number of copies to be submitted with the original bid; Any bid
security required, the form and amount of such security;
Any proof evidencing the bidder’s qualifications.
A statement of where and when tenders shall be submitted,
A statement of where and when the tenders shall be opened;
A statement of the period during which tenders shall remain valid;
The procedures and criteria for bid evaluation and comparison;
A statement that the procuring entity may cancel the bids at any time
before the signing of the contract;
Anything else as may be provided by the bidding document in accordance
with this Law or public procurement regulations.
After the house announces the venue and the items for auctions to the general public through
electronic or print media; The sellers who wish to take part in the
9
auction should first take the document (the form that contains the list of materials which are
proposed to be buy or wanted documents and other documents with a blank space that bidders
will fill the price they wish) and then arrive at the venue of the auction on the given date and time
with the necessary document. This method restricts most of the interested bidders out of the city
or region to decline their offer or interest as they can’t be available on the day of auction.
Another flaw of this method is the piles of paper work that has to be maintained then keep it save
for the future. They have to keep track of the bidders and the sellers until their final settlement.
Bidders submit bids that they want with in post which is sealed by wax and put it in an auction
box. This process requires physical presence of the bidder himself/herself or by their agents.
When the bidding time expires the auction process will be closed. After the closing date of the
process then the Trading house collects these bids from the sellers and evaluate these bids.
Finally the auction committee decide the winner bidder who bids lowest will be selected. Then
Guna pays the required amount of money for the seller and in turn the winner gives the material.
The buyers and branches, their notices and documents, contractor’s records and bid details are
managed manually. No online registration and subscription provided.
The bidding process which involves both the technical bid and the financial bid is not automated.
Bidders send the necessary documents like their tax and certificate, technical resources data and
their quotations through post.
In the bidding process, technical bid is the first stage if the materials need specification wherein
the bidders have to give the proof of his solvency and the data about his financial position. Then
he is required to give the details of the technical resources available with him. Both the technical
bid and the price bid are kept in two separate covers which are again kept in one main cover.
Only those bidders’ price bid is opened whose financial records and technical bid are
satisfactory. Earned Money Deposit of those bidders who are not qualified at the technical bid
stage may be refunded or returned, in form of CPO.
After proper evaluation, the final bid is selected and the bidder whose bid is selected will have to
pay some amount as a security deposit. This amount will be adjusted later on.
1
0
2.3 Problem of Existing system
The problem with public auction is that the participation of the general public is very limited.
This public auction is managed manually and involves lot of paper work. Another headache of
the current system is to track each bidding process and to make it finish in financial settlement.
In present, there is no any process online for issue a new bidder. But all process work offline on
paperwork. If any new buying is issue then organization gives an advertisement in TV,
newspaper or any other resources. Newspaper contains only few detail of materials, if any more
detail required then suppler physically visit the organization. Manual procurement transactions
can take up to 20-30 days to process, including all the time spent exchanging paperwork and
contacting suppliers etc. An integrated e-Procurement solution can be used to simplify the
procurement process.
1
1
The existing system has many problems associated with it, for instance: it wastes time
for recording the process of tender information.
In the existing system, the process of evaluating tenders takes a lot of time to do
analysis and to compare documents as they (users) write down and also remember
they have to search for the documents they want manually.
It is hard to get reports on time because they have to write manually. In other words,
each record they keep is not in the format of reports, and at the time of issuing the
report, they have to type it manually.
Bidders who need to sell the things, he attend the place of bidding.
It covers only limited Area, Bidders far from the organization will not participate.
Limited Bidders and Sellers.
The motto of the new system will be AAA, 'Anyone, Anytime, Anywhere'. That what it really is?
The "E-procurement" is online auction house so the bidder doesn't need to go anywhere, instead
they can take part in the auction just sitting in the comfort of their living room, be it during the
day or night.
To automate the bidding process and provide the tender details online:
The tenders should be able to make a bid online. All the important details of the tenders
should be made available online. Tender and procure notices should be displayed as well.
To check the status of Tenders
1
2
Such a facility will enable the contractors to know the status (Allocated/Non-Allocated)
of the tenders easily and quickly.
Faster retrieval of information:
Retrieval of information becomes easier compared to the manual system.
Details regarding bidders, feedback, documents etc. are available easily.
6. Implement the level of security so that every user will be able to access the information
according to their role in the system.
7. This new system will avoid the duplication of data that leads to consistency of data.
Limitation
This functional requirement allows for the user registration of new Procurement Officers and
Tenderers/Suppliers to the E-Procurement system. The registration process must ensure the
confidential transfer and storage of necessary personal Information of users. Furthermore,
mechanisms may be put in place for the validation of the information provided by new users of
the system.
Hence, the registration process may be performed in two phases. One phase can allow new users
to apply for registration to the system, and another phase can allow authorized personnel to
validate the submitted information and approve or reject a registration application.
1
4
FR2. Document Uploading and downloading
This functional requirement relates to the ability of the E-Procurement system to store
procurement information of its registered users. Users can upload and download documents if
required. This procurement information; can be used for several other functionalities of the
system, including reporting, automated notifications, etc. Moreover, upload and download can
allow users to setup their preferences when using the system, in terms of how data is searched,
displayed, etc.
Select the bidder who puts smaller payments or least price, but this may not be used for
concluding the winner is the one who puts smaller amounts of birr for their supply may not be,
because of technical documents.
1
5
FR5: Announce winner
Thus bidders whose technical documents match or exceeds the wanted documents by the
procuring organization (Guna trading) will be selected and their financial documents will be
opened; whose financial documents with least price is selected; winner will be announced online.
For whom who wins with the least prices, and losers will be announced and rewards the letter.
Contract is send to the winner and the winner download the contract files.
Security requirements:-This system should be secured on which the user’s data must be
transmitted confidentially. We will handle this by making the system’s back-end server
accessible for only authenticated users or it should not allow non-authorized users to access the
system. We will provide a way by which a user can enter to the procurement system by signing
in so that s/he can have access to all the services. Then this system will keep Member
information securely.
Reliability requirements:-This system will provide backup databases, these databases will be
maintained and updated in a consistent manner and this helps users to gain reliable services. And
also it will be executed by using any type of web browsers, operating systems either Windows or
Linux and can run on Computers, Laptops.
Usability requirements:-The new system should be usable. It will use visual (GUI) and
interactive features. It will have easily browse able pages, which are consistent. An online
1
6
documentation on how to use the system shall also be included to make it easy for users of the
Auction system. In times of errors made by any user, the system will guide the user to solve
problems and response time of the system should be fast enough to display each page when a
user browses.
We have put the requirements for electronic procurements system as shown below
1
7
2.7 System Model
Scenarios
Business rules are statements about the enterprise’s way of doing business. They reflect business
polices. Organizations have policies in order to: Satisfy the business objectives, Satisfy
customers, make good use of resource, and conform to laws or general business conventions.
Business rules become requirements, that is, they may be implemented in Software as a means of
requirement of this software system.
BR1.The tenderer should provide receipt which certifies the tenderer as he/she paid the current
tax.
BR2.The tenderer must submit the bid before closing date of the auction.
BR3.The tenderer must pay a specified amount of money in casher payment order (CPO) for
auction before taking part in the auction.
BR4.If the tenderer is not willing to supply the goods after he/she won, the initialization payment
will not be returned, subsequent winners award
BR5.If the organization gets any chance which is better than the auction, he/she has the right to
cancel the auction.
BR6.The auction will be closed if and only if the specified auction date is over or Organization
gets other means.
BR7.For the supplier to participate in the auction process must fill the valid auction document
form.
Use case diagrams consist of named pieces of functionality (invoking the functionality (actors
use cases (subjects).
1
8
Use cases, which describe how people interact with the system. Use cases give you a structured
way of capturing the behavioral requirements of a system, so that you can reasonably create a
design from them. They help you to answer some fundamental questions:
Actor: An actor represents any outside entity that interacts with your system. It may request
services from your system; and it may perform services for your system. An actor can be a
person; but it may also be another system, or perhaps a device such as a printer.
The detailed descriptions of these use cases represent the requirements of the system. Here we
have 4 actors; Procurement Admin, Procurement Manager, Procurement expert and Suppliers.
But one more actors here, Procurement committee, whose roles feedback technical documents
and contract agreements, so that not included in the system, because of they only need technical
documents, and this technical documents should be available for them in softcopy.
1
9
Figure 1. Use Case diagram.
2
0
Figure 2.Use case diagram for manager.
2
1
Figure 4. Use case diagram for admin.
2
2
Description The tenderer open website home page and click login button to go his
own page
Name Login
Pre-condition The actors go to the site home page and login
Post condition The actors login in to his own page
Basic Course of 1. The actors request login
Action 2. The actors get login form
3. The actors fill the requirement.
4. The System approves login
5. End of use case
Course of Action A2. The system asks to fill the appropriate information.
ID 2
2
3
Flow of event 1. After finishing access the system, the users will logout the system.
ID 3
Primary Actor Procuring entity (Procurement expert, manager), Administrator.
Preconditions: A valid procuring entity logged on to the system
Flow of event 1. After finishing access the system, the users will logout the System.
ID 4
Primary Actor Procuring entity, Administrator.
Preconditions A valid procuring entity logged on to the system
Flow of event 1. Choose Upload tender menu
ID 5
Primary Actor Procuring entity, Administrator.
Preconditions A valid procuring entity logged on to the system
2
4
Flow of event 1. Choose create invitation menu
ID 6
Primary Actor Procuring entity, Administrator.
Preconditions A valid procuring entity logged on to the system
Flow of event 1. Choose add criteria menu
ID 7
Primary Actor Procuring entity, Administrator.
Preconditions A valid procuring entity logged on to the system
Flow of event Procuring entity create a report of all bidders and who are fail in
evaluation and who is win and publish it.
Post conditions:
Table 10. Use Case Description for Create and send notification
Use case name Create and send notification
ID 8
Primary Actor Procuring entity, Administrator.
Preconditions A valid procuring entity logged on to the system
2
5
Flow of event 1.Choose create and send notification menu
ID 11
Primary Actor Public, bidder.
Preconditions
2
6
Flow of event 1. From main page
Sequence diagram shows simple interactions between objects arranged in a time sequence. It
shows the objects with their lifeline and the exchange of messages between objects. If may also
show the creation of new objects. The sequence diagram shows if the object is activated with a
rectangular lifeline. When an object is not active, just existing, and cannot be activated again.
The lifeline can be split into two or more concurrent lifelines. Each lifeline corresponds to a
conditional branch in the message flow. The separate lifeline can merge together at some later
point in time. Along the time axis timing marks can be specified. These timing marks can be
used to give constraints, like specify the maximum time a message exchange may take.
2
7
Figure 5. Sequence diagram for create users
2
8
2
9
Figure 6.Sequence Diagram for Admin
3
0
Figure 7.Sequence diagram for Procurement Manager
3
1
Figure 8.Sequence diagram for expert
3
2
2.9 Class Diagram
A class diagram describes the types of objects in the system and the various kinds of static
relationships that exist among them. Class diagrams also show the properties and operations of a
class and the constraints that apply to the way objects are connected. The UML uses the term
feature as a general term that covers properties and operations of a class. A class represents the
operations and attributes of one or more objects within your system.
Notation:
Class
-Attributes
+ Operations()
In UML, a class appears as a rectangle broken into three sections. The top section identifies the
name of the class, the middle section lists the attributes of the class, and the bottom section lists
the operations of the class.
A relationship is a connection among things. The three most important relationships are:
Dependency is a relationship between two elements where a change to one element (the supplier)
may affect or supply information needed by the other element (the client).We use dependencies
to model relationships between classifiers where one classifier depends on the other in some
way, but the relationship is not really an association
The next step of the design phase is to draw an UML Class Diagram of the system. Since the
programming language of the system is an object oriented one, an UML Class Diagram is
particularly adapted to show the classes of the system, their inter-relationships, and the
operations and attributes of the classes.
3
3
Figure 10. Class diagram
3
4
CHAPTER THREE
3. SYSTEM DESIGN
3.1 Introduction
This system is developed through object oriented methodology approach. Object oriented
methodology allowing the system to have Object Oriented property that is data abstraction,
inheritance, polymorphism and class and objects. Generally the system uses this methodology to
make the system effective, efficient and easily understandable.
This system has different type of class type architecture such as user interface, process/control,
business/domain, persistence and system layers and also different type of system modeling
techniques that are used for the implementation of the system such as class, component and
deployment modeling.
The system design processes the idea and converting into a solid design.
The basic goal of system design is to plan a solution for the problem. This phase is composed of
several systems. This phase focuses on the detailed implementation of the feasible system. It
emphasis on translating design specifications to performance specification. System design has
two phases of development logical and physical design.
Our system designing phase is on the bases of object-oriented system approach, this designing
phase uses sequence and other diagrams to model the system. The design phase is the interface
between the requirement specification and the implementation part. One of the importance’s of
this phase is to clarify specifications as it clearly represents the blue print of the actual system.
3
5
Security: The system should be designed to prompt the user with password and
user name. This provides security in such a way that unauthorized users can not
have access to the system’s resources. Moreover, the system should be designed
to reject invalid user inputs to ensure the system’s robustness for all interacting
users.
Maintainability: the system should be extensible enough to incorporate
functionalities and easy modifiable.
User Interface: Our system provides user friendly and self-explanatory graphical
user interface that eases the interaction of the user with the system, it also has
helping contents that for how to use the system
Robustness: Since error handling and extreme condition is one of the
nonfunctional requirements of the system to handle wrong user action. Invalid
user input or any incomplete information that may encounter errors, the system
should withstand invalid input so that it will function under those condition if the
users types invalid text query, also it should generate a means to kindly handle
the situation to formulate the query again.
Reliability: The system should be reliable and consistent so that it provides the
correct result in all circumstances unless an error is encountered. If an error
occurs the system will traps the error in the input and notify the user to take
appropriate corrections.
Availability: The system is web based or online system so it will be accessible 24
hours per day and 7 days per week unless some problems happened like
connection failure, power failure and other; basically server will not off, since
alternative power. And also the system accessible from any system that can
operate internet access (like computers, smartphones, tablets and soon) and will
be accessible anytime a user would want to use the system.
Easy to use: This system will have a well-defined and easily understood
interface. The processes will be easy to understand and use by a user’s.
Data integrity: The system to maintaining and assuring the accuracy and
consistency of data over its entire life-cycle, and is a critical aspect to the design,
3
6
3.4 Current software architecture
Software architecture is the structure of the system, which comprise software elements, the
externally visible properties of these elements, and the relationships among them. The current
software architecture found in Guna trading house for registering suppliers, Documents, bidders
and biding detail using a manual document architecture. So we can say that the trading house
has no specified architecture; there is no any software architecture used.
Architecture is a set of significant decisions about the organization of a software system. Such
decisions include:
The main elements of e-procurement system are Guna trading house and Suppliers. Through this
system, Guna Trading Post products with announcement to bidders, publish tender related
information, get proposals, etc. On the other hand, vendors participate in tenders, get tender files,
and etc. Shortly, E-procurement facilitates data sharing among them.
Notification
Bidder Registration
Bidder Upload/Download
Proposal upload/download
3
7
Bidding Data
Presentation layer Informatio
Account data
Bidder data
Procure data n Infrastructure
Conceptual
Proposed Model
This system will be built in a web based environment to allow users to access the system
anywhere and anytime. The identified main users are Procurement expert, Procurement manager,
bidders/suppliers and administrator. The users have different roles when using the system and
they will be connected to the database by interface. This interface will make the process of
system user’s activities easier and practical.
Software architecture defines the components of a software system and their inter-dependencies.
Model–View–Controller (MVC) is a software architecture which provides to implement the
visual, data and processing code parts independent. For example the Model unit is a collection of
classes in communication with the other parts. It is the process unit, processes the task ordered by
the Control Unit. View unit is the place to deal with the presentation of the data to the end user. It
can get the data from both Model and Controller unit. Also it can send interactive data to both
units. Controller part is the main part of the structure. If we want to concretize the architecture,
(MVC C is the brain, M is the nerves and V is the move). Internal structure of MVC
Architecture is given in Fig below
If we choose MVC architecture as our proposed software architecture because it becomes widely
used as architecture for object-oriented software. It has a capability of supporting user
requirements that are presented through differing interface styles. It supports modifiability and
portability. In particular, allows one to change the functionality related to one class (e.g.
Suppliers), without changing others (e.g., Procurement notice.) Also,
3
8
makes it easier to port a system to different I/O devices. This architecture is best suited for
software system where user interfaces play an important role. But we have choose procedural
paradigms.
Low deployment and maintenance costs: Even if accessed by many users from
different locations the system can be fully managed and maintained by operating on
the central server; no intervention is required to install or maintain workstations.
Access from anywhere: Users can access the system from any workstation running a
generic Web Browser that support both local and remote connections through the
internet.
High Data Security: End users can access the system data only through the
application layer which implements appropriate business rules to allow only
authorized operations based on the actual user permissions; no direct access to the
physical database is needed.
High System Reliability: The centralization of the data allows efficient monitoring
and backup procedures; no data is stored on clients.
3
9
Figure 11.Internal structure of MVC software Architecture
4
0
Figure 12. Component Diagram
The E-procurement system will have three main components: the client, the web server and the
database server. The web server will contain all subsystems. The database server will use
MySQL database and will handle all persistent data storage. Again, the client will access the
Electronic procurement system website through their web browsers (i.e. Mozilla Firefox, Google
Chrome, IE browsers). The web server and the database server will be hosted on the same
physical machine. However it is possible to place on separate machines as desired.
4
1
The proposed system is expected to replace the existing manual system by an automated system
in all sides. The architecture used for the system is a 3 tier Client/Server Architecture where a
client can use Internet browsers to access the online web sites provided by the system within the
Wide area network anywhere using the Internet. The data tier maintains the applications data
such as Supplier data, Bid data etc. It stores these data in a relational database management
system. The middle tier (web/application server) implements the business logic, controller logic
and presentation logic to control the interaction between the application’s clients and data.
The controller logic processes client requests such as requests to view current bids, to register
supplier details or to retrieve data from the database. Business rules enforced by the business
logic dictate how clients can and cannot access application data and how applications process
data.
The most commonly used web servers are Internet Information Server (IIS) and Apache. The
web server we used in this system is Apache. HTTPS is used to transfer data across an Intranet or
the Internet. It is the standard protocol for moving data across the internet. The client tier is the
applications user interface containing data entry forms and client side applications. It displays
data to the user. Users interact directly with the application through user interface. The client tier
interacts with the web/application server to make requests and to retrieve data from the database.
It then displays to the user the data retrieved from the server.
The client tier, that is responsible for the presentation of data, receiving user
elements and controlling the user interface.
The application server tier, that is responsible for the business logic of the
system. In fact, business-objects that implement the business rules online here,
and are available to the client-tier. This tier protects the data from direct
access by the clients. For the project, we used Apache as application server.
The data server tier, that is responsible for data storage. As data server, we
used MySQL, an open-source relational database.
4
2
Figure 13. Deployment Diagram
The system is depend on a relational database to perform day-to-day operations and storing data.
Data will be stored in a MySQL, DBMS and manipulated through the Database Subsystem,
which will ensure integrity and consistency of the data. It allows the database to be easily
integrated with and accessed by the rest of the system. The database will retain customer
information (Employee and Bidders, winners, email, phone, and
4
3
address and soon), Awards and contracts, and procure organization information, Helps, and
Procurement’s detail. Whenever possible, the data itself will be used as a primary key – in the
case of the Supplier’s information table, the account would be unique to each user. An individual
could not have more than one account.
Each of the data items will be in a separate table. Database Subsystem will contain all necessary
SQL queries that will be accessible by the rest of the Subsystems. The Database will be hosted
on Database Server and will be accessible 24/7 via local or public network.
The overall objective in the development of database technology has been to treat data as an
organizational resource and as an integrated whole. DBMS allow data to be protected and
organized separately from other resources. Database is an integrated collection of data. The most
significant form of data as seen by the programmers is data as stored on the direct access storage
devices. This is the difference between logical and physical data.
Database files are the key source of information into the system. It is the process of designing
database files, which are the key source of information to the system. The files should be
properly designed and planned for collection, accumulation, editing and retrieving the required
information.
User Information: table stores the user details of those who register at system (Procurement
Expert, Manager, Suppliers, and Admin)
4
4
Role(Level of ) Text
Birth Date Date Time
Address(Phone) Alphanumeric
Email Varchar
Category Table: types of procurement (Product/service category name and Description)
Table 15. Product/service category name and Description
Field Type Constraints
Lot Num Text Primary Key
Cat. Name Text
ProdCat.Desc. Text
4
5
Closed Bid: stores the Closed Bid details
Field Type Constraints
Closed Bid ID Number Primary Key
Prod ID Number Foreign Key
Final Amount Money
Closed Date Date Time
Seller Notify String
Access Control
The access control to each of the database is all controlled by the Application subsystem
(business tier). This subsystem will be responsible for determining user’s privilege and granting
them the access to create, view, update or delete operation on the database.
Security
Authentication mechanism: Identifying and authenticating the user using user name,
password
Database Security: Varying level of access control will be provided to different users of the
system to maintain the database security. Access control will be differentiated based on the
4
6
access privilege provided to each user as stated below. Besides this security majors the system is
users divided in to 4 Roles each having different permission level.
E-procurement project covers security issue including posting auctions, announce the winner by
using email notification, checking customer, and tenderer bank account in the administrative
permission.
Administrators
The administrator can access the entire module as needed including managing users. This the
super user capable of maintain the system this user have the ability of performing any operation on the
database server (except editing supplier financial proposal total amount of money).
modifying
posting
approve request
approve registration
session managing as administrative permission
Bidders
check awards
Uploads documents
Upload, reserve auction money (CPO)
see auctions and apply to auctions
register and get account from administrator
Manager
4
7
Procurement Expert
As a dynamic website, when a user is presented with a web page they will have the option of
clicking on a number of links. When a link is clicked, a function in the system management
subsystem will be invoked. Functions in a subsystem may call other functions within that same
subsystem or they may communicate with other system using the interface provided in those
subsystems
Shut Down:
Logging in:
User settings
4
8
Supplier Registration
User Registration Module - Those who wish to take part in bidding or sell products at the site
have to register at the site as seller or suppliers. Only authenticated users can take part in selling
or in bidding. The system automatically rejects un-authenticated users who try to bid or sell at
the site.
Products Module - This module is for presenting items for bidding. Only those who have
registered and authenticated as sellers can place their articles for bidding. The Module collects
information like Product Name, Product Details, Open Date, Closing Date etc. The system
automatically inputs the closing date.
Bidding Module - The module is for bidding on any selected item. The bidder has to authenticate
before participating in bidding. The system places the record in the bid history against the bidder
account.
Notice Module - This page is an interface for seller. Suppliers can see the profile of the bidding
history of items which are still open on which he/she has already bided, winners, bidder results
and award and contract Documents.
Feedback and Help - The purpose of the page is to send messages/comments to the web
administrator or Managers. And also this page is meant for first time users of the site. The page
provided answers to questions which are common and frequently asked.
4
9
CHAPTER - 4
Implementation includes all those activities that take place to convert from the old system to the
new. The old system consists of manual operations, which is operated in a very different manner
from the proposed new system. A proper implementation is essential to provide a reliable system
to meet the requirements of the organizations. An improper installation may affect the success of
the computerized system.
The objective or goal of the implementation phase is to construct (describe) all what have been
designed in the previous development phase (i.e. Design phase). Specifically, it is to implement
the system by PHP and MySQL. The system contains many pages and user interfaces. These
pages are combined in one server to be a system as a whole. Generally, the objective of this
phase is to demonstrate how the system or website works.
5
0
We have include some User interface and sample codes
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
5
1
<title>Gunna Trading e-Procurement</title>
</head>
<body> <?php
include "header.php";
?>
<div class="container">
<div class="jumbotron">
<div>
</div>
<div>
<?php
include "table.php";
?>
</div>
<h3 align="center" > <a href="#">click here to view latest active bidders</a>
<p>In today's world internet is the most popular way of connecting with the people. At
<a href="#" target="_blank">E-procurement portal of Guna trading</a> facilitates all the
suppliers organizations to access their tender enquires, documents, and awards of contract
details. the sytem also enables the users to migrate to partial electronic procurement mode.</p>
5
2
<p align= "center">View information on contracts that have been already
awarded.</p>
</div>
<div class="row">
<div class="col-xs-4">
<h2>About Us</h2>
</div>
<div class="col-xs-4">
<h2>Branch</h2>
</div>
<div class="col-xs-4">
<h2>Services</h2>
<p>export </p>
</footer>
</html>
5
3
4.3 Constraint of Implementation
Errors could happen in two ways. One is, if a user tries to proceed without providing required
information. For instance leaving input fields empty and try to continue. Or errors also occur
when a user tries to insert invalid data into the database. For example if a user tries to insert
numerical values to a text box which accepts only letters like name field, it will also create an
error. Any system to be a good system it should handle errors and exceptions carefully. As a
result to handle the different errors in our system we used different mechanisms like popping up
message boxes which tells a user made an error and an error provider(placeholder) which appears
just inside the text box in which the error is committed so that the user will easily correct the
error.
1. Try to insert empty record When click on submit it says this field is
required if the field is empty
(Form Validation)
2. Try to insert characters or text instead When click on save submit it notify to input
of numbers(Form Validation) numbers only
3. Try to login to the system with wrong Invalid password and username please try
username and password again!
5
4
4.5 Testing
Software testing is a process of verifying and validating that a software application or program
meets the business and technical requirements that guided its design and development, and works
as expected. Software testing has three main purposes: verification, validation, and defect
finding.
The verification process confirms that the software meets its technical specifications. A
specification is a description of a function in terms of a measurable output value given a
specific input value under specific preconditions.
Validation is the process of evaluating a system or component during or at the end of the
development process to determine whether it satisfies specified requirements.
A defect is a variance between the expected and actual result. The defect’s ultimate
source may be traced to a fault introduced in the specification, design, or development
(coding) phases.
System testing is a critical aspect of Software Quality Assurance and represents the ultimate
review of specification, design and coding. Testing is a process of executing a program with the
intent of finding an error. A good test is one that has a probability of finding an as yet
undiscovered error. The purpose of testing is to identify and correct bugs in the developed
system. Nothing is complete without testing. Testing is the vital to the success of the system. In
the code testing the logic of the developed system is tested. For this every module of the program
is executed to find an error. To perform specification test, the examination of the specifications
stating what the program should do and how it should perform under various conditions.
There are two basic techniques of software testing: black box testing and white box testing.
Black box testing (also called functional testing) is testing that ignores the internal mechanism of
a system or component and focuses solely on the outputs generated in response to selected inputs
and execution conditions. White box testing (also called structural testing and glass box testing)
is testing that takes into account the internal mechanism of a system or component. Testing
involves the following checks
Validation
Validate the HTML
5
5
Validate the CSS
Check for broken links
Flexibility
Try varying window sizes
Try varying font sizes
Speed
Access the site via a CABLE
Check image size specifications
Test for accessibility
Browser independence
Try different browsers
Check printed pages
Switch JavaScript off
Switch plug-ins off
Switch images off
Other checks
Check no orphan pages
Check sensible page titles
And also we have included major cases as test cases in table below
TEST CASES
No. Test cases Case Type Expected Result Actual Result Pass/Fail
5
6
Wrong System throws an System display Fail
User name error and prevent Message like
or from login
Password “wrong
username or
password”
Manually code is tested like spelling checks, logics and errors. Once the manual checking is over
the complication has been done. Syntactical errors if any have to be corrected. After the clean
completion the program, some dummy data, as specification, has been used for testing of the
module to see if it works as specified.
We implemented the proposed system by putting all the necessary information from the design
phase. We organized all the functionalities of the system in a way that can be changed into a
fragment of code for each pages (e.g. login page, Post procurement, Registration pages)
5
7
4.5.2 Integration Testing
As the name suggests, in integration testing the idea is to test how parts of the system work
together; the integration of the parts. Integration tests are similar to unit tests, but there’s one big
difference: while unit tests are isolated from other components, integration tests are not. For
example, a unit test for database access code would not talk to a real database, but an integration
test would.
E-procurement sub systems need to have tests to verify that each separate sub systems; like
winner’s page and tender results page. As a result when validating integration test results, could
validate a database related test by querying the database to check the database state is correct.
We use a unit test to test an individual function and an integration test to check that two parts of
the play nice. Functional tests are on a whole another level. While we can have lots of unit tests,
we usually want to have only a small amount of functional tests. This is mainly because
functional tests can be difficult to write and maintain due to their very high complexity. They
also run very slowly, because they simulate real user interaction on a web page, so even page
load times become a factor.
4.6 Conclusion
E-Procurement System can improve the procurement process significantly. It can help in terms of
having an easy access on data, easy storage of data and in the evaluation process in the procuring
unit of the Guna trading. The project improves the quality of existing operations in Procurement
system in Trading House. It is considered to be successful with the objectives met and with the
new system working as it should be.
Electronic Procurement, as one of the ICT initiative, is perceived to be an alternative that leads to
better and more effective public procurement management by overcoming many traditional
paper-based problems. E-Procurement process brings essential benefits for both the Trading
5
8
House and the Suppliers. It provides an open purchasing environment that facilitates
interoperability between them in order to conduct public procurement activities.
One of the recommendations for the future work is to improve E-procurement according to the
recommendations given by the examiners, the presentation.
The future enhancements that can be done are to solve these limitations:
Edit bid facility could be added in the bidding module.
Bidding Payment, Tender Fees, integrate with bank
Procurement request from different department
Amharic language support
E-signature for CPO approval
Send contract documents to individual supplier when they wins
System should analysis technical and financial documents based on criteria given
Mobile SMS Alert to Client regarding Tenders could be provided
5
9
4.8 Acronym and abbreviation, definition
e- Procurement is an important aspect of Programmatic buying, which is getting more
and more popular in Display (related) advertising. Another major part of online
advertising is Sponsored search
Bid: refers to offer from a bidder
Bidder: means any potential participant or participant in public procurement
proceedings.
Contract: means the agreement between the procuring entity and the successful
bidder.
Goods: means objects of every kind and description including raw materials,
products, equipment’s.
Procuring Entity: means National Government authority, Local Government
authority, Suppliers, public institution, commission, Government Projector any
specialized institution engaged in procurement process and entering in contract with
successful bidder.
Public Procurement: refer to the supplies or goods, work, services they may be needed
by a procuring entity.
Tender Committee: means a committee established by the procuring entity to assist
the Procurement Unit, in the bid opening, evaluation and recommended for award of
procurement contracts.
Tendering Document: means the document containing information required for the
preparation of bids, the award process and tender execution
Services: refers to any services other than consultant services.
Successful bidder: means a bidder whose offer has been accepted after being
considered the most competitive both technically and financially.
Works: means all activities related to the realization of building or engineering works
upon the request by the clients
6
0
4.9 References
1. HTTP://EPROCURE.GOV.IN
2. HTTP://WWW.HABESHATENDER.COM/TENDERLISTS.PHP
6
1
View publication stats
6
2