100% found this document useful (1 vote)
310 views56 pages

Coffee Man. System

Uploaded by

kunal mohanty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
310 views56 pages

Coffee Man. System

Uploaded by

kunal mohanty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 56

PROJECT REPORT

ON
Coffee Management System
By

Sudipt Kumar Das Rajat Kumar Nath


Roll No:- 17DIT102 Roll No:- 17DIT029

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

This is to certify that Sudipt Kumar Das, Rajat Kumar


Nath, Debadatta Gadanayak, Kunal Mohanty have
successfully completed the assigned module of the project
entitled as “Coffee Management System” Partial fulfilment of
the requirement for the 3rd year B.SC. (ITM) Course for the
degree Of “Bachelor of science in Information Technology
Management”.

Signature of the Project Guide

IDENTIFICATION
1
Project Code - DSE-604
Student Name- Sudipt Kumar Das
Rajat Kumar Nath
Debadatta Gadanayak
Kunal Mohanty

Exam Roll No.- Roll No:- 17DIT102


Roll No:- 17DIT029
Roll No:- 17DIT012
Roll No:- 17DIT008

Project Title- Coffee Management System


Submission Date - 26-06-2020

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.

Sudipt Kumar Das


Roll No:- 17DIT102
Rajat Kumar Nath
Roll No:- 17DIT029
Debadatta Gadanayak
Roll No:- 17DIT012
Kunal Mohanty
Roll No:- 17DIT008
B.Sc. ITM (3rd Yr.)
6th SEMESTER
RAVENSHAW UNIVERSITY

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

The project report on “Coffee Management System” is a part


of our B.Sc. ITM course provided by Ravenshaw University,
Cuttack. The project is designed according to the requirements and
4
its contents “COFEE MANAGEMENT SYSTEM” details and
other reports.

We have made every effort to rectify the errors from the


project reports. Even then it is hope that the report in the present
form is suitable practically.

5
TABLE OF CONTENTS

Sl. No. Content Page No.


1 Introduction 7
2 System Analysis 11
3 Development Process 13
4 Design 28
5 Technical Overview 34
6 Testing 40
7 System implementation and maintenance 52
8 Conclusion 54
9 Bibliography 55
10 References 56

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.

Coffee Shop Management System is based on a concept to maintain orders and


management of a particular coffee shop. There are two sections in this project, they are
Coffee Ordering and Admin panel. By using this system, he/she can maintain ordering
records of a day. By selecting Coffee Order the system displays a list of Available
coffee drinks and the user has to place an order with item quantity

1.2 PROJECT DESCRIPTION:

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 PURPOSE AND SCOPE

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.

1.5 ORGANIZATION OF REPORT

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

2) Requirements & Analysis 


In this topic we will be discussing the component and overview of requirements
and analysis. We will be describing the problem definition of the project that we
will achieve from the project. And all the hardware requirements for the project.
We will also give all the details of conceptual models such as data flow diagram,
ER diagram, use case diagrams that are in our project. Planning & scheduling of
the project will also be included in this chapter. The Problem Definition,
Requirements, Specification, Planning and Scheduling, Hardware Requirement,
Software Requirements, Conceptual Models will be covered in this chapter.

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.

2.2.1 Limitations of the existing system

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. 

2.2.2 PROPOSED SYSTEM

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.

The Customer information handling and management is the responsibility of the


administrator.

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

The modules of the projects are

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:

The user is responsible for the following activities:

REGISTER: here the user can register to book a coffee.


12
LOGIN: Here the user can login the coffee application by giving certain id and password to
view in order to place a coffee order.
PLACE: Here the user can place the order.

3. DEVOLOPMENT PROCESS:-

3.1 WATER-FALL MODEL


Planning the development process involves several important considerations. The first
consideration is to define a product life-cycle model.
A software LIFE-CYCLE model encompasses all activities required to define, test, and
develop.

Requirement
analysis- v & v

Design- v & v

Implementation-
v&v

Testing- v & v

Maintenance-v & v

(V & V - Validation and Verification)

REQUIREMENT ANALYSIS & SPECIFICATION:

3.2.1 REQUIREMENT GATHERING ANALYSIS

The requirement elicitation process consists the followings


13
• Requirement Gathering: Developers understand from client/end user about the
expectation from the software.

• Organizing Requirements: Developers prioritize the requirements based on the criticality


of the requirements.

• Negotiation and discussion: Ambiguous or unrealistic requirements require discussion


with various stakeholders.

• Documentation: Functional and non functional requirements need to be documented and


made available for the next phase processing.

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:

• Interviews, Survey and Questionnaire:

• Prototyping:

• Requirement Workshops:

• Delphi Techniques: This is very famous technique of requirement elicitation. This


techniques involves structured interaction among a group of experts on the requirements. The
identity of the participating experts are kept confidential to avoid influent on the process. There
can be round of inputs from the experts till the process is finalized. The facilitator will have
multi round one to one interview with each expert on the questionnaires and collect their
opinions and answers.

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

 Helps to generate new ideas

 Helps to encourage involvement of participants

 Focuses on a topic or problem and coming up with many ideas or solutions

Disadvantage

 During brainstorming session, ideas are not explored.

Consideration for Brainstorming techniques

 Brainstorming is useful early in the requirements elicitation process.

 Brainstorming can help to generate wide variety of views of the problem and solution.

o Brainstorming sessions are ideally divided into two phases

 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

Different types of brainstorming techniques

 Open Brainstorming: Participants call out the ideas and are capture by the meeting
facilitator

 Individual Brainstorming: Project team member creates a list of features/ideas concerning


project issue/risk and shares with the facilitator

15
 Structured Brainstorming: Meeting participant silently write down their ideas and
facilitator requests

3.2 FEASIBILITY STUDY

A feasibility study is an assessment of the practicality of a proposed project or system. A


feasibility study aims to objectively and rationally uncover the strengths and weaknesses of an
existing business or proposed venture, opportunities and threats present in the natural
environment, the resources required to carry through, and ultimately the prospects for
success In its simplest terms, the two criteria to judge feasibility are cost required and value to
be attained.

A well-designed feasibility study should provide a historical background of the business or


project, a description of the product or service, accounting statements, details of
the operations and management, marketing research and policies, f

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

3.2.1 OPERATIONAL FEASIBILITY

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.

3.2.2 TECHNICAL FEASIBILITY

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.

3.2.2.1 HARDWARE 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:

Machine: Pentium IV Client


Memory: 128 MB DDRAM
Hard Drive: 10 GB HDD or Higher
CPU Speed: 1.0 GHz
Monitor: S.V.G.A
Keyboard: Standard
Printer: Laser
UPS: 2KVA

3.2.2.1 SOFTWARE FEASIBILITY:

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.

A use case model consists of actor and use cases:

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.

Example for relationship between use cases is shown as

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.

Use case for Coffee management system

ADD NEW COFFEE

ADD USER
movie
PRODUCT

ORDER ITEM

OWNER
STOCK
20
EMPLOYEE
DETAILS

CUSTOMER
DETAILS

REGISTER

LOGIN

PLACE

USER

DESCRIPTION OF THE RESPECTIVE USE CASES

For the user:

NAME OF THE USECASE-REGISTER

Precondition: Already entered in to the website.


Input: Enter user details.
Processing: Validate the user details.
Output:
Registered into the DB

NAME OF THE USECASE –LOGIN

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.

For the Administrator:

NAME OF THE USECASE-APPROVAL

Precondition:
Already entered in to the website.
Input:
Enter admin uid & password
Processing:
Check user details.
Output:
Approve.

State chart diagram for coffee management system:

State chart – Register:

Star
t

Input user details

Validate user details

No
If Error msg
valid

22
Register the user details
in to db

End

State chart- Log in:

Star
t

Input user id & password

Validate user id & password

yes
If No Error message
valid

Login to profile

23
Yes

End

State chart- Place Coffee:

Sta
rt

Input movie id

Validate coffee name DB

If No
Valid

Yes
Error message
Fetch from DB

End
24
State chart- Book Coffee:

Star
t

Input item name

Check availability

If NO
available

YES

yes
place coffee
Error message

End
25
State chart for- Approval:

Start

Get list of pending users

If Yes
Result=0

Error message
No

Get user id of users to


Be updated

Update& set status=approved

Success msg

Store to db
26
End

4. DESIGN:-

Screen Layout/ User manual:-


ABOUT PAGE:

LOGIN FORM :

27
HOME PAGE:

ADD ITEM 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.

Desktop Application Development:

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.

Types of desktop frameworks

Desktop frameworks for windows app development:

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.

Cross-platforms frameworks for desktop app development:

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.

 Standalone Business Application:


These type of applications are the standalone business apps which are like Excel, Word,
Outlook and more applications. The category includes applications which make people’s work
efficient.

 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.

 Utilities and Plug-ins for systems:


The utilities and plug-ins which enhance the efficiency of the user’s work it include in this
category.

 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.

Security Features Are Better

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.

Lower Cost Of Ownership

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.

Best Practices for Microsoft SQL Server Database

It’s Important To Maintain An Environment That’s Standardized

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.

Your Database Servers Should Be Dedicated To The SQL Server

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.

Efficiently Manage Your Log And Data Files

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.

Follow The Least Privilege Security Principle

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.

Use Verification Options

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#

C# language is pronounced as C sharp language. It is a modern, general-purpose, object-


oriented programming language that is developed by Microsoft within its .Net and initiative led
by Andres Hejlsberg.

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

Let’s focus on essential properties of c# language include:

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.

Modern And Easy

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.

Fast And Open Source

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#.

Hejlsberg is a principal designer of C# in Microsoft company also he made various languages


like Turbo Pascal, Embarcadero Delphi, and Visual J++. At that time he said in an interview
that C++ and Java Pascal languages don’t have fundamentals of the Common Language Run
time, that’s why we made C# language.

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).

What are the benefits of Software Testing?

Here are the benefits of using software testing:

 Cost-Effective: It is one of the important advantages of software testing. Testing any IT


project on time helps you to save your money for the long term. In case if the bugs caught
in the earlier stage of software testing, it costs less to fix.
 Security: It is the most vulnerable and sensitive benefit of software testing. People are
looking for trusted products. It helps in removing risks and problems earlier.
 Product quality: It is an essential requirement of any software product. Testing ensures a
quality product is delivered to customers.
 Customer Satisfaction: The main aim of any product is to give satisfaction to their
customers. UI/UX Testing ensures the best user experience.

39
Testing in Software Engineering

As per ANSI/IEEE 1059 Testing in software engineering is a method of analyzing a software


item to find the differences between current and required conditions. It also involves evaluating
the features of the software.

Types of Software Testing

Typically Testing is classified into three categories.

 Functional Testing
 Non-Functional Testing or Performance Testing
 Maintenance (Regression and Maintenance)

Design the test cases:


There are essentially two main approaches to systematically designing the test cases:

1) Black box approach


2) White box (or glass box) approach

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:

1) Black box approach


2) White box (or glass box) approach

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:

 Equivalence class partitioning.


 Boundary value analysis.

EQUIVALENCE CLASS PARTIONING:

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

BOUNDARY VALUE ANALYSIS:


Boundary value analysis leads to selection of test cases at the boundaries of different
equivalence classes. For e.g.- programmer may improperly use < instead of <= or conversely <=
instead of <.
A greater number of errors tend to occur at the boundaries of the input domain rather than in the
center. For this reason BVA is developed as a technique.it leads to the selection of test cases at
the edge of the class rather than focusing fully on input conditions.
GUIDELINES FOR BVA:
If an input condition specifies a range bounded by values a and b, test cases should be designed
with values a and b and just above and just below a and b.

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.

Apply guideline 1 and 2 to output conditions


If internal program data structure have prescribed boundaries, be certain to design a test case
exercise the data structure as its boundary.

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.

Types of errors detected by


testing strategy A

Types of Types of errors


errors Types of errors detected by detected by testing
detected by testing strategy A strategy B
testing
strategy B

<Stronger Testing> <Complementary Testing >

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.

McCabe’s Cyclomatic Complexity Metric

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.

Data Flow-Based Testing


The data flow-based testing method selects the paths of a program according to the
locations of the definitions and uses of the different variables 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.

Security based upon two different types:

 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

unauthorized access and intrusion.

Our secure "firewall" server adds another layer of data security.

 Backups of Students online data are done regularly so Students can remain confident that

their data is safe.

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.

7. System Implementation and Maintenance

7.1 System Implementation


The implementation stage is actually a working model of the analyzed and designed
system. Implementation includes all those activities that take place to convert from old system
to the new. The new system may be totally new, replacing the existing manual or automated
system or it may be a major modification to an existing system.
The success of software not only depends on the excellent code but also on the
related documentation. The advantages of documentation are:
 Increase in efficiency training.
 Reduce cost and time spent on maintenance.
 Newly introduced person may take upon the operation without much disruption.
 Standardize processing’s that it becomes easy to understand.

7.2. Need of Maintenance


Maintenance is the enigma of system development. Analysts and
programmers spend far more time maintaining programs than they do writing them.
Maintenance accounts for 60-80 percent of total development. Whereas the cost of hardware
has steadily declined.
The cost of producing programs has skyrocketed. The problems in maintenance e occur largely
because software is a handmade product designed in ad hoc fashion with few standards. Poor
documentation makes maintenance of the programs even more difficult.
There are other problems such as:
 Standards, guidelines and procedures are poorly defining and enforced.

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.

 There are minimal standard of maintenance.


 Maintenance is viewed as unnecessary evil often delegation to junior programmers.
 A good test plan lacking.
 Programmers except that they will not be in their current commitment by the time
their programs go into the maintenance cycle.

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

About the technology

The powerful, flexible C# programming language is the foundation of .NET


development. Even after two decades of success, it's still getting better! Exciting
new features in C# 6 and 7 make it easier than ever to take on big data applications,
cloud-centric web development, and cross-platform software using .NET Core.
There's never been a better time to learn C# in depth.

About the book

C# in Depth, Fourth Edition is a revised edition of the bestseller written by C#


legend Jon Skeet. This authoritative and engaging guide is your key to unlocking
54
this powerful language, including the new features of C# 6 and 7. In it, Jon
introduces expression-bodied members, interpolated strings, pattern matching, and
more. Real-world examples drive it all home. By the end of this awesome book,
you'll be writing C# code with skill, style, and confidence.

THE END

55

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy