Sei sulla pagina 1di 54

Acknowledgement

The success and final outcome of this project required


a lot of guidance and assistance from many people and I am
extremely fortunate to have got this all along the completion of my
project work. Whatever I have done is only due to such guidance
and assistance and I would not forget to thank them

Primarily I would thank Sudeep Sir who helped us in this


project from the beginning, whose valuable guidance has been the
one that helped me patch this project and make it full proof
success. His suggestions and instructions have served as the
major contributor towards the completion of the project. I would
also like to thank my friend Samrat Thapa who helped me in the
project when I had to solve problems.

I would also like to thank my Principal Mr. Pramod


Paudel for providing me with all the facilities that was required.

I would also like to extend my gratitude towards my


family members and my classmates who helped in this project.
Without their help this project was impossible.

Aneesh Shahi
Table of Abbreviation
ERD = Entity Relationship Diagram
SMS = Short Message Service
SSM = Soft System Methodology
Chapter 1 - Introduction
The number of small business are increasing day by day. This type of business uses paper
billing. So, I will be developing a java-based desktop application which will replace the paper
billing the digitize billing. It will be more efficient and reliable. This system will be able to print the
bill. This is more applicable to small businesses.
I have developed this project because, with this software I think I can help the people who are
running small business. This software is very efficient to small shops, cafes, restaurants,
pharmacy, vet nary shops, etc. We can see that many of this small business wants to change
their billing system from paper to digital but are nit able to do it because of the expensive cost.
So, in order to help these entrepreneurs, I will be developing this project. It is very easy to use
and user friendly.
This to develop is a software which is a java-based desktop application. This software is able to
have a single user with the bill that is printable. The single user can be termed as admin here.
The user can navigate all the features of the software. So, the single user software is a little bit
problem because the software is only accessible by one person only. But, in other sense it is
also a good point because many small businesses are run by a single person.
The features of the billing software that I am going to develop in the near future are listed below:

 Login
 Bulk SMS
 Record Employee Details
 Stock management
 Printable Bills
 Automatic decrease of stock after sales
 Sales recorded
With the following aims am going to complete this software:

 To develop a software for small business companies to replace paper billing system by
digital billing system.
 Develop a software with possible maximum features with minimum cost.
The objectives of developing this relevant project are:

 To make user friendly and cheap billing system


 To promote the small business.
 To record data and transactions in a systematic way.
Chapter 2 - Analysis
Analysis is the process where the nature of something is studied or the determination of its
essential features as well as their relations also. Here, in analysis we break more complex
compounds simply saying the project into the simpler or basic ones. It helps us to do and
complete the project in time. It helps us to gather the requirements and develop the software in
the different stage.
Here, I am developing a billing software which a desktop-based application which mainly
targeted for the small-scale business. To develop I have gathered some information with the
help of questionnaire, interviews, observing the market, etc. This will help me to know the
requirement to develop the software.

Feasibility Study
Feasibility study is that type of study which is generally done by developers which inaugurates
whether the conditions are correct to start a particular project. It is generally done to look the
whether the new hardware and software are feasible or not. It is done to focus on the project
and outline the alternatives.
For this project, we have studied three components of the feasibility study and they are listed
and explained below:

Economical
The project I am going to complete may be economical as it may help to replace the old paper-
based billing system into electrical printing billing system. This system is quite time saving and
less effort is used. Similarly, it is good in terms of money. We do not have spend money on
paper bills and the environment can be saved also.

Financial
The amount of the investment for this project is small. We can say that it is a one-time
investment project. It depends on the client who uses the software whether they want to
upgrade the software later as maintenance which may lead in some of the investment of the
money. The clients can have maximum returns after they have invested in this project. They will
save time, money and effort. They will own an electrical system which will print bills and can
record the data they needed.

Legal
From the study, I found that the software can maintain the security. It helps the client or the
owner to rely on the software. Also, it does not have any privacy issues. This system can be
used by all types of the users in the shops or restaurants wherever they want. They can legalize
it by verifying from the higher authorities.
Analysis Methodology
For this project, I have chosen the Soft System Methodology (SSM) analysis because it is more
people-focused analysis. It will help me to gather requirements. It tries to appreciate and learn
the problem situation between the stakeholders rather than solving the pre-defined problems
(Anon., n.d.).
I have chosen this methodology because this helps us to focus more on the peoples view rather
than focusing on system. In my view the system should be developed as per the clients need as
they are the one who will be using the system all along. We should know their view which will
help us gather more requirement for the system during analysis. i have followed the three steps
of the SSM as well as done the CATWOE analysis. the steps of the SSM that I have followed
are listed and explained below.

1. Rich Picture
It is a process of exploring, acknowledging and defining a given situation as well as
expressing with the help of diagrams to establish a preliminary mental model. It gives us
idea on how to open discussion.
Below is the rich picture of my project.

Figure 1: Rich Picture


2. Root Definition
Here the main purpose of the project is to help the small entrepreneurs to have the
desktop-based application which will help them in the account section as well as making
their work easier. My project can be capable of printing bills, sending SMS in bulk,
managing different data. It can be used in long term as it is a small investment project
which can be sued from small scale business to large scale. It will save the d data of the
clients as long as they want in the database.

3. Conceptual Model
After drawing the rich picture and defining the root definition, I have followed the triple E
if the conceptual model to know the systems performance. They are explained below:
 Efficacy:
The system can be major transformation in small scale business. It can replace
the old tradition of paper billing system by the electronic bill printing system with
many more features.
 Efficiency:
As it is a desktop application it needs the computer resources to run. This
software can run with minimum resources as it is a simple software.
 Effectiveness;
The system can hold data as long as the owner of the system want. They can
use for the long time but I suggest them to maintain the system by upgrading
time for the better result and performance.

Software requirement Specification


It is a detailed description of a software system to be developed with its functional and non-
functional requirements. The SRS is developed based the agreement between customer and
contractors. It may include the use cases of how user is going to interact with software system.
The software requirement specification document consistent of all necessary requirements
required for project development. To develop the software system, we should have clear
understanding of Software system. To achieve this, we need to continuous communication with
customers to gather all requirements (Anon., n.d.).
Hardware requirements
Operating System: Windows 7 or higher
RAM: 2GB or higher
Processor: 1 GHz or higher
Screen resolution: 1024 * 768 resolution for better experience
Functional Requirements
It is the declaration of intended function of a system and its component. It can relate to
hardware, software or both in terms of calculation, technical details, data manipulation and
processing or other specific functionality that defines what a system is supposed to
accomplished.
Below is the function requirement which of my project
ID: FUN1
Title: Login
Description: User can login with the right username and password
Rational: It helps the user to enter the system.
Dependencies: N/A

ID: FUN2
Title: Forgot Password
Description: User can change password.
Rational: It helps user to change password when they forget it.
Dependencies: N/A

ID: FUN3
Title: Add, update, delete data
Description: User can use the CRUD function
Rational: It helps the to manipulate the data.
Dependencies: FUN1

ID: FUN4
Title: View report
Description: User can view the debits and credit
Rational: It helps the user to keep the track of profit and loss
Dependencies: FUN1
ID: FUN5
Title: Bulk SMS
Description: User can send SMS in bulk.
Rational: It helps to send single SMS to multiple persons.
Dependencies: FUN1

ID: FUN6
Title: Print Bill
Description: User can print VAT and non-VAT bill.
Rational: It helps the user to print the bill from digital copy to physical copy.
Dependencies: FUN1

ID: FUN7
Title: Logout
Description: User can logout from the system.
Rational: It helps to user to logout when they have used the system and helps in the security
reason.
Dependencies: FUN1

ID: FUN8
Title: Internet for booking/reservation
Description: Customers can reserve tables in the café and restaurants.
Rational: Reserving the table in advance
Dependencies: N/A

Non-Functional Requirements
In non-functional testing the quality characteristics of the component or system is tested. Non-
functional refers to aspects of the software that may not be related to a specific function or user
action such as scalability or security. Eg. How many people can log in at once? Non-functional
testing is also performed at all levels like functional testing.
ID: NFUN1
Title: Performance
Description: The system should run fast without any lag.
Rational: Productivity maintained
Dependencies: N/A

ID: NFUN2
Title: Usability
Title: The software should be user friendly.
Rational: User will not feel monotous.
Dependencies: N/A

ID: NFUN3
Title: Response time
Description: The software should be quick to response to user.
Rational: rapid respondind.
Dependencies: N/A

ID: NFUN4
Title: Security
Description: User with the right password and username can access data.
Rational; Data confidentiality
Dependencies: N/A

ID: NFUN5
Title: Reliability
Description: The system should be accurate and reliable.
Rational: Maintenance of reliability:
Dependencies: N/A
ID: NFUN6
Title: Availability
Description: Software should run whenever the user wants.
Rational; Upholding the availability
Dependencies: N/A

ID: NFUN7
Title: Maintainability
Description: the software can be maintaining in the future.
Rational: upgrading the system will have better experience
Dependencies: N/A

ID: NFUN8
Title: Recoverability
Description: There should be backup plan to recover the data incase there is any problem.
Rational: Data availability
Dependencies: N/A

Prioritization
Functional Requirement

ID Functional Requirement MoSCoW


FUN1 Login Must Have
FUN2 Forgot Password Could Have
FUN3 Add, Update, Delete Must Have
FUN4 View Report Should have
FUN5 Send SMS Must Have
FUN6 Print Bill Must Have
FUN7 Logout Must Have
FUN8 Internet For Booking Wont Have
Non-Functional Requirements
ID Non-Functional requirements MoSCoW
NFUN1 Performance Could Have
NFUN2 Usability Could Have
NFUN3 Response Time Could Have
NFUN4 Security Should have
NFUN5 Relaibility Should have
NFUN6 Availabiliyty Could have
NFUN7 Maintainability Could have
NFUN8 Recoverability Could Have

Architecture
Software architecture is the defining and structuring of a solution that meets technical and
operational requirements. Software architecture optimizes attributes involving a series of
decisions, such as security, performance and manageability. These decisions ultimately impact
application quality, maintenance, performance and overall success (Anon., 2017).

A two-tier architecture is a software architecture in which a presentation layer or interface runs


on a client, and a data layer or data structure gets stored on a server. Separating these two
components into different locations represents a two-tier architecture, as opposed to a single-
tier architecture. Other kinds of multi-tier architectures add additional layers in distributed
software design.
Use Case Diagram
A use case is a software and system engineering term that describes how a user uses a system
to accomplish a particular goal. A use case acts as a software modeling technique that defines
the features to be implemented and the resolution of any errors that may be encountered.

The above picture indicates the use case diagram of the system. The system is a single user
program. The user is indicated as actor in the diagram. The actor after the login is directed
towards the dashboard where it have access to all the features that are available. The bill can
be printed as per the need of the client and they are VAT bill and non-VAT bill. The report
shows the overall sales as well as net loss and net profit. In the employees’ data, the actor can
have the access of the employees’ data who are working in that particular organization. And in
the debit and credit section the actor can manage the credit and debit through out the use of the
system. All the case is inherited to dashboard except for login and actor.

Natural Language Analysis


Natural language processing (NLP) is a method to translate between computer and human
languages. It is a method of getting a computer to understandably read a line of text without the
computer being fed some sort of clue or calculation. In other words, NLP automates the
translation process between computers and humans.
Class Diagram

Figure 2: Class Diagram


Chapter 3 - Design
Design is the phase in SDLC where specification of software is turned into design or graphical
interface. Here we make plan of intending of making the GUI of the software as per our need.
Here. Not only the GUI design is made but also diagram which shows notation and flow of
information in the system are made. Some of the diagram which are made during the design
phase are activity diagram, sequence diagram, final class diagram etc.

DFD
It is a diagram which plots out the flow of information of any process of system or within the
system. In this diagram various shapes are used such as rectangle, circles and arrows. It
ranges from simple which is hand written, to in-depth which is known as multilevel DFD. I have
used multi level DFD where there are two level (Anon., 2018). The DFD diagram is shown
below.

Figure 3: Level 0 DFD


Activity Diagram
It is a basically a flowchart which illustrates the flow from one activity to another. These activities
can be also described as an operation of the program or system. It can be branched, sequential
or concurrent (Anon., n.d.).
Below is the activity diagram of the project:
Sequence diagram
Sequence diagram also known as event diagrams which explains the interaction between the
classes in exchange of the message. It is a diagram which visualize as well as validate different
runtime scenarios (Anon., n.d.).
Below is the sequence diagram.

Figure 4: sequence Diagram


Figure 5: Class Diagram
Chapter 4 - Coding
Coding is the where the source code known as statements also which is later on compiled by
the computer or any program which will give us a output. This output is known as object code.
Coding is essential part of a project as now program will be developed without codes.
For this project I have used NetBeans IDE 8.1 for coding. This application is fast and easy to
use. there are also various plugins available which helps me complete the project more
efficiently. This application is free to use and multiple languages are also supported in it.
Similarly, to store data I have used database of MYSQL with the help of XAMPP. I chose this
database because it is free to use and the database is created in the local PC itself. In this way,
I will be able to save time and work more easily.
Chapter 5 - Testing
It is process where we intend find whether is any bug or error in program (Anon., n.d.). All the
functionality of the software must be tested in initial phase as we have to know that if they are
functioning well or not. This will help in the delivery of the software. Testing is also termed as
validation and verification. It is taken place through out SDLC. Testing helps us meet technical
requirements which is guided by its design and development.
For this project I have tested the program through unit testing, Blackbox testing and whitebox
testing. I have chosen this three testing because they focus on the vital performance of unit,
input and output of program and strength of the code respectively.
Unit testing is the testing of the smallest testable parts in the program known as units which is
independently and individually inspected for suitable maneuver. I have used this testing with the
help of unit testing plugin in the NetBeans IDE 8.1.
Blackbox testing is the procedure of the testing input and output of the selected program. This
will help us to know that whether the program is giving the expected input and output or not. It
basically focuses on the input and output of software only. I have used this testing by inputting
value and expecting the desired output.
Whitebox testing is the testing of internal coding or internal infrastructure of software. This
testing focuses on strengthen the security of program, know the flow of input and output of the
program and improvisation of design and usability.
The followings are the tests that I have done in the project:

Test Test Test Test Data Expected Actual Pass/Fail


case Scenario Steps/Test Results Results
ID Description
TC 1 Testing Unit 1000 1000 1000 Pass
getObj Testing
method of
viewBalance
class
TC 2 Testing Unit Potato Potato Potato Pass
getObj Testing
method of
updateStock
class
TC 3 Testing get Unit 1 1 1 Pass
method of Testing
billSession
class
TC 3 Testing Unit 1 1 1 Pass
tableSearch Testing
method
TC 4 Testing Unit 10000 10000 10000 Pass
getObj Testing
method of
debit class
TC 5 Testing Unit 10000 10000 10000 Pass
getAmount of Testing
billingProduct
class
TC 6 Testing Unit Rs. 10000 Rs. 10000 Rs. 10000 Pass
getmethod of Testing
Subtotal
TC 7 Testing get Unit 12 12 12 Pass
method of bill Testing
number
TC 8 Testing SMS Unit 9803764135 9803764135 9803764135 Pass
number in Testing
sms class
TC 9 Testing Unit 10000 10000 10000 Pass
getTotal Testing
method of
billingProduct
class
TC 10 Testing Unit Wai wai Wai wai Wai wai Pass
getItemList of Testing
billingProduct
class
TC 11 Testing SMS Try Catch 9803764135 9803764135 9803764135 Pass
TC 12 Testing Bill Try catch 12 12 12 Pass
number
TC 13 Testing Try catch 10000 10000 10000 Pass
Subtotal
TC 14 Testing Total Try Catch 10000 10000 10000 Pass
TC 15 Testing Try carch 10000 10000 10000 Pass
Amount
TC 16 Testing Try catch Potato Potato Potato pass
updatestock
TC 17 Testing Try Catch 1000 1000 1000 Pass
Viewbalance
TC 18 Testing Item Try Catch Wai wai Wai wai Wai wai Pass
list
TC 19 Testing Login Blackbox Username & Login Login Pass
feature Password Successful Successful
TC 20 Testing Blackbox Supplier Updated Updated Pass
Update name,
Supplier contact no
and email
TC 21 Testing Blackbox Particulars Added Added pass
addition of & Quantity
utems in bill
TC 22 Testing Blackbox Particulars, Added Added Pass
Addition of credit
credit amount and
date
TC 23 Testing Blackbox Supplier Report view Report view Pass
Of report name
TC 24 Testing Blackbox Contact no SMS sent SMS sent Pass
Of SMS and sms
TC 25 Testing of Blackbox Clicking Logged out Logged Out Pass
logout logout
button
TC 26 Testing Blackbox Null Updated Not updated Fail
Update
suppliers
Chapter 6 - Other Project Issues
There will be many issues arise during project development. Here I have also faced multiple
issues and obstacle during this project. They made rime consumption more for the project.
Some of the obstacles and issues that I faced are listed below and explained also:
1. Error/Bugs
There were multiple bugs and errors which caused me more time to solve them.

2. Operating System Failure


Sometime my operating system failed or crashed. This caused me solve the problem
related to the OS rather than solving the bugs in the program.

3. Scheduling
Here, scheduling was also a obstacle for me because I had to complete in time. This
caused some bugs in the program which was later found on testing phase. This took
more time in testing and I was not able to submit the testing part in time.

4. Internet Connectivity
The disruption of internet connectivity caused me more time also. As, I had been using
the internet source for references for this project. I had to research many things in
internet but the loss of internet connectivity caused more time.

Project limitation
We all know that nor program will have no limitation. So, my project also has some limitations.
This can be termed as disadvantages of the program also. The limitation of my specific project
is listed below:

 The program I have developed is a single user.


 The program is a desktop-based application so, it cannot be connected to the
internet.
 There is no option of changing password. The only way to change password is
through server.
 Online reservation is not possible as it is a desktop application.

Risk Management
Risk management is the process of documentation of examination, valuation, rheostat and
dodging, minimization, or eradication of intolerable risks. Any project manager should manage
the risk as it directly affects on the project. Without the risk management the company will face
loss which may be in big amount also. Similarly, risk management helps in the future also, as if
the same risk occurs then it can be solved in short span of time and loss will not be big also.

The relation formula [Impact = Likelihood * Consequence] is used to calculate and


evaluate risk factors.
Risk likelihood and values

Risk Consequence and Values

I have listed some of the risks that are vulnerable for this project with their impact
and action:

Risks Likelihood Consequence Impact Action


Hardware failure 3 4 12 Data loss
System failure 2 5 10 No work should can be
done
Too many bugs 2 2 4 May impact on the
scheduling
Illness 2 2 4 Overtime duty can
recover the lost time
while being sick.
Natural disasters 1 4 4 Backup of data should
be kept.
Configuration Management
It is the process of reviewing the entire system. Here, we will store the data of the program
before it is delivered. It is due to because, the backup of the program should be done as we
know that there might be some issues that arises during this project. For this project, we have to
back up the code of the program as there might be data loss and because of the mistakes there
might be a critical error on the software. This will lead to program to not operate. If the project
does not operate then it will not be usable. For the backup of coding we can use GitHub, Google
drive and other cloud storage services. For this project I have used the cloud service of Google
drive. In this cloud, we can upload the files and can be downloaded anywhere with the help of
connectivity (Rouse, 2017).
Chapter 7 - Future Work
There are many services that are not included in this project. So, in the near future I have
planned to add the features that I have not been able to include this time. In future, I have
planned to add the feature of adding the feature of changing the password of the user. As, there
is possibility of forgetting of password after it is set once. Also, I have planned to and the feature
of online reservation making this application from desktop- based application to web-based
application. This will help the of the application to extend the business also. Similarly, in present,
this project is single user. So, I have planned to make it multiuser. The user can be categorized
to different category or levels such as Admin, Staff, technical, etc. This will help to secure data
of the company even more.
Chapter 8 - Conclusion
Concluding this, I have made a desktop-based application which is able is send bulk SMS, add
stock as well as many services. This application is developed with the intention of changing
from the manual bill system to digital bill system.
This has been developed as per the initial need nut can be better in future with the
maintenance.
Chapter 9 - Appendix
References
Anon., 2017. Software Architecture. [Online]
Available at: https://www.sei.cmu.edu/research-capabilities/all-
work/display.cfm?customel_datapageid_4050=21328
[Accessed 2018].

Anon., 2018. What is a Data Flow Diagram. [Online]


Available at: https://www.lucidchart.com/pages/data-flow-diagram

Anon., n.d. Sequence Diagram. [Online]


Available at: https://www.smartdraw.com/sequence-diagram/
[Accessed 2018].

Anon., n.d. SSM – The Method: Overview. [Online]


Available at: SSM – The Method: Overview
[Accessed 2018].

Anon., n.d. System requirements. [Online]


Available at: https://techterms.com/definition/systemrequirements
[Accessed 2018].

Anon., n.d. UML - Activity Diagrams. [Online]


Available at: https://www.tutorialspoint.com/uml/uml_activity_diagram.htm
[Accessed 2018].

Anon., n.d. What is software tesing?. [Online]


Available at: http://istqbexamcertification.com/what-is-software-testing/
[Accessed 07 07 2018].

Rouse, M., 2017. Configuration management(CM). [Online]


Available at: https://searchitoperations.techtarget.com/definition/configuration-management-CM
[Accessed 2018].

Potrebbero piacerti anche