You are on page 1of 117

ACKNOWLEDGEMENT

I wish to express my heartful thanks to all those who helped me


during the project. Honestly speaking it would have been
impossible to complete this project without valuable guidance
from various sources.

I would like to express my sincere regards to Mr. Bhamre


(HEAD OF IT & CS. DEPT) Miss. Vaishnavi Sawant (My
project guide) for their constant encouragement and precious
suggestion throughout the project.

A project is an attempt by every student to put his skills and


come out with something that he had wished. It is the first time
that he comes to know the real difficulties of developing the
system, which will be tested and implemented. We have similar
dream that now come to true. On the successful completion of
our project work, we take this opportunity to thank every person
associated with it.

Apart from the technological support we are thankful to all


those people who helped to make this project a success, people
who never hesitated to offer any kind of help.

INDEX
1
Chapter No Description
1 Introduction
1.1 Synopsis of Project
1.1.1 About the Organization
1.1.2 About the Organization
1.2 Objective and Scope of the Project
1.3 Definition of Problem
1.4 Theoretical Background
1.4.1 Overview of Front End
1.4.2 Overview of Front End
2 System Analysis
2.1 Feasibility Study
2.1.1 Economical Feasibility
2.1.2 Technical Feasibility
2.1.3 Operational Feasibility
2.1.4 Fact Finding Techniques
2.2 Cost Benefit Analysis
2.3 GANTT Chart
3 System Design
3.1 Software requirement specification
3.1.1 Introduction
3.1.2 Specific requirement
3.1.2.1 Hardware to be used
3.1.2.2 Software to be used
3.1.2.3 Tools to be used
3.2 Methodology Adopted
2
3.3 Detailed Life Cycle Of the Project
3.3.1 Modules
3.3.2 Object Oriented Analysis & Design
Diagrams
3.3.2.1 Unified Modeling Language (UML)
● ● Class Diagram
● ● Use Case Diagram
● ● Activity Diagram
● ● Sequence Diagram
● ● Collaboration Diagram
● ● State Transition Diagram
● ● Component Diagram
● ● Deployment Diagram
3.3.3 Data Flow Diagrams
3.3.4 Data Dictionary
3.3.5 ER Diagram
4 Testing
4.1 Methodology Used For Testing
4.1.1 Testing objectives
4.1.2 Strategies used for software testing
4.2 Types of Testing
4.2.1 White Box Testing
4.2.2 Black Box Testing
4.2.3 Alpha Testing
4.2.4 Beta Testing
5 System Implementation
5.1 Hardware Required at Client Side
3
5.2 Software Required at Client Side
5.3 Testing done at End User
6 SystemMaintenance & Evalution
6.1 System Maintenance
6.2 Evalution
7 User/Operational Manual
7.1 Security Aspects & Access Rights
7.2 Backup & Restore Facility
7.3 Screen Shots
7.4 Reports
8 Future Enhancement
9 Limitations of the System
10 Conclusion
11 Bibliography

4
1.1 Synopsis Of Project

1.1.1 About The Organization:

Shop Name: “ SKY Electronic CCTV Security System Sales & System ”

5
Name: Mr. Aleem Shaikh .

Established in: Year 2010

Address Of Organization : 632,Pakiza Apt ;Behind ,Anand Hotel ,


Kalyan Road, Bhiwandi-421302.

Introduction to shop Overview :

The “SKY Electronic CCTV Security System System Sales &


Services” was established in year 2010 by Mr. Aleem Shaikh .

This shop has so many facilities likh selling the all types of security product
And perform all kind of information ,storing the records of customers and
product and enquiry.

1.1.2About The Project:

⮚ The software project is initiated by the client needs. In the


beginning, these needs are in the minds of various people in the
client organization.
⮚ The requirement analyst has to identify the requirements by talking

6
to these people and understanding their needs. For such systems,
the requirements problem is complicated by the fact that the needs
and requirements of the system many not to be known even to the
user-they have to be visualized and created.
⮚ Hence, identifying requirements necessarily involves specifying
what some people have in their minds.
⮚ When inputs from multiple people are to be gathered, as is often
the case, these inputs are likely to be inconsistent as well.

EXISTING SYSTEM

⮚ Customer profile was being maintained manually which consumed


lot of time.
⮚ Administrating of records, Reports generation and Transactions
were very difficult and complicated due to lot of paper work.
⮚ In order to avoid human efforts and to minimize the cost the
7
system was demanding automation.
⮚ Data insecurity was a major concern due to the lack of
Authentication. If not looked into the matter then it can result in
the access of the confidential and important data by wrong or
unauthorized people.

NEED OF THE SYSTEM

⮚ Data processing and presentation is very fast in proposed system


compare to existing system, saving users and employee’s time
which can be utilized in organization growth.

⮚ The proposed system overrides the limitations of the existing


system. Maintaining the records should be done without errors.

8
⮚ Any kinds of insertion, deletion and updation of records can be
done very quickly and efficiently with the help of proposed
system. Bill details can be shown to the customer. The reports can
be generated.

⮚ As the proposed system is user friendly less possibility of human


error.Processing of data is fast and less paper work is done. This
makes the system more feasible and efficient to use.

PROPOSED SYSTEM

The SKY Electronic (CCTV Security System Sales &


Services) is supposed to perform the following process as listed below.
1. Entry of new Customer.
2. Manage Products.
3. Manage all Customers.
4. Manage Raw Material.
5. Manage Payment Details

The main advantages of the proposed system are as follows:

9
User friendliness -Simple and easy to use.

Consistency -provides high efficiency.

Compatibility -designed with proper Methodology.

Security -only authorized persons will be able to


Critical information. see

Reliability -The degree to which project performs


correctly.
Performance - The performance is high because Of
Sound architecture.
Extensibility -The project would provide the flexibility of
Adding future Modules.

1.2 Objective and Scope of the


Project

1.2.1 Objective:
⮚ The objective behind making this software is to solve problems
like electronic shop, which includes maintenance of customer
record, purchase record, sales record, profit and loss record and
billing system and so on.
10
⮚ So I decided to make such software, which can provide
solutions for these problems to all the electronic shops who will
use this software.

1.2.2 Scope:
⮚ The scope of this project includes the facilities provided by this project.
⮚ The shop owner can keep full details of each customer and can search the
record of a particular customer when a customer purchases some item on
credit. Beside that he can find out who is his regular customer and who is
not so that he can build his market strategy.
⮚ In this project he can also keep the full details of every supplier and can
search easily the record of a particular supplier when he want to find that
who is our regular supplier and from whom he have purchased goods on
credit and from whom he have purchased on cash.
⮚ He can analyze about the products that which item is selling more and which
is less so that he can keep the stock in our shop according to customer

11
requirement so that he can save his money from the over-stoking problem
and can utilize that money in some other creative work.
⮚ We can find out that which goods are available in shop and which has been
sold out and try to sell those goods as early as possible, which are on credit.
⮚ He can store details of all the creditors and debtors and can know to whom
he has to pay and from whom he has to borrow amount. In this way he can
save his business from bed debts and losses.
⮚ He can find out his number of customers in different areas and can build
market strategy in the areas having less number of customers and can run
after sales services in the areas where he have more number of customers.
⮚ He can find out how much profit he is getting on each product and can keep
the stock according to the profit and can make sales promotion schemes for
those products, which are getting less profit and in loss.
⮚ He can create bills of customers automatically without asking details from
customers because all information about each customer he has already in
database. This saves time of billing.
⮚ All the above facilities are provided by our software to all the shops that are
dealing in sales of electronic goods and it will be helpful to all of them. It
serves saving of time, money and stationary.

1.3. Definition of Problem:


⮚ The main problem is to manage an electronic shop manually, which includes
maintenance of customer record, purchase record, sales record, profit and
loss record and billing system.
⮚ In keeping the customer record there is a problem of storing the full details
of each customer and lots of stationary and time is also wasted. Besides that
if customers purchase some article on credit then it is difficult to search the
record of that particular customer.
⮚ Another problem is with keeping suppliers full details and if the shopkeeper
have purchased some articles then it is also difficult to search the stored
record of that supplier and keeping a entry which reminds him regularly that
credited articles should be sold as early as possible so that amount of the
supplier can be returned.

12
⮚ One more problem is in the analysis of the sales of product that if he wants
to know which item is selling more then it is difficult to analyze this thing
that which items to be kept more or less in shop.
⮚ It is very difficult to see that which items are available in shop and which
items has been sold out. The items, which are in stock, are purchased on
credit or cash.
⮚ There is another problem of keeping details of all the creditors and debtors.
Without these details the shop owner cannot know to whom he has to pay
amount and from whom he has to take amount. This may results in bed debts
and loss to business.
⮚ The shop keeper can not find his sales in any particular area so that it is
difficult to build market strategy like promoting sales in those areas where
he have fewer customers and provide after sales services in those areas
where he have more customers.
⮚ It is also very difficult to find out how much profit or loss we are getting on
a particular item. So that he is unable to make sales strategy for a particular
item and to find out the reasons for loss on that particular item.
⮚ There is also problem in creating bill that he have manually ask everything
from customer like his name, address, item code, chaises number, rate etc.
⮚ These problems have initiated us to develop such software, which will be
helpful for all the shops, which deals in the sales of electronic articles.

1.4 Theoretical Background:


⮚ The Present era is the era of information technology. Easy access
to information and interfacing of database with decision taking
process are quite vital in the process of computer technology. The
whole economy of any country depends on the business position of
the country and how the business is adopting the new technology.
In addition to this any business can survive in this competing
market only if the business is running with the growth of the
current technological advancements. Presently the database
available in book format is not easily accessible. Like in other
13
areas, in the area of business and marketing too the computer
application is becoming quite pertinent.
⮚ Keeping in view the relevance of automation of shops has inspired
me to develop such a software which can fully atomizes the
process of an electronics shop from purchasing to selling.

1.4.1 Overview of Front End


Java:
Java is a set of computer software and specifications developed by
Sun Microsystems, later acquired by Oracle Corporation, that
provides a system for developing application software and
deploying it in a cross-platform computing environment. Java is
used in a wide variety of computing platforms from embedded
devices and mobile phones to enterprise servers and
supercomputers. While less common, Java applets run in secure,
sandboxed environments to provide many features of native
applications and can be embedded in HTML pages..
Swing :
⮚ Swing is a GUI widget toolkit for Java. It is part of Oracle's Java
Foundation Classes (JFC) – an API for providing a graphical user
interface (GUI) for Java programs.
⮚ Swing was developed to provide a more sophisticated set of GUI
components than the earlier Abstract Window Toolkit (AWT).
Swing provides a native look and feel that emulates the look and
feel of several platforms, and also supports a pluggable look and
feel that allows applications to have a look and feel unrelated to the
14
underlying platform. It has more powerful and flexible components
than AWT. In addition to familiar components such as buttons,
check boxes and labels, Swing provides several advanced
components such as tabbed panel, scroll panes, trees, tables, and
lists.
⮚ Unlike AWT components, Swing components are not implemented
by platform-specific code. Instead, they are written entirely in Java
and therefore are platform-independent. The term "lightweight" is
used to describe such an element.

1.4.2 Overview of Back End


MySQL:

MySQL is a free, widely used SQL engine. It can be used as a fast


database as well as a rock-solid DBMS using a modular engine
architecture.

The purpose of this wikibook is to provide a practical knowledge on


using the database from two points of view:

● application developer: learn about SQL basics, phpMyAdmin,


query optimization
● system administrator: learn about installation, security,
maintenance, failover, high availability

Best of all, this book is freely available for everybody to use and share,
under the GNU Free Documentation License and the Creative Commons
Attribution/Share-Alike License

15
2.1 FEASIBILITY STUDY

16
⮚ As the proposed system is meant to be used at
various levels, it is vital that even the base user of
this system finds it feasible. Given the benefits of the
system, it was essential that the system be made
feasible in all aspects.

2.1.1 ECONAMICAL FEASIBILITY:

⮚ While economical evaluation of the system, the points to be


considered were the cost of maintaining records on paper
versus the cost of computerization of the system
⮚ This system can reduce a lot of paper work and also the

17
chances of error occurrences are reduced. It provides with
consistent information leading to better and correct output.
With the use of open sources software’s the maintaining
cost can be brought down to zero.

2.1.2 TECHNICAL FEASIBILITY:


⮚ The software’s required to build, maintain and upgrade the
system are available for free. Open source package such as
Linux, Postgressql and JAVA can be combining to make
the system more cost effective. In addition, the easy
availability of such software’s the system Technically
Feasible.

2.1.3 OPERATIONAL FEASIBILITY:

⮚ The system will be computerizing the manual process


carried out today. It will be easy to use as it as GUI to
interact with the user. This system is user friendly which
makes it more operational feasible as eve the working staff
can make use of the system. In the existing system, since
18
all the transactions are done manually, it is time
consuming. With the use of computerized system,
scheduling and monitoring is much easier and also time
saving.

2.1.4 FACT FINDING TECHNIQUE:

⮚ To study any system the analyst need to do collect fact and


all relevant information. The success of any project is
depended upon on the accuracy of available data. The
accurate information can be collected with the help of
certain methods or techniques. These specific methods for
finding information of the system are termed as “Fact
Finding Techniques”. Interview, questionnaire and
observation are different fact fining techniques used by the
analyst.

2.2 Costs and Benefit Analysis

2.2.1 Need of cost benefit analysis:

⮚ Why should you do a cost-benefit analysis for your project?


IT projects frequently over promise and under deliver.
19
Executive managers have become aware of this
performance issue and the cost-benefit analysis is their
guarantee that the project team has carefully evaluated the
project before commencement, studying the whole life
cycle costs and the expected benefits.

2.2.2 Cost Estimation:

⮚ For a given set of requirements it is desirable to know how much it


will cost to develop the software to satisfy a given requirements,
and how much time development will take. The cost of a project is
a function of many parameters. Foremost among them is the size of
the project. Other factors that affect the cost are programmer
ability, experience of the developers in the area, complexity of the
project, and reliability requirements. It is also due to the
requirements of software, hardware and human resources.
⮚ Example:
⮚ Cost required for the project is to install the software and hardware
requirements.Software may include installing SQL Server on the
system. Cost due to the time taken for completion of the project
which can be around 5 months. A Gantt chart given in the
beginning helps to understand this in a better way.

2.2.3 Benefit Analysis:


Example:

⮚ In the old system the work was done manually, so the cost
of handling the system was increasing. The cost mainly
includes the charges for registry maintenance, receipt

20
books, files, etc. To reduce the costs the new system was
proposed.

⮚ Positive aspects of the designed system which contributed


to the benefit analysis are fast and easy storage of all
information. It was also easy to retrieve any required details
as fast as possible. There is no need for maintaining receipt
books. The new system is very beneficial than the old one
because the system is fully automated.

GANTT 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
21
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:
● What the various activities are
● When each activity begins and ends
● How long each activity is scheduled to last
● Where activities overlap with other activities, and by how
much
● The start and end date of the whole project

22
3.1 SOFTWARE REQUIREMENT

23
SPECIFICATION

3.1.1 INTRODUCTION:
It allows to view the details of the sales and purchase details. It contain
the information of the stocks and complaints.

Customer, Products, Billing Generation: Automate the current manual


bill generation system and maintain the searchable customer, products
database and product invoice, maintain the data security, user rights.

Report Generation: A Report Generation system will be developed for


the user and management of eBilling and Invoicing System. This system
will have both details and summary type reports for analysis the sales
volume, sales trend, and available stock.

⮚ SALESAND PURCHASE :-
This will be used to collect the data of sales and purchase. It    generates
the profit & loss report and it easily helps to find any information.
⮚ STOCKSDETAILS:-
This will be helpful in finding different stocks of items available in the
shop and to which company the product belongs. It also tells whether the
product will be available in the shop or not. All of the details can be
found in this.
⮚ COMPLAINTS:-
This will be helpful in registering the complaints in the stocks from the
customer that will improvise the service.
⮚ INSTALLMENTS:-
This will be helpful to the customer who can pay the money in
installments like monthly or weekly etc.

3.1.2 SPECIFIC REQUIREMENT

24
3.1.2.1 Hardware to be used:

Processor Pentium III, IV, 1.0GHZ


RAM 256MB
Free Hard Disk Space 10GB
Keyboard Any
Mouse Any
Monitor Any
Printer Any

25
3.1.2.2 Software to be used:

Operating System Windows,Linux, Centos


Front End JAVA
Back End Mysql

3.1.2.3 Tools to be used:

Front End Tool NetBeans IDE 8.1


Front End Tool MySQL 5.7

3.2. Methodology Adopted

26
⮚ The methodology adopted during development of software tells that which
programming approach has been followed in the development of software. It
is a way to look at a problem to be solved using a software-based solution.

⮚ I have followed object oriented programming approach for the development


of this project. The problem domain is characterized as a set of objects that
have specific attributes & behaviors. The objects are manipulated with a
collection of functions and communicate with one another through a
messaging protocol. Objects are categorized into classes and subclasses.

⮚ The definition of objects encompasses a description of attributes, behaviors,


operations and messages. An object encapsulates both data and the
processing that is applied to the data. This important characteristic enables
classes of objects to be built and inherently leads to libraries of reusable
classes and objects. Because reuse is a critically important attribute of
modern software engineering, I have chosen this approach. In addition the
software components derived using the object oriented paradigm exhibit
design characteristics that are associated with high quality software.

⮚ Object oriented software follows the following steps:

I. Analysis identifies objects & classes that are relevant to the problem
domain;
II. Design provides the architecture, interface and component level detail;
III. Implementation transforms design into code;
IV. And testing exercises the object oriented architecture, interfaces and
components.

⮚ Object oriented software is easier to maintain because its structure is


inherently decoupled. This leads to fewer side effects when changes have to
be made and less frustration for the developer and the customer. In addition
object oriented systems are easier to adapt and scale.
⮚ An evolutionary process model, coupled with an approach that encourages
component assembly is the best paradigm for object-oriented approach.

3.3 Detailed Life Cycle Of the Project


27
3.3.1 Modules:

The Java Module System specifies a distribution format for


collections of Java code and associated resources. It also
specifies a repository for storing these collections, or modules,
and identifies how they can be discovered, loaded and checked
for integrity. It includes features such as versioning and
namespaces with the aim of fixing some of the shortcomings in
the existing JAR format, especially the JAR Hell, which can
lead to issues such as classpath and class loading problems.

3.3.2 Object Oriented Analysis &


Design Diagrams:

Object-oriented analysis and design (OOAD) is a popular technical


approach for analyzing, designing an application, system, or business by
applying the object-oriented paradigm and visual modeling throughout

28
the development life cycles to foster better stakeholder communication
and product quality.
According to the popular guide Unified Process, OOAD in modern
software engineering is best conducted in an iterative and incremental
way. Iteration by iteration, the outputs of OOAD activities, analysis
models for OOA and design models for OOD respectively, will be
refined and evolve continuously driven by key factors like risks and
business value.

29
CLASS DIAGRAM:

Class Diagram provides an overview of the target system by


describing the objects and classes inside the system and the
relationships between them. It provides a wide variety of
usages; from modeling the domain-specific data structure to
detailed design of the target system. With the share model
facilities, you can reuse your class model in the interaction
diagram for modeling the detailed design of the dynamic
behavior. The Form Diagram allows you to generate diagram
automatically with user-defined scope

30
CLASS DIAGRAM

USE CASE DIAGRAM:


31
To model a system the most important aspect is to capture the dynamic
behaviour. To clarify a bit in details, dynamic behaviour means the
behaviour of the system when it is running /operating.
These internal and external agents are known as actors. So use case
diagrams are consists of actors, use cases and their relationships. The
diagram is used to model the system/subsystem of an application. A
single use case diagram captures a particular functionality of a system.
So to model the entire system numbers of use case diagrams are used.
Purpose:
The purpose of use case diagram is to capture the dynamic aspect of a
system. But this definition is too generic to describe the purpose.
Because other four diagrams (activity, sequence, collaboration and
Statechart) are also having the same purpose. So we will look into some
specific purpose which will distinguish it from other four diagrams.
Use case diagrams are used to gather the requirements of a system
including internal and external influences. These requirements are
mostly design requirements. So when a system is analyzed to gather its
functionalities use cases are prepared and actors are identified.
Now when the initial task is complete use case diagrams are modelled to
present the outside view.
So in brief, the purposes of use case diagrams can be as follows:
● Used to gather requirements of a system.
● Used to get an outside view of a system.
● Identify external and internal factors influencing the system.
● Show the interacting among the requirements are actors.

USE CASE DIAGRAM

32
ACTIVITY DIAGRAM:
Activity diagram is another important diagram in UML to describe
dynamic aspects of the system.
Activity diagram is basically a flow chart to represent the flow form one
activity to another activity. The activity can be described as an operation
of the system.

33
So the control flow is drawn from one operation to another. This flow
can be sequential, branched or concurrent. Activity diagrams deals with
all type of flow control by using different elements like fork, join etc.
Purpose:
The basic purposes of activity diagrams are similar to other four
diagrams. It captures the dynamic behaviour of the system. Other four
diagrams are used to show the message flow from one object to another
but activity diagram is used to show message flow from one activity to
another.
Activity is a particular operation of the system. Activity diagrams are
not only used for visualizing dynamic nature of a system but they are
also used to construct the executable system by using forward and
reverse engineering techniques. The only missing thing in activity
diagram is the message part.
It does not show any message flow from one activity to another. Activity
diagram is some time considered as the flow chart. Although the
diagrams looks like a flow chart but it is not. It shows different flow like
parallel, branched, concurrent and single. So the purposes can be
described as:
● Draw the activity flow of a system.
● Describe the sequence from one activity to another.
● Describe the parallel, branched and concurrent flow of the system.

ACTIVITY DIAGRAM

34
Initial State

Dealer/Customer

Enquires Places Order Generate Invoice Payment

Production Department

Gives Product

Generate Product

SEQUENCE DIAGRAM:

35
From the name Interaction it is clear that the diagram is used to
describe some type of interactions among the different elements
in the model. So this interaction is a part of dynamic behaviour
of the system.
This interactive behaviour is represented in UML by two
diagrams known as Sequence diagram and Collaboration
diagram. The basic purposes of both the diagrams are similar.
Sequence diagram emphasizes on time sequence of messages
and collaboration diagram emphasizes on the structural
organization of the objects that send and receive messages.
Purpose:
The purposes of interaction diagrams are to visualize the
interactive behaviour of the system. Now visualizing interaction
is a difficult task. So the solution is to use different types of
models to capture the different aspects of the interaction.
That is why sequence and collaboration diagrams are used to
capture dynamic nature but from a different angle.
So the purposes of interaction diagram can be describes as:
● To capture dynamic behaviour of a system.

● To describe the message flow in the system.

● To describe structural organization of the objects.

● To describe interaction among objects.

SEQUENCE DIAGRAM

36
COLLABORATION DIAGRAM

37
STATE TRANSITION DIAGRAM:

38
⮚ State transition diagrams have been used right from the
beginning in object-oriented modeling.
⮚ The basic idea is to define a machine that has a number of
states (hence the term finite state machine).
⮚ The machine receives events from the outside world, and
each event can cause the machine to transition from one
state to another.
⮚ Here the machine is a bottle in a bottling plant. It begins in
the empty state. In that state it can receive squirt events.
⮚ If the squirt event causes the bottle to become full, then it
transitions to the full state, otherwise it stays in the empty
state (indicated by the transition back to its own state).
When in the full state the cap event will cause it to
transition to the sealed state.
⮚ The diagram indicates that a full bottle does not receive
squirt events, and that an empty bottle does not receive cap
events. Thus you can get a good sense of what events
should occur, and what effect they can have on the object.

STATE TRANSITION DIAGRAM:

39
COMPONENT DIAGRAM:
40
Component diagrams are different in terms of nature and behaviour.
Component diagrams are used to model physical aspects of a system.
Now the question is what are these physical aspects? Physical aspects
are the elements like executables, libraries, files, documents etc which
resides in a node.
So component diagrams are used to visualize the organization and
relationships among components in a system. These diagrams are also
used to make executable systems.
Purpose:
Component diagram is a special kind of diagram in UML. The purpose
is also different from all other diagrams discussed so far. It does not
describe the functionality of the system but it describes the components
used to make those functionalities.
So from that point component diagrams are used to visualize the
physical components in a system. These components are libraries,
packages, files etc.
Component diagrams can also be described as a static implementation
view of a system. Static implementation represents the organization of
the components at a particular moment.
A single component diagram cannot represent the entire system but a
collection of diagrams are used to represent the whole.
So the purpose of the component diagram can be summarized as:
● Visualize the components of a system.
● Construct executables by using forward and reverse engineering.

● Describe the organization and relationships of the components .

COMPONENT DIAGRAM

41
DEPLOYMENT DIAGRAM:

42
Deployment diagrams are used to visualize the topology of the physical
components of a system where the software components are deployed.
So deployment diagrams are used to describe the static deployment view
of a system. Deployment diagrams consist of nodes and their
relationships.
Purpose:
The name Deployment itself describes the purpose of the diagram.
Deployment diagrams are used for describing the hardware components
where software components are deployed. Component diagrams and
deployment diagrams are closely related.
Component diagrams are used to describe the components and
deployment diagrams shows how they are deployed in hardware.
UML is mainly designed to focus on software artifacts of a system. But
these two diagrams are special diagrams used to focus on software
components and hardware components.
So most of the UML diagrams are used to handle logical components
but deployment diagrams are made to focus on hardware topology of a
system. Deployment diagrams are used by the system engineers.
The purpose of deployment diagrams can be described as:
● Visualize hardware topology of a system.
● Describe the hardware components used to deploy software
components.
● Describe runtime processing nodes.

DEPLOYMENT DIAGRAM

43
Project name
mysqldb
JDBC HDD
Pantium 4 Processor
RAM 512

3.3.4 Data Flow Diagram (DFD):

44
⮚ As information moves through software, it is modified by a
series of transformations. A data flow diagram is a
graphical representation that depicts information flow and
the transforms that are applied as data move from input to
output. The data flow diagram may be used to represent a
system or software at any level of abstraction. In fact,
DFDs may be partitioned into levels that represent
increasing information flow and functional detail.
Therefore DFD provides a mechanism for functional
modeling as well as information flow modeling.
⮚ A level 0 DFD, also called a fundamental system model or a
context diagram, represents the entire software element as a
single bubble with input and output data indicated by
incoming and outgoing arrows, respectively. Additional
processes and information flow paths are represented at the
higher levels of DFD. Each of the processes represented at
higher levels is a subfunction of the overall system depicted
in the context diagram.

Data Flow Diagram:

45
46
ADMIN

SR FIELD DATA CONSTRAINTS Description


NO. NAME TYPE
1. LoginId integer Not null Login Id
2. PassWord varchar Not null PassWord

47
CUSTOMER

SR FIELD NAME DATA CONSTRAINT Descriptio


NO TYPE S n
.
1. cust_id integer Primary key Customer
Id
2. cust_name varcha Not null Customer
r Name
3. cust_add varcha Not null Customer
r Address
4. cust_contact varcha Not null Customer
r contact
5. cust_email_id varcha Not null Customer
r Email Id
6. cust_office_no varcha Not null Customer
r Office
contact
7. cust_comp_nam varcha Not null Customer
e r company
name
ENQUIRY

SR FIELD DATA CONSTRAINT Description


NO. NAME TYPE S
1. enq_no integer Primary key Enquiry Id
2. cust_name varchar Foreign key Customer Id
3. enq_date date Not null Enquiry date
4. enq_type varchar Not null Enquiry type

48
5. pdept_id integer Foreign key Production
department id

INVOICE

SR FIELD NAME DATA CONSTRAINT Descriptio


NO TYPE S n
.
1. invoice_id integer Primary key Invoice id
2. invoice_date date Not null Invoice date
3. prod_id integer Foreign key Product id
4. invoice_product integer Not null Invoice
-qnty product
quantity
5. cust_id integer Foreign key Customer id
6. invoice_amount varcha Not null Invoice
r amount

PRODUCT

SR FIELD NAME DATA CONSTRAINT Descriptio


NO TYPE S n
.
1. prod_id integer Primary key Product id
2. prod_name varcha Not null Product
r name
3. prod_rate Varcha Not null Product
r rate
4. prod_qnty_in_met integer Not null Product
49
er quantity in
meter
5. prod_qnty_in_qyt integer Not null Product
quantity in
kg
6. prod_ready_date Date Not null Product
ready date
7. cust_id Integer Foreign key Customer
id
8. pdept_id Integer Foreign key Production
department
id

PAYMENT

SR FIELD DATA CONSTRAINTS Descripti


NO. NAME TYPE on
1. pay_id integer Primary key Payment
id
2. inv_id integer Foreign key Invoice id
3. pay_receive varchar Not null Payment
receive
4. pay_receive_da Date Not null Payment
te receive
50
date
5. pdept_id Integer Foreign key Productio
n
departmen
t id

PRODUCTION_DEPARTMENT

SR FIELD DATA CONSTRAINTS Description


NO. NAME TYPE
1. pdept_id integer Primary key Production
department
id
2. pdept_name varchar Not null Production
department
name
3. pdept_contact Varcha Not null Production
51
r department
contact
4. pdept_add Varcha Not null Production
r department
address

PRODUCT_ORDER

SR FIELD DATA CONSTRAINTS Description


NO NAME TYPE
.
1. prod_order_n integer Primary key Product order
o no
2. prod_order_d date Not null Product order
ate date
3. cust_name varchar Foreign key Customer id
52
4. prod_id Integer Foreign key Product id
5. prod_qnty integer Not null Product
quantity
6. prod_order_re date Not null Product order
quire_date require date
7. prod_order_d date Not null Product order
elivery_date delivery date

RAW MATERIAL

SR FIELD DATA CONSTRAINTS Description


NO. NAME TYPE
1. rmat_id integer Primary key Raw
material id
2. rmat_name varchar Not null Rae
material
name
3. cust_id Integer Foreign key Customer id
4. rmat_qnty integer Not null Raw
53
material
quantity
5. challan_no integer Not null Challan no
6. challan_dat Date Not null Challan no
e
7. pdept_id Integer Foreign key Production
department
id

3.3.6 Entity Relationship Diagram


(ERD

⮚ The ER model defines the conceptual view of a database. It


works around real-world entities and the associations
among them. At view level, the ER model is considered a
good option for designing databases.
Entity:
⮚ An entity can be a real-world object, either animate or
inanimate, that can be easily identifiable. For example, in a
school database, students, teachers, classes, and courses
offered can be considered as entities. All these entities have
some attributes or properties that give them their identity.
54
⮚ An entity set is a collection of similar types of entities. An
entity set may contain entities with attribute sharing similar
values. For example, a Students set may contain all the
students of a school; likewise a Teachers set may contain
all the teachers of a school from all faculties. Entity sets
need not be disjoint.

Attributes:
⮚ Entities are represented by means of their properties, called
attributes. All attributes have values. For example, a
student entity may have name, class, and age as attributes.
⮚ There exists a domain or range of values that can be
assigned to attributes. For example, a student's name cannot
be a numeric value. It has to be alphabetic. A student's age
cannot be negative, etc.

55
E-R Diagram:

Customer entity:

56
Cus_Cmpny name

Raw material entity:

57
Cus_name

Enquiry entity:

58
Enq_date

Product entity:

59
Prod_rate

60
Prod_order entity:

Order_no

61
invoice entity:

Prod_name

payment entity:

62
Amount_rcev

63
4. Methodology Used For Testing
Software testing is a critical element of software quality assurance and
represents the ultimate review of specification, design, coding.

4.1 Testing objectives:

1. Testing is a process of executing a program with the intent of


finding an error.

2. A good test case is the one that has high portability of finding
an as-yet undiscovered error.

3. A successful test is one that uncovers an as-yet discovered


error.

The main objective here will be to design test cases to uncover


different classes of errors and to do so with minimum amount of
time and efforts. If testing is conducted successfully it will
uncover errors in the software. Another advantage is that it
demonstrates that software functions appear to be working

64
according to the specifications and performance requirement
have been met.
But Testing cannot show the absence of defects it can show only
that software errors are present.

4.1.1 Strategies used for software testing:


The software engineering process is viewed as spiral as shown:

⮚ Unit testing begins at the vortex of the spiral and


concentrates at the each unit of the software as
implemented in the source code. Unit testing assures each
module tested individually functions properly as a unit.

⮚ Integration testing focuses on the design and construction


of the software architecture. It is a systematic technique for
constructing a program structure while conducting tests to
uncover errors associated with interfacing. The objective is
to take unit-tested module and build a program structure
that has been specified as design Validation testing takes
care of the requirements established as part of the software
requirements analysis are validated against the software
that has been constructed. It is said to be successful when
the software functions in a manner that can be reasonably
expected by the customer.

65
⮚ System testing tests software and other system elements as
a whole. These tests fall outside the scope of software
engineering process and are not conducted solely by the
software developer.

4.2 Types of Testing:


4.2.1 White Box Testing:
White box testing, sometimes called glass-box testing is a test case
design method that uses the control structure of the procedural design to
derive test cases.In white box testing of it, I have derived following
tests:

1. All independent paths within a module have been exercised.


2. All logical decisions are exercised on their true and false sides.
3. All loops are executed at their boundaries and within their
operational bounds.
4. All internal data structures are exercised to ensure their validity.

4.2.2 Black Box Testing:


Black box testing also called behavioral testing, focuses on the
functional requirements of the software. Black box testing attempts to
find errors in the following categories:

1. Incorrect or missing functions


2. Interface errors
3. Errors in data structures or external data base access
66
4. Behavior or performance errors and
5. Initialization and termination errors.

During black box testing in it, I have incorporated all the unit tested
modules into the program structure and tested for their functional
verification and integration.

4.2.3 Alpha Testing:


⮚ A customer conducts the alpha test at the developer’s site. The
software is used in a natural setting with the developer “looking
over the shoulder” of the user and recording errors and usage
problems. Alpha tests are conducted in a controlled environment.
⮚ For alpha testing of it, I had called the user to our site and he has
performed following tests in front of me.

1. He has checked the software according to his requirements


whether software is fulfilling his requirements or not.
2. He has checked that access rights are working properly or not.
3. He has checked all the entry forms by input some test data for
errors.

After testing, he has given some suggestions and demanded for


some more options, which I had implemented in the software.
4.2.4 Beta Testing:
⮚ The beta test is conducted at one or more customer sites by the end
user of the software. Therefore, the beta test is a live application of
the software in an environment that cannot be controlled by the
developer. The customer records all the problems that are
encountered during beta testing and reports these to the developer
at regular intervals. As a result of problems reported during beta

67
tests, software’s engineer makes modifications and then prepare
for release of the software product to the entire customer base.
⮚ I had installed the it at the user’s site and the user tested it in a live
environment.The user has finally recorded all the problems that he
has encountered on his machine and told me and then I had made
appropriate modifications and prepared the software for the final
release.

68
5.1 Hardware Required at Client Side:

Processor Pentium III, IV, 1.0GHZ


RAM 256MB
Free Hard Disk Space 10GB
Keyboard Any
Mouse Any
Monitor Any
Printer Any

69
5.2 Software Required at Client Side:
NetBeans IDE 8.1
⮚ NetBeans is a software development platform written in Java. The
NetBeans Platform allows applications to be developed from a set
of modular software components called modules. Applications
based on the NetBeans Platform, including the NetBeans
integrated development environment (IDE), can be extended by
third party developers.
⮚ The NetBeans IDE is primarily intended for development in Java,
but also supports other languages, in particular PHP, C/C++ and
HTML5.
⮚ NetBeans is cross-platform and runs on Microsoft Windows, Mac
OS X, Linux, Solaris and other platforms supporting a compatible
JVM.
⮚ The NetBeans Team actively support the product and seek feature
suggestions from the wider community. Every release is preceded
by a time for Community testing and feedback
MySQL 5.7
⮚ MySQL an open-source relational database management system
(RDBMS);in July 2013, it was the world's second most widely
used RDBMS, and the most widely used open-source client–server
model RDBMS. It is named after co-founder Michael Widenius's
daughter, My. The SQL abbreviation stands for Structured Query
Language. The MySQL development project has made its source
code available under the terms of the GNU General Public
License, as well as under a variety of proprietary agreements.
MySQL was owned and sponsored by a single for-profit firm, the
Swedish company MySQL AB, now owned by Oracle
Corporation. For proprietary use, several paid editions are
available, and offer additional functionality.

70
5.3Testing done at End User:

In engineering and its various subdisciplines, acceptance testing is a


test conducted to determine if the requirements of a specification or
contract are met. It may involve chemical tests, physical tests, or
performance tests.
In systems engineering it may involve black-box testing performed on a
system (for example: a piece of software, lots of manufactured
mechanical parts, or batches of chemical products) prior to its delivery.
In software testing the ISTQB defines acceptance as: formal testing with
respect to user needs, requirements, and business processes conducted to
determine whether a system satisfies the acceptance criteria and to
enable the user, customers or other authorized entity to determine
whether or not to accept the system. Acceptance testing is also known as
user acceptance testing (UAT), end-user testing, operational acceptance
testing (OAT) or field (acceptance) testing.
A smoke test may be used as an acceptance test prior to introducing a
build of software to the main testing process

71
6.1 System Maintenance:

⮚ There is no need of in depth knowledge of JAVA and


MySQL. Basic knowledge of maintaining any software is
required.

⮚ The system can be modified as and when required.

72
⮚ Proper training of how to handle the software is given.

⮚ The user password can be changed so as to protect the


database, since database is viewed only in insurance agent
section and not in guest section.

⮚ Validation is done properly and even if the user is not


entering proper data it can be viewed and deleted from the
database.

⮚ Comments are given in code section so that the insurance


agent can understand what exactly the code does.

⮚ Backup of database should be maintained by writing the


important data to CD on a daily or weekly basis.

6.2 Evalution:

⮚ Evaluation is a systematic determination of a subject's


merit, worth and significance, using criteria governed by a
set of standards.
⮚ It can assist an organization, program, project or any other
intervention or initiative to assess any aim, realisable
concept/proposal, or any alternative, to help in decision-
making; or to ascertain the degree of achievement or value
73
in regard to the aim and objectives and results of any such
action that has been completed.
⮚ The primary purpose of evaluation, in addition to gaining
insight into prior or existing initiatives, is to enable
reflection and assist in the identification of future change.
⮚ Evaluation is often used to characterize and appraise
subjects of interest in a wide range of human enterprises,
including the arts, criminal justice, foundations, non-profit
organizations, government, health care, and other human
services.
⮚ It is long term and done at the end of a period of time.

74
7.1 Security Aspects & Access Rights:

⮚ Security of data and information is one of the major aspects


of any software so that any person cannot access and
modify the data.
⮚ For this reason I have provided two access rights in this
software viz. one as owner and other as operator.
⮚ The operator doesn’t have rights to change the username
and password of the both the accesses and he also cannot
edit and delete the shop sales record.
⮚ This option is provided because if an operator does some
illegal changes in sales detail then it will affect the profit of
the owner.

75
7.2 Backup & Restore Facility:
⮚ Provides backup facility of the information database at
periodic time intervals and restore of the database.
⮚ To backup is to create a redundant copy, so that if anything
should happen to the original file, you have recourse to the
backup. The process can be as simple as copying files to
diskettes, but this soon becomes a problem where files are
too big for diskette, where there are too many files, or
where too many diskettes are required.
⮚ A better solution is to use an archiver (such as WinZip) or a
backup utility to create a single compressed file from a
collection of data files, and to split this over as many
diskettes as required. This uses fewer diskettes and allows
large files to be backed up even if the file is larger than a
diskette can hold.

76
⮚ For large data sets, you may need to use a bulk storage
medium such as tape, Zip disk, CDR or similar. These are
generally faster and more reliable than diskettes.
⮚ In my system the reports can be exported anywhere and can
be saved.

77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
⮚ The system can be made more user-friendly. Many more
features can be included in the system.

⮚ More payment mode’s can be included. Credit/Debit card


facility for payment of the bills can be made.

⮚ The system can also maintain the details of rejected


products.

112
⮚ To modify/delete a product details the user needs to type
the information in all the required fields correctly
manually.

⮚ The system does not provide a GUI for deletion of product


details.

113
⮚ This project is the first step towards the development of
such a shop automation system, which provides basic
utilities and a structure for future additions, and
developments. New features could be easily plugged in to
this system with a little work. To make the system more
useful and interactive following enhancements could be
made over present version:
o The electronic shop can be improved.
o Products and customers related to accounts could be
done.
o Batch of the purchase order can be made.
o Client Server technology can also be embedded in the
software to run it on a local area network.
o Due to lack of time I had not included these
enhancements in this project, but it can be made more
powerful and useful to the user.

114
12.1 BOOK REFERRED

a. JAVA Complete Reference:5th Edition


By Herbert Schildt

115
b. JAVA Black Book:5th Edition
By Steven Holzner
c. JDBC: JAVA Database Connectivity
By Bernard Van Haecke

12.1 WEBSITE REFERRED

⮚www.google.com

116
⮚www.youtube.com

⮚www.wikipedia.com

117

You might also like