Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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:
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.
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.
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
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).
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.
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.
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:
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.
I have listed some of the risks that are vulnerable for this project with their impact
and action: