1. 1
FINAL PROJECT REPORT
Accounts Managment
System
Supervised By:
Mr. Muhammad Ejaz
Submitted By:
Waqar Younas SP13-MCS-034
Yasmin Akhter SP13-MCS-008
For the partial fulfillment of
Master of Computer Science
2. 2
Declaration
I hereby declare that the project "Accounts Managment System"
submitted to the "COMSTS Institute Of Information Technology ", is a
record of original work done by us under the guidance of Mr.
Muhammad Ejaz . It is further declared that we have developed this
application and accompanied report entirely on the basis of our personal
efforts. The work embodied in this project has not been submitted to any
other University for the award of any degree or diploma.
Waqar Younas
________________ ________________
Student Name Signature
Yasmin Akhter
________________ ________________
Student Name Signature
3. 3
Certificate of Approval
It is to certify that the final year project of MCS “Accounts Managment System”
was developed by
Waqar Younas (SP13-MCS-034),
Yasmin Akther(SP13-MCS-008),
under the supervision of “Mr. Muhammad Ejaz ” and that in his opinion it
is fully adequate, in scope and quality for the degree of Bachelors of Science in
Computer Sciences.
External Examiner:
Supervisor: Mr. Muhammad Ejaz
Head of Department: Dr. Javed Ferzund
(Department of Computer Science)
4. 4
Acknowledgement
Thanks to Allah the Almighty who is our best friend and knows us more than
ourselves. He is always with us in our difficulties and problems.
We have made efforts in this project. However, it would not have been possible
without the kind support and help of many individuals and institute. We would like
to extend my sincere thanks to all of them.
We are highly indebted to (Mr. Muhammad Ejaz ) for their guidance and constant
supervision as well as for providing necessary information regarding the project
along with his support in completing the project.
We would like to express our gratitude towards our parents & member of
(COMSTS Institute of Information Technology) for their kind co-operation and
encouragement who helped us in completion of this project. We would like to
express our special gratitude and thanks to industrial professionals for giving us
such attention and time.
Our thanks and appreciations also go to our colleague in developing the project and
people who have willingly helped us out with their abilities.
5. 5
Abstract
This report documents the Final Project entitled as “ACCOUNTS MANAGMENT
SYSTEM”. To achieve this task a website is developed which has covered all the
problems which are being faced by the dealer of adnan spray center. Basically the
idea behind having this website is to provide admin with an online portal to
maintain the current customer and supplier records along with the record of all
transaction.
The report’s chapters include introduction, requirement analysis, planning and
designing, implementation, testing. The introduction phase gives an overview of
the project, describing its background, scope and main objectives. Requirement
analysis is the phase to gather the user’s requirements such as functional and non-
functional requirements. Next is the system design mainly describes user interface
and database design graphically. The next stage after designing is the
implementation phase. After this part testing is carried out to ensure the quality
objectives.
6. 6
Chapter 1 10
Project Introduction 11
1.1 Introduction 11
1.2 Background of Project 11
1.3 Current System 11
1.4 Limitations 11
1.5 Proposed System 11
1.6 Objective 12
1.6.1 Customer Handling 12
1.6.2 Supplier handling 12
1.6.3 Product Management 12
1.6.4 Sale Module 12
1.6.5 Purchase Module 12
1.6.6 Expense Handling 12
1.6.7 User Rights Handling 12
1.6.8 Generate Report 12
1.6.9 Employee Handling 12
1.6.10 Bank 13
1.6.11 Web 13
1.7 Project Scope 13
1.8 Tools Used 13
Chapter 2 14
Analysis Phase 14
2.1 Introduction 15
2.2 Requirement Gathering 15
2.3 Requirement Analysis 15
2.3.1 Functional Requirements 16
2.3.2 Non-Functional Requirements 18
2.4 Composition of different Technologies 19
2.4.1 Java 19
2.4.2 NET 19
2.4.3 ASP.NET 21
2.4.4 JSP 21
2.4.5 Php. 21
7. 7
Chapter 3 23
Planning and Design 23
3.1 Introduction 24
3.2 Planning and Schedule 24
3.2.1 Gantt Chart 24
3.3 Context Diagram 25
3.4 Sequence Diagram 26
3.4.1 Sequence Diagram for Admin. 26
3.5 Use case Diagram 27
3.5.1 Add Employee 28
3.5.2 Employee Login 30
3.5.3 Add Customer 31
3.6 ERD 32
Chapter 4 33
Implementation 33
4.1 Introduction 34
4.2 Same code for home page 34
4.3 Screen-Shots 41
4.2.1 Home Screen 41
4.2.2 Login Screen 41
4.2.3 Customer 42
4.2.4 Sales 42
4.2.5 Purchase 43
4.2.6 Database 43
Chapter 5 44
Testing 44
5.1 Introduction 45
5.2 Testing Approaches 45
5.2.1 Unit Testing 45
5.2.2 Integrated Testing 45
5.2.2 Black Box Testing 46
5.2.2 White Box Testing 46
5.2.1.1 Test Case for add Login 47
5.2.1.2 Test Case for add customer 48
5.2.1.3 Test Case for add Product 49
5.2.1.4 Test Case for add Supplier 51
5.2.1.5 Test Case for add Expense 53
5.2.1.6 Test Case for Sale 54
5.2.1.7 Test Case for Purchase 54
5.2.1.8 Test Case for add Employee 55
8. 8
Chapter 6 57
Appendix 57
6.1 Extra Screenshots 57
6.2 Extra Use Case Detail 59
6.3 Interview Question Paper 69
10. 10
1.1 Introduction
This chapter will focus on background of this project, the objectives and
significance of the project.
1.2 Background of project
Pakistan is computerized developing Country. There is a lot of stuff which is yet to
be implemented here. One of which is a ACCOUNTS MANAGMENT SYSTEM.
Our motive is to develop the system that covers all aspects of the accounts for a
small frenchise. Basically this project handle or manage the records of a dealer or
seller of a shop with customer and supplier. “ we are going to implement the
requirement of a local spray center”
As a result the owner of the mentioned frenchise can handle his business in an easy
way.
1.3 Current System
Currently , record is being maintaind manually on note books. Maintaining records
in such a way consumes alot of time.
1.4 Limitations
Customer finding is very difficult. There is no method to calculate net profit.
Expanses are not managed or at the end of year when there is closing time and they
clear all the company or supplier bills it is very difficult to calculate the exact
amount because data is scattered in many general books .
1.5 Proposed System
Basically this system is formally built to be implemented on a shop to facilitate the
dealer to manage his acounts with customers and suppliers.
11. 11
1.6 Objectives
The basic features of this system are as follows:
1.6.1 Customer:
The admin can add ,delete or update customers information and see the balance of
customers.
1.6.2 Products:
The admin or employee can add new products ,delete products or update products.
1.6.3 Supplier:
The admin or employee can add delete or update a supplier or see supplier balance.
1.6.4 Expance:
The admin r employee can add expances
1.6.5 SALE:
The whole sale module for employee or admin to sale a product..
1.6.6 Purchase:
The whole purchase module for employee or admin to purchase a product..
1.6.7 Reports:
Different kind of reports are generated to enhance the admin’s abilities such as sale
report, purchase report, inventory reports, profit and loss reports etc.
1.6.8 Employee:
The admin can add one or more employee to handle the system and assign them
there login user name and password.
1.6.9 User Rights:
User rights are assigned by admin to employees such as admin can set that which
employee can deal with only customer and which can deal with supplier etc.
12. 12
1.6.10: Bank:
Admin can manage accounts with banks he can add view r delete banks.
1.7 Project Scope
In this sub chapter project scope is described with the help of conceptual model.
1.8 Tools Used
The front end of the project will be developed in HTML. To maintain all record of
admin with supplier and customer.PHP will be used to carry out backend
development integrated with database by the help of MYSQL queries. For
applying styles and animations to our website JQUERY and CSS is used. And for
responsive front end JAVASCRIPT is used.
14. 14
2.1 Introduction
In this chapter we will focus on the feasibility of the project. Requirement
collection is the chief desirability of the phase of Analysis. The process of
collecting requirements is usually more difficult than simply asking the questions
from users that what they need and writing their answers down. Depending on the
complexity of the application, the process for collecting requirements has a visibly
defined process of its own. We will also focus on which technique we use to
develop this project.
2.2 Requirement Gathering Techniques
A requirement can be defined as capability or condition that must be possessed by
the system, service, result, and product. Different techniques can be used for
collecting requirements.
1. Interview
2. Focusing on facilitated workshops and industrial groups
3. Using creativity groups and using techniques of decision-making
4. Surveys and Questionnaire
5. Observation
6. Use of Prototyping
We prefer interviewing and observations.
2.3 Requirement Analysis
Requirement analysis is a process of studying and analyzing the customer needs to
arrive at the definition of software requirement. It is divided into two parts.
15. 15
2.3.1 Functional Requirement
Functional requirements can be defined as the services statements that should be
provided by the system that how the system will react to the particular input and
how in different situations the system should behave.
The functional requirements of system are following:
2.3.1.1 Mange users privillages
The admin can manage login of employee. He or she can assign username or
passwords to employees.
2.3.1.2 Manage accounts
Admin can manage all type of accounts of customer and supplier.
2.3.1.3 Add product
Admin or employee can manage all type of products. He or she can add delete or
update any products.
2.3.1.4 Add supplier
Admin or employee can manage all suppliers. He or she can add delete or update
any suppliers.
2.3.1.5 Add employee
Admin can add many employees. Or admin can manage employee update r delete
them.
2.3.1.6 Add customer
Admin or employee can manage all customers. He or she can add delete or update
any customers.
16. 16
2.3.1.7 User rights
Admin can assign rights to employees such as which employee can manage
customers or which can manage suppliers etc.
2.3.1.8 Balances
Admin or employee can manage all customers and suppliers balances. He or she
can receive or pay payments.
2.3.1.9 Generate reports
Admin or employee can generate many types of reports to see status . He or she
can generates reports such as “inventory reports , profit and loss reports and
many others.
2.3.1.10 Sale’s records
Admin or employee can manage sale for all types of products.
2.3.1.11 purchase record
Admin or employee can manage purchase for all types of products.
2.3.1.12 Bank
Admin can manage their accounts with bank.
2.3.1.13 web site
Admin or employee can manage their web site to post the picture of their new
products ,get feed back and to advertise different products.
17. 17
2.3.2 Non Functional Requirement
Non-Functional requirements can be defined as the constraints or checks on the
function or services provided by the system such as constraint of time, constraints
on the development process and standards.
2.3.2.1 Operateability
The users of the system should be familiar with the standard windows
environment. The website interface should be according to Microsoft Windows
guidelines and all the interfaces should reflect the same pattern. Enforcement
officers should be able to use the application (running on the mobile phone) easily
and effectively.
2.3.2.2 Performance
The system should produce the result in less than 10 sec of time if a single record
is to be retrieved. In generating reports it can take a bit more time according to the
complexity of the report.
2.3.2.3 Simplicity
System should be designed according to the workflow of the actual process and
thus will be easy for the final users.
2.3.2.4 Security
Role based security should be implemented. The personnel accessing the
information from the database should have security checks to ensure
confidentiality and privacy of the personal information.
2.3.2.5 Training
This system is developed such that the normal user can operate very easily and no
special type of training is required to operate this system
2.3.2.6 User help
A user guide should be provided for help.
18. 18
2.3.2.7 Privacy
Keeping the privacy of the information that will be accessible to the operating
personnel is of atmost importance. The system should be designed in such a way to
ensure privacy of information.
2.3.2.8 Accuracy
The system should be able to provide accurate data otherwise the information may
be misleading .
2.4 Comparison of different technologies
2.4.1 Java
The primary implementation of the Java platform is available as an Open Source
implementation called OpenJDK.
While "Java" is an Oracle trademark, and only Oracle can license the name "Java",
numerous free software projects exist that are compatible with Oracle Java. Most
notably, GNU Classpath and GCJ provide a free software class library and a
compiler that are partially compatible with the current version of Oracle Java. Sun
Microsystems, owner of the Java platform before being acquired by Oracle,
announced on November 13, 2006 that all Java source code, excludingclosed-
source code for which they do not retain rights, will be released under a modified
version of the GPL, and released two fundamental parts of
the JRE and JDK: HotSpotand the javac compiler under the GPL.
Following their promise, Sun released the complete source code of the class library
under GPL on May 8, 2007, except some limited parts that were licensed by Sun
from 3rd parties who did not want their code to be released under an open-source
license (see also Free Java implementations). Sun's goal was to replace the parts
that remain closed with alternative implementations and make the class library
completely open.
In June 2008, Red Hat announced that the IcedTea project has passed the
rigorous Java TCK, indicating a fully functional open-source implementation of
the Java platform.
2.4.2 .NET
Microsoft's .NET CLI executable environment and some of the corresponding
class library have been standardized and can be freely implemented without a
license. A few standards-compliant free software environments have been
19. 19
implemented, such as the Mono Project and DotGNU. The Mono Project has also
implemented many of Microsoft's non-standard libraries by examining Microsoft
materials, similar to GNU Classpath and Java.
Microsoft is currently distributing a shared source version of its .NET runtime
environment for academic use. However, it is only supported on Windows 7 and
has not been updated after .NET 4.0. For .NET Framework 4.5 and newer, a
Reference Source[
website is available, where source code can be downloaded or
browsed online.
The Mono project aims to avoid infringing on any patents or copyrights, and to the
extent that they are successful, the project can be safely distributed and used under
the GPL. On November 2, 2006, Microsoft and Novell announced a joint
agreement whereby Microsoft promised not to sue Novell or its customers for
patent infringement. According to a statement on the blog of Mono project
leader Miguel de Icaza, this agreement only extends to Mono for Novell
developers and users. Because of the possible threat of Microsoft patents,
the FSF recommends that people avoid creating software that depends on Mono
or C#.
The Microsoft/Novell agreement was criticized by some in the open
source community because it violates the principles of giving equal rights to all
users of a particular program (see Agreement with Microsoft and Mono and
Microsoft's patents).
In response to the Microsoft/Novell agreement, the Free Software
Foundation revised its GNU General Public License to close the loophole used by
Microsoft and Novell to bypass the GPL's very restrictive provisions on patent
deals.The FSF also stated that by selling coupons for Novell's Linux software, the
mechanism by which Microsoft circumvented the GNU license, it considers
Microsoft to be a Linux vendor, and thereby subject to the full terms and
conditions laid out in the GPL.
The .NET landscape started to change in 2013, when Microsoft decided to open
source many of its core .NET technologies under Apache License, with even more
donated to newly formed .NET Foundation in 2014. Open sourced technologies
include ASP.NET MVC, Entity Framework, Managed Extensibility
Framework, Roslyn compiler-as-a-service infrastructure (together with C#
and Visual Basic.NET compilers), F# functional-first language compiler, and many
more.Microsoft and Xamarin announced collaboration, with the intent to increase
cross-platform availability of .NET on Mac OS, Linux, and mobile devices
20. 20
2.4.3 ASP.NET
ASP.NET is an open source server-side Web application framework designed
for Web development to produce dynamic Web pages. It was developed
by Microsoft to allow programmers to build dynamic web sites, web
applications and web services.
It was first released in January 2002 with version 1.0 of the .NET Framework, and
is the successor to Microsoft's Active Server Pages (ASP) technology. ASP.NET is
built on the Common Language Runtime (CLR), allowing programmers to write
ASP.NET code using any supported .NET language. The
ASP.NET SOAP extension framework allows ASP.NET components to process
SOAP messages.
ASP.NET is in the process of being re-implemented as a modern and modular web
framework, together with other frameworks likeEntity Framework. The new
framework will make use of the new open-source .NET Compiler Platform (code-
name "Roslyn") and becross platform. ASP.NET MVC, ASP.NET Web API, and
ASP.NET Web Pages (a platform using only Razor pages) will merge into a
unified MVC 6.The project is called "ASP.NET vNext".
2.4.4 JSP
JavaServer Pages (JSP) is a technology that helps software
developers create dynamically generated web pages based on HTML,XML, or
other document types. Released in 1999 by Sun Microsystems, JSP is similar
to PHP, but it uses the Java programming language.
To deploy and run JavaServer Pages, a compatible web server with
a servlet container, such as Apache Tomcat or Jetty, is required
2.4.5 PHP
PHP is a server-side scripting language designed for web development but also
used as a general-purpose programming language. As of January 2013, PHP was
installed on more than 240 million websites (39% of those sampled) and 2.1
million web servers.Originally created by Rasmus Lerdorf in 1994, the reference
implementation of PHP (powered by the Zend Engine) is now produced by The
PHP Group.While PHP originally stood for Personal Home Page, it now stands
for PHP: Hypertext Preprocessor, which is a recursive backronym.
PHP code can be simply mixed with HTML code, or it can be used in combination
with various templating engines and web frameworks. PHP code is usually
processed by a PHP interpreter, which is usually implemented as a web server's
native module or a Common Gateway Interface (CGI) executable. After the PHP
21. 21
code is interpreted and executed, the web server sends resulting output to its client,
usually in form of a part of the generated web page; for example, PHP code can
generate a web page's HTML code, an image, or some other data. PHP has also
evolved to include a command-line interface (CLI) capability and can be used
instandalone graphical applications.
The canonical PHP interpreter, powered by the Zend Engine, is free
software released under the PHP License. PHP has been widely ported and can be
deployed on most web servers on almost every operating system and platform, free
of charge.
Despite its popularity, no written specification or standard existed for the PHP
language until 2014, leaving the canonical PHP interpreter as a de facto standard.
Since 2014, there is ongoing work on creating a formal PHP specification.
23. 23
3.1 Introduction:
This chapter will focus on planning, scheduling, modeling and design of project.
Different techniques and models are used to express project schedule and
processing.
3.2 Planning and Schehduling
3.2.1Gantt Chart:
A Gantt chart, commonly used in project management, is one of the most popular
and useful ways of showing activities (tasks or events) displayed against time. On
the left of the chart is a list of the activities and along the top is a suitable time
scale. Each activity is represented by a bar; the position and length of the bar
reflects the start date, duration and end date of the activity. This allows you to see
at a glance:
1. What the various activities are
2. When each activity begins and ends
3. How long each activity is scheduled to last
4. Where activities overlap with other activities, and by how much
5. The start and end date of the whole project.
Gantt chart of our project is shown on next page,
24. 24
3.3 Context Diagram
3.4 Sequence Diagram
The Sequence Diagram models the collaboration of objects based on a time
sequence. It shows how the objects interact with others in a particular scenario of a
use case. With the advanced visual modeling capability, you can create complex
sequence diagram in few clicks. Besides, VP-UML can generate sequence diagram
from the flow of events which you have defined in the use case description.
ID Task Name Start Finish
Duratio
n
1 2d2/4/20142/3/2014Planning
2 1d2/5/20142/5/2014Initial Proposal Presentation
3 2d2/7/20142/6/2014Final Proposal submitted
4 5d2/14/20142/10/2014Information Gethering
5 6d2/24/20142/17/2014Analysis
6 4d2/28/20142/25/2014
Set algorithm as Genetic
Algorithm
7 10d3/14/20143/3/2014Submitted SRS
8 7d3/25/20143/17/2014Study Design requirements
9 8d4/4/20143/26/2014
Downloaded software for
documentation and maintenance
10 2d4/8/20144/7/2014Installed Xamp Server
11 2d4/10/20144/9/2014
Study various software and
other functionality
12 6d4/18/20144/11/2014
Software design report
submitted
13 5d4/25/20144/21/2014Interface design completed
14 7d5/6/20144/28/2014Logic completed
15 4d5/12/20145/7/2014
Integration and modification of
interface, database and logic
16 6d5/20/20145/13/2014
Successfully completed the
software
17 2d5/22/20145/21/2014Report and slides prepared
Figure 3.1
Figure 3.2
26. 26
3.5 Use case diagramm for admin
3.5 Use case diagramm for employee
Figure 3.5
Figure 3.6
27. 27
An important part of the analysis phase is the Use cases. They are used throughout
the analysis phase to find and divide functionality of system. System is separated
into actors and use cases.
Actors play the role that is played by the system users. The actors can be defined as
anything that is directly interacting with the system. The standard condition is that
the users must be external to the system divided into use cases. Use cases define
the system behaviour when one of the actors sends any particular motivation. This
type of behavior can be described by text. It describes the motivation nature that
activates use case, the inputs and outputs to some other actors and the behavior of
conversion of inputs to the outputs. Usually use case describes everything that can
go wrong during the detailed behavior and what will be helpful action taken by the
system. In this system different use cases are drawn to understand the functionality
of the system.
3.5.1 Add Employee
Use Case Name: Add Employee
Use Case ID: UP-1
Actors: Admin Add employee
Other Stakeholders:
Summary
Description:
This use case details the Sign up for employee. It is necessary to gain access to
other functionality of the system.
Priority: Must Have
Risk Level: High
28. 28
Status: Fully Detailed
Pre-Condition: The user has access to internet in some cases.
Post-Condition: The employee has created his login successfully.
Basic-Path:
1. The admin opens to the home page of the system.
2. The admin click on Sign Up button and add employee.
3. The system requires important information from employee.
4. The admin enters employee name.
5. The admin enters employee position
6. The admin enters employee username.
7. The admin enters employee password.
8. The admin click on submit.
Alternative Paths: None
Business Rules:
1. The employee must need to provide all the information required by
system.
2. The names should contain only Alpha Characters with spaces..
3. The password must be 5 to 15 characters long.
Non-Functional
Requirements:
1. The Password should be encoded and shown as * symbols on the screen
when entered by the employee.
3.5.2 Employee Login
29. 29
Use Case Name: Employee login
Use Case ID: UP-2
Actors: User(Primary)
Summary
Description:
The employee login to the system.
Priority: Must Have.
Risk Level: High
Status: Fully Detailed
Pre-Condition:
The system must be established to get database and the employee must have
valid login id.
Post-Condition: The employee logged in successfully.
Basic-Path:
1. The employee open the browser and enter the system name.
2. The employee goes to login page.
3. The employee enters his username.
4. The employee enters his password.
5. The admin clicks on the login.
Alternative Paths: None
30. 30
Business Rules:
Non-Functional
Requirements:
The Password should be encoded and shown as * symbols on the screen when
entered by the employee.
3.5.3 Add Customer
Use Case Name: Customer are registered by admin or employee which have rights
Use Case ID: UP-3
Actors: Admin or employee
Other Stakeholders:
Summary
Description:
The admin or employee add many customers.
Priority: Must Have
Risk Level: High
Status: Fully Detailed
Pre-Condition: the database must be established for add the customer.
Post-Condition: The data successfully added or updated in database.
31. 31
Basic-Path:
1. Admin or employee must login to add new customer
2. Admin or employee click on customer icon.
3. Admin or employee click on new customer button
4. Admin or employee fill the fields such customer name,
customer address ,customer city ,customer cell no
5. Then click on save button
6. Then click on customer icon to view list of customer
Alternative Paths: None
Business Rules: The admin must have a proper username and password.
Non-Functional
Requirements:
The Password should be encoded and shown as * symbols on the screen when
entered by the user.
There must be scalability for improving the data.
The security should be must for secure the data.
Note: more detail of use case is given in chaoter 6 appendix
3.6 ER diagramm
Figure 3.7
33. 33
4.1 Introduction:
The most important goal of this phase is to form the application. The work in this
phase should be much more straightforward as a result of the work done in the
previous phases. This phase involves changing design specifications into
executable programs. When the design is there, developers can have an idea on
looks of software. All that is need by developers is to put them at one place to
understand about the intended project.
4.2 Sample Code For Home Page:
<?php
session_start();
include('lib/conn.php');
if($_SESSION['emp_id'] == "")
{
header("location: login.php?err");
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo TITLENAME; ?></title>
<link href="css/style.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="js/responsiveslides.js"></script>
44. 44
5.1 Introduction
It is a process of testing the system with the intention of finding errors. It can also
be defined as the ability of a program in meeting the required or desired results.
Software is not like other physical processes where according to received inputs
outputs are produced where software fails in various manners. Most of the physical
systems fail in a fixed set of ways. It is infeasible to detect all failure modes of
system.
In many methodologies of software engineering, a separate phase is called phase of
testing which is performed after the completion of the implementation. There is a
benefit in using this approach that it is hard to see one's own mistakes, and a fresh
eye can find observable errors much faster than the person who has read the
material many times.
5.2 Testing approaches
5.2.1 Unit testing
A unit test is a test written by the programmer to verify that a relatively small piece of code is
doing what it is intended to do. They are narrow in scope, they should be easy to write and
execute, and their effectiveness depends on what the programmer considers to be useful. The
tests are intended for the use of the programmer, they are not directly useful to anybody else,
though, if they do their job, testers and users downstream should benefit from seeing fewer bugs.
Part of being a unit test is the implication that things outside the code under test are mocked or
stubbed out. Unit tests shouldn't have dependencies on outside systems. They test internal
consistency as opposed to proving that they play nicely with some outside system.
5.2.2 Integrated testing
An integration test is done to demonstrate that different pieces of the system work together.
Integration tests cover whole applications, and they require much more effort to put together.
They usually require resources like database instances and hardware to be allocated for them.
The integration tests do a more convincing job of demonstrating the system works (especially to
non-programmers) than a set of unit tests can, at least to the extent the integration test
environment resembles production.
Actually "integration test" gets used for a wide variety of things, from full-on system tests
against an environment made to resemble production to any test that uses a resource (like a
database or queue) that isn't mocked out.
45. 45
5.2.3 Black Box testing
Black Box testing refers to the technique of testing a system with no knowledge of the internals
of the system. Black Box testers do not have access to the source code and are oblivious of the
system architecture. A Black Box tester typically interacts with a system through a user interface
by providing inputs and examining outputs without knowing where and how the inputs were
operated upon. In Black-Box testing, target software is exercised over a range of inputs and the
outputs are observed for correctness. How those outputs are generated or what is inside the Box
doesn't matter to the tester.
5.2.4 White Box testing
A white box or clear box is a device, program or system whose internal workings are well
understood. White box testing, also called white box analysis, clear box testing or clear box
analysis, is a strategy for software debugging in which the tester has excellent knowledge of how
the program components interact and also is familiar with the details of its internal operation.
46. 46
5.2.1.1 Test case for login
When i give the wrong user name to our project it displays an error of try again.
Try again
47. 47
5.2.1.2 Test case for add customer
When I give customer name in wrong format it displays an error shown bellow
When a given cell no of customer in wrong formate it also display an error of
correct format
48. 48
When i give the city of customer in numeric data type it displays an error of valid
format
5.2.1.3 Test case for add product
When i give product name in wrong data type it displays an error.
49. 49
When i gve product cost price in wrong data type it displays an error.
When i give product retail price in wrong data type it displays an error.
50. 50
When i give product company name in wrong data type it displays an error
5.2.1.4 Test case for add supplier
When i give Supplier name in wrong data type it displays an error.
51. 51
When i give Supplier cell no in wrong data type it displays an error.
When i click on edit button it display a confirmation message.
52. 52
5.2.1.5 Test case for add Expense
When i submit an expense without expense description it displays an error.
When i submit an expense without expense amount it displays an message.
53. 53
5.2.1.6 Test case for Sale.
When i sale a product without selecting a customer it display a message.
5.2.1.7 Test case for Purchase.
When i purchase a product without selecting a supplier it display a message.
54. 54
5.2.1.8 Test case for Add employee
When i add an employee and give the employee name wrong format it shows an
error.
When i add an employee and save it without a user name it shows an error
55. 55
When i add an employee and save it without a password it shows an error
58. 58
Reports:
6.2 Extra Use case Detail
Purchase
Use Case Name: Purchase
Use Case ID: UP-8
Actors: Admin or employee which have rights
Other Stakeholders:
Summary
Description:
Admin or employee can purchase many products .
Priority: High
Risk Level: High
59. 59
Status: Fully Detailed
Pre-Condition: Database must b connected to front end to save purchases
Post-Condition: Data is entered successfull to database.
Basic-Path:
1. Admin or employee must login to make purchases
2. Admin or employee click on purchase button
3. Admin or employee can select purchase mode, supplier ,select
product
4. Admin or employee then click on submit button to make action
completed
5. The admin can view purchases detail by generating reports
Alternative Paths: None
Business Rules: The admin or employee must have a proper username and password.
Non-Functional
Requirements:
The Password should be encoded and shown as * symbols on the screen when
entered by the admin.
There must be scalability for improving the data.
The security should be must for secure the data..
Reports
Use Case Name: Reports
60. 60
Use Case ID: UP-9
Actors: Admin or employee which have rights
Other Stakeholders:
Summary
Description:
Admin or employee can generate many kind of reports
Priority: High
Risk Level: High
Status: Fully Detailed
Pre-Condition: Database must be connected
Post-Condition: Data base must show records
Basic-Path:
1. Admin or employee must login to generate reports
2. Admin or employee click on reports
3. Admin or employee can select type of report such as sale report,
purchase report
4. Admin or employee can set from or to date
5. Then click on submit button to submit querry
Alternative Paths: None
Business Rules: The admin or employee must have a proper username and password.
61. 61
Non-Functional
Requirements:
The Password should be encoded and shown as * symbols on the screen when
entered by the admin or employee.
There must be scalability for improving the data.
The security should be must for secure the data..
User Rights
Use Case Name: User rights
Use Case ID: UP-10
Actors: Admin can assign rights to employees.
Other Stakeholders:
Summary
Description:
Admin can block or assign rights to an employee
Priority: High
Risk Level: High
Status: Fully Detailed
Pre-Condition: Admin delete an employee or set rights to an employee
Post-Condition: Employee is successfully blocked or achieve rights from database.
62. 62
Basic-Path:
1. Admin must login to assign rights
2. Admin click on user rights icon
3. Admin check those check boxes those he want to assign to the
employee
4. Admin then click on update button.
Alternative Paths: None
Business Rules: The admin must have a proper username and password.
Non-Functional
Requirements:
The Password should be encoded and shown as * symbols on the screen when
entered by the admin.
There must be scalability for improving the data.
The security should be must for secure the data..
Add Product
Use Case Name: Add Product
Use Case ID: UP-4
Actors: Admin or Employee which have rights to deal with products
Other Stakeholders:
63. 63
Summary
Description:
The admin or employee add many products
Priority: Must Have
Risk Level: High
Status: Fully Detailed
Pre-Condition: The database must be established for add the products.
Post-Condition: The data successfully added or updated in database.
Basic-Path:
1. Admin or employee must login to add new product
2. Admin or employee click on product icon.
3. Admin or employee click on new product button
4. Admin or employee fill the fields such product name, product
catagory ,cost price,retail price,company name,description
5. Then click on save button
Then click on product icon to view list of products
Alternative Paths: None
Business Rules: The admin or employee must have a proper username and password.
64. 64
Non-Functional
Requirements:
The Password should be encoded and shown as * symbols on the screen when
entered by the user.
There must be scalability for improving the data.
The security should be must for secure the data.
Date is updated successfully.
Add Supplier
Use Case Name: Add Supplier
Use Case ID: UP-5
Actors: Admin or employee which have rights
Other Stakeholders:
Summary
Description:
The admin or employee add many supplier and delete a supplier or update a
supplier
Priority: High
Risk Level: High
Status: Fully Detailed
Pre-Condition: The database must be established for add the or delete or update suppliers.
Post-Condition: The data successfully added in database.
65. 65
Basic-Path:
1. Admin or employee must login to add new supplier
2. Admin or employee click on supplier icon.
3. Admin or employee click on new supplier button
4. Admin or employee fill the fields such supplier name, supplier
address ,supplier city, supplier cell no, supplier city
5. Then click on save button
Then click on supplier icon to view list of suppliers
Alternative Paths: None
Business Rules: The admin or employee must have a proper username and password.
Non-Functional
Requirements:
The Password should be encoded and shown as * symbols on the screen when
entered by the user.
There must be scalability for improving the data.
The security should be must for secure the data..
Add Expense
Use Case Name: Add Expense
Use Case ID: UP-6
Actors: Admin or employee which have rights
Other Stakeholders:
66. 66
Summary
Description:
The admin or employee can add many expenses
Priority: High
Risk Level: High
Status: Fully Detailed
Pre-Condition:
The database must be established to new expences
Post-Condition: The data successfully added in database.
Basic-Path:
1. Admin or employee must login to add new expance
2. Admin or employee click on expance icon.
3. Admin or employee click on new expance button
4. Admin or employee fill the fields such expance name, amount
,description
5. Then click on save button
Then click on expance icon to view list of expances
Alternative Paths: None
Business Rules: The admin or employee must have a proper username and password.
67. 67
Non-Functional
Requirements:
The Password should be encoded and shown as * symbols on the screen when
entered by the user.
There must be scalability for improving the data.
The security should be must for secure the data..
Sale
Use Case Name: Sale
Use Case ID: UP-7
Actors: Admin or employee which have rights
Other Stakeholders:
Summary
Description:
Admin or employee can sale many available products
Priority: High
Risk Level: High
Status: Fully Detailed
Pre-Condition: The data base must b connected to the front end
Post-Condition: The data successfully added in database.
68. 68
Basic-Path:
1. Admin or employee must login to sale some products
2. Admin or employee click on sale icon.
3. Admin or employee can select sale r sale or sale return option
4. Admin or employee can select customer or product
5. Then click on submit button to make action complete
Then sales are seen by generating sale report
Alternative Paths: None
Business Rules: The user must have a proper username and password.
Non-Functional
Requirements:
The Password should be encoded and shown as * symbols on the screen when
entered by the user.
There must be scalability for improving the data.
The security should be must for secure the data..
6.3 Interview Questions Sample
Questions for requirement Gathering
Q1. What is approximate no of customers?
Q2. What kind of personal information of customer you want to get?
HINT[Customer name, cell no, address etc].
Q3. Do you have one supplier or more?
69. 69
Q4. What kind of personal information of supplier you want to get?
HINT[Supplier name, cell no, address etc].
Q5. How many catagories of Product you sell?
HINT[Bio fertilizers, Seeds,Spray].
Q6. Q4. What kind of information of Product you want to get?
HINT[Product name, Image, Cost price, Retail price Product supplier, Description
etc].
Q7. Do you want sale or purchase module in your system?
Q8. Do you want to maintain your accounts with customers ,suppliers and bank?
Q9. Whould you like expence module in your system?
Q10. What kind of reports you preffer?
HINT[Loss reports, Profit reports, Sale reports, purchase reports, Expence
reports,Customer balance reports, Supplier balance reports, Inventory reports etc]
Q11.Do you want your employees to deal with your system in you absence? If yes
then what kind of security you want?
Q12. What kind of pages would you preffer dynamic or static?
Q13. Do you want centralized or distributted system?
Q14. Do you want your system on local server or internet domain?
Q15. What kind of tool would you preffer us to develop your software?
Q16. What type of security you want?
Q17. Do you want your system responsive or not?
THE END