Coffee Man. System
Coffee Man. System
ON
Coffee Management System
By
th
Debadatta Gadanayak Kunal Mohanty
6 Roll No:- 17DIT012 Roll No:- 17DIT008
SEMESTER
Under The Guidance Of
Mr. Manash Prasad Rout
For the Partial Fulfilment of the Requirements
For the Final Yr. Degree
Of
Bachelor of Science
In
Information Technology Management
RAVENSHAW UNIVERSIT
0
CERTIFICATE
IDENTIFICATION
1
Project Code - DSE-604
Student Name- Sudipt Kumar Das
Rajat Kumar Nath
Debadatta Gadanayak
Kunal Mohanty
DECLARATION
2
We Sudipt Kumar Das, Rajat Kumar Nath, Debadatta
Gadanayak, Kunal Mohanty do hereby declare that this project
work has been done by us along with the help of our tutor and
our guide Mr. Manash Prasad Rout.
To the best of our knowledge, this project work has not been
submitted for the award of any degree and is a part of B.Sc. ITM
course of RAVENSHAW UNIVERSITY, Cuttack.
ACKNOWLEDGEMENT
3
What we write or mention in this sheet will hardly be adequate
in return for the amount of help and co-operations we have
received from all of the people who have contributed to make this
project a reality, but we’ll still try my level best to thank them.
First of all we wish to express my sincerest thanks to Mr
Manash Prasad Rout, our instructor in this undertaking, who
was always there for me to offer help in all possible ways, ready to
solve any problem with a smiling face’s owe him a lot due to boost
that he provided me which furthered the successful completion of
the project within the stipulated time.
Our project partners also helped a lot in project work, not to
mention the cooperation and support offered by them.
Finally, we wish to express our heartiest thanks to our parents,
all our teachers and friends who played a very important part in
making this project complete and successful.
Thanking you!
Yours truly
Sudipt Kumar Das
Rajat Kumar Nath
Debadatta Gadanayak
Kunal Mohanty
PREFACE
5
TABLE OF CONTENTS
6
1. INTRODUCTION:-
1. OBJECTIVE OF THE PROJECT:
The main objective of the project, “Coffee Management System” is to book and manage
various Coffee. It provides an efficient and convenient method for a customer to purchase
Purchase Coffee. User will get to choose over a variety of option from different type of coffee.
The system is automatic in nature. This document fully and formally describes the
requirements of the proposed said project system. It sets out the functional and non-
functional requirements and includes a description of the user interface and
documentation and training requirements.
Almost 80% of the population are coffee lovers. Café is guaranteed to become the daily
necessity for all the coffee addicts. A place with good ambience where people can
escape from their daily stress and cherish with a morning cup of coffee. Our café
offers home style delicious breakfast and snacks. We focus on finding the most
aromatic and exotic coffee beans. We have our branches in many cities of Tamil
Nadu. We have a romantic ambience which attracts youth. Our café has spectacular
interior designs with stupendous taste of coffee. We have attached our menu which
contains multi-cuisines at attractive prices. In this paper, we have done SWOT
analysis of our café to know our strengths and weaknesses. We have also analyzed our
opportunities and threats from the external environment. The usage of Coffee Shop
Management System would ultimately
7
reduce the overall management costs thus ensuring greater profits and reduced burdens.
The system is very easy to use.
1.2.1 BACKGROUND
At present traders maintain their day to day transactions where a waiter has to go
at each table and takes the order. And give to the chef and the must be passed to
the cashier. During this process it takes lots of time and customer must wait till the
process. Only single system it used during this process. Cafe owners face a
business environment with unique challenges. The tight rope balance between
providing the right quality, pricing and ambience, managing with minimal staff
and carving a unique identity for one's brand in a crowded market.
1.3.1 PURPOSE
The main purpose preparing these documents is to give a general insight into the
analysis and requirements of the existing system or situation and for determining
the operating characteristics of the system. The proposed software will solve all
the problem they are facing now. This software is designed such way that it will
generate the bill automatically every order in time. So there not much worries.
This software also equipped with to enter the details of each employee in the
organization, it helps them to track each employee. This being a Desktop based
application is very easy to access. Data and Records are managed in centralized
database. Data is secure and easy to retrieve, store, and analysis, so chances of
miscalculations and occurrence of error are very less.
1.3.2 SCOPE
8
This system will help to manage and run the café shop systematically. In this
management system, we will provide an app that can be used by cafe’s employee
to take order.
So that owner of shop can evaluates the whole system. This will ultimately lead to
hire less waiters and create and opportunity to appoint more chefs and better shop
to serve coffee faster. Employee can take payment which will managed into the
software.
1.4 ACHIEVEMENT
The Project is identified by the merits of the system offered to the user. The of
this project are as follows: -
It’s a Desktop-based enabled project.
This project offers user to enter the data through simple and interactive forms. This
is very helpful for the client to enter the desired information through so much
simplicity.
The user is mainly more concerned about the validity of the data, where he is
entering. There are checks on every stages of any new creation, data entry or updating
so that the user cannot enter invalid data. Which can create problems at later date.
Sometimes the user finds in the later stages of using project that he needs to update
some of the information that he entered earlier. There are options for him by which
he can update the records. Moreover, there is restriction for his that he cannot
change the primary data field this keeps the validity of the data to longer extent.
User is provided the option of monitoring the records he entered earlier. He can
see the desired records with the variety of options provided by him.
Later in this project report there is a lot more information about projects actual
working and a detailed information about each equipment that are being used in
9
this project. The software that is used for programming and the algorithm that will
be
used for this program as well. There will be charts and diagrams which will make
understanding the project easier.
All these will be covered in the following ways in the coming chapters:
A) Survey of Technologies
It will consist of the detailed information about the technology used in this
project covering all the important technology usages in today’s time related to
the project. It will give a brief information about all the equipment’s that are
used in the project.
It will also discuss the programming tool used to program the code which is
software part of the project. This topic will explain why we choose this
technology for the completion of the objectives of the project
3) System Design
This topic will consist of various diagrams and algorithm which are needed
for the program it will also consist of the basic circuit diagram showing the
cars whole connection with details.
2. SYSTEM ANALYSIS:-
At present traders maintain their day to day transection where a waiter has to go at each
table and takes the order. And give to the chef and the must be passed to the cashier.
During this process it takes lots of time and customer must wait till the process. Only
10
single system is used during this process.
Many Shops doesn’t have any software application which maintains data of the
employees. The record keeping is done manually.
This leads to great difficulty when certain needs arrive of looking into employees’
past data.
The institute uses a Coffee Shop Management application which has limited
features and doesn’t work efficiently and effectively. It doesn’t fulfill many
requirement of the administrative department. The application just keeps very
trivial information of the employees and doesn’t facilitate with any kind of
analytical ability.
This being a Desktop-based application is very easy to access. Data and records
are managed in centralized database. Data is secure and easy to retrieve, store, and
analyze, so chances of miscalculations and occurrence of error are very less.
11
This system itself updates based on whatever is required or requested from the
user- end. In existing traditional and manual system, the chances of error
occurrence would be very high, but this being an online computerized application,
gives users alert messages, helps, and warnings on whatever required or requested.
3. MODULE DESCRIPTION
1. Owner
2. Employee
OWNER:
The Owner has the capacity to add new coffee, product, stock. Owner is responsible for the
following activities.
1. ADD NEW COFFEE: Owner can order, update, delete and provide item id name.
2. CUSTOMER DETAILS: Here the customer can provide his details like name,
address, and city.
3. PRODUCT: Here owner can view the product id, product name, quantity, total price.
4. STOCK: Here the owner can provide product id, product details.
5. ADD: Here the owner can add the user name and owner, password.
EMPLOYEE:
3. DEVOLOPMENT PROCESS:-
Requirement
analysis- v & v
Design- v & v
Implementation-
v&v
Testing- v & v
Maintenance-v & v
There are different requirement elicitation techniques. Few important techniques are listed
below
• Brainstorming: An informal debate is held among the various stakeholders and all their
inputs are recorded for further requirement analysis.
• Interface Analysis:
• Prototyping:
• Requirement Workshops:
Brainstorming Techniques
An informal debate is held among the various stakeholders and all their inputs are
recorded for further requirement analysis.
14
Brainstorming session will have a facilitator and will have time limit for the discussion.
Advantages
Disadvantage
Brainstorming can help to generate wide variety of views of the problem and solution.
Idea Generation Phase: It focuses on the gathering all possible ideas within the
time limit
Idea Consolidation phase: In this phase, the ideas are getting revised, organizing
and reviewed. In this phase, each idea gets evaluated, then combine ideas after
removing duplicate ideas. Finally, ideas will be rated and ranked after discussing
with the team
Open Brainstorming: Participants call out the ideas and are capture by the meeting
facilitator
15
Structured Brainstorming: Meeting participant silently write down their ideas and
facilitator requests
inancial data, legal requirements and tax obligations.[1] Generally, feasibility studies precede
technical development and project implementation.
A feasibility study evaluates the project's potential for success; therefore, perceived objectivity
is an important factor in the credibility of the study for potential investors and lending
institutions. It must therefore be conducted with an objective, unbiased approach to provide
information upon which decisions can be based
Operational feasibility criteria measure the urgency of the problem or acceptability of this
problem. This project will provide necessary information of the theatre as well as how to handle
activities. It is very is very difficult to say whether mutation of a particular record is done or not
16
to verify it. One should go to the respective theatre, which is a time consuming, expensive and a
tedious job. Which can be avoided by this project.
The feasibility can only be evaluated after those phases during which technical issues are
resolved. It looks what is practical and reasonable.
If we cannot afford the technology is not practical and is infeasible Java Domain Business
Solutions has the required hardware and trained persons to handle this system and to make the
portal user friendly and compatible. Technical feasibility includes two main aspects:
1. Hardware feasibility
2. Software feasibility.
For develop this project or implement this project we need different types of hardware
configuration for server and client. If we will use different type of hardware’s then it may not
work properly.
For server
Machine: Pentium IV Server
Memory: 256 MB DDRAM
Hard Drive: 40 GB HDD or Higher
CPU Speed: 2.0 GHz
17
Monitor: S.V.G.A
Keyboard: Standard
Printer: Laser
UPS: 5KVA
For client:
Using different types of software, which have listed below so these software’s also need for
implement this project, developed this project. If we will use different types of software then
this project will not work.
Operating System: WINDOWS 98, 2000, XP,
Front-end Tool: C#
Back-end Tool: Sql
Server: MS-SQL
18
3.2.3 ECONOMICAL FEASIBILITY
As soon as the specific requirements and solutions have been identified then the cost of and
benefits of each alternative would be evaluated
USECASE MODELING:
Jacobson’s et la (1992) pioneered the application of use case modelling for analysing the
functional requirements of a system. Because it focuses on what an existing system does or a
new system should do, as opposite to how the system delivers or should those functions, a use
case
model is developed in the analysis phase of the object oriented system development to help
developers gained at clear understanding of the functional requirement of the system, without
worrying about how those requirements will be implemented.
Actor: Use case: an actor is an external that interact with the system. It is someone or
something that exchanges information with the system.
A use case represent a sequence of related actions initiated by an actor, it is a specific way of
using the system. Difference between an actor and a user is, a user is anyone who uses the
system. An actor, on other hand represents a role that a user can play.
In UML, A use case model is depicted diagrammatically in the form of a use case diagram
Relation between use cases:
A use case may participate in relationship with other use cases. We will describe two types of
relationship: extends and uses. An extend relationship, shown as A line with hollow triangle
pointing towards the extended use cases and labeled with << extends>> symbols, extends
19
the use case by adding new behavior or action. Registrations are special class use case extends
the class registration use case by capturing the additional actions that need to be performed in
registering A student for A special class.
extends extends
And other kind of relationship is uses, which arises when one use case uses another use case. A
uses relationship is also shown diagrammatically as a nine with a hollow triangle pointed
towards
the use case that is being used. The uses relationship between the reorder supplies and track
sales and inventory data use cases implies that the former uses latter while executing.
ADD USER
movie
PRODUCT
ORDER ITEM
OWNER
STOCK
20
EMPLOYEE
DETAILS
CUSTOMER
DETAILS
REGISTER
LOGIN
PLACE
USER
Precondition:
Already entered into the website.
Input:
Enter the user id & password
Processing:
Validate the user id & password from the DB.
21
Output:
Login into the profile.
Precondition:
Already entered in to the website.
Input:
Enter admin uid & password
Processing:
Check user details.
Output:
Approve.
Star
t
No
If Error msg
valid
22
Register the user details
in to db
End
Star
t
yes
If No Error message
valid
Login to profile
23
Yes
End
Sta
rt
Input movie id
If No
Valid
Yes
Error message
Fetch from DB
End
24
State chart- Book Coffee:
Star
t
Check availability
If NO
available
YES
yes
place coffee
Error message
End
25
State chart for- Approval:
Start
If Yes
Result=0
Error message
No
Success msg
Store to db
26
End
4. DESIGN:-
LOGIN FORM :
27
HOME PAGE:
28
ADD USER FORM:
CUSTOMER DETAILS:
EMPLOYEE DETAILS
29
ORDER PAGE:
PRODUCT DETAILS:
30
SUPPIER FORM:
31
LOGOUT PAGE:
STOCK DETAILS
5.TECHNICAL OVERVIEW:
What Is a Desktop Application?
32
Desktop Applications are run stand alone on the user’s laptops and systems. The term used for
these applications desktop differ these apps from mobile applications which is in the trend. The
key features of desktop applications are the efficiency of the application is high and also these
are highly customized as per user’s requirements and flexibility.
If you want to know what is desktop application? Let’s dive in deeper to understand its
advantages and the process of desktop application development. The applications installed on
the system’s local server known as the desktop apps, you can install it from the online websites
or use the CD drive to complete the installation process. After the installation process, it does
not require any internet connection to access, it works on the system’s local server.
Sometimes, it looks people do not contrast between desktop or web applications, although they
are different from each other. The primary difference of both are desktop apps runs on the local
server of the computer devices and web applications work over the internet remote access.
Now, let us discuss the framework of desktop application development to make sure that you
will choose the right framework to develop your personalize application or the app for desktops
or system which you planned to launch in the market soon.
Choose desktop application is not an easier thing every time, you need to take care of the lots of
things and also have a good knowledge of all type of frameworks to design a masterpiece for
you.
Microsoft itself provides a tool kit with a development community to develop. It allows to
develop the backend with awesome coding frameworks and also it also provides the option to
design a unique and eye-catching frontend windows app development. Microsoft toolkits are
the best option for developing the windows app with its advanced and accessible feature of
frameworks.
You can choose toolset for the universal windows platform development if you are creating
your app for the windows store and develop the app you wish you to with amazing and easy to
use tools and frameworks.
33
Desktop frameworks for MacOS app development:
Apple also encourages developers to design the desktop apps which is compatible with the
architecture of the Apple computers. Logic Pro X is the default app development app launched
by the app to Apple to ensures that users develop the apps which support all the Apple devices
such as iOS, MacOS, watches, and even tvOS.
Developers prefer to develop the apps which support cross platforms same time so that all the
user can utilize it without any hassle. The key benefit of using the cross-platform framework,
you are developing the unified codebase which is reused for the SaaS version of the developed
app which enhances your targeted audiences.
The cross-platform frameworks are the best choice, if you are going to develop a desktop
application and also you will get lots of advantages of cross platforms also it’s beneficial for the
future aspects.
Use case of the Desktop Applications to make you more frequent developer of these apps:
There are lots of options in desktop apps which you can choose to design or develop. It depends
on your choice that which kind of application you want to design.
Client-Server Applications:
The applications which work on the local server of the systems but the access of the information
are on the remote server.
Collaborative Application:
These applications are included in the collaborative category it serves the common task for the
users. And users can interact with the common task.
34
Multimedia Applications:
This the application which helps to play movies, videos, sound files and more files from the
user’s system.
There are more categories of the desktop applications which carry as per the framework of the
app. You can choose any type of app to design as per your preferences.
Conclusion
All the above information tell you all the things about what is desktop application and these
development types and use cases. You can choose from these that which platform you prefer to
design your desktop applications and which category suits your idea.
You can know more about what is desktop application here in our upcoming blogs, you only
need to stay tuned with us. We will get back to you with more strong information about the
desktop application to make you more interactive with this kind of applications.
Microsoft SQL
Microsoft SQL is a popular Relational Database Management System (RDBMS) developed by
Microsoft. Being a database server, its primary function is to store and retrieve the data as and
when requested by other software applications. Administering Microsoft SQL server database
can help you optimize as well as maintain your server’s performance while ensuring its
recoverability and availability. In this blog post, we will explore the advantages and best
practices associated with MS SQL.
Advantages of MS SQL
Installation Is Streamlined
It can be installed via a setup wizard and the prerequisite updates are detected and downloaded
by the installer automatically. The complexity of installing the software is minimized
significantly because of automatic installation of updates. Other components such as analytical
and database services can be installed separately afterward. Automatic updation also reduces
maintenance costs quite significantly.
SQL Server 2008 uses Policy-Based Management to detect security policies that are non-
compliant. This feature allows only authorized personnel access to the database. Security audits
and events can be written automatically to log files.
35
Enhanced Performance
The MS SQL server has built-in transparent data compression feature along with encryption.
Users don’t need to modify programs in order to encrypt the data. The MS SQL server has
access control coupled with efficient permission management tools. Further, it offers an
enhanced performance when it comes to data collection.
SQL server includes effective data management and data mining tools along with disk
partitioning. Your server’s optimum maintenance can be ensured by following effective data
management practices. These practices also help you ensure the availability and recoverability
of data.
It’s always advisable to standardize your SQL server’s configurations. It’s good to keep your
server and VM configurations as coherent as possible. You should also try to keep your
database management plans and SQL Agent jobs pretty much the same. Maintaining
consistency would minimize the complexity of operations.
It’s important for your SQL server instances to run on a dedicated server. A user needs to
constantly check no other application such as print services or file running on the system
simultaneously with your SQL server instances. Likewise, it’s always advisable to not run
multiple server instances on the same server.
AUTOGROW should be enabled on your log and data files. Similarly, it is important for
AUTOSHRINK to be turned off. It is recommended to create your data and log files with
enough space in order to reduce the possibility of AUTOGROW events.
It’s important to understand that only the required security permissions should be given to the
user. Don’t give developers administrative permissions. It has been recommended by MS that
SQL server services are run using a domain account. A user should always be sure to give his
SA account a strong password.
36
Always Test Your Backup Plans Before Implementing
If you want to restore your data to a given point in time, you need to be sure that you are using
the bulk of full recovery models for your databases. It would be a good idea to perform full
backups on a daily basis on all your user production and system databases. Most big businesses
perform full log file backups at regular intervals throughout the day. If your businesses’
database uses the full recovery model, then it’s advisable to back up the transaction log in order
to maintain its size. You should also make it a habit to perform test database restores to make
sure they are working.
Always use verification options given to you by the backup utilities such as a TSQL BACKUP
command, solutions to your backup software. It is also suitable to use advanced features like
BACKUP CHECKSUM in order to keep track of problems related to media backups.
If you want to become an SQL expert, you should try taking a course in
Administering Microsoft SQL server database. The course acquaints you with the need to
authenticate connections to SQL Server and authorizing logins to access databases.
C#
The C# programming language is a very easy language to learn. It is entirely based on the C and
C++ languages.
This means to say, if you have a basic knowledge of C and C++ language, so you can easily
understand this language. However, the syntax of C# language is highly expressive, but yet it is
also simple and easy to learn. Anyone can recognize the curly-brace syntax of C# instantly who
knows about the C, C++ or Java language.
Do you know what is the best side of the C# language as compared to Java and C++ language?
It simplifies many of the complexities of C++ and provides powerful features such as null-able
value types, delegates, enumerations, lambda expressions, and direct memory access which are
not found in Java.
37
Properties of C# language
Safe
There is no type-conversion so that data loss is not possible. That’s why the developer can write
safe code, besides this C# language supports null-able and non-nullable types.
To develop C#, Microsoft has only an aim to developers can learn easily and can support
modern functionality.
If we tend to wander around programming language history we tend to find that every language
has developed for a specific purpose to solve a specific need.
This programming language also helps in business because we can develop software for various
platforms like ios, android, and window or web.
C# language lead by Microsoft instead of this there open source project and tools are available
on GitHub and that’s why c# is growing fast just because of open source, there are many
communities active for language improvement.
Evolution Of C# Programming Language.
Microsoft had built this language earlier only for windows application but after that, however,
we have begun to use this language for the console, android, and ios, besides, C# started to be
used with machine learning software.
Before bending towards the advantage of C#, let’s discuss the history of c# language;
38
History
In January 1999, Anders Hejlsberg had created a team for developing new programming
languages, at that time this new language named cool. But because of trademark reason, Anders
Hejlsberg changed this language name Cool to C#.
6. TESTING
SOFTWARE TESTING is defined as an activity to check whether the actual results match the
expected results and to ensure that the software system is Defect free. It involves the execution
of a software component or system component to evaluate one or more properties of interest.
Software testing also helps to identify errors, gaps, or missing requirements in contrary to the
actual requirements. It can be either done manually or using automated tools. Some prefer
saying Software testing as a White Box and Black Box Testing.
In simple terms, Software Testing means the Verification of Application Under Test (AUT).
39
Testing in Software Engineering
Functional Testing
Non-Functional Testing or Performance Testing
Maintenance (Regression and Maintenance)
In black box test cases are designed using only the functional specification of the
software. i.e. without any knowledge of the internal structure of the software. For this reason
black box testing is also known as functional testing. On the other hand, designing white box
test cases requires the thorough knowledge of the otherwise known as structural testing.
40
BLACK BOX TESTING:
In black box testing, test cases are designed from an examination of the input/output
values only and no knowledge of design or code is required. In this strategy some test cases are
generated as input conditions that fully execute all functional requirements for the program.
This testing has been uses to find errors in the following categories:
a) Incorrect or missing functions
b) Interface errors
c) Errors in data structure or external database access
d) Performance errors
e) Initialization and termination errors.
In this testing only the output is checked for correctness. The logical flow of the data is not
checked.
Design the test cases:
There are essentially two main approaches to systematically designing the test cases:
In black box test cases are designed using only the functional specification of the
software. i.e. without any knowledge of the internal structure of the software. For this reason
black box testing is also known as functional testing. On the other hand, designing white box
test cases requires the thorough knowledge of the otherwise known as structural testing.
BLACK BOX TESTING:
In black box testing, test cases are designed from an examination of the input/output
values only and no knowledge of design or code is required. In this strategy some test cases are
generated as input conditions that fully execute all functional requirements for the program.
This testing has been uses to find errors in the following categories:
41
f) Incorrect or missing functions
g) Interface errors
h) Errors in data structure or external database access
i) Performance errors
j) Initialization and termination errors.
In this testing only the output is checked for correctness. The logical flow of the data is not
checked.
The following are the two main approaches to designing black box testing:
In this approach, the domain of input values of a program is partitioned into a set of
equivalences classes. Equivalence classes for a s/w can be designed by designing both input and
output data. The following are some general guidelines for designing the equivalence classes:
1) If the input data values to a system can be specified by a range of values, then one valid and
two invalid classes should be defined.
42
2) If the input data assumes values from a set of discrete members of some domain, then one
input class for valid input values and another for invalid input values should be defined
If an input condition specifies a no of values, test cases should be developed that exercise the
minimum and maximum number of values just above and below minimum and maximum are
also tested.
WHITE-BOX TESTING:
One white-box testing is said to be stronger than another strategy, if all types of errors detected
by the first strategy (say b) are also detected by the second testing (say a) and the second
strategy additionally detects some more types of errors. When two testing strategies detect
43
errors that are different at least with respect to some type of errors, they are then called
complementary.
Statement Coverage
The statement coverage strategy aims to design test cases to that every statement in a program is
executed at least once. The principal idea governing the statement coverage strategy is that
unless we execute a statement, we have no way of determining if an error exists in that
statement. Unless a statement is executed, we cannot observe whether it causes failure due to
some illegal memory access, wrong result computation, etc.
Branch coverage
44
In the branch coverage-based testing strategy, test cases are designed to make each branch
condition assumes true and false values in turn. Branch testing is also known as edge testing as
in this scheme, each edge of a program’s control flow graph is traversed at least once.
Condition Coverage
In this structural testing, test cases are designed to make each component of a composite
conditional expression assumes both true and false.
Path Coverage
The path coverage-based testing strategy requires us to design test cases such that all linearly
independent paths in the program are executed at least once.
The McCabe’s Cyclomatic Complexity is also called the structural complexity of the program.
It defines an upper bound on the number of independent paths in a program.
Mutation Testing
In mutation testing we will make a few arbitrary changes to a program at a time. Each time the
program is changed, it is called a mutated program and change effected is called a mutant. A
mutated program is tested against the full test suite of the program.
45
If there exists at least one test case in the suite for which a mutant gives an incorrect result, then
the mutant is said to be dead. If a mutant remains alive even after all the test cases have been
exhausted, the test data is enhanced to kill the mutant. The process of generation and killing of
mutants can be automated by predefining a set of primitive changes that can be applied to the
program.
INTEGRATION TESTING:
The primary objective of the integration testing is to test the module interfaces in order to
ensure that there are no errors in the parameter passing, when one module invokes another
module. During integration testing, different modules of a system are integrated in a planned
manner using an integration plan. The integration plan specifies the steps and order in which
modules are combined to realize the full system.
There are different types of approaches in this test plan. These are:
1) Big-Bang approach
2) Top-Down approach
3) Bottom-Up approach
4) Mixed approach
Big-Bang approach:
It is the simplest testing approach, where all the modules making up a simplest approach, where
all the modules making up a system are integrated in a single step. In simple words, all the
modules of the system are simply tested. However this technique is practicable only for very
small systems.
Top-Down Approach:
46
Top-down integration testing starts with main routine and one or two subordinate routines in the
system. After the top-level skeleton has been tested, the immediate subroutines of the skeleton
are combined with it and tested.
Bottom-Up Approach:
In Bottom-Up testing, each subsystem is tested separately and then the full system is tested. A
subsystem might consist of many modules which communicate among each other through well-
defined interfaces.
Mixed integration testing:
A mixed (also called sandwiched) integration testing follows a combination of top-down
and bottom-up testing approaches, testing can start only after the top-level modules have been
coded and unit tested.
System Testing
System tests are designed to validate a fully developed system to assure that it meets its
requirements. Three type of system testing:
1. Alpha Testing: Alpha Testing refers to the system testing carried out by the test tem
within the developing organization.
2. Beta Testing: Beta testing is the system testing performed by a select group of
friendly Students.
3. Acceptance Testing: Acceptance testing is the system testing performed by the
Student to determine whether to accept or reject the delivery of the system.
Performance Testing
47
Performance Testing is carried out to check whether the system meets the nonfunctional
requirements identified in the SRS document. All performance testing can be considered as
black box testing.
Stress Testing
Stress testing is also known as endurance testing. Stress testing evaluates system performance
when it is stressed for sort period of time.
Volume Testing
It is especially important to check whether the data structures (arrays, queues, stacks, etc) have
been designed successfully for extraordinary situations.
Configuration Testing
Configuration testing is used to analyze system behavior in various hardware and software
configurations specified in the requirements.
Compatibility Testing
This type of testing is required when the system interfaces with other types of systems.
Recovery Testing
Recovery testing tests the response of the system to the presence of the faults or loss of power,
devices, data, etc.
Documentation Testing
Documentation is checked to ensure that the required user manual, maintenance manuals and
technical manuals exist and are consistent.
Usability testing
Usability testing pertains to checking the user interface to see if it meets all the user
requirements. During usability testing, the display screens, message, report formats, and other
aspects to the user interface requirements are tested.
48
SYSTEM SECURITY MEASURES
Security is the technique, innovation and procedure applied to the hardware and operating
system to protect against deliberate or accidental damage from a defined threat. It also used for
protecting the database against person who are not authorized to access either certain part of
database or the whole database or specially protect the data from loss, disclosure, modification
and destruction. Various types of security used in the organization.
Internal security.
External security.
Internal Security:
Internal security has three inherent provisions for database. It provides:
Login name
Password
Authentication
Login name: It is given to the system user who can access.
Password: It is the secret codes given by the authorized user to access its account and the
databases.
Security Testing:
Security testing attempts to verify whether the protection mechanisms are built into the system
or not. The following are the efforts that were taken in order to keep the system tamperproof.
1. All the user of the system is given a separate user id. They individually
select their password.
2. The access rights of the user are checked when the user entering into the
system is asked by the system software to enter his user_id and password.
49
Security of data is of paramount importance. It is an irreplaceable asset. The software
has two level security. Best Software recognizes that our Students have concerns about the
security of their data as it moves across the Intranet. We therefore take very seriously the
responsibility for keeping Students data safe. Best Software protects a Student's data in two
ways.
Data Security
The Software uses industry-leading SSL encryption technology to safeguard data against
Backups of Students online data are done regularly so Students can remain confident that
Facility Security:
Data is stored in an off-site security center with external doors secured by electronic key access
and pin code, biometric scanning and electronic key access for internal security. .
User Security
During login to the software user enter his/her respective user name and password.
Internet Security
Browser-level encryption protects all of your business information—before it travels over the
Web. To authorize and certify access, Best Software uses Equifax, an advanced security
50
solution designed to provide secure communications and transactions over the Internet and
private networks.
51
Maintenance is not as rewarding and exciting as developments. It is received as
requiring neither skill nor experience.
Users are not fully cognizant of the maintenance problem or high cost.
8. Conclusion
We can provide a very usable and user friendly desktop application that can be by any body
for their use in their shop. Many coffee shop owners and shops can take benefits from them.
This project has been a great experience to us. We learned to implement software concepts
in real life. It helped us how to work as a team and build a project. This project has helped us
in great depth to learn the concepts of software engineering. We have tried to make the
software as user friendly as possible .It taught us to implement the various advanced
concepts.
52
9. BIBLIOGRAPHY
This project was designed using C# language and the combined knowledge and
expertise of all the team members, but some distinct and popular books were also
used to provide aid and assistance to our not so completed knowledge of this
language.
All the members of this project group is highly indebted to the author of these
books for the unending guidance that their works provided for the completion of
this project.
53
10.REFERENCES
THE END
55