Professional Documents
Culture Documents
Submitted for the partial fulfillment of the requirements for the award of the
Degree in
By
DEPARTMENT OF ICT
July – 2011
AdmasUniv
Admas University College
er sit y Col l ege Hargeisa
Har geissaMain
MainCampus
Campus
HMC
d ª “ "U þ e
› É T e ¿’ >y` e+ ¢K?Ï N ` Ñ@
mail :___________________________
Tel :-________ ____________Fax:-____________________P.o .Box:-_____________e:
CERTIfICATE
This is to certify that the project titled “Inventory management System for Hodan Co. Waberi
Group” is a bona-fide work done by
DECLARATION
We, Hassan Mohamed abdilahi and Mohamed Ismail hereby declare that this thesis is our
original work and has not been presented for the award of any degree/diploma in any other
college or university.
Signatures:…………………………………………………………………………………..
Date:…………………………………
Signature………………………………………………..
Date:………………………
Table of Contents
Content ................................................................................................................. Page Number
Acknowledgment .......................................................................................................................
Chapter 1: System Study ......................................................................................................... 4
Organizational Profile .......................................................................................................... 5
Organizational Chart ............................................................................................................ 6
Project Description ............................................................................................................... 6
Statement of the Problem ..................................................................................................... 6
Project Objectives ................................................................................................................ 6
Project Scope ....................................................................................................... 6
Work Break-down ................................................................................................................ 6
Work Break-down Structure................................................................................ 6
Gant Chart ........................................................................................................... 6
Literature Review ................................................................................................ 6
Chapter 2: System Analysis ...................................................................................................... 4
Definition ............................................................................................................. 6
Traditional Methods of Data collection ............................................................... 6
Interview .................................................................................................. 6
Process Modeling ................................................................................................ 6
Data Flow Diagram ............................................................................................. 6
Context Diagram ..................................................................................... 6
Level 0 Diagram ...................................................................................... 6
Purchase Process ..................................................................................... 6
Sales Process ........................................................................................... 6
Entities and Relationship.................................................................................................6
Description about Entities ....................................................................... 6
Chapter 3: System Design ......................................................................................................... 6
introduction.......................................................................................................... 6
Logical Database Design ..................................................................................... 6
Transforming Entities into Small Tables ................................................. 6
Normalization .......................................................................................... 6
Hodan Co waberi group imports different products through Waberi, some of well known
products are Coast Milk powder,Foster Clarks,Jumbo Chicken,Tiara Porridge ,Energizer
Batteries.
Hodan Co. has a sub branches in Somaliland Regions such as Hargeisa (head quarter)
Burco, Berbera, Borama and has a large market in Somaliland.
Vision:
To be the best Commercial Company giving its customers a products at affordable price.
And get more number of customers.
Mission:
We exist to provide cost effective, efficient and reliable means of business s at affordable
price at anytime and anywhere across regions in a way that maximizes customer satisfaction at
the same time optimizing returns to our owner and employees”
Goals
To get good market target strategy
To get more monopoly competition in this country or horn of Africa
To minimize cost
General Manager
Head Office - Hargeisa -
Regional Sector Manager Stock and Treasury Supervisor General Admin and Supervisor
In this project we will develop an application to reduce the manual workload of administrative
activities in terms of company management. The application will address all necessary main
tasks required to efficiently manage activities of company. Basic management tasks will be the
main points of consideration, these includes: sales, buying, product, order, customer and other
useful information required to keep from company. It will be used to record available of
selling and buying department and other useful events of the department. It will generally help
managers to keep track of goods data which usually includes product, order sales, buying and
customer to easily generate daily, monthly and yearly reports of product attendance, price,
benefits, number of goods and buying etc.
An application that reduces purchasing and inventory costs connect inventory control,
purchasing, and sales order processing with demand planning and help reduce costs, improve
cash flow, and help ensure that you have the right stock available when you need it. Gain
visibility into inventory processes. Effectively balance availability with demand and track
items and their possible expiration dates throughout the supply chain to help minimize on-
hand inventory, optimize replenishment, and increase warehouse efficiency.
There are many problems in this company like report generating it takes more time
and difficult to collect information that company needs, Wasting a plenty of time
when locating and searching records. This could be utilized for other tasks, more
employee errors when calculating; the administration cannot get sufficient
information to keep track of the smooth running of the company
In this company the information is very hard to retrieve and find particular
information and generated by various dealings and it takes time and pains to be
stored at right place.
After deeply analyzing all problems faced the previous system, the main objective is to solve
and fix all the problems recorded, as well as to make the system easier, faster, cheaper and
more efficient than the previous system and rise with an essential improvement.
The application is going to be build keeping the commercial aspects of the organization. The
application will have different Category of Products, Sub category of Products and items. This
application will also have transaction details and reports. The administrator of this
application will have right to create product, add items delete items etc. The application will
provide information on available stock of the products
Improve customer satisfaction. Make more accurate order promises and intelligent last-minute
exceptions with access to up-to-date inventory information. Respond quickly and
knowledgably to customer queries for improved customer service.
Reduce time to market. With integrated order, inventory, and distribution processes, as well as
item tracking capabilities, your business can reduce manual data entry and get your goods to
market fast.
The application will also help to generate reports to get latest update on
• Available stock
• Stock Less
• Sale
• Purchase
First developed by the US Defense Department in the second half of the 1950s and by NASA
in the early 1960s, a Work Breakdown Structure is a document used by project managers to
define the scope of a project. It describes the end goal, not the means of reaching that goal. For
example, if the project is to build a house, the WBS defines all the aspects of the finished
house, in increasing levels of detail. It does not specify how the elements of the house are to
be constructed, except where the method of construction is an important part of the finished
house.
A Work Breakdown Structure is not a list of tasks, a schedule or an organization chart. Rather
it provides the basis on which a task list and a schedule can be constructed. Tasks and
schedules are better handled in other ways, for example by using Gantt charts.
To summarize, a Gantt chart shows you what has to be done (the activities) and when (the
schedule).
Work Breakdown
1. Pre-Analysis
1.1 initial investigations
1.2 existing system
1.3 proposed system
1.4 traditional method of data collection
2.2 feasibility study
2. Analysis
2.1. System definition
2.2 process modeling
2.3 Conceptual data modeling
3. Database design
3.1 Logical database design
3.1.1 Transforming entities into small table
3.1.2 Normalization
3.2 physical Design
4. Interface designs
4.3.2. Windows form
4.3.3. Crystal report
4.3.4. User interface
4.3.4.1. Report designer
4.3.5.2 Interface design
5. Implementation
5.1. Coding
6. Testing
GANT CHART
LITERATURE REVIEW
There is numerous accounting software such well known software packages are Peachtree
Complete accounting, QuickBooks and Dac easy. One of the famous in these software’s is
Peach tree.
Peach tree is a complex accounting software package that manage accounts receivable,
accounts payable, payroll, inventory, banking, time billing, job costing, general ledger, fixed
assets and more. It’s based on American accounting system.
The reason that we developing this project, rather than taking Peachtree is that complexity
meaning that there is more features’ that you will never use it according to the environment
of this company. Peachtree accounting needs more training and takes years to be
experienced.
Hodan Co. needs only a few of those features to manage their businesses because inventory
has first priority of importance. The new software is based only the company needs, so its less
featured than Peachtree, and produces more Detailed reports like
3. System analysis
System analysis is the process of investigating a system, identifying problems, and using the
information to recommend improvements to the system.
System development can generally be thought of having two major components: systems
analysis and systems design. In System Analysis more emphasis is given to understanding the
details of an existing system or a proposed one and then deciding whether the proposed system
is desirable or not and whether the existing system needs improvements.
Analysts are often familiar with a variety of programming languages, operating systems, and
computer hardware platforms. Because they often write user requests into technical
specifications, the systems analysts are the liaisons between vendors and IT professionals they
may be responsible for developing cost analysis, design considerations, and implementation
time-lines
1. Interviewing individuals
2. Interviewing groups
3. Observing workers
When we visit Hodan Company office we met several officials but the most important person
we interviewed is a manager of the company, we asked him many questions that list below.
Interview
1. Since how many years is the business operating?
This business operates since 1992
11. Would you like to see a computerized approach to solving your accounts receivable
problems?
Yes, because in this system it’s difficult or takes time to find
- the amount we owe our customers
- information about all customers
- To view in-depth the profits made on sales to each of your
customers with specific time.
12. Do you think that a computerized system will help in the achievement of the objectives as
well as the goals of the business?
Yes I think
Because computerized system can do things more efficiently, quicker, and with less
fuss than manual labor.
14. in your point of view, will the employees be able to work with a computerized database
system?
After a short training they will be able to work with computerized Database system.
What is an interview?
An interview is a face to face interpersonal role situation in which a person called the
interviewer asks a person being interviewed questions designed to gather information about a
problem area.
The reasons for choosing interview method are :-
• It is rather a flexible technique where further questions may be asked to have an in depth
understanding of the subject matter.
• Many people enjoy being interviewed and usually cooperate in a study where they have to
talk.
An interview ensures a higher response rate compared to, like for instance questionnaire.
• This method of data gathering makes it possible to observe not only what interviewees say
but also how they say it. This offers a better opportunity to evaluate validity of information
gathered.
• It allows the people concern about the business to express their own opinions and point of
view about the current system in used and how this can be improved or changed in order to
meet the objectives and goals set by the organization.
1. Purchase processing
2. Payment processing
3. Sales processing
A context diagram is a graphic design that clarifies the interfaces and boundaries of the project
or process at hand. It not only shows the process or project in its context, it also shows the
project’s interactions with other systems and users. According to Wikipedia, a context diagram
is “is the highest level view of a system . . . showing a . . . system as a whole and its inputs and
outputs from/to external factors. Further, a context diagram “shows the interactions between a
system and other actors with which the system is designed to interface. System context
diagrams can be helpful in understanding the context which the system will be part of.
Entities are:
1. CUSTOMER
2. SUPPLIER
3. PRODUCT
4. ORDER
CUSTOMER:
A person or organization that buys goods or services from a store or other business.
SUPPLIER:
Someone whose business is to supply a particular service or commodity
PRODUCT:
An article or substance that is manufactured or refined for sale
ORDER:
A written direction to pay money or deliver property
An entity is an object (a person, group, place, thing, or an activity) about which data is stored.
An occurrence is a single instance of an entity; An attribute is a property of an entity; for
example, such attributes as stock number, description, and stock on hand might be associated
with Inventory. Generally, the same set of attributes is associated with each occurrence of an
entity, so every part in Inventory can be expected to have a stock number, a description, and a
stock on hand. The set of attributes associated with an entity can be visualized as a table or a
record.
A data element is an attribute that cannot be logically decomposed. A set of related data
elements forms a data structure or a data composite; for example, the set of attributes
associated with each occurrence of an entity is a data structure. The key to an entity is the
attribute or group of attributes that uniquely distinguishes one occurrence from all other
occurrences. A foreign key is a key to some other entity; for example, a Supplier code might
be associated with the Inventory data.
A relationship links two entities and is shown by drawing a line between them as shown in
figure 1.
Logically, the relationship can be stated in the form of a sentence with a verb linking the two
entities; for example, Sales transactions are composed of Products or Products make up Sales
transactions.
The act of creating such sentences is a good test of the relationship’s validity; if you can’t
express the link, it might not exist. In most cases where the relationship is unclear, the
sentence might be written alongside the relationship line as shown below.
A customer can place many orders and one order placed by one Customer
One Order can contain many products but one product contains
One Vendor can provide many products also a product can received from many Vendors.
Introduction
The purpose of System Design is to create a technical solution that satisfies the
functional requirements for the system. At this Point in the project lifecycle there should be a
Functional Specification, written primarily in business terminology, containing a complete
description of the operational needs of the various organizational entities that will use the new
system. The Challenge is to translate all of this information into Technical Specifications that
accurately describe the design of the system, and that can be used as input to System
Construction. The Functional Specification produced during System Requirements Analysis is
transformed into a physical architecture. System components are distributed across the
physical architecture, Usable interfaces are designed and prototyped, and Technical
Specifications are created for the Application Developers, enabling them to build and test the
system.
Logical database design is the process of transforming the conceptual data model into a
logical model - which is consistent and compatible with a type of database technology. An
experienced database designer often will do logical database design in parallel with conceptual
data modelling if he or she knows the type of database technology that will be used a beginner.
The result of this process is a set of relations in third normal form that can be implemented
using any contemporary relational database management system. Each entity type in the EER
diagram is transformed to a relation that has the same primary key as the entity type. A one-to-
many relationship is represented by adding a foreign key to the relation that represents the
entity on the money side of the relationship. (This foreign key is the primary key of the entity
on the one side of the relationship.) a money-to money relationship is represented by creating
a separate relations. This primary key of these relations is a composite key, consisting of the
primary of each of the entities that participate in the relationship
CUSTOMER
Customer_id
Customer_Name
Address
Address
CUSTOMER
Customer_id Customer_Name Address Address
ORDER
Order_id
Order_Date
Customer_id
Product_id
Ordered_qty
ORDER
Order_id Order_date Customer_id Product_id Ordered_qty
PRODUCTS
Product_id
Product_Name
Vendor_id
Price
PRODUCTS
Product_id Product_name Vendor_id Price
VENDOR
Vendor_id
Vendor_Name
Address
Tel
Email
VENDOR
Vendor_id Vendor_name Address Tel Email
4.2.2 Normalization
Description:
I. First normal form (1NF) is a relationship has a primary key and in which are no
repeating groups
II. Second normal form (2NF) is a relation in first normal form in which every non key
attributes are functionally dependent on the primary key.
III. Third normal form (3NF) is a relationship second normal transitive dependence exist-
transitive dependence in a relation is a functionally dependency between two or more
non key attributes.
CUSTOMER
ORDER
ORDER_LINE
PRODUCTS
VENDORS
Vendor_id Vendor_name Address Tel Email
When developing programs that use tha data model, a data dictionary can be consulted
to understand where a data item fits in the structure, what values it may contain, and basically
what the data item means in real-world terms. For a bank or group of banks could model the
data objects involved in consumer banking. They could then provide a data dictionary for a
bank's programmers. The data dictionary would describe each of the data items in its data
model for consumer banking (for example, "Account holder" and ""Available credit").
CUSTOMER TABLE
PRODUCT TABLE
FEILD_NAME FEILD_ZISE DATATYPE CONSTRAINTS
Product_id 30 NUMBER PRIMARY KEY
Product_name 30 NUMBER NOT NULL
Vendor_id 40 TEXT FORIENG KEY
Cost 30 NUMBER NOT NULL
Sale 30 NUMBER NOT NULL
ORDER TABLE
FEILD_NAME FEILD_ZISE DATATYPE CONSTRAINTS
Order_id 30 NUMBER PRIMARY KEY
Order_date 30 DATE/TIME NOT NULL
Customer_id 40 TEXT FORIEGN KEY
Amount 30 NUMBER NOT NULL
ORDER-LINE TABLE
FEILD_NAME FEILD_ZISE DATATYPE CONSTRAINTS
OrderlLine_id 30 NUMBER PRIMARY KEY
Order_id 30 NUMBER FORIENG KEY
Product_id 40 NUMBER FORIENG KEY
Product_Qty 30 NUMBER NOT NULL
Uprice 30 NUMBER NOT NULL
ENDOR TABLE
FEILD_NAME FEILD_ZISE DATATYPE CONSTRAINTS
Vendor_id 30 NUMBER PRIMARY KEY
Vendor_Name 30 TEXT NOT NULL
Address 40 TEXT NOT NULL
Tel 30 NUMBER NOT NULL
Email 30 TEXT NOT NULL
Physical design
Introduction
During physical database design the designer translate the logical description of data
into the technical specifications for storing and retrieving data. The goal is to create a design
for storing data that will provide adequate performance and ensure database integrity, Security,
and recoverability. In physical database design, you consider normalized relations and data
volume estimates, data definitions, data processing requirements and their frequencies, user
expectations, and database technology characteristics to establish field specifications, record
designs, file organizations, and database architecture.
An important issue for the development of a project is the selection of suitable front-end and
back-end. When we decided to develop the project we went through an extensive study to
determine the most suitable platform that suits the needs of the organization as well as helps in
development of the project.
Front-end selection:
1. It must have a graphical user interface that assists employees that are not from IT
background.
2. Scalability and extensibility.
3. Flexibility.
4. Must provide excellent reporting features with good printing support.
5. Platform independent.
6. Easy to debug and maintain.
7. Front end must support some popular back end like Ms Access.
According to the above stated features we selected VB6.0 as the front-end for developing my
project vehicle management system.
The technical feasibility is frequently the most difficult area encountered at this stage. It is
essential that the process of analysis and definition be conducted in parallel with an
assessment to technical feasibility. It centers on the existing computer system (hardware,
software etc.) and to what extent it can support the proposed system.
Microsoft Access is used to create simple database solutions. Access tables support a variety
of standard field types, indices, and referential integrity. Access also includes a query
interface, forms to display and enter data, and reports for printing. The underlying Jet
database, which contains these objects, is multiuser-aware and handles record-locking and
referential integrity including cascading, updates and deletes.
Crystal Reports is a business intelligence application used to design and generate reports
from a wide range of data sources. Several other applications, such as Microsoft Visual Studio,
bundle an OEM version of Crystal Reports as a general purpose reporting tool.[1] Crystal
Reports became the de facto standard report writer when Microsoft released it with Visual
Studio
Features
A common standard file format allows for feature-rich reports that contain data
retrieval criteria, grouping, summary, parameter, drill down, and subreport linking
information.
Data and .NET Dataset connections use the Database Expert to easily interact with a
wide variety of database protocols, as well as proxy data in the form of ADO.NET
Datasets.
Dataset processing speed has been significantly improved in Crystal Reports 10 and
Crystal Reports for Visual Studio 2005.
4. Implementation
Introduction
Chapter 5 Coding
Login Code:
Imports System.Data.OleDb
Public Class FrnLogin
Dim cn As New
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\HodanDB.mdb")
Dim ds As New DataSet
Dim username As String
Dim password As String
Save Code
End If
cn.Close()
Clear()
Catch ex As Exception
MsgBox(ex.Message)
End Try
cn.Close()
End Sub
Update Code:
Sub updateData()
Try
If MsgBox("Are You Sure This Record?", vbYesNo +
vbQuestion, "Update This Record?") = vbYes Then
cn.Open()
Delete Code:
Sub deletedata()
Try
If ComVendorName.Text = "" Then
MsgBox("---::: Please Select Customer Name :::-
--")
ComVendorName.Select()
ElseIf TxtProName.Text = "" Then
MsgBox("---::: Please Select Product Name :::-
--")
TxtProName.Select()
Else
cn.Open()
Dim cmd As New OleDbCommand("delete from
products where product_id=" & TxtProID.Text & "", cn)
cmd.ExecuteNonQuery()
MsgBox(" Successfully Deleted")
End If
cn.Close()
Clear()
Catch ex As Exception
MsgBox(ex.Message)
End Try
cn.Close()
End Sub
Validations code:
Else
e.Handled = True
MsgBox("Sorry Only Character & Spaces
Allowed!!", _
MsgBoxStyle.Information, "Verify")
End If
End If
End Sub
Automatic ID Generation:
Sub generateid()
ds.Clear()
Dim daid As New OleDbDataAdapter("select
max(product_id) from Products", cn)
daid.Fill(ds, "Id")
If (ds.Tables("Id").Rows(0)(0) Is DBNull.Value) Then
TxtProID.Text = 1
Else
TxtProID.Text = ds.Tables("Id").Rows(0)(0) + 1
End If
End Sub
Introduction
As a rule, system testing takes, as its input, all of the "integrated" software components that
have successfully passed integration testing and also the software system itself integrated with
any applicable hardware system(s). The purpose of integration testing is to detect any
inconsistencies between the software units that are integrated together (called assemblages) or
between any of the assemblages and the hardware. System testing is a more limiting type of
testing; it seeks to detect defects both within the "inter-assemblages" and also within the
system as a whole.
Unit testing is a method by which individual units of source code are tested to determine if
they are fit for use. A unit is the smallest testable part of an application. In procedural
programming a unit may be an individual function or procedure. Unit tests are created by
programmers or occasionally by white box testers.
Ideally, each test case is independent from the others: substitutes like method stubs, mock
objects,[1] fakes and test harnesses can be used to assist testing a module in isolation. Unit tests
are typically written and run by software developers to ensure that code meets its design and
behaves as intended. Its implementation can vary from being very manual (pencil and paper)
to being formalized as part of build automation.
Customer ID:
Customer_Name:
Telephone:
Address:
Email:
Unit Price: