You are on page 1of 44

1.

INTRODUCTION

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. After that, he/she proceeds towards Order confirmation
and Payment methods. Almost 80% of the population are coffee lovers. Coffee Shop
Management System in C#.NET consists following modules such as; Login Module,
Employee Module, Administrator Module. This project is developed in C#.NET using C#
language and Microsoft SQL database used. The role of the administrator is to maintain
employee information including operations like modifying, deleting, updating the employee
records and customer order records in the system.

Coffee Shop Management System is a Desktop-based application developed using C#.NET


for front-end design, C#.NET for coding, and SQL Server 2008 for back-end database. Now,
talking about the Admin Panel, an admin has full control of the system. He/she can view
Total cash and card transactions of the day, add coffee items, delete items, list instant items,
item counter, backup system, preview instant orders. While adding coffee items, the user
should fill up the Item’s name, item’s quantity, item’s serial number (without repeating) and
price. The system also displays customer’s card number with transaction amount for daily
records. All the coffee orders of a day can be previewed easily from Instant Order Preview
Option from the Admin Panel.

Features:
1. Ordering System
2. Login System
3. Admin Panel
4. Displays total Cash and Card Transactions
5. Add and Delete Coffee Items

1|Page
6. Item Counter
7. Instant Order Preview

Coffee Shop Management software is the need and necessity of every organization and its
human resource systems. With Coffee Shop Management System. The employee information
and their details are efficiently managed to satisfy the needs of both the employees and the
administrator.

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

Almost 80% of the population are coffee lovers. Coffinite sunshine 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
1.2 Objectives

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 reduce the overall
management costs thus ensuring greater profits and reduced burdens. The system is very easy
to use and can adjust into any business frame.
1.3 : PURPOSE & 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
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 ca 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 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. Gantt chart will give an overview of how we planned out the working of the
project throughout the semester.

All these will be covered in the following ways in the coming chapters:

 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

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

 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.
Chapter 2:

Survey of Technology

Developer tooling specialist JetBrains is reporting on its new survey that delves into many
aspects of software development, including programming languages, wherein it dubbed C#
the "most-loved" language according to one metric.

Early this year, JetBrains -- known for its "intelligent" tooling solutions including the Rider
cross-platform .NET integrated development environment (IDE) -- polled nearly 7,000
developers in 17 countries to identify the "State of Developer Ecosystem."

Sections of the survey are devoted to major programming languages, including Java, C, C++,
C#, Python and so on, with one "key takeaway" addressing their popularity, or love.

"The programming languages with the most love are Java and Python," the survey report
said. "Second place is a tie between C# and JavaScript. But if the results are normalized by
sample size, C# is the most loved language."

Here's how the languages stacked up when respondents were asked to report their primary
usage:

Top Programming Languages (source: JetBrains).

The company offered up this takeaway comparison of the leading languages:

 Java: The most popular primary programming language


 Go: The most promising programming language
 JavaScript: The most used overall programming language
 Python: The most studied language
Further investigating the C# camp, the survey indicates Microsoft's new open source, cross-
platform "Core" direction is gaining traction but still has a long way to go as it usurps the
ageing, Windows-only .NET Framework, with .NET Core and ASP.NET Core leading the
migration (C# questions were only shown to developers who chose C# as one of their three
primary programming languages).

"Adoption of .NET Core is growing, although C# remains a Windows-first language: more


than 90 percent of developers use it only on Windows," the survey report said.

When asked what runtimes they regularly use, C# developers responded:

 .NET Framework -- 85 percent


 .NET Core -- 57 percent
 Mono -- 14 percent

That 57-percentage shown for .NET Core in 2019 compares to 42 percent reported in the
company's 2018 survey and 37 percent reported in its 2017 survey, as shown by these
graphics:

Regularly Used Runtimes in 2018 (source: JetBrains)

Regularly Used Runtimes in 2017 (source: JetBrains).

And, perhaps surprisingly, ASP.NET MVC still has an edge over ASP.NET Core, with the
Windows-only offering actually experiencing an uptick in the number of respondents
reporting using it this year as compared to last year:

Top Technologies/Frameworks Used by C# Developers (source: JetBrains).


This year's report that shows 49 percent of C# respondents using ASP.NET Core compares to
37 percent in the 2018 survey, which, surprisingly, was a drop from 39 percent reported in
2017:

Regularly Used Frameworks in 2018 (source: JetBrains).

Regularly Used Frameworks in 2017 (source: JetBrains).

Other Microsoft-centric takeaways include:

 Almost two in every three C# developers have now moved to the latest version C#7,
this is up from 44 percent in 2018, and 28 percent in 2017.
 This year VSTS is on par with TFS, with both having about a 25 percent share. Still,
57 percent of developers don't use either of them.
 Among respondents who either write or use unit tests, NUnit was reported by 40
percent of developers, followed by MS Test/Visual Studio Unit Testing Framework
at 36 percent.
 When asked about usage of performance or diagnostic tools regularly in use, 48
percent of respondents replied the used Visual Studio's built-in performance and
diagnostic tools, followed by dot Trace (18 percent), dot Memory (17 percent) and
Windows Performance Toolkit (5 percent).

More generally, outside of the .NET world, JetBrains offered up this list of facts from the
report:

 Cloud services are getting more popular. The share of local and private servers
dropped 8 percent and 3 percent, respectively, compared to 2018.
 Machine learning professionals have less fear that AI will replace developers one day.
 The more people code at work, the more likely they are to code in their dreams.
 44 percent of JavaScript developers use TypeScript regularly. In total, a quarter of all
developers are using it in 2019, compared to 17 percent last year.
 The use of containerized environments by PHP developers is growing steadily by 12
percent per year.
 73 percent of Rust devs use a Unix/Linux development environment, though Linux is
not a primary environment for most of them.
 Go Modules appeared just recently, but already 40 percent of Go developers use it
and 17 percent want to migrate to it.
 71 percent of Kotlin developers use Kotlin for work, mainly for new projects
(96 percent), but more than a third are also migrating their existing projects to it.
 The popularity of Vue.js is growing year on year: it gained 11 percentage points since
last year and has almost doubled its share since 2017.
 The most frequently used toolset for developers involved in infrastructure
development is Docker + Terraform + Ansible.

While more than 19,000 people participated in JetBrains' 2019 survey, this new report only
includes data based on the survey answers received from external channels, which accounts
for the nearly 7,000 number of respondents mentioned above. JetBrains said it will publish
more complete results -- including raw data -- in the future.

Developers interested in comparing 2019's results with prior years can find the 2018
survey and the 2017 survey.

2.1 : EXISTING SYSTEM

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 single system is
used during this process.

2.1.1 : Limitations of the existing system

The institute 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 : 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 employee information handling and time sheet management is the responsibility
of the administrator. Admin issues a specific id to the employees and staffs with which
employees are required to register into the system and submit their particulars.

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.
Chapter 3:
Requirements and Analysis
3.1: Problem Definitions: -
Lack of identity and a dull competitive edge

Coffee shops can be found on seemingly every corner, so it’s important for coffee
shop owners to establish an identity for their establishments. This means identifying the type
of customers you want to attract. For example, do you aim to cater primarily to the “hipster”
crowd, the “stroller brigade” of young parents looking for a place to congregate with friends,
or people who work in nearby offices? Once you’ve determined who your target audience is,
prevent an “identity crisis” by doing everything – from choosing a name and location, to
setting a menu – with that audience in mind.

The “wrong” menu

Just as independent retailers sometimes carry only the merchandise, they themselves
like, coffee shop owners may be tempted to limit their menu so it jibes with their personal
preferences. This is a bad idea, as it has strong potential to alienate customers.

To get the menu right, keep target customers’ tastes in mind when designing and
refining it. If you’re catering to coffee connoisseurs, consider offering a wide variety of
coffee drinks and coffees brewed from a wide range of beans. If your coffee shop attracts a
lunchtime office worker clientele, think about putting signature “grab-and-go” sandwiches on
the menu. If many customers come to your coffee shop with children in tow, include some
kid-friendly food and beverage options.

Inventory and pricing snafus

Running out of inventory—be it coffee beans or otherwise—is a sure fire way for
coffee shops and coffee shop owners to disappoint customers and put a crimp in business. In
the same vein, inappropriate pricing does the opposite of perking up the bottom line.

Overall management and customer service headaches

One common management-related problem faced by coffee shop owners is slow


service, especially in establishments that offer many customized coffee preparations. The
solution once more is an efficient POS system which, because it is designed for use in
foodservice environments (and preferably, can be configured specifically for coffee shops),
delivers on the promise of speed.

The best POS systems also make management hassle-free by tracking customer
information, using traffic patterns to forecast staffing needs, adjusting pricing, generating
reports that contain actionable information, facilitating tip reconciliation, and integrating with
other solutions, such as accounting software.
PROBLEM DEFINITION
The online shopping system covers the various issues-

 It saves times for customer.


 It is convenient way of shopping.
 It is available 24x7 manners.
 Customer can shop in morning, evening, even when they are free.

Problems in existing system


 It is true that human made mistakes as a computer are always accurate.
 The manual system can have problems with paper-based work.
 We have seen some problems that are covered in this project.

We will categories these problems in following types –

 General Problem
General problems include that basic file and data organizing system for existing system.
Some of them are following

 Required more time for searching old files and details of the products.
 No proper stores and organization technique for the files and data of customers.
 Require lot of paper invoice for the product.
 Difficult to prepare sales reports on daily basis.
 Difficult to remember prices for small-small things.

 Technical Problem
 The following are some technical issues with existing shopping system
 It requires space for keeping all the registers and files of the shop i.e. sales.
 Difficult to maintain the sales record by owner or manager.
 Less Secured
 Difficulties in checking the available stock of items.
 Files may be damaged by cockroaches or some insects.

 Financial Transaction / Data Calculation


The following are some data problems can be there in existing shopping system.

 Sometime the manual calculation may be incorrect.


 Difficulty to generate sales reports.
 Difficult to manage customer’s record in more rush.
 All the above issues are covered in online shopping system.
 The system is work on computer, so there are no chances of calculation problem.
 There is a separate database records stored in a hard disk.
 It provides most secured way for shopping.
 Easy to generate daily sales reports.
 Easy to check the available stock of products. 
 User friendly GUI.
3.2 : SOFTWARE REQUIREMENT SPECIFICATION

INTRODUCTION

Purpose: The main purpose for preparing this document 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.

Scope: This Document plays a vital role in the development life cycle (SDLC) and it
describes the complete requirement of the system. It is meant for use by the developers and
will be the basic during testing phase. Any changes made to the requirements in the future
will have to go through formal change approval process.

DEVELOPERS RESPONSIBILITIES OVERVIEW:

The developer is responsible for:

 Developing the system, which meets the SRS and solving all the requirements of the
system?
 Demonstrating the system and installing the system at client's location after the
acceptance testing is successful.
 Submitting the required user manual describing the system interfaces to work on it and
also the documents of the system.
 Conducting any user training that might be needed for using the system.
 Maintaining the system for a period of one year after installation.
3.2.1 : FUNCTIONAL REQUIREMENTS:

Proposed system should possess the following features

 Managing product categories


 Managing reporter data
 Maintains the customers details

3.2.2 : PERFORMANCE REQUIREMENTS

Performance is measured in terms of the output provided by the application.

Requirement specification plays an important part in the analysis of a system. Only


when the requirement specifications are properly given, it is possible to design a system,
which will fit into required environment. It rests largely in the part of the users of the existing
system to give the requirement specifications because they are the people who finally use the
system. This is because the requirements have to be known during the initial stages so that the
system can be designed according to those requirements. It is very difficult to change the
system once it has been designed and on the other hand designing a system, which does not
cater to the requirements of the user, is of no use.

The requirement specification for any system can be broadly stated as given below:
 The system should be able to interface with the existing system
 The system should be accurate
 The system should be better than the existing system

The existing system is completely dependent on the user to perform all the duties.
3.3: Planning & Scheduling
Project Planning
Planning is an identification of all of the tasks to be performed in the scope of the
project and the technical and business constraints.
It is also referred as efforts for each activity or tasks. Project planning identifies
uncertainties associated with a project. Planning is done after a valid business case and
feasibility study. Planning gives the demerits of the system, so that we can modify the project
objectives to improve the project. This means that planning for adding new features to the
system. A major principle of project planning is to plan in outline first and then in more
details as the time to carry out an activity approach.
Planning is required for various stages and regions Figure

 Planning is done for improving the scope and quality of system.


 Planning is done for time schedule for each activity.
 Planning also done for budget i.e. how much cost required each task or activity.
 Planning is done for allocating and sharing resources between projects.
 Risk management plan should be there to remove the future risks in project.

Scheduling Project
scheduling is one of the tasks that show the time constraints all the activities are
done. Project scheduling is defined as the process of defining when the project activities are
done and it depends on defined durations and precedent activities. Project Scheduling is
complexes, iterative approach which involves allocating resources between tasks, identifying
dependencies between tasks, controlling the flow of activities that are done, maintain a
balance between them. It involves CPM (Critical Path Analysis) and PERT (Project
Evaluation Review Technique) to analyze critical activity (i.e. the activity that cannot be
delayed) of project.
Gantt chart

A Gantt chart, commonly used in project management, is one of the most popular and
useful ways of showing activities (tasks or events) displayed against time. On the left of the
chart is a list of the activities and along the top is a suitable time scale. Each activity is
represented by a bar; the position and length of the bar reflects the start date, duration and end
date of the activity. This allows you to see at a glance:

 What the various activities are


 When each activity begins and ends
 How long each activity is scheduled to last
 Where activities overlap with other activities, and by how much
 The start and end date of the whole project

To summarize, a Gantt chart shows you what has to be done (the activities) and when (the
schedule).

A Gantt chart is a timeline view that makes it easy to see how a project is tracking. You can
visualize project tasks and see how they relate to each other as projects progress over time.
Use this tool to simplify your tasks and details with a visual project timeline by transforming
task names, start dates, durations, and end dates into cascading horizontal bar charts.

With a Gantt you can plan out all of your tasks, so complex projects are manageable and easy
to tackle. You can use a Gantt to figure out the minimum delivery time for your project and to
schedule the right people when they’re available to get your project finished efficiently.
Gantt Ch
03-Aug 07-
Selection of the Project Hardware Specification Technology Selection Requirement Analysis Feasibility Study Planning and
3.4 : Hardware & Software Requirements

HARDWARE REQUIREMENTS

Content Description
HDD 20 GB Min
40 GB Recommended
RAM 512 GB Min
1 GB Recommended

SOFTWARE REQUIREMENTS

Content Description
OS Windows 7 or above
Database SQL Server 2008/2012
Technologies VB.Net 2010 or higher
IDE MS-Visual Studio .Net 2010 with framework 4.5 Or
MS Visual Studio .Net 2012
3.5: Preliminary Product Description
Feasibility

Preliminary investigation examines project feasibility, the likelihood the


system will be useful to the organization. The main objective of the feasibility study is to test
the Technical, Operational and Economical feasibility for adding new modules and
debugging old running system. All system is feasible if they are unlimited resources and
infinite time. There are aspects in the feasibility study portion of the preliminary
investigation:

 Technical Feasibility
 Economic Feasibility
 Operation Feasibility

TECHINICAL FEASIBILITY:

In the feasibility study first step is that the organization or company has to decide that
what technologies are suitable to develop by considering existing system.
Here in this application used the technologies like Visual Studio 2010 and Sql Server 2008.
These are free software that would be downloaded from web.
Visual Studio 2010 –it is tool or technology.

OPERATIONAL FEASIBILITY:

Not only must an application make economic and technical sense, it must also make
operational sense. Issues to consider when determining the operational feasibility of a project.

Operations Issues Support Issues


 What tools are needed to support operations?  What documentation will users
 What skills will operators need to be trained be given?
in?  What training will users be
 What processes need to be created and/or given?
updated?  How will change requests be
 What documentation does operations need? managed?
Very often you will need to improve the existing operations, maintenance, and support
infrastructure to support the operation of the new application that you intend to develop. To
determine what the impact will be you will need to understand both the current operations
and support infrastructure of your organization and the operations and support characteristics
of your new application.

To operate this application, the user no needs to require any technical knowledge that
we are used to develop this project is. Asp.net, C#.net. That the application providing rich
user interface by user can do the operation in flexible manner.

ECONOMIC FEASIBILITY:

It refers to the benefits or Outcomes we are deriving from the product as


compared to the total cost we are spending for developing the product. If the benefits are
more or less the same as the older system, then it is not feasible to develop the product.

In the present system, the development of new product greatly enhances the
accuracy

of the system and cuts short the delay in the processing of Birth and Death application.
The errors can be greatly reduced and at the same time providing a great level of security.
Here we don’t need any additional equipment except memory of required capacity.

No need for spending money on client for maintenance because the database used
is web enabled database.
3.6 : Conceptual Model

A conceptual model is a representation of a system, made of the composition of


concepts which are used to help people know, understand, or simulate a subject the model
represents. It is also a set of concepts. Some models are physical objects; for example, a toy
model which may be assembled, and may be made to work like the object it represents.

The term conceptual model may be used to refer to models which are formed after a
conceptualization or generalization process. Conceptual models are often abstractions of
things in the real world whether physical or social. Semantic studies are relevant to various
stages of concept formation. Semantics is basically about concepts, the meaning that thinking
beings give to various elements of their experience.

E – R DIAGRAMS

 The relation upon the system is structure through a conceptual ER-Diagram, which not
only specifics the existential entities but also the standard relations through which the
system exists and the cardinalities that are necessary for the system state to continue.

 The entity Relationship Diagram (ERD) depicts the relationship between the data objects.
The ERD is the notation that is used to conduct the date modeling activity the attributes of
each data object noted is the ERD can be described resign a data object description.

 The set of primary components that are identified by the ERD are

 Data object  Relationships

 Attributes  Various types of indicators.

The primary purpose of the ERD is to represent data objects and their relationships.
DATA FLOW DIAGRAMS

A data flow diagram is graphical tool used to describe and analyze movement of data
through a system. These are the central tool and the basis from which the other components
are developed. The transformation of data from input to output, through processed, may be
described logically and independently of physical components associated with the system.
These are known as the logical data flow diagrams. The physical data flow diagrams show
the actual implements and movement of data between people, departments and workstations.
A full description of a system actually consists of a set of data flow diagrams. Using two
familiar notations Yourdon, Game and Sarsen notation develops the data flow diagrams. Each
component in a DFD is labeled with a descriptive name. Process is further identified with a
number that will be used for identification purpose. The development of DFD’S is done in
several levels. Each process in lower level diagrams can be broken down into a more detailed
DFD in the next level. The lop-level diagram is often called context diagram. It consists a
single process bit, which plays vital role in studying the current system. The process in the
context level diagram is exploded into other process at the first level DFD.

The idea behind the explosion of a process into more process is that understanding at
one level of detail is exploded into greater detail at the next level. This is done until further
explosion is necessary and an adequate amount of detail is described for analyst to understand
the process.

Larry Constantine first developed the DFD as a way of expressing system


requirements in a graphical from, this lead to the modular design.

CONSTRUCTING A DFD:

Several rules of thumb are used in drawing DFD’S:

1. Process should be named and numbered for an easy reference. Each name should be
representative of the process.
2. The direction of flow is from top to bottom and from left to right. Data traditionally flow
from source to the destination although they may flow back to the source. One way to
indicate this is to draw long flow line back to a source. An alternative way is to repeat the
source symbol as a destination. Since it is used more than once in the DFD it is marked
with a short diagonal.
3. When a process is exploded into lower level details, they are numbered.
4. The names of data stores and destinations are written in capital letters. Process and
dataflow names have the first letter of each work capitalized

A DFD typically shows the minimum contents of data store. Each data store should
contain all the data elements that flow in and out.
Questionnaires should contain all the data elements that flow in and out. Missing
interfaces redundancies and like is then accounted for often through interviews.

Silent Features of DFD’S

1. The DFD shows flow of data, not of control loops and decision are controlled
considerations do not appear on a DFD.
2. The DFD does not indicate the time factor involved in any process whether the dataflow
take place daily, weekly, monthly or yearly.
3. The sequence of events is not brought out on the DFD.
TYPES OF DATA FLOW DIAGRAMS

1. Current Physical
2. Current Logical
3. New Logical
4. New Physical

CURRENT PHYSICAL:

In Current Physical DFD process label include the name of people or their positions
or the names of computer systems that might provide some of the overall system-processing
label includes an identification of the technology used to process the data. Similarly data
flows and data stores are often labels with the names of the actual physical media on which
data are stored such as file folders, computer files, business forms or computer tapes.

CURRENT LOGICAL:
The physical aspects at the system are removed as much as possible so that the current
system is reduced to its essence to the data and the processors that transforms them regardless
of actual physical form.

NEW LOGICAL:

This is exactly like a current logical model if the user were completely happy with the
user were completely happy with the functionality of the current system but had problems
with how it was implemented typically through the new logical model will differ from current
logical model while having additional functions, absolute function removal and inefficient
flows recognized.

NEW PHYSICAL:
The new physical represents only the physical implementation of the new system.
Rules Governing the DFD’S

PROCESS
1) No process can have only outputs.
2) No process can have only inputs. If an object has only inputs than it must be a sink.
3) A process has a verb phrase label.
DATA STORE
1) Data cannot move directly from one data store to another data store, a process must move
data.
2) Data cannot move directly from an outside source to a data store, a process, which
receives, must move data from the source and place the data into data store
3) A data store has a noun phrase label.
SOURCE OR SINK
The origin and / or destination of data.
1) Data cannot move direly from a source to sink it must be moved by a process
2) A source and /or sink has a noun phrase land

DATA FLOW

1) A Data Flow has only one direction of flow between symbols. It may flow in both
directions between a process and a data store to show a read before an update. The latter
is usually indicated however by two separate arrows since these happen at different type.
2) A join in DFD means that exactly the same data comes from any of two or more different
processes data store or sink to a common location.
3) A data flow cannot go directly back to the same process it leads. There must be at least
one other process that handles the data flow produce some other data flow returns the
original data into the beginning process.
4) A Data flow to a data store means update (delete or change).
5) A data Flow from a data store means retrieve or use.

A data flow has a noun phrase label more than one data flow noun phrase can appear on a
single arrow as long as all of the flows on the same arrow move together as one package.
Context Level (0th Level Diagram)
Login DFD Diagram:

Login Master

Open Login formEnter User Name and Password User Home Check User YesPage
Yes

No

Validates Data

A DFD is also known as a “bubble Chart” has the purpose of clarifying system
requirements and identifying major transformations that will become programs in system
design. So it is the starting point of the design to the lowest level of detail. A DFD consists of
a series of bubbles joined by data flows in the system.

DFD SYMBOLS:

In the DFD, there are four symbols


1. A square defines a source(originator) or destination of system data
2. An arrow identifies data flow. It is the pipeline through which the information flows
3. A circle or a bubble represents a process that transforms incoming data flow into outgoing
data flows.
4. An open rectangle is a data store, data at rest or a temporary repository of data

Process that transforms data flow.


Source or Destination of data

Data flow

Data Store
CHAPTER 4:
SYSTEM DESIGN

4.1 : Introduction

Software design sits at the technical kernel of the software engineering process and is
applied regardless of the development paradigm and area of application. Design is the first
step in the development phase for any engineered product or system. The designer’s goal is to
produce a model or representation of an entity that will later be built. Beginning, once system
requirement have been specified and analyzed, system design is the first of the three technical
activities -design, code and test that is required to build and verify software.

The importance can be stated with a single word “Quality”. Design is the place where
quality is fostered in software development. Design provides us with representations of
software that can assess for quality. Design is the only way that we can accurately translate a
customer’s view into a finished software product or system. Software design serves as a
foundation for all the software engineering steps that follow. Without a strong design we risk
building an unstable system – one that will be difficult to test, one whose quality cannot be
assessed until the last stage.

During design, progressive refinement of data structure, program structure, and


procedural details are developed reviewed and documented. System design can be viewed
from either technical or project management perspective. From the technical point of view,
design is comprised of four activities – architectural design, data structure design, interface
design and procedural design.

4.2 : Normalization

It is a process of converting a relation to a standard form. The process is used to


handle the problems that can arise due to data redundancy i.e. repetition of data in the
database, maintain data integrity as well as handling problems that can arise due to insertion,
updating, deletion anomalies.
Decomposing is the process of splitting relations into multiple relations to eliminate
anomalies and maintain anomalies and maintain data integrity. To do this we use normal
forms or rules for structuring relation.

Insertion anomaly: Inability to add data to the database due to absence of other data.
Deletion anomaly: Unintended loss of data due to deletion of other data.
Update anomaly: Data inconsistency resulting from data redundancy and partial update
Normal Forms: These are the rules for structuring relations that eliminate anomalies.

FIRST NORMAL FORM:


A relation is said to be in first normal form if the values in the relation are atomic for
every attribute in the relation. By this we mean simply that no attribute value can be a set of
values or, as it is sometimes expressed, a repeating group.

SECOND NORMAL FORM:


A relation is said to be in second Normal form is it is in first normal form and it should
satisfy any one of the following rules.
1) Primary key is a not a composite primary key
2) No non key attributes are present
3) Every non key attribute is fully functionally dependent on full set of primary key.

THIRD NORMAL FORM:


A relation is said to be in third normal form if their exits no transitive dependencies.

Transitive Dependency: If two non-key attributes depend on each other as well as on the
primary key then they are said to be transitively dependent.

The above normalization principles were applied to decompose the data in multiple
tables thereby making the data to be maintained in a consistent state.
4.3 : UML DIAGRAMS

The Unified Modeling Language (UML) is used to specify, visualize, modify, construct
and document the artifacts of an object-oriented software intensive system under
development. UML offers a standard way to visualize a system's architectural blueprints,
including elements such as:
 actors
 business processes
 (logical) components
 activities
 programming language statements
 database schemas, and
 Reusable software components.

UML combines best techniques from data modeling (entity relationship diagrams),
business modeling (work flows), object modeling, and component modeling. It can be used
with all processes, throughout the software development life cycle, and across different
implementation technologies. UML has synthesized the notations of the Brooch method, the
Object-modeling technique (OMT) and Object-oriented software engineering (OOSE) by
fusing them into a single, common and widely usable modeling language. UML aims to be a
standard modeling language which can model concurrent and distributed systems.

4.3.1 Use Case Diagram:

Most known diagram type of the behavioral UML diagrams, Use case diagrams gives
a graphic overview of the actors involved in a system, different functions needed by those
actors and how these different functions are interacted. It’s a great starting point for any
project discussion because you can easily identify the main actors involved and the main
processes of the system.
Over View Use Case Diagram:

Employee Details Validity Check

Administrator

System

Order Processing

Employee

Database

View and Print the Order Details


4.3.2: Data Structures

After carefully understanding the requirements of the client the the entire data storage
requirements are divided into tables. The below tables are normalized to avoid any anomalies
during the course of data entry.
4.3.3: Sequence Diagrams

Sequence Diagrams Represent the objects participating the interaction horizontally


and time vertically. A Use Case is a kind of behavioral classifier that represents a declaration
of an offered behavior. Each use case specifies some behavior, possibly including variants
that the subject can perform in collaboration with one or more actors. Use cases define the
offered behavior of the subject without reference to its internal structure. These behaviors,
involving interactions between the actor and the subject, may result in changes to the state of
the subject and communications with its environment. A use case can include possible
variations of its basic behavior, including exceptional behavior and error handling.

Admin Login Sequence Diagram:

Home Page LogIn clsLogin DALSqlHelper DataBase Admin Home

: Admin

1 : Open URL()

2 : Enter Credentials()

3 erified()
:V

4 : Logincheck()

5 : ExectueNon-Query()

6 : Execute()

7 : V erified()

8 : Respons Message( )

9 : Enters Into Ad min Home Page()


LogIn Admin Home Add State clsState Dal SqlHelper
Database

:min
Ad

1 : Enter Credent
ials()

2 : Verified()

3 : Enters Into
Admin Home Page()

4 : Enters State Details()

5 : Add State()

6 : Execute NonQuery()

7 : Execute()

8 : Response Message()

4.4 : Collaboration Diagram:

A collaboration diagram resembles a flowchart that portrays the roles, functionality


and behavior of individual objects as well as the overall operation of the system in real time.
Objects are shown as rectangles with naming labels inside. These labels are preceded by
colons and may be underlined. The relationships between the objects are shown as lines
connecting the rectangles. The messages between objects are shown as arrows connecting the
relevant rectangles along with labels that define the message sequencing.

Collaboration diagrams are best suited to the portrayal of simple interactions among
relatively small numbers of objects. As the number of objects and messages grows, a
collaboration diagram can become difficult to read. Several vendors offer software for
creating and editing collaboration diagrams.
Admin Login Collaboration Diagram:

7:V erified()
DataBase 6 : Execute() DALSqlHelper

5 : ExectueNon-Query()

8 : Respons Message() clsLogin

Admin Home

4 : Logincheck()

9 : Enters Into Admin Home Page()


3:V erified()

LogIn
2 : Enter Credentials()

1 : Open URL()
Home Page
: Admin

Database 7 : Execute()
Dal SqlHelper

6 : Execute NonQuery()

8 : Response Message()
clsAdmin

: Admin 4 : Enters Employee Details() 5 : Add Cylinders()

3 : Enters Into Admin Home Page()

1 : Enter Credentials()
Add Details

2: Verified()
LogIn

Admin Home
4.5 : Activity Diagrams:

Activity diagrams represent workflows in a graphical way. They can be used to


describe business workflow or the operational workflow of any component in a system.
Sometimes activity diagrams are used as an alternative to State machine diagrams.

Activity diagram is basically a flow chart to represent the flow from one activity to
another activity. The activity can be described as an operation of the system. So the control
flow is drawn from one operation to another. This flow can be sequential, branched or
concurrent. Activity diagrams deals with all type of flow control by using different elements
like fork, join etc.

The basic purposes of activity diagrams are similar to other four diagrams. It captures
the dynamic behavior of the system. Other four diagrams are used to show the message flow
from one object to another but activity diagram is used to show message flow from one
activity to another. Activity is a particular operation of the system. Activity diagrams are not
only used for visualizing dynamic nature of a system but they are also used to construct the
executable system by using forward and reverse engineering techniques. The only missing
thing in activity diagram is the message part.

Login Activity Diagram:

Open Form Home Page Enter Credentials Login

Reject and Message Validate Details

Accept Get Home Page


Admin Activity Diagram

Employee Activity Diagram :


Class Diagram:

The class diagram is a static diagram. It represents the static view of an application.
Class diagram is not only used for visualizing, describing and documenting different aspects
of a system but also for constructing executable code of the software application.

The class diagram describes the attributes and operations of a class and also the
constraints imposed on the system. The class diagrams are widely used in the modelling of
object oriented systems because they are the only UML diagrams which can be mapped
directly with object oriented languages.

The class diagram shows a collection of classes, interfaces, associations,


collaborations and constraints. It is also known as a structural diagram.

The purpose of the class diagram is to model the static view of an application. The
class diagrams are the only diagrams which can be directly mapped with object oriented
languages and thus widely used at the time of construction.

Gantt chart:

A Gantt chart, commonly used in project management, is one of the most popular and useful
ways of showing activities (tasks or events) displayed against time. On the left of the chart is
a list of the activities and along the top is a suitable time scale. Each activity is represented by
a bar; the position and length of the bar reflects the start date, duration and end date of the
activity. This allows you to see at a glance:

 What the various activities are


 When each activity begins and ends
 How long each activity is scheduled to last
Where activities overlap with other activities, and by how much
41 | P a g e
 The start and end date of the whole project

To summarize, a Gantt chart shows you what has to be done (the activities) and when (the
schedule).

A Gantt chart is a timeline view that makes it easy to see how a project is tracking. You can
visualize project tasks and see how they relate to each other as projects progress over time.
Use this tool to simplify your tasks and details with a visual project timeline by transforming
task names, start dates, durations, and end dates into cascading horizontal bar charts.

With a Gantt you can plan out all of your tasks, so complex projects are manageable and easy
to tackle. You can use a Gantt to figure out the minimum delivery time for your project and
to schedule the right people when they’re available to get your project finished efficiently.

Gantt Chart
03-Aug 07-Sep12-Oct16-Nov21-Dec25-Jan01-Mar
29-Jun
on Technology Selection Requirement Analysis Feasibility Study Planning and Scheduling Conceptual Model Design
System Design
Implementation
Testing Deployment
43 | P a g e

You might also like