Vous êtes sur la page 1sur 125

COMPUTERISATION OF

GLENCORE COMPANY









TECHNICAL REPORT
No. DU/IP/CS/BSc (H)-IV/2014/12029270015
No. DU/IP/CS/BSc (H)-IV/2014/12029270007

April 2014









Indraprastha College for Women
Department of Computer Science
Samnath Marg
DELHI 110 054

1. Report Number :
DU/IP/CS/BSc (H)-III/2014/12_1045,
12_0481

2. Report Date: April 2014


3. Type of Report : Technical Report

4. Subject /Area :
Software Engineering


5. Title: Computerization of Glencore Company

6. Authors :12029270015
12029270007
BSc (H) Semester


7. Guide :Mr. Sachin Kumar



8. Name of the Institution : Department of Computer Science
Indraprastha College for Women , DELHI -110054

9. Abstract:

The project is about the Computerization of entire system of the Glencore
Company which is having a lot of problems in its current manual system. We shall
be converting the manual system in an automatic system by using database
software. The aim of the project is to overcome the difficulties encountered in the
manual system.


10. Key Words(Suggested by Authors) :stock management, product
manufacturing, order of material, suppliers management, client
management, materials management


11. Total No. of pages :129


12. Signature of Authors :




13. Signature of the Guide :





1. ACKNOWLEDGEMENT

On the successful completion of our project COMPUTERISATION OF GLENCORE
COMPANY, we would like to express our sincere gratitude to everyone who helped us in the
completion of the project.
We are sincerely thankful to our project guide Mr. Sachin Kumar for his interest, guidance and
suggestions throughout the course of the project. We feel honored and privileged to work under
Mr. Sachin Kumar. He shared his vast pool of knowledge with us that helped us steer through all
the difficulties with ease. We would also like to thank Mr. Vivek and Mr. Vipin. This project
would not have been possible without their able guidance.














Name of Project Group Members
Lallmahomed Bibi Ruksaar
Radha Verma




2. CERTIFICATE


This is to certify that the project entitled COMPUTERISATION OF GLENCORE
COMPANY by LALLMAHOMED BIBI RUKSAAR AND RADHA VERMA has been carried
out under our supervision. The project has been submitted as per the requirements in the fourth
semester of Computer Science (H).













Project-in-charge
(Mr. Sachin Kumar)



Table of Contents
1. ACKNOWLEDGEMENT ....................................................................................................... 3
2. CERTIFICATE ........................................................................................................................ 4
3. SOFTWARE REQUIREMENTS SPECIFICATION .............................................................. 6
3.1 Project objective ................................................................................................................... 6
3.2. Introduction .......................................................................................................................... 6
3.3 Product scope ...................................................................................................................... 14
3.4 Similarly Other ................................................................................................................... 32
4. PROCESS MODEL DESCRIPTION .................................................................................... 34
5. DESIGN AND TECHNICAL SPECIFICATION ................................................................. 35
5.1 Context Diagram.................................................................................................................. 36
5.2 Data Flow Diagrams ............................................................................................................ 36
5.3 Data Dictionary ..................................................................... Error! Bookmark not defined.
5.4 Er diagram ........................................................................................................................... 38
5.5 Table description ................................................................................................................. 39
5.6Structure chart ....................................................................................................................... 42
6. CODE DEVELOPMENT ...................................................................................................... 44
6.1 Flowchart ............................................................................................................................. 48
6.2 Component Level Design(Pseudo Code) ............................................................................ 66
7. TESTING DOCUMENT...................................................................................................... 100
7.1 Black Box Testing with Test case design .......................................................................... 101
7.2 White Box Testing ............................................................................................................. 109
8. PROJECT MANAGEMENT ............................................................................................... 116
8.1 Function point and effort ................................................................................................... 117
8.2 SCHEDULE ...................................................................................................................... 118
9. BEST PRACTICES FOR SOFTWARE DEVELOPMENT ................................................ 124
10. References ......................................................................................................................... 125











3. SOFTWARE REQUIREMENTS SPECIFICATION

3.1Primary objective
The purpose of this document is to present a detailed description of the computerization
of the Glencore Company. It will explain the purpose and features of the system, the interfaces of
the system, what the system will do, the constraints under which it must operate and how the
system will react to external stimuli. This document is intended for both the stakeholders and the
developers of the system and will be proposed to the Regional Historical Society for its approval.
3.2. Introduction
This software system will be a database which will computerize all the manual operations
performed by Glencore Company.
Glencore is an aluminium workshop which deals in the manufacture and sales of various
kinds of doors, windows, room separations and other furniture (Mainly Cupboards) of aluminium
on clients commands and according to their specifications. This manufacturing is carried out at
Kingsway Camp, Delhi-9 where the workshop is situated. None other than the Workshop,
Glencore is also comprised of a store where all the materials like aluminium materials, window
panes and minor materials are kept after being purchased from the manufacturers. Glencore has
around 50 employees but the owner named Mr. Sheldon Cooper who is also the managing
director handles all the paper work and he has an assistant who helps control the flow of
materials from the store to the workshop, keeping track of the materials in stock and informs the
MD if some materials need to be reordered. At present all the paper works are carried out
manually by the MD and his assistant. As his business is expanding and the manual system has
become redundant and at times inefficient. In the manual system, all the data of the clients,
suppliers and the materials used are kept in books. The stock of the materials along with deals
with the supplier is also monitored manually.





How the manual system works?
The system consists of seven files:
Materials file: Stores details of the materials
Client file: Stores details of the clients
Supplier file: Stores details of the suppliers
Work undertaken file: Keeps track of the work undertaken from clients
Credit file: Keeps track of the amount of money clients owe
Quantity in stock file: Keeps track of the quantity of materials that are present in the
organisation
Transaction file: Keeps track of the purchases made
FACT FINDING

Interview (Transcript)
A meeting was arranged with the MD in order to investigate the system. On the 18th
February 2014 at around noon as the MD was free. A set of questions were prepared and
were asked to him, some questions were removed on the spot from the list, while others were
added.
Below is the transcript of the interview, comprising of the questions asked and the answers
given by the MD.

1). Me: Explain how your actual manual system works?

MD: The manual system normally keeps track of all the transactions with the clients, the suppliers
and the materials currently in stock. There are 4 main files used in the manual system namely
the client file, material file, work undertaken file and the credit file. For the payment of the
clients there is a receipt book and whenever there is a transaction with the suppliers, the
receipt obtained by the latter are kept.

2). Me: Can you explain to me which kind of data does each file stores?
MD: The client file usually stores all the details of the clients i.e. their name, address, contact
number etc The materials file contains all the details of the materials their price their
quantity in stock and their reorder level. The work undertaken file contains the name of the
client for who is the work, the descriptions of the products to be manufactured, the materials
needed and the total cost of the job. The dimensions of the products are usually kept in the
personal dairy of the MD. The credit file usually contains consist of different pages each page
is for a specific client. All the payments of the clients are registered in and their overdue is
calculated.
3). Me: What do you do when a client approaches you to do a work for him?
MD: First of all I go at the place where the door, window or furniture is to be placed and take
appropriate measurements. Then I generate a quotation for the client which shows how much
it will cost to do the work according to his specifications. The cost for the materials and
labour is considered to do so. If the client does not agree with the price another quotation is
made with the cheap materials and given again to the client. Once agreed the client need to
pay 50% advance and the rest after the work has been delivered. If the client agrees to give the
job the quantity in stock for material file is updated. The qty in stock for the materials that
will be used are decremented by the qty of the materials that will be used for the job. Once the
materials file is updated the materials are taken from the store and kept in the workshop
4). Me: How do you prioritize your work?
MD: First of all I check which job needs to be returned immediately. But there are also some jobs
that can be done quickly are also given priority and if ever the client has already paid, his job
is done first. For this I have to check the work undertaken file and sort that file according to
their priority, this tasks takes time as each time it needs to be sorted and if its lost I have to
contact my clients once again and regenerate the work undertaken file.
5). Me: How do your clients do their payment and how do you deal with that?
MD: Usually most of my clients pay me an amount of money in advance and the rest after that the
job has been delivered. Whenever a payment is made, the overdue of the client is calculated
and he receives a receipt for each payment. The payment is also registered in the credit file
and the overdue is noted down.

6). Me: How do you deal with the suppliers to purchase the materials? Do you pay them once or it is
done on instalments?
MD: All the transactions with the suppliers are done in cash and therefore I do not have any
problem of outstanding balance with them. First of all materials have a reorder level,
whenever their number in stock is equal or less than the reorder level a list of such materials is
generated and the suppliers are contacted to see whether they have the required materials in
their stock. The process of generating the reorder list is very tedious as every day the
materials need to be counted and cross checked against their reorder level. Once the materials
purchased in the materials file their quantity in stock is updated.





Following The interview we made a summary of how the actual system finally works

1). The quotation generated by the MD
These quotations are usually generated before a work is started. It gives the client an idea of
how much it will cost and if he agrees with the price the work is started. This quotation is
usually difficult and time consuming to generate.
2). The receipt usually generated after the client has paid
This receipt is usually given to the clients whenever they make a payment or their work is
accomplished. Usually two copies of the receipts are generated, one is given to the client and the
other one is kept in the receipt book itself. It acts as a piece of evidence.
3).Details of client from the client file.
A Notebook is used to store details of the clients.
4).The quantity in stock file which keeps track of the number of materials in stock.
The quantity in order are recorded in another notebook. At the end of each day the number of
materials are counted manually and are tallied.
5).The material file which stores all the details of the materials.
This file is sorted according to the type of the material hence it facilitates the job of the MD
when he has to search details for a particular material. But the problem arises when the price of
a certain material needs to be altered.
6).The work undertaken file which stores all the details of work.
The records in the file are highlighted for works have already been completed. Those which are
not yet completed are not highlighted until completed.


7).The credit file which stores all the payment and overdue of the clients.
Each client has a specific page in the credit file. Whenever a payment is made this file is altered,
the payment is recorded and the overdue is calculated. If ever the client has another new job his
amount overdue increases by the cost of the new work. Whenever he does not owe the MD
money clear is written in the overdue column.
8).The transaction file which stores all the payment madefor the purchases to the supplier.
Each supplier has a specific page in the transaction file. Whenever a payment is made for the
purchases from a supplier this file is altered, the payment is recorded only after the purchases are
delivered.

How the manual system works?
After conducting an interview with the client and having analysed the documents used in the
organisation it comes to light that the system consists of seven files:
Bars file: Stores details of the bars
Client file: Stores details of the clients
Supplier file: Stores details of the suppliers
Work undertaken file: Keeps track of the work undertaken from clients
Credit file: Keeps track of the amount of money clients owe
Quantity in stock file: Keeps track of the quantity of bars that are present in the
organisation
Transaction file: Keeps track of the purchases made

Whenever a purchase is made the Quantity in stock file is updated according to the number of
bars purchased.
When a client comes and orders for a work, details of the work and client is saved in the work
undertaken file. The total cost for the job is calculated and the overdue of the client is calculated
and the credit file is updated.
Whenever a client makes a payment the new overdue of the client is calculated and the credit file
is updated.

PROBLEMS WITH CURRENT SYSTEM
The current manual system has the following inefficiencies:

A. It is difficult to keep track of clients who owe the M.D money. Each and every time, the list
of such clients needs to be generated.

B. The contact numbers of the clients and the suppliers are often lost and difficult to retrace. If
ever the work undertaken file is misplaced all the clients need to be contacted and a new one
has to be created, not only the file but all the measurements and the quotations need to be
generated again.

C. It is always time consuming to generate the quotation, for the clients because each time the
material file needs to be consulted.

D. If ever a change is made in a file that is linked to others, then all the files need to be
consulted and the data needs to be changed in all the related files. This process is time
consuming.

E. It is often difficult to generate the lists of works that have not completed before their
deadline.

F. The material file needs to be altered each time, in order to change the prices of the materials
and the quantity in stock. This process is usually messy and sometimes new material files
need to be created.

G. It usually takes a lot of time to search for a particular data in a file. As the data in all almost
files are stored in chronological order the files need to be searched till the end or until the
required data item is found.


Solution Proposed
In order to solve all the above mentioned problems the manual system can be computerized. All
the files and the data will be stored in a database and data could be accessed in various ways
such as on forms, queries tables and reports. Further queries can be made to generate the reorder
list and other lists.

3.2.1. Glossary
Term Definition
Aluminium Materials The Raw material which is used in constructing the
furniture of Glencore Company.
Client A person who wants to buy the tailor made products of
Glencore Company
Glencore Company The company for which the software is being developed
MD
The managing director of Glencore Company who handles
all the paperwork and is also the owner of the Company.
Quotation An approximate price of how much will a finished product
of Glencore Company cost.
Stock level
It defines the quantity of a specific raw material which is
available in Store.
Supplier
A Company which provides Glencore Company with the
raw materials it needs in order to make the furniture.
Work undertaken
A work undertaken is an order which has been placed by a
client. The client gives its requirements about how it wants
its product and it is sent for production.
3.2.5. Overview of Document
The next chapter, the Overall Description section, of this document gives an overview of
the functionality of the product. It describes the informal requirements and is used to establish a
context for the technical requirements specification in the next chapter.
The third chapter, Requirements Specification section, of this document is written
primarily for the developers and describes in technical terms the details of the functionality of
the product.
Both sections of the document describe the same software product in its entirety, but are
intended for different audiences and thus use different language.

3.3 Product Scope
3.3.1 System Environment
The Glencore Database system will have two active users,
The Owner who will take the new orders and handle the all the payments and the assistant will
handle the stock level system of the company. The assistant will place orders to the Suppliers
and will check reorder level every day

3.3.2 Functional Requirements Specification
This section outlines the computer related functionalities which the database is going to
perform. It can also be defined as the computer related objectives which the database has to
achieve
Computer related
3.2.3.1 To enter data easily into the computer via the mouse and the keyboard and can
obtain a quick output processed by the CPU.
3.2.3.2 Keep all the details of Purchases, Work undertaken, and Payment made by
clients,Users, Suppliers, Clients and aluminium bars.
3.2.3.3 Allow the user to add, delete and modify records.
3.2.3.4 Automatically calculate the total costs for work undertaken and purchases.
3.2.3.5 To generate queries and lists such as the reorder list and the overdue of clients
quickly.
3.2.3.6 To enable a quick search of data in a file.
3.2.3.7 Enter data only once and we can access to it several times.
3.2.3.8 To avoid input errors as validation checks will be used.
3.2.3.9 To prevent data loss by producing backup files.
3.2.3.10 To link files together which means that all the other files will depend on the same
information will be automatically updated.
3.2.3.11 Filter data accessible to users according to their status in the organisation.
3.2.3.12 Allow the user to change password, add new users and even delete some.

Business related objectives
a. Fasten the procedures of generating quotations, receipts etc
b. To save time as most of the complicated tasks will be performed by the computer.
c. To save the resources like papers and pens.
d. Compete with rival companies; offer the clients a better service than the others.
e. More people will tend to come, they will be curious about the computerized system; thus it
will attract clients.
f. To save on labour; there will be no need of the storekeeper as the system will keep track of
the materials in stock.

3.3.3 User Characteristics
The owner and storekeeperare expected to be computer literate and be able to use
Microsoft Access. On opening the Login screen is opened and the user is supposed to enter its
credentials. The user should be able to manipulate forms. Training will be provided to the user to
be able to use the system appropriately.
3.3.4 Non-Functional Requirements
Hardware requirements
CPU (INTEL CORE 2 DUO E6550)
Any processor available which will is efficient to store and process data will be good.
Therefore I strongly recommend an Intel core 2 duo computer system.
Reason: it is a good processor which is able to process data very quickly and works
extremely fast.

KEYBOARD (DELUXE WIRELESS KEYBOARD-LOGITECH)
It is a very important input device that will be used to enter data into the computer system. It
also allows creating commands and selection.
Reason: it is easy to use; the staff wont get too much problem in learning to use the
keyboard. It is also a very good way for communicating with the computer.

MOUSE (SCROLL OPTICAL WIRELESS MOUSE-LOGITECH)
An optical mouse is strongly recommended as it is very easy to use. It is used to make
selections by moving the cursor and clicking. It enables the user to use a graphical user
interface
Reason: it is easy to use; selection is made easier than on the keyboard and can easily be used
to edit texts.

PRINTER (HP Deskjet All-in-One series)
It will be used to print reports or letters to the peoples concerned. Therefore a laser printer is
recommended, it might be expensive but it give satisfying outputs.
Reason: it is fast and silent. It gives out good quality of printing and there is no major
expense on the maintenance of the printer.

LCD (View Sonic VX2235wm 22 Monitor)
Most of the work the librarian or the user will read on the monitor so as to make reading
easier a LCD of 22 inch is required. The LCD must be the one a view care one.
Reasons: it occupies less space; it will not affect the eyes of the user and facilitate the reading
as the screen is large enough.

UPS (uninterrupted power supply)
An UPS is very important as whenever there will be a power failure it enables the users to
complete their task and save it within a given time of about 45 minutes or more.
Reason: it prevents data loss when there is a power failure.

DVD RW (SONY-DRU-840A)
When data is processed it will be saved in RAM and the hard disk. It is necessary to create
backup files therefore a DVD RW can be used to store the backup files.
Reason: if ever there is a data loss it can be used to restore the system.

MOTHERBOARD (Biostar P4M900-M4 Intel 478 Micro ATX)
Reason: this motherboard is suitable for an Intel processor. It has on board sound and
graphics card.

CPU fan
Reason: It cools down the processor when it heats up.
Hard disk (256 GB)
It is storage device which usually stores all the programs and data in a computer system.
RAM (2 GB)
It usually stores all the current data being manipulated, current running program and part
of the O.S.



2. Software requirements
Nowadays there are very powerful database management systems available. I have chosen
MS ACCESS 2013 to develop the software and WINDOS 8 PROFESSIONAL as the
operating system as MS ACCESS 2013 is compatible with WINDOS XP PROFESSIONAL.
Antivirus software is also essentials to protect the system from being affected by viruses. I
have chosen the ESET NOD 32 ANTIVIRUS version 4.

REASONS FOR CHOOSING ACCESS 2013
o Tables, forms, queries and reports can be easily created.
o There can be high level security by programming username and password.
o There is no duplication of data.
o Error messages are displayed when there is an error.
o Easy to sort data
o Other applications such as visual basic can be used to create commands.
o Validations and input mask can be used.

REASONS FOR CHOOSING WINDOWS 8 PROFFESIONAL
o Control the peripherals.
o Control the processor.
o Does the memory management.
o There is interrupt handling.
o Carries out the file management.
o Does the CPU scheduling.

REASONS FOR CHOOSING ESET NOD 32 ANTIVIRUSES
o Most secure and effective solution on the market - has the best detection record of any
antithreat product.
o Unique ThreatSense Technology significantly reduces exposure and risk to new threats,
consistently detecting >80% of new threats without requiring a specific signature update.
o Lowest overhead of any antithreat product (up to 75% less system overhead).
o Fastest scan speed of any antithreat product (2 to 50 times faster scanning performance).
o Smallest update files of any antithreat product (typically 10-50 kb in size).
o Fastest growing customer-base of any antithreat product.
o Easy to setup and use.
o Helpful and competent local phone and email support to all registered users.
o Flexible and scalable - from single users to very large corporates.

REASONS FOR NERO 7
o Is user friendly and easy to use for making backups.
o Allows easy restore of backups.
o Enables user to select destination (location) for backup.
o Writes data to CD/DVD in a proper manner.
o Easily available in the market.

3.4.0. Requirements Specification
3.4.1 External Interface Requirements

The link to an external system is the database system which allows the MD, Mr. Cooper
to manage the company


3.4.2 Functional Requirements

3.4.2.1 3.4.2.1 To enter data easily into the computer via the mouse and the keyboard and
can obtain a quick output processed by the CPU.
In the database we will be able to enter data about materials , clients and suppliers. It will
facilitate data input. It will allow data to be easily sorted and added and deleted. To search
for a specific material, client or supplier it will be very easy and quick. Data entry will be
facilitated because forms feature will be made available in the database

3.4.2.2 Keep all the details of Purchases, Work undertaken, and Payment made by
clients, Users, Suppliers, Clients and aluminium materials.
The database will keep details of all transactions performed in the company. It will not be
prone to errors because all calculations will be made automatically. Data will be stored in
an organised way.


3.4.2.3 Allow the user to add, delete and modify records.
In the database we will be able to add, delete and modify records about clients, suppliers
and materials.

3.4.2.4 Automatically calculate the total costs for work undertaken and purchases.
When human beings make calculations they are prone to make errors. The database will
make all the calculations automatically. For example when a work has been undertaken the
stock level will be decreased automatically and when new purchases have been made stock
is increased automatically.

3.4.2.5 To generate queries and lists such as the reorder list and the overdue of clients
quickly.
The database will allow us to generate reports which will help in handling the company
better.

3.4.2.6 To enable a quick search of data in a file.
Searching for data will be made easier with the database

3.4.2.7 Enter data only once and we can access to it several times.
Redundancy of data will be eliminated in the database. Since all the tables will be linked
data needs to be entered only once and but can be manipulated and used in various
processes

3.4.2.8 To avoid input errors as validation checks will be used.
The database will have validation checks which will ensure that errors are eliminated
during data entry

3.4.2.9 To prevent data loss by producing backup files.
In the database a backup option will be provided which will ensure that data will not be lost

3.4.2.10 To link files together which means that all the other files will depend on the same
information will be automatically updated.
Since all the files will be linked this will ensure that the database system will be always
updated

3.4.2.11 Filter data accessible to users according to their status in the organisation.
With the use of data encapsulation datas privacy will be ensured in the database

3.4.2.12 Allow the user to change password, add new users and even delete some.
In the database the owner will be able to add new users and even delete some.




















3.4.3 Detailed Non-Functional Requirements
The logical structure of the data to be stored in the Glencore Company database is given below
Tables Design (File design)
Material table
Field Description Data type Validation(s) needed
Material ID (PK) Unique code of the
Material, it can be used to
identify it, or search for it.
Text Presence check, Character
type check and format check.
Price The price of one such
Material.
Currency Presence check, Type check
(Contain integers only apart
from RS)
Type Indicates the type of
Material whether it is
curve, perfile etc...
Text Presence check, Type check.
(Contains alphabets only)
Cross-
section(mm)
Indicates the dimensions
of the cross-section of the
Material if they vary.
Text Presence check, Type check.
Thickness(mm) Indicates the thickness of
the Material if they vary.
Text Presence check, Type check.
Quantity in stock The amount of Material in
stock.
Number Presence check, Type check
(Integers only)
Reorder level Amount of Material to
reach in stock to reorder.
Number Presence check, Type check
(Integers only)

The Material table shall store all the details of the Material and will feed data to forms and
reports.
(PK-means primary key)
Client table
Field Description Data type Validation(s) needed
Client ID
(PK)
Each client has a unique
ID.
Text Presence check, Type and format
check.
Surname The surname of the client. Text Presence check and Type check.
Other name The name of the client. Text Presence check and Type check.
Address The address of the client. Text Presence check and Type check.
Tel The telephone number of
the client.
Text Presence check and Type check.
Mob The mobile number of the
client.
Text Presence check and Type check
Overdue The amount of money that
the client owes.
Currency Presence check and Range check
( > = 0)

The Client table shall store all the details of the clients and shall feed data to forms and reports.


Payment table
Field Description Data type Validation(s) needed
Payment ID
(PK)
Unique code to identify a
payment.
Text Presence check, Type and
format check.
Date Date on which the
payment was made.
Date Presence check and Type check.
Client ID The ID of the client who
made the payment.
Text Presence check, Type and
format check.
Amount Paid The amount paid by the
client.
Currency Presence check, Type and range
check (< = Past due)
Past Due The overdue of the client
before the payment.
Currency Presence check and Type check.

The payment table shall keep track of the payments made by clients and shall feed data to forms
and reports.
Supplier table
Field Description Data type Validation(s) needed
Supplier ID
(PK)
Each supplier has a
unique code.
Text Presence check, Type and format
check.
Company
Name
The name of the
company.
Text Presence check and Type check.
Surname of
Owner
The surname of the
owner.
Text Presence check and Type check.
Other name of
Owner
The other name of the
owner.
Text Presence check and Type check.
Address The address of the
company.
Text Presence check and Type check.
Tel The telephone number of
the company.
Text Presence check and Type check.
Mob The telephone number of
the owner or a worker at
in the company.
Text Presence check and Type check.

The Supplier table shall store all the details of the suppliers and shall feed data to forms and
reports.



User table
Field Description Data type Validation(s) needed
User ID (PK) Unique ID given to each
User.
Text Presence check, Type and format
check.
Name Name of the User. Text Presence check and Type check.
Surname Surname of User. Text Presence check and Type check.
Password Password of the User. Text Presence check and Type check.
Post The post of the User. Text Presence check and Type check.

The user table shall store data about the users who shall use the system and feed data to forms.

Work Undertaken table
Field Description Data type Validation(s) needed
Work ID (PK) Unique code for each
job undertaken.
Text Presence check and Type and
format check.
Client ID Unique code to each
client.
Text Presence check and Type and
format check.
Description of
product
The products to
manufacture for the
client i.e.: 2 doors, 1
sliding window etc...
Text Presence check and Type check.
Address of
delivering the
work
The address where the
work has to be
delivered.
Text Presence check and Type check.
Date undertaken The date on which the
work has been
undertaken.
Date Presence check, Type and range
check.
(Date undertaken < Date to
deliver)
Date to deliver The date on which the
work needs to be
delivered or finished.
Date Presence check, Type and range
check.
(Date undertaken < Date to
deliver)
Total cost The total cost of the
work.
Currency Presence check and Type check.
Work completed Whether the work has
been completed?
Boolean
Installation
completed
Whether the work has
been delivered?
Boolean

The Work undertaken table shall store the details of the works undertaken by the MD.

Products table
Field Description Data type Validation(s) needed
Product ID (PK) Each product is given a
specific code for different
works, for e.g. P001 for
windows for work W001.
Text Presence check, Type and
format check.
Work ID This code enables the user
to know for which work is
this product.
Text Presence check, Type and
format check.
Product Brief description of
product.
Text Presence check and Type check.
Quantity of
products
Quantity of this kind of
product needed.
Number Presence check, Type and range
check (> 0)
Dimensions The dimensions of the
product.
Text Presence check and Type check.
Labor The workmanship needed
for the product(s).
Currency Presence check and Type check.
Fittings The amount of money
required for the fittings
and other materials.
Currency Presence check and Type check.
Total The total cost of the
product.
Currency Presence check and Type check.

The Product table shall store the details of the products for each work.







Materials Needed table
Field Description Data type Validation(s) needed
Material ID
(PK)
The Material ID for the
Material needed.
Text Presence check, Type and
format check.
Product ID (PK) The Product ID for
which the Material is
needed.
Text Presence check, Type and
format check.
Qty of materials The quantity of this
specific Material
needed for the product.
Quantity Presence check, Type and range
check (> 0).
Sub price
(materials)
The price of the
Material.
Currency Presence check, Type and range
check (> 0).

The Material needed table shall store the details of the Material needed for each product.


Purchase table
Field Description Data type Validation(s) needed
Purchase ID
(PK)
Unique code given for
each purchase.
Text Presence check, Type and format
check.
Date The date when the
Material had been
purchased.
Text Presence check and Type check.
Supplier ID The ID of the supplier
with whom the Material
has been purchased.
Text Presence check, Type and format
check.
Total cost The total cost of the
Material purchased.
Currency Presence check and Type check.

The purchase table shall store the details of purchases made

Purchase Line table
Field Description Data type Validation(s) needed
Material ID
(PK)
The ID of the Material
purchased.
Text Presence check, Type and format
check.
Purchase ID
(PK)
The ID of the purchase
for which this Material
has been purchased.
Text Presence check, Type and format
check.
Quantity The quantity of these
specific Materials that
have been purchased.
Number Presence check, Type and range
check (> 0)
Sub price The total cost for the
Material purchased.
Currency Presence check and Type check.

The Purchase line table shall store details of the Material purchased during each purchase.













3.4.4 Intended Benefits
a) The system automatically sorts all the data in all the reports after the slightest change.
Therefore the MD has no need to waste time and sort each file.
b) Search is made faster by the use of combo boxes and once more time is saving in the
process of searching data.
c) The use of validation techniques reduces virtually all the risk of having input errors.
d) The system enables the MD to keep track of all the clients who owe him money. He does
not need to generate a new list each time. It is done automatically.
e) The system also produces reports which indicates the MD all the jobs that need to be
done and those which are urgent. This shall reduce the risk of forgetting the completion
or installation of a job.
f) The reorder list is generated automatically by the system. Therefore the MD needs not to
check the Materials in stock file and generate the list each time.
g) There is less risk of data being lost for all the data will be stored on the database and in
case the software is to be corrupted, the advanced feature of MS Access 2007 creates a
backup automatically.
h) There is flexibility of data in the system, for the use of relationships between files shall
enable changes to be recognised throughout the whole system and allow easy updates.
i) The MD shall save on stationary fees as less paper shall be used for the computerised
system.
j) The system aids in calculating the total cost of a job. It also takes into consideration the
taxes and this task shall be faster compared to the old system as the MD will not have to
consult the materials file each time while calculating.

3.4.4 Limits of the scope of the solution
a) The system shall fail to operate when there is power failure as the computer requires
electricity to operate.
b) The MD may be computer literate but the other workers who will be allowed to use the
system during the absence of the MD are not computer literate. Therefore training shall
be required for them and this might slow the process of implementation. This might be
complicated and some worker may be reluctant to use the new computerised system.
c) If ever there are other new sorts of reports that will be required by the MD, the system
shall fail to produce such reports as such situations have not been catered or predicted.
d) The system does not produce any graphical or statistical representations of the data in the
system and this might have been a useful feature for the MD.
e) However there are validations techniques there might still be input errors. (E.g.
transcription or transposition errors while entering the name, surname or address...
entering an ID in the correct format but with the wrong code...)













4. PROCESS MODEL DESCRIPTION

























5. DESIGN AND TECHNICAL SPECIFICATION









5.1 Context Diagram








5.2 Data Flow Diagrams

Level 0 DFD









5.4 ER DIAGRAM


































Client_id
_id
Lname

Address
Mobile_no
Telephone_no
Total
cost
Delivery
date
Overdue
Work_id
Undertaken
date
Cross
section
Price
Reorder
level
Date
Supplier_id
Material_id
Qty in
stock
Password
Type
Amount
Fname
Thickness
Lname
User
Supplier
Client
Material
Work
undertaken
Fname
User_id
Places
Order
Supplied
by
Material
Needed
Pays
Telephone_no
Mobile_no
Lname
Address
1:M
M:1
1:M
1:M
1:M
M:1
M:1
post

5.5 TABLE DESCRIPTION
Material table
Field Data type Constraints Description Constraints
Material ID Char(5)int(5) Primary key , Not Null Unique code of the
Material, it can be used to
identify it, or search for it.
Primary key , Not Null
Price Int(10) Not Null The price of one such
Material.
Not Null
Type Char(30) Not Null Indicates the type of
Material whether it is
curve, perfile etc...
Not Null
Cross-section int(5) . Not Null Indicates the dimensions of
the cross-section of the
Material if they vary.
. Not Null
Thickness int(5) Not Null Indicates the thickness of
the Material if they vary.
Not Null
Quantity in stock Int(10) Not Null The amount of Material in
stock.
Not Null
Reorder level Int(10) Not Null Amount of Material to
reach in stock to reorder.
Not Null

Client table
Field Data type Constraints Description
Client ID Char(5)int(5) Primary key , Not Null Each client has a unique ID.
lname Char(20) Not Null The surname of the client.
fname Char(20) Not Null The name of the client.
Address Char(30)int(30) Not Null The address of the client.
Telephone no Int(10) Not Null The telephone number of the
client.
Mobile no Int(10) Not Null The mobile number of the
client.
Overdue Int(20) The amount of money that the
client owes.


Payment table
Field Data type Constraints Description
Payment ID Char(5)int(5) Primary key , Not Null Unique code to identify a
payment.
Date Char(20)int(5) Not Null Date on which the payment was
made.
Amount
Paid
int(20) Not Null

Supplier table
Field Data type Constraints Description
Supplier ID Char(5)int(5) Primary key , Not Null Each supplier has a unique
code.
lname Char(20) Not Null The surname of the owner.
fname Char(20) Not Null The other name of the owner.
Address Char(30)int(30) Not Null The address of the company.
Telephone no Int(10) Not Null The telephone number of the
company.
Mobile no Int(10) Not Null The telephone number of the
owner or a worker at in the
company.


User table
Field Data type Constraints Description
User ID Char(5)int(5) Primary key , Not Null Unique ID given to each User.
Lname Char(20) Not Null Name of the User.
Fname Char(20) Not Null Surname of User.
Password Char(20)int(20) Not Null Password of the User.
Post Char(30) Not Null The post of the User.

Work Undertaken table
Field Data type Constraints Description
Work ID (PK) Char(5)int(5) Primary key , Not Null Unique code for each job
undertaken.
Undertaken
Date
Char(20)int(5) Date The date on which the work has
been undertaken.
Delivery Date . Char(20)int(5) Date The date on which the work
needs to be delivered or
finished.
Total cost[ Int(20) Currency The total cost of the work.

















5.6 STRUCTURE CHART

5.6.1 Main system


















5.6.2 File updating system








5.6.3 User Accounts

5.2.4 Reports system


5.2.5 Item purchasing system








Item purchasing System
Update
supplier file
Process
material
Delivery
Verify
material
delivery
Payment
Handling
Generate
report
Generate
receipt
Check
material
delivery
Calculate
total cost
Generate
report
Calculate qty
in stock
Generate
report
R
e
p
o
r
t

DATA DICTIONARY
INPUT VALUES
COMPONENT SPECIFICATIO
NS
DESCRIPTION
Name Fname
Lname
[character]
n
[character]
n
n=20
Client_id [Digit][alphabet] [alphabet]
n
[digit]
n
n=5,Unique code of each client
address [house no. + street+
city+ state]

house no.=[digits]*
street =[character]*
state=[character]*
city=[character]*




Contact no [mobile_no.][telephone_
n
o
.
]
mobile_no.=[digit]
n
telephone_no= [digit]
n


n=10
User_id [Digit][alphabet] [alphabet]
n
[digit]
n
n=5,Unique code of each user
Supplier_id [Digit][alphabet] [alphabet]
n
[digit]
n
n=5, Unique code of each
supplier
Material_id [Digit][alphabet] [alphabet]
n
[digit]
n
n=5, Unique code of each
Material
Payment_mode [cheque(ch)][cash(ca)] (y|q)[character]
n
n=1 only one scheme can be
followed
Amount tendered (ca|ch)[character]
n
n=2, the amount paid by the
client.
Payment_id [Digit][alphabet] [alphabet]
n
[digit]
n
n=5, Unique code of each
payment
Post [string]

String

The post of the User
Purchase_id [Digit][alphabet] [alphabet]
n
[digit]
n
n=5, Unique code of each
purchase
Password [alphabet] [alphabet][digit]
n
n=10




6. CODE DEVELOPMENT

Price [Digit] [digit]
n
Price of each material
Type [alphabet] [alphabet]* Indicates the type of Material
whether it is curve, perfile
etc...
Cross section [Digit] [digit]*

Indicates the dimensions of the
cross-section of the Material
Thickness [Digit] [digit]*

Indicates the thickness of the
Material
Quantity of material [Digit] [digit]*

Quantity of specific material
Cost [Digit] [digit]*

Cost of each material
Date =[mm/dd/yyyy] date Date, month, year
6.1 Flowchart


Login



















Input username and
password
Is
password
correct?
Open login Form
Wrong password.
Enter Again
Start
End

No
Recording a Purchase










Enter details of purchase
i.e. Purchase ID, material
ID, Qtyetc
Validate fields
Purchase
File
If Error
Supplier
File
Total cost=Subprice *
Qty Purchased= Qty in
stock + Qty purchased

Save all the data
Yes
N
O
O
O
O
O
O
O
o
Start
End

Recording a new Work










Enter details of Work i.e.
Work ID, Client ID etc
Validate fields
If Error
Total cost =Subprice *
Qty of material needed
Qty Available = Qty in
stock - Qty needed
Client file
File
Save all details
Work
Undertaken
File
Product
File
Yes
N
o
Start
End
Material
File
Overdue = Total cost
Amount Tendered
Recording a Payment










Enter Payment Number,
Client ID,Date etc
Validate fields
If Error
Remaining overdue =
Past Due- Amount Paid
Client file
File
Save all details
Payment
File
Print Receipt
Ye
s
No
Start
End
Adding a new record in a file




















Enter details in fields
Validate fields
If Error
Save all details
Product
File
No
Yes
Start
End
Deleting a record in a file










Enter Record to be deleted
Search record
If Not
Found
File
No
Confirm
Delete
Delete record
End
Yes
No
Start
End

Editing a record in a file









Enter Record
Search record
Save all details
File
No
Ye
sss
sss
s
If Found
Display Record
Edit record
Validate fields
If Error
Ye
s
No
Start
End
Searching a record in a file











Enter Search item
Search record
If Found
File
Yes
No
Display Record
Search failed
Start
End




Generating the reorder list report
















Search records
where Reorder level
>= Qty in stock
Bars File
Display
Report
Sort in ascending
order usingQty in
stock
Start
End




Generating the purchase report












Enter Start Date and end
date
Search all records
between those dates
Purchase
File
Display Report
Purchase
Line File
Start
End







Generating the urgent work to deliver report









Search work which has not
been delivered, but completed
and which ought to returned
earlier
Work
Undertaken
File
Display Report
Sort in ascending order
using Date to deliver
Start
End









Generating the general overdue report













Search records
where Overdue
>0
Client File
Display
Report
Start
End











Generating the work completed overdue report





Search work which has
been completed, but
NOT delivered and for
which the client still owe
money
Work
Undertaken
File
Display
Report
Sort in descending
order using
Overdue
Client File
Start
End












Generating the work delivered overdue report
















Search work which has been
delivered and for which the
client still owe money
Work
Undertaken
File
Display Report
Sort in descending
order using Overdue
Client File
Start
End
Generating the urgent work to be completed report


















Search work which has not been
completed, had to be already
delivered
Work Undertaken
File
Display Report
Sort in ascending order using
Date to be returned
Start
End


Generating work to be delivered report














Search work which has been
completed, has not been
delivered
Work
Undertaken
File
Display Report
Sort in ascending order
using Date to be returned
Start
End

Generating work to be done report














Search work which has not
been completed, has to be
delivered later
Work
Undertaken
File
Display Report
Sort in ascending order
using Date to be returned
Start
End


Generating the materials by category report

















Enter Category of
material
Search for materials
of the category chosen
materials
File
Display
Report
Start
End








6.2 Component Level Design (Pseudo Code)

6.2.1 Welcome Form
On timer
Close Welcome Form
Open Login Form
End sub

6.2.2 Login Form (Security design)
On Click
Validate password for the user
IF Password is correct THEN
Open Main menu
Save post of worker in a file
Else
Request to renter password
END IF
End sub

6.2.1 Forms Section (For Other users)
On load
if user is manager then
Unhide Users command button.
Else
Hide Users command button
End if
End sub

6.2.2 Change Password form (Enables users to change their password)
User ID field
After Update
Enable Enter old password command button
Display details of User
End sub

Enter Old password Field
After Update
IF old password is correct THEN
Ask User to enter new password
Enable Enter new password textbox
Disable Old password textbox
ELSE
Ask the user to re-enter old password
END IF
End sub


New password field
After Update
Enable Confirm New password textbox
End sub

Confirm password field
After Update
IF the 2 passwords tally THEN
Enable Change password button
Disable the two password textboxes
ELSE
Ask the user to re-confirm New password
END IF
End sub


Change password button
On Click
Change password in the Users table
End sub

6.2.3 Materials form
Save button
On click
Unlock all textboxes
Clear all textboxes
Enable Save button
Disable add button
Disable navigation buttons
End sub

Add button
On click
IF all fields are validated THEN
Save the record
Disable Save button
Enable Navigation buttons
Enable Add button
ELSE
Renter data
End IF
End sub

Delete button
On click
Confirm delete
IF yes then
Delete current record
End IF
End sub

Edit button
On click
Enable certain textboxes
Disable Edit button
Disable navigation buttons
Enable save button
End sub

Navigation buttons:
Last Button
On click
IF on last record
Error message
Else
Go to last record
END IF
End sub

First Button
On click
IF on First record
Error message
Else
Go to First record
END IF
End sub

.Previous Button
On click
IF on First record
Error message
Else
Go to Previous record
END IF
End sub

Next Button
On click
IF on Last record
Error message
Else
Go to Next record
END IF
End sub

Navigation buttons: enabling to go back to Forms Section AND Main Menu.
Forms Section Button
On click
Close Material Form
Open Main Menu
End sub

Main Menu Button
On click
Close material Form
Open Forms Section
End sub



6.2.4 Client Form
Save button
On click
Unlock all textboxes
Clear all textboxes
Enable Save button
Disable add button
Disable navigation buttons
End sub

Add button
On click
IF all fields are validated THEN
Save the record
Disable Save button
Enable Navigation buttons
Enable Add button
ELSE
Renter data
End IF
End sub
Delete button
On click
Confirm delete
IF yes then
Delete current record
End IF
End sub

Edit button
On click
Enable certain textboxes
Disable Edit button
Disable navigation buttons
Enable save button
End sub

Navigation buttons:
Last Button
On click
IF on last record
Error message
Else
Go to last record
END IF
End sub

First Button
On click
IF on First record
Error message
Else
Go to First record
END IF
End sub

.Previous Button
On click
IF on First record
Error message
Else
Go to Previous record
END IF
End sub

Next Button
On click
IF on Last record
Error message
Else
Go to Next record
END IF
End sub

Navigation buttons: enabling to go back to Forms Section AND Main Menu.
Forms Section Button
On click
Close client Form
Open Main Menu
End sub

Main Menu Button
On click
Close client Form
Open Forms Section
End sub

6.2.5 Supplier Form
Save button
On click
Unlock all textboxes
Clear all textboxes
Enable Save button
Disable add button
Disable navigation buttons
End sub

Add button
On click
IF all fields are validated THEN
Save the record
Disable Save button
Enable Navigation buttons
Enable Add button
ELSE
Renter data
End IF
End sub

Delete button
On click
Confirm delete
IF yes then
Delete current record
End IF
End sub

Edit button
On click
Enable certain textboxes
Disable Edit button
Disable navigation buttons
Enable save button
End sub

Navigation buttons:
Last Button
On click
IF on last record
Error message
Else
Go to last record
END IF
End sub

First Button
On click
IF on First record
Error message
Else
Go to First record
END IF
End sub

.Previous Button
On click
IF on First record
Error message
Else
Go to Previous record
END IF
End sub

Next Button
On click
IF on Last record
Error message
Else
Go to Next record
END IF
End sub

Navigation buttons: enabling to go back to Forms Section AND Main Menu.
Forms Section Button
On click
Close supplier Form
Open Main Menu
End sub

Main Menu Button
On click
Close supplier Form
Open Forms Section
End sub

6.2.6 Purchases Form

Save button
On click
Unlock all textboxes
Clear all textboxes
Enable Save button
Disable add button
Disable navigation buttons
End sub

Add button
On click
IF all fields are validated THEN
Save the record
Disable Save button
Enable Navigation buttons
Enable Add button
ELSE
Renter data
End IF
End sub

Delete button
On click
Confirm delete
IF yes then
Delete current record
End IF
End sub

Edit button
On click
Enable certain textboxes
Disable Edit button
Disable navigation buttons
Enable save button
End sub

Navigation buttons:
Last Button
On click
IF on last record
Error message
Else
Go to last record
END IF
End sub

First Button
On click
IF on First record
Error message
Else
Go to First record
END IF
End sub

.Previous Button
On click
IF on First record
Error message
Else
Go to Previous record
END IF
End sub

Next Button
On click
IF on Last record
Error message
Else
Go to Next record
END IF
End sub

Navigation buttons: enabling to go back to Forms Section AND Main Menu.
Forms Section Button
On click
Close purchases Form
Open Main Menu
End sub

Main Menu Button
On click
Close purchases Form
Open Forms Section
End sub

Calculate button
On Click
Sums the data in the Sub Price field in the sub form
Calculate the total cost by adding 15% vat to the sum.
End Sub

6.2.7 Work Undertaken form
Save button
On click
Unlock all textboxes
Clear all textboxes
Enable Save button
Disable add button
Disable navigation buttons
End sub

Add button
On click
IF all fields are validated THEN
Save the record
Disable Save button
Enable Navigation buttons
Enable Add button
ELSE
Renter data
End IF
End sub

Delete button
On click
Confirm delete
IF yes then
Delete current record
End IF
End sub

Edit button
On click
Enable certain textboxes
Disable Edit button
Disable navigation buttons
Enable save button
End sub

Navigation buttons:
Last Button
On click
IF on last record
Error message
Else
Go to last record
END IF
End sub

First Button
On click
IF on First record
Error message
Else
Go to First record
END IF
End sub

.Previous Button
On click
IF on First record
Error message
Else
Go to Previous record
END IF
End sub

Next Button
On click
IF on Last record
Error message
Else
Go to Next record
END IF
End sub

Navigation buttons: enabling to go back to Forms Section AND Main Menu.
Forms Section Button
On click
Close work undertaken Form
Open Main Menu
End sub

Main Menu Button
On click
Close work undertaken Form
Open Forms Section
End sub
Date to deliver field
After Update
IF Date to deliver < Date Undertaken THEN
Clear data for both dates and indicate error before proceeding
Renter both dates
END IF
End sub

6.2.8 Products form
Save button
On click
Unlock all textboxes
Clear all textboxes
Enable Save button
Disable add button
Disable navigation buttons
End sub

Add button
On click
IF all fields are validated THEN
Save the record
Disable Save button
Enable Navigation buttons
Enable Add button
ELSE
Renter data
End IF
End sub

Delete button
On click
Confirm delete
IF yes then
Delete current record
End IF
End sub

Edit button
On click
Enable certain textboxes
Disable Edit button
Disable navigation buttons
Enable save button
End sub

Navigation buttons:
Last Button
On click
IF on last record
Error message
Else
Go to last record
END IF
End sub

First Button
On click
IF on First record
Error message
Else
Go to First record
END IF
End sub

.Previous Button
On click
IF on First record
Error message
Else
Go to Previous record
END IF
End sub

Next Button
On click
IF on Last record
Error message
Else
Go to Next record
END IF
End sub

Navigation buttons: enabling to go back to Forms Section AND Main Menu.
Forms Section Button
On click
Close Products Form
Open Main Menu
End sub

Main Menu Button
On click
Close products Form
Open Forms Section
End sub

Calculate button
On Click
Sum the values in the Sub price section
Add the values of labor and fittings to the sum
Add 15% vat to the value obtained
Send it in the total cost (textbox)
End sub

6.2.1 Materials by category
This form shall be used to generate the Materials by category report. The user shall select the
category from the combo box (Select Type of Material) and the report shall be generated. The
Combo box shall get values from a Category Query and not directly from a table.

The Combo box in the form shall get value from the query below.
List of type of materials Query
SELECT: DISTINCT [Type]
FROM: Materials table

6.2.9 General Overdue Report

General Overdue Query (For General overdue Report)
SELECT: [Client ID], [Surname], [Other name], [Address], [Tel], [Mob], [Overdue]
FROM: Client table
WHERE: [Overdue] > 0

The General Overdue report will be a list of all the clients who owe money displaying their
details and the amount of money they owe.

6.2.10 Work completed but overdue Query

SELECT: Client table. [Client ID], Client table. [Surname], Client table. [Other name], Client
table. [Address], Client table. [Tel], Client table. [Mob], Client table. [Overdue]
FROM: Client table INNER JOIN Work undertaken table ON Client table. [Client ID] = Work
undertaken table. [Client ID]
WHERE: (Client table. [Overdue])>0) AND (Work undertaken table. [Work completed])
=True) AND (Work undertaken table. [Installation completed])=False)

The report shall generate the list of the clients whose work have been completed, not yet
delivered and the client owes money.

6.2.11 Work delivered but overdue Query
SELECT: Client table. [Client ID], Client table. [Surname], Client table. [Other name], Client
table. [Address], Client table. [Tel], Client table. [Mob], Client table. [Overdue]
FROM: Client table INNER JOIN Work undertaken table ON Client table. [Client ID] = Work
undertaken table. [Client ID]
WHERE: (Client table. [Overdue])>0) AND (Work undertaken table. [Installation completed])
=True)

The report shall generate the list of the clients whose work has been delivered and the client
owes money.


6.2.12 Reorder List Query
SELECT: [Material ID], [Type], [Cross-section (mm)], [Thickness (mm)], [Price], [Quantity in
stock], [Reorder level]
FROM: Materials table
WHERE: [Quantity in stock] < [Reorder level]

The report shall generate the list of the materials which need to be purchased as the quantity in
stock has reached the reorder level or below.

6.2.13 Urgent work to deliver Query
SELECT: [Work ID], [Description of product], [Client ID], [Address of delivering the work],
[Date undertaken], [Date to deliver]
FROM: Work undertaken table
WHERE: ([Date to deliver] < Current Date) AND ([Work completed] =True) AND
([Installation completed] =False)

The report shall generate the list of work which has already been completed, ought to be
delivered and not yet delivered.




6.2.14 Work to deliver Query
SELECT: [Work ID], [Client ID], [Description of product], [Address of delivering the work],
[Date undertaken], [Date to deliver]
FROM: Work undertaken table
WHERE: ([Date to deliver]>Current Date) AND ([Work completed] =True) AND ([Installation
completed] =False)

The report shall generate the list of work which has already been completed, has to be delivered
and not yet delivered.

6.2.15 Work not completed before deadline Query
SELECT: [Work ID], [Description of product], [Client ID], [Address of delivering the work],
[Date undertaken], [Date to deliver]
FROM: Work undertaken table
WHERE: ([Date to deliver]) <Current Date) AND ([Work completed] =False)

The report generates the list of works has not been completed before the date they ought to be
completed.



6.2.16 Purchase Query
SELECT: Purchase table. [Purchase ID], Purchase table. [Date], Purchase table. [Supplier ID],
[Purchase Line table]. [Material ID], [Purchase Line table]. [Quantity], [Purchase Line table].
[Sub price], Purchase table. [Total cost], [Start Date] AS Expression1, [End Date] AS
Expression2
FROM: Purchase table INNER JOIN [Purchase line table] ON (Purchase table. [Purchase ID]) =
([Purchase line table]. [Purchase ID])
WHERE: ([Start Date] < [Date]) AND ([End Date] > [Date])

The report generates the list of purchases between two dates which shall be entered by the user.

6.2.17 Materials by Category Query
SELECT: [Material ID], [Price], [Type], [Cross-section (mm)], [Thickness (mm)], [Quantity in
stock], [Reorder level]
FROM: Materials table
WHERE: [Type] = [Form Materials by Category]. [Combo box Type]
This report shall generate the list of materials of specific type (category). The user shall select a
category from the combo box in the materials by category form and the report will be generated.
The title of the report shall change each time depending on the Category selected.




7. TESTING DOCUMENT



7.1 Black Box Testing with Test case design
Test
No:
Test (Item to be tested) Input type Expected result Actual
result
1 Welcome form Normal After being opened the Welcome shall
close after 3 seconds and login form
shall open

2 Select a user and enter the
correct password. Then
click on the login button.
Normal Display a message indicating that
correct password has been entered,
close login form and open Main Menu
form.

3 Select a user and enter an
incorrect password. Then
click on the login button.
Abnormal Display error message indicating that
incorrect password has been entered
and give the user 2 more chances to
enter password.

4 Enter the password
correctly but in the
different case.
Abnormal Display error message indicating that
incorrect password has been entered
and give the user 2 more chances to
enter password.

5 Login as manager in the
system.
Normal When on Forms section form the
command button Users leading to the
users form shall be visible.

6 Login other than as
manager in the system.
Normal When on Forms section form the
command button Users leading to the
users form shall be hidden.

7 Click on the reports
section command button
on the Main Menu form.
Normal Close Main Menu form and open
Reports section form.


Test
No:
Test (Item to be tested) Type Expected result Actual
result
8 On Reports Section form
click on Work delivered
command button under the
Normal Generate report of the Clients for
whom the work has been delivered
but owe money.

overdue heading.
9 On Reports Section form
click on the Urgent
command button under the
deliveries heading.
Normal Generate the report of the Work that
have already been completed and
which ought to be delivered earlier.

10 On Reports Section form
click on command button
Purchase, enter two dates
between which purchases
are required.
Normal Generate the report of the list of
purchases that had been made
between the dates input

11 On Reports Section Click
on Materials by Category
command button. Select a
type of material from the
list box on the form that
will be opened.
Normal Generate the report of a list of the
type of materials selected.

12 On load of a form that
displays data.
Normal Lock all the text boxes and disable the
Save button

13 Click on the Add button in
a form.
Normal Clear all text boxes to allow input of
data, enable the Save button, disable
the Add, Edit and Delete button.

Test
No:
Test (Item to be tested) Type Expected result Actual
result
14 Click on the Edit button in a form. Normal Unlock the text boxes and
(OR) combo boxes to allow
modification of data, enable
the Save button, disable the
Add, Edit and Delete button.

15 Click on the Save command button
on a form.
Normal Save the current record,
Disable the save button,
enable the Add, Edit and
Delete buttons

16 Adding a record in a file whose Normal Save the new record in the
data is displayed on a single form.
Click the add button on the form.
Fill all normal data in the fields.
Click on save.
file
17 Editing a record in a file whose
data is displayed on a single form.
Go to the respective form. Click
on the Edit button. Modify the
required field(s). Click on Save.
Normal Save the record in the file
with the modification

18 Deleting a record in a file whose
data is displayed on a single form.
Go to the respective form. Click
on the Delete button. Then
confirm delete.
Normal Delete the current record
from the file

Test
No:
Test (Item to be tested) Type Expected result Actual
result
19 Adding a record in a file whose
data is displayed on a form which
has a sub form. Click the add
button on the form. Fill all
normal data in the fields. Click
on save.
Normal Save the new record in the
file of the main form and
save other records of the sub
form in the file for the sub
form

20 Editing a record in a file whose
data is displayed on a form which
has a sub form. Go to the
respective form. Click on the
Edit button. Modify the required
field(s). Click on Save.
Normal Save the new record in the
file of the main form and
save other records of the sub
form in the file for the sub
form with the modification

21 Deleting a record in a file whose
data is displayed on a form which
has a sub form. Go to the
respective form. Click on the
Delete button. Then confirm
Normal Delete the current record of
the main form from its file
and also delete the records in
the sub form from the file of
the sub form.

delete.
22 Click on the Next Command
button on a form that displays
data from a file (table).
Normal Go to the next record.
23 Click on the Previous Command
button on a form that displays
data from a file (table).
Normal Go to the previous record.

Test
No:
Test (Item to be tested) Type Expected result Actual
result
24 Click on the First Command
button on a form that displays
data from a file (table).
Normal Go to the first record.
25 Click on the Last Command
button on a form that displays
data from a file (table).
Normal Go to the last record.
26 Click on the Next Command
when on the last record.
Abnormal Display error message that
cannot go to that record.
Remain on the current
record.

27 Click on the Previous Command
button when on the first
Abnormal Display error message that
cannot go to that record.
Remain on the current
record.

28 Search a record on a form. Click
on the search combo box and
select the required record.
Normal Go to the selected record.
29 Enter a non-duplicate (correct)
value in a primary key field.
Normal Accept the value entered in
the field.

30 Enter a duplicate value in a
primary key field.


Abnormal Display error message
indicating that the key field
cannot contain a duplicate
value.





Test
No:
Test (Item to be tested) Type Expected result Actual
Result
31 While entering data in a form
leave a field having presence
check unfilled.
Abnormal Indicate the user that it is
compulsory to enter data in
that field.

32 Input the ID (key field) in the
correct format e.g. an ID that
should begin with W followed
by 3 digits
Normal Accept the data entered in the
field.

33 Input the ID (key field) in the
incorrect format e.g. an ID that
should begin with W followed
by 3 digits is entered starting with
digits or another letter.
Abnormal Display error message
indicating the user that the ID
is not in the correct format.

34 Click on an unfilled field which
has a default value while adding a
record.
Normal Display the default value in
the field.

35 Enter the price on the Materials
form with the appropriate data
type.
Normal Accept the data.
36 Enter the price on the Materials
form with the inappropriate data
type.
Abnormal Do not accept the data and
indicate an error message.

37 Enter an appropriate reorder level
(Correct range and data type) in
the field reorder level on the
Materials form.
Normal Accept the data.
Test Test (Item to be tested) Type Expected result Actual
No: Result
38 Enter an inappropriate reorder
level (incorrect range) in the field
reorder level on the Materials
form.
Abnormal Do not accept the data and
display error message indicating
that the data is not within the
required range.

39 Enter the minimum value for the
Quantity in stock field on the
materials form.
Extreme Accept the data.
40 Enter an inappropriate reorder
level (incorrect data types i.e.
contain a character apart from
digits) in the field reorder level on
the Materials form.
Abnormal Do not accept the data and error
message shall be displayed
indicating that the data in the
field is of the inappropriate data
type.

41 Enter correctly in the appropriate
data type the Surname of a
Supplier on the supplier form.
Normal Accept the data.
42 Enter the Surname of the supplier
with the inappropriate data type
(digits perhaps).
Abnormal Do not accept the data and
display error message indicating
that the field has data of
inappropriate type.

43 Enter the Company Name of a
supplier on the Supplier form with
the maximum letters allowed.
Extreme Accept
44 Enter the Company name of the
Supplier with more letters than
allowed.
Abnormal Do not accept the data.
Test
No:
Test (Item to be tested) Type Expected result Actual
result
45 Enter the Telephone number of a
supplier in the correct way (i.e.
with seven digits)
Normal Accept the data.
46 Enter the Telephone number of a
supplier in the incorrect way (i.e.
Abnormal Do not accept the data and
display error message.

with letters)
47 Enter the Correct Date to deliver on
the Work undertaken section in the
work form which shall be greater
than the date undertaken.
Normal Accept the data.
48 Enter the inappropriate Date to
deliver on the Work undertaken
section in the work form which
shall be less than the date
undertaken.
Abnormal Do not accept the date, clear
the text box and display an
error message which indicates
that the date to deliver shall be
greater than the Date
undertaken.

49 Click on the Client ID combo box
on the payment form.
Normal Display the Client ID of
clients who owe money.


Test
No:
Test (Item to be tested) Type Expected result Actual
result
50 While doing the payment feed, all
the normal data to calculate the new
overdue and past overdue of the
Client.
Normal The Overdue before the
payment shall become the Past
Due and the new Overdue will
become the Difference
between the Previous overdue
and the amount paid

51 Select a user ID, enter the correct
Old password, and enter the New
password and the Confirmation
password correctly on the change
password form.
Normal Accept the old password,
display appropriate message to
enter new password, accept the
confirmation password and
save it in the users table.

52 Select a User ID, enter wrong old
password.
Abnormal Do not accept the old password
and display error message.

53 Select a User ID, correct wrong old
password but enter the wrong
confirmation password
Abnormal Do not accept the new
password, display error
message.

54 Click on Backup button on Main
Menu
Normal Open Nero 8 program.
55 Click on Help button on Main
Menu
Normal Open a word document for
help









7.2 White Box Testing

LOGIN










CYCLOMATIC COMPLEXITY = E N+2
=4-4+2
=2

INDEPENDENT PATH: 1)1 2 3
2) 1 2 4 3



2 4
3
1









Recording a Purchase















5
4
3
2
1

CYCLOMATIC COMPLEXITY = E N+2
=5-5+2
=2
INDEPENDENT PATH: 1) 1 2 3 4 5
2) 1 3 4 5






Recording a new Work












1
2
3
4
5
6




CYCLOMATIC COMPLEXITY = E N+2
=6-6+2
=2
INDEPENDENT PATH: 1) 1 2 3 4 5 6
2) 1 3 4 5 6





Adding a new record in a file










1
4
3
2

CYCLOMATIC COMPLEXITY = E N+2
=4-4+2
=2

INDEPENDENT PATH: 1) 1 2 3 4
2) 1 3 4







Deleting a record in a file










2
1
6
5
4
3




CYCLOMATIC COMPLEXITY = E N+2
=7-6+2
=3
INDEPENDENT PATH: 1)1 2 3 4 5
2) 1 3 4 5
3) 1 2 3 4 6 5
4) 1 3 4 6 5

Editing a record in a file












1
2
3
4
7
6
5





CYCLOMATIC COMPLEXITY = E N+2
=9-8+2
=3
INDEPENDENT PATH: 1)1 2 3 4 5 6 7 8
2) 1 3 4 5 6 7 8
3) 1 2 3 4 5 7 8
4) 1 3 4 5 7 8




Searching a record in a file








2
1
5
4
3



CYCLOMATIC COMPLEXITY = E N+2
=5-5+2
=2
INDEPENDENT PATH: 1) 1 2 3 4
2) 1 5 3 4




8. PROJECT MANAGEMENT

8.1 Function point and effort
FUNCTION POINTS
Counting function points
Weighting factor
Measurement parameter count Simple Average Complex
Number of user inputs X * 4 6 =
Number of user outputs X * 5 7 =
Number of user inquiries X * 4 6 =
Number of files X * 10 15 =
Number of external X * 7 10 =
Interfaces
Count total
FP = count total X [0.65+.01 X (Fi)]
(Fi)=23
FP =165 X [0.65+.01 X 23]
FP=145.2
Thus, Function-Point(FP)=145.2


EFFORT
Effort E(in person-months)=-12.88+0.405*FP
Here,FP(calculated above)=145.2
So E=(-12.88+0.405*145.2)*40/100=18.3704=18.4 (approx.)
Thus, Effort(E) =18.4person-months.

24
12
8
3
30
10
49 7
50
10
0
165
3
4
3
7
5
8.2 SCHEDULE
WORK TASKS DAYS
1. PROCESS STATEMENT, PROCESS MODEL
1.1 Meet with customers 4
1.1 Identify needs and project constraints 5
1.2 Establish problem statement 9
1.3 Process Model 4
2. REQUIREMENT ANALYSIS
2.1 Requirement elicitation 5
2.2 Data Flow Diagram 9
2.3 Data Dictionary 8
3. PROJECT MANAGEMENT
3.1 Function oriented metrics: FP 4
3.2 Size oriented metrics: Effort 2
3.3 Schedule 3
3.4 Risk Table 5
3.5 Timeline Charts 5
4. DESIGN ENGINEERING
4.1 Architectural Design 4
4.2 Data Design 4
4.3 Component level design (Pseudo code) 9
5. TESTING
5.1 Flowchart 4
5.2 Flow graph (Compute basis path set) 3
5.3 Test Cases 3








8.3 Risk table

A risk table provides a project manager with a simple technique for risk projection. A risk is a
potential problem it might happen and it might not
Contents of a Risk Table:-
It consists of four columns
Risk Summary short description of the risk
Risk Category one of seven risk categories
PR: Product Risk
BR: Business Risk
CR: Customer Risk
PdR: Process Risk
DR: Development Risk
SR: Staff Risk
TR : Technology Risk
Probability estimation of risk occurrence based on group input
Impact
(1) catastrophic
(2) critical
(3) normal
(4) marginal
(5) negligible.

Risk Summary Risk Category Probability Impact
System crash TR 5% 1
Overall response time slow TR 19% 2
Server fails

TR 7% 2
Delivery date not on time BR 50% 2
End users/staff inexperienced

SR 70% 2
Requirement change by
Customer

BR 56% 2
Communication with the
customer not done in a timely
manner

CR 24% 3
Unavailabityor poorquality of
tools to beused.
DR 45% 3
Guidelines not followed DR 12% 5

Steps for Risk Management:-
1) Risk identification : Identify possible risks; recognize what can go wrong
2) Risk mitigation (avoidance) is the primary strategy and is achieved through a plan where we
find measures to prevent the occurrence of risk.
3) During Risk monitoring, the project manager monitors factors that may provide an
indication of whether a risk is becoming more or less likely
4) Risk management and contingency planning assume that mitigation efforts have failed and
that the risk has become a reality
Develop a Contingency plan to manage those risks having high probability and high impact.

Risk identification Risk mitigation Risk Monitoring Contingency
plan&Management
System crash Keep coding and internal
structure secure.
Save state of process before
the crash
Keep the system updated
afterevery regularinterval.
Analyzing system
performance
Keeping track of load on
the system
Reboot system
Recover backup
states
Reset system to last
saved state
Overall slow response
time
Keep number of users within
limit
Keep database up to date and
compact
Keep coding and internal
structure simple.

Keeping track of number
of users
Display prompt message
or warning whenever
reach limit of users
exceed for a given task.
Display warning message
when memory usage
reaches limit set
Display prompt messages
when complexity or
internal looping increases
the limit set.
Limit the number
of required users
to accomplish the
task.
Maximize the use
of secondary
device for storage
instead of storing
entire information
in memory
Service
system(maintenance
)

Server fails

Save state of process at
regular interval(every 12
hours)
Update backup of data
Limit access of server to few
terminals only
Keeping track of database
of the system
Keeping track of number
of terminals accessing
server
Connect sub server
for use
Copy of backup
will be available on
sub server
Server to be
diagnosed and
repaired
Delivery date will be
tightened

Undertake time planning and
scheduling activities
according to deadline
Impose check on the regular
work schedule
Keep track of project
progress and time lapse
available
Inform the
authorized
officials about
improper delay
and ask for
reasons.
End users/staff
inexperienced

Paid training sessions to be
given to staff before startup.
Give a manual guide for any
help required regarding
software use.
Doubts to be clarified for
any query that may arise.
Timely check on the
process to provide any
suggestions regarding.
Insert prompts and
helping tips in the
software
Customer may change
requirements

Make sure that requirements
of customer are verified and
validated during srs
Keep track of
requirements of customer
at regular interval
Allow the system to
be compatible with
the changed
requirements
Any new
requirement
should not prove
the earlier
requirements to be
wrong.

Unavailabityor
poorquality of tools to
beused.
Ensure availability of tools
before they are to be put to
use.
Upgrade quality timely.
Keep checking tools after
regular durations to
update the tools and to
have its latest versions

Discard expire tools
timely.
Follow measures to
maximize its usage
with given quality.

Guidelines not followed Ensure that guidelines are
followed well
Ensure that guidelines are
followed to the point
After implementing each
module check guideline.
Give instructions
that guidelines must
be followed




8.4 Timeline Charts




WORK TASKS WEEK 1 WEEK 2 WEEK 3 WEEK 4 WEEK 5 WEEK 6 WEEK 7
PROBLEM
STATEMENT

Meet with customers
Identify needs and
project constraints
Establish problem
statement
Decide Process Model
Milestone: Problem
statement defined
REQUIREMENT
ANALYSIS
Requirement
elicitation
Data Flow Diagram
Data Dictionary
Milestone:
Requirement Analysis
Complete
PROJECT
MANAGEMENT
Function oriented
metrics: FP
Size oriented metrics:
Effort
Schedule
Risk Table
Timeline Charts
Milestone: Project
Management
achieved






WORK TASKS WEEK 8 WEEK 9 WEEK 10 WEEK 11 WEEK 12
DESIGN
ENGINEERING

Architectural Design
Data Design
Component level design
(Pseudocode )
Milestone: Design
Engineering achieved
TESTING
Flowchart
Flowgraph( Compute
basis path set)
Test Cases
Milestone: Testing
Completed

9. BEST PRACTICES FOR SOFTWARE DEVELOPMENT























10. References

[1] Pankaj Jalote, An integrated approach to Software engineering, Third
Edition, Indian Institute of Technology of Kanpur, 10: 0-387-20881-X, 2005
[2] Sample projects

Vous aimerez peut-être aussi