1 Level Dfd Hotel Management System Mid Way Restaurant Billing by zgc58946

VIEWS: 0 PAGES: 101

More Info
									                             Mid-Way Restaurant Billing
                                A Minor Project Report
                       Submitted for the partial fulfillment of
                           Master of Computer Applications
                               (5yrs Integrated Course)


Under of Supervision of:                               Submitted by
Mrs. Arpana Chaturvedi                                 Seema Bhoi
                                                    05031243028




                           Directorate of Distance Education
                            Guru Jambeshwar University of
                               Science and Technology,
                                    Hisar 125001
                                     (2005-2010)




                                           1
                                                                  ANNEXURE-I




                                DECLARATION


I hereby declare that the MINOR PROJECT work entitled MID-WAY
RESTAURANT BILLING Submitted for the MCA (5yr course) is my original
work carried out by me under the guidance of Ms.Divya Sharma for the partial
fulfillment of the award of the degree of the Masters of Computer Applications. The
matter embodied in this report has not submitted anywhere else for the award of any
other degree/diploma.




Place: Jagannath Institute of Management Sciences


Date: 30 March 2008




                                                        Signature of the Candidate:




                                         2
                                                                      ANNEXURE- 2




                                  CERTIFICATE


This is to Certify that Miss Seema Bhoi Regn. NO 05031243028 has worked under
my supervision to prepare his project report entitled MID-WAY RESTAURANT
BILLING .The work embodied in this report is original and was conducted at
Jagannath Institute of Management Sciences From 15th January 2008 to 29th March
2008. This work has not been submitted in part or full to this or any other university
for the award of any other degree or diploma.




                                      Signature of Supervisor
                                      Name: Ms. Divya Sharma
                                       Designation: Lecturer
                                      Organization/Institute: Jagannath
                                       Institute of Management Sciences




                                          3
                         RESUME OF SUPERVISOR




   1. NAME : Divya Sharma
   2. DESIGNATION: Faculty IT
   3. QUALIFICATION: BCA, MSc(computer science)
   4. AREA OF SPECIFICATION: IT
   5. EXPERIENCE: A) ACADEMIC UG=3.5 yrs PG=1.5yrs TOTAL:=3.5


                        B) INDUSTRIAL:




   6. OFFICIAL ADDRESS: A-27 Mohan Cooperative New Delhi
   7. ADDRESS FOR CORRESPONDENCE: H.no 723 sector 17 Faridabad
   8. MOBILE NO: 9818453886
   9. E_MAIL: divsha@gmail.com




I am willing to supervise Mr. Seema Bhoi Registration no 05031243028
For major project of MCA (5 YRS integrated course) of the Directorate
Distance Education, Guru Jambeshwar University of science and Technology,
Hisar.




                                                  Signature of the supervisor




                                        4
                            ACKNOWLEDGEMENT




The project work mentioned in this report, is the result of cumulative efforts over a
period of an entire year in course of which, I have received intellectual support from
various sources. It is my pleasure to express my profound sense of gratitude to all
those who have contributed richly to this project and have been highly instrumental
in making this a success.


   I am highly indebted to my teacher Ms.Divya Sharma for giving me an
opportunity to work on this project. She has been an invaluable source of guidance
and motivation at all stages of my work.




                                           5
                                             ANNEXURE III




                   List of Tables


SNo.   Table no.     Description of Table         Page no.


1.        1.         List of Abbreviations         8
2         2.         Contents                      9-10
3.        3.         Databases                     39
4.       3.1         Customer Database             39
5        3.2         Employee Database             39
6        3.3         Billing                       42


…………………………………………………………………………………………
…………………




                         6
                                                  ANNEXURE IV




                    List of Figures


SNo.   Figure no.     Description of Figure           Page no.


1.      1.1           O level DFD                      38
2       1.2          1 level DFD                       40
3.      1.3          2 level DFD                       41
4        2           ER diagram                        50
5       3.1          Customer Master Flow chart        51
6.      3.2          Billing Flow chart                52
.
…………………………………………………………………………………………
…………………




                           7
                        List of Abbreviations




        Abbreviations                                   Word


Org                                   Organization


Emp.                                  Employee


App                                   Applications


SSADM                                 Structured system analysis design
                                      methodology


Prog.                                 Program


Req.                                  Required


DFD                                   Data flow diagram


DD                                    Data dictionary


ER                                    Entity relationship


Comm.                                 Communication


WM                                    Waterfall model




                              (Table 1)



                                  8
Sno.                                Contents         Page No.


1      Introduction
       1.1 Aim
       1.2 Objective                                 11-15
       1.3 Application area
       1.4 About Mid-way Restaurant


2      Problem Selection
       2.1 Problem Definition                        16-18
       2.2 Identification of need


3      Project Monitoring System
       3.1 History                                   19-21
       3.2 Features of C++


4      System Study
       4.1 Operational feasibility Study
       4.2 Technical Feasibility Study
       4.3 Schedule Feasibility Study                22-31
       4.4Economical feasibility Study
       4.5 Software process model
       4.6 Requirement Analysis
       4.7 Software & Hardware Requirements


5      System Analysis
       5.1 Overall strategy
       5.2 Problem with the current system           32-42
       5.3 Advantages of Computerization
       5.4 Dataflow analysis of the current system
       5.5 Dataflow Diagram



                                           9
          5.6 Data Dictionary


6         System Design
          6.1 Design analysis
          6.2 Design Methodology
          6.3 Design overview                                        43-52
          6.4 Entity relationships diagram
          6.5 Flowcharts


7         System Testing and Implementation
          7.1 Testing
          7.2 Unit testing
          7.3 System testing                                         53-57
          7.4 Test conclusion
          7.5 Implementation and Maintenance


8         Documentation
                                                                     58-92
9         Conclusion
     1. 9.1 Extent to which the original objectives were met
     2. 9.2 User friendly interface
     3. 9.3 Project management, consultancy and communication skills 93-96
          acquired
     4. 9.4 Extent to which user requirements were met
     5. 9.5 Final summary
     6.
10        Scope of the Project
          10.1 References                                            97-100
          10.2 Appendix




                                        (Table 2)




                                             10
INTRODUCTION




     11
T oday, It industry is known as word of magic. No doubt it brings a universal change
   in society. The existing manual system is very tedious so that this system is used to
   get rid of that old system.


    AIM


    OBJECTIVE


    APPLICATION AREAS


    ABOUT MID-WAY RESTAURANT



   1.1Aim of the project


    The aim of the project is to deliver a working system that will allow the Org. to
   maintain a Billing System.
   The Restaurant Billing System Module is an on line, real time system.


   The software supports on-line voucher entry & printing thus eliminating the need for
   preparation of Manual vouchers. A voucher will not have to be prepared manually
   before entry on computer.


   The receipt / voucher details will be entered directly on the computer from the
   supporting documents. After entry, the system will print the vouchers, which will
   then be signed and filled with the supporting document.


   It will be a complete solution starting from taking orders from clients in producing,
   bills, bookings and closing bills with different payment options. User interface is
   carefully optimized for high speed entering of client orders and preventing mistakes
   from users. For managers to help in managerial decision making, the system
   represents rich set of reports that shows whole picture about restaurant operations
   and life cycles: menus consumption, busiest tables, most active employees, payment
   methods, and automatic tax calculations. The software radically improves serving




                                             12
speed by standardizing whole restaurant management process in terms of billings,
bookings and inventory of the items that has been procured.




1.2Objective of the project


  To produce a simple, yet suitably effective user friendly interface and a system
that is easily maintainable, efficient and practical and generate bills along with
maintain emp. and Customer database.


The proposed system has the following objectives to be achieved.


    User Friendly Environment.
    Less Space.
    Fast Retrieval.
    Less man power.
    Integration of data
    Easy to Operate.
    Accuracy.




1.3Application Area


The project undertaken can be used at any restaurant where bills are generated and
maintained automatically. The app. will be in C++.
So, the application area of the project will include all the tasks involving the
customer and the employees of the restaurant.




                                        13
1.4About Mid-Way Restaurant




        Mid-Way restaurant was founded by Mr.K.K Nath in 2006 with support of
his wife Ms. Aruna Nath. The first outlet was started in Bangalore followed by 6
outlets in various parts of the country till now.
Mr. Nath is a graduate in Hospitality and Tourism Management from Pune while
Ms.Nath is a graduate in Business Administration. Both started their career from a
small a food outlet in the lanes of Bangalore.
Today Mid-Way acquires a reputed position in the market of fast food restaurant.
        The outlet offers large range of Indian fast food. Price range is standard at
every outlet keeping in mind the budget of the layman. Food is tested under
department     of   food    and    drink    industry   to   maintain     the    hygiene.
        Initially the billing system was carried out manually by the cashier who
made it tedious and time consuming. Also the customer demanded for a registered
bill.
        Keeping in mind all the pitfalls of the manual record keeping system, a
computerized system was demanded for all the outlets.



Technology has been an integral part of Mid-Way‟s infrastructure. "Computers were
introduced for billing at restaurants about 20 years ago even prior to using
computers at the restaurant level, electronic cash registers were used in its
restaurants while computers were used in the head office to keep track of sales and
accounting. The billing system incidentally was a home grown solution and this
program was further evolved to track inventory, and place orders to the central
kitchen or the production unit. As and when new requirements came up, the program
was modified and refined.

Mid-Way has always leveraged IT to drive its business and has been one of the
earliest restaurant chains to adopt technology. Each of its restaurants is equipped
with computers and software for billing solution and this includes mid way‟s
delivery business. The back office solution is also used in restaurants to consolidate
sales and manage inventory.



                                           14
For exchange of information between the head office and restaurants, a
communications software has been deployed which manages data transfer. The
production management software consolidates orders from restaurants as well as
third party sales orders, and helps in production planning in the central kitchen.

With the company‟s aggressive plans to expand all over India and open as many as
150 or more restaurants, the existing IT infrastructure required a complete revamp.




                                          15
PROBLEM SELECTION




        16
T he current system is not organized. It is a system based on more of common sense.
   The main idea behind this system is “as it has been going on fine”. The speed of the
   system depends on human speed and mood.



   2.1Problem Definition


   Present system is based more on manual record keeping methodology,
   which makes the overall working of the system very slow, time
   consuming and thus it is proved to be inefficient. Hence a software was
   required which could make the entire system fast and efficient
   The conventional system in these departments is manual where all the work is done
   manually by entering the records in the various files and folders.


   It is quite cumbersome to proceed through the manual system because; entering of a
   record or searching for an record takes ample time. Maintaining these files requires
   lot of space as well. And also it become really difficult to change records which are
   already written on a piece of paper

   Since it is totally depending on human, efficiency is low. There is less security as all
   the information is basically kept as hard copy in a register. The computer back up is
   also in the file system.



   2.2 IDENTIFICATION OF NEED


   This step is initiation of System Analysis. An overview of the client‟s requirement
   has been done. The basic need of the client to opt for such kind of project is
   analyzed.


   As per current marketing scenario, an entire system was required to track day-to-day
   transactions, and timely generation of reports is the basic features of this project.




                                              17
Client was following a Manual Process, which is not at all compatible with its
current working conditions. It was not only time consuming, but also lacks accuracy.
Security point of view the manual system was failed to hide the information from
any unauthenticated staff or any outside person. Therefore, there was an urgent
requirement of such Computerized System, which can fulfill all of its current as well
as future requirements.




                                         18
    PROJECT
MONITORING SYSTEM




        19
C++ is a general-purpose, high-level programming language with low-level
facilities. It is a statically typed free-form multi-paradigm language supporting
procedural programming, data abstraction, object-oriented programming, generic
programming and Runtime Type Identification (RTTI). Since the 1990s, C++ has
been one of the most popular commercial programming languages.


Bjarne Stroustrup developed C++ (originally named "C with Classes") in 1983 at
Bell Labs as an enhancement to the C programming language. Enhancements started
with the addition of classes, followed by, among other features, virtual functions,
operator overloading, multiple inheritance, templates, and exception handling. The
C++ programming language standard was ratified in 1998 as ISO/IEC 14882:1998,
the current version of which is the 2003 version, ISO/IEC 14882:2003.


3.1History


Stroustrup began work on C with Classes in 1979. The idea of creating a new
language originated from Stroustrup's experience in programming for his Ph.D.
thesis. Stroustrup found that Simula had features that were very helpful for large
software development, but the language was too slow for practical use, while BCPL
was fast but too low-level and unsuitable for large software development. When
Stroustrup started working in Bell Labs, he had the problem of analyzing the UNIX
kernel with respect to distributed computing. Remembering his Ph.D. experience,
Stroustrup set out to enhance the C language with Simula-like features. C was
chosen because it is general-purpose, fast, and portable. Besides C and Simula, some
other languages which inspired him were ALGOL 68, Ada, CLU and ML. At first,
the class, derived class, strong type checking, inlining, and default argument features
were added to C via Cfront. The first commercial release occurred in October 1985.
In 1983, the name of the language was changed from C with Classes to C++. New
features were added including virtual functions, function name and operator



                                          20
overloading, references, constants, user-controlled free-store memory control,
improved type checking, and a new single-line comment style with two forward
slashes (//). In 1985, the first edition of The C++ Programming Language was
released, providing an important reference to the language, as there was not yet an
official standard. In 1989, Release 2.0 of C++ was released. New features included
multiple inheritance, abstract classes, static member functions, const member
functions, and protected members. In 1990, The Annotated C++ Reference Manual
was published. This work became the basis for the future standard. Late addition of
features included templates, exceptions, namespaces, new casts, and a Boolean type.


As the C++ language evolved, a standard library also evolved with it. The first
addition to the C++ standard library was the stream I/O library which provided
facilities to replace the traditional C functions such as printf and scanf. Later, among
the most significant additions to the standard library, was the Standard Template
Library.


After years of work, a joint ANSI-ISO committee standardized C++ in 1998
(ISO/IEC 14882:1998). For some years after the official release of the standard in
1998, the committee processed defect reports, and published a corrected version of
the C++ standard in 2003. In 2005, a technical report, called the "Library Technical
Report 1" (often known as TR1 for short) was released. While not an official part of
the standard, it gives a number of extensions to the standard library which are
expected to be included in the next version of C++. Support for TR1 is growing in
almost all currently maintained C++ compilers.
While the C++ language is royalty-free, the standard document itself is not freely
available


3.2Features introduced in C++


Compared to the C language, C++ introduced extra features, including declarations
as statement, function-like casts, new/ delete, reference type, inline functions,
default arguments, function overloading, namespaces, classes( including all class-
related features such as inheritance, member function, virtual function, abstract




                                          21
classes, and constructors), operator overloading, templates, the :: operator, exception
handling, and runtime type identification.




             SYSTEM STUDY




                                          22
     System Study is to measure that how beneficial or practical the development of an
     information system will be to an organization. It is also known as the Feasibility
     study.


     The project shall be feasible, given unlimited resources and infinite time. The
     objective of the feasibility is not to solve the problem, but to acquire a sense of its
     scope. It is always necessary to carry out e feasibility study for the development of a
     new product system from the following viewpoints:-


                    What shall be the problems with the conventional system?
                    What shall be the solution available?
                    What shall be the goals and sub goals of the proposed system?
                    What will the proposed system achieve?
                    Who all shall be involved with the operations of the system?
                    What benefit will the system give of the conventional system?
                    What will be the estimated cost of the implementation?




     Feasibility analysis is a cross life cycle activity, which has to be continuously
     performed throughout the system development. By using the creeping commitment
     approach, feasibility is measured at different times in the system development. This
     evaluation ensures that the project is beneficial and practical to an organization.




     Feasibility Test: There are three categories of feasibility tests:

1.            Operational Feasibility
2.            Technical Feasibility
3.            Economic Feasibility.




                                                23
4.1OPERATIONAL FEASIBILITY: - This Application is very easy to
operate as it is made user friendly. Main consideration is user‟s easy access
to all the functionality of the Application.


This Application is operational feasible because no special training is
required for operating the Hotel Management System software.


This software is made as user friendly as much possible so a lesser technical
person can handle this software in a efficient way because in each and every
step menu and help are provided to handle the Hotel Management System
software.


Depending on the results of the initial investigation, the survey is expanded
to a more detailed feasibility study. Feasibility study is a test of system
proposal according to its workability, impact on the organization,
ability to meet user needs, and effective use of resources.


The objective of the feasibility study is not to solve the problem but
to acquire a sense of its scope . During the study, the problem definition
is crystallized and aspects of the problem to be included in the system are
determined.


Consequently, costs and benefits are described with greater accuracy at this
stage.


It consists of the following:


1. Statement of the problem: A carefully worded statement of the problem
that led to analysis.
2. Summary of finding and recommendations: A list of the major findings
and recommendations of the study. It is ideal for the user who requires quick
access to the results of the analysis of the system under study. Conclusion is
stated, followed by a list of the recommendation and a justification for them.




                                   24
       3. Details of findings: An outline of the methods and procedures under-
       taken by the existing system followed by coverage of the objectives and
       procedures of the candidate system. Included are also discussions of output
       reports, file structures, and costs and benefits of the candidate system.
       4. Recommendations and Conclusions: Specific recommendations
       regarding the candidate system, including personnel assignments, costs,
       project schedules, and target dates.


.it is how well the solution will work in the organization and how the end-users and
managers feel about the system. This people oriented test measures the urgency of
problem or the acceptability of a solution. i.e. Is the problem worth solving?


PIECE is used as the basis for analyzing the urgency of problem or the
effectiveness of a solution.


PIECE stands for:
P – Performance
I – Information
E – Economics
C – Control
E – Efficiency


       4.2 TECHNICAL FEASIBILTY centers on the existing computer system
       and to what extent it can support the proposed system. The system is
       technically feasible as existing system (hardware and software) etc is
       Sufficient for the proposed system. There will be no overburden of the
       system.
       Example, if the current computer is operating at 0 percent capacity- an
       arbitrary ceiling- then running another application could overload the system
       or require addition hardware. This involves financial consideration to
       accommodate technical enhancements; if the budget is the serious constraint
       then the project is judged not feasible. A study of functions, performance and
       constraints.




                                          25
       This is concerned with specifying equipment and software that will
       successfully satisfy the user requirement. The technical needs of the system
       may vary considerably, but might include:
                       The facility to produce outputs in a given time.
                       Response time under certain conditions.
                       Ability to process a certain volume of transaction at a
       particular speed.
                       Facility to communicate data to distant location.
       After examining technical feasibility, we give more importance to the
       configuration of the system than the actual make of hardware. The
       configuration gives the complete picture about the system's requirements:
       Ten to twelve workstations are required; these units should be interconnected
       through LAN so that they could operate and communicate smoothly. They
       should have enough speeds of input and output to achieve a particular quality
       of printing.




4.3 SCHEDULE FEASIBILITY: Measure of how reasonable the project timetable
is. Schedule can be mandatory or desirable. It‟s better to deliver a properly
functioning information system later than to deliver an error-prone.


       Measure of how reasonable the project timetable is. Schedule can be
mandatory or desirable. It‟s better to deliver a properly functioning information
system later than to deliver an error-prone.




       4.4 ECONOMICAL FEASIBILTY includes the cost – benefit analysis.
       That is to determine whether the procedure to be applied is benefits and
       savings are expected from the candidate system. Economic analysis is most
       frequently used method for evaluating the effectiveness of a candidate
       system. More commonly known as cost/benefit analysis, the procedure is to
       determine the benefits and savings that are expected from candidate system
       and compare them with cost. An evaluation of development costs weighed



                                          26
       against the available income or benefits derived from the developed system
       or project.
       With the help of this application it will lead to decrease in cost of opening
       and maintaining offices which will be more than the cost of developing and
       maintaining the Application. Lesser manpower is needed to maintain an
       application than a branch office, which will again lead to decrease in cost.
       This application is economically feasible because there is no special
       hardware required for this project and for any up gradation in future to this
       project, only functionality has to be changed to fulfill the new requirements
       of customer.




After gathering all the details of the existing system a lot of problems come to light.
The user stated problems are as follows:


      Difficulty in finding any information about the food items at any instance.
      Lack of appropriate report to submit the management on demand due to large
       manual processing done on various relevant registers.
      Difficulty in calculation of total bill.
      Long processing taken at the peak hours. As a result poor performance of the
       system causes dissatisfaction.
      Difficulty in updating of the items purchased.
      Financial loss due to late manual report generation.




4.5 SOFTWARE PROCESS MODEL


   There are various orders in which the six phases of the Structured Systems
Analysis Design Methodology (SSADM) are implemented. These are what we know
as software process models.




                                            27
    A software process model is a development strategy we incorporate to describe how
    a set of activities (the six phases of SSADM) must be performed and in which order
    to get the desired output. We already have a few process models defined and
    described. They are:


              Code and Fix Model
              Waterfall Model
              Evolutionary Model
              Transformation Model
              Spiral Model


         To select the best model for the project all the above mentioned models is to be
    evaluated. After evaluation the following assessment is realized.


         The Code and Fix Model can actually be considered no model at all as there is
    nothing rigid and the developer has to follow his inspirations.


         The Evolutionary model is increment driven and a kind of trial and error
    method.


         The Transformation model can be called specification driven, as the
    development process occurs through iterative refinement of formal specifications.
         Spiral model is a Meta model that may be called risk driven.


    Since, there is time constraint, trial and error and risk driven models are eliminated.
    The project must have documentation and this feature is facilitated only by the WM.
    The model is briefly described now which will facilitate the reader to follow the
    exact path I am going to follow in the development of the system.




    4.6 REQUIREMENT ANALYSIS




     OBJECTIVE



                                              28
     PRELIMINARY SURVEY


     REQUIREMENT SPECIFICATIONS


     PERFORMANCE CRITERIA


     SYSTEM HARDWARE AND SOFTWARE REQUIRED




    Objective


      The problem forwarded by the client is actually to computerize their already
    existing manual System.


    Preliminary Survey


       The client already had a set system which was manual. This manual system was
    although efficient, but very time consuming. Also, the different modules were not
    fully integrated and needed an absolute understanding of the whole system to give
    the desired results. The main problems found out were bottlenecks at the user end
    because of slow data flow rate in a manual system. So, a preliminary survey was
    done check whether any simple modification could actually stimulate the system.


    The present system seemed to be perfect if only data flow could be automated. The
    same modules could be implemented in the software.


    Requirement Specifications


    After the preliminary survey and listening to the client‟s requirements following
    requirements were listed:


          To develop a billing system.




                                            29
            The present manual system being employed should be selected as the client
    system.
            The system should ensure that a quick response is given to user quires in
    areas of requests.
            A simple user interface should provide to the user to easy access to requested
    information.
            The front-end should have user friendly interface.
            Every transaction should be dealt with in minimum delay.
            The system should be able to provide any information at any time.
            Proper relationship between tables should be maintained so that data
    integrity is maintained.
            Main module should have a password to avoid trespassing by unauthorized
    users.



    Performance Criteria


     After the initial investigation of the present system and the client‟s requirements
    some performance criteria were deduced. These criteria cover both the software and
    the hardware aspect of the project.

    System Hardware and Software Required


    After knowing the performance criteria, it became fairly easy to decide on the
    hardware and software platform.


       The next step was to decide which software to use in order to develop and
    support the system. Microsoft Windows XP professional was a fair choice. Then, to
    choose the language various alternatives were checked. Prog. Language C++ is used.


    4.7 Software Requirements:
    Software Req.                                   :     Turbo C
    RAM                                    :        Minimum 32 Mb
    Operating Platform                     :        Win 9x/2000/XP
    Hard Disk                              :        Minimum 20 GB


                                               30
Processor                          :        Pentium Series



Hardware Requirements:

Processor: Any Pentium or Equivalent Machine


RAM: 256 MB


HDD: 4.1 GB


FDD: 1.44 MB


CD-ROM: 52X


Monitor: 14 inches Color Monitor


Keyboard: 104 Keys Keyboards




                                       31
SYSTEM ANALYSIS




       32
       The evolution of a computer based system follows a pattern called system
       life cycle. System analysis is the process of gathering information and
       interpreting facts, diagnosing & using the information to recommend
       improvement to the system. The most accepted definition of system analysis
       is “system analysis is a management technique which helps us in designing a
       new system or improving the exiting system”. In the system development life
       cycle first three parts like Requirement Analysis, feasibility analysis and
       basic system specification fall under the system analysis part. System
       analysis is the application of the system approach to problem solving using
       computers. The ingredients are the system‟s elements, processes and
       technology. This means that to do the system work one needs to understand
       the system‟s concept and how organization operates as a system that meets
       the organization‟s requirement.
       The important thing is that the user point of view must be taken into account
       in an analysis part for a successful design and subsequently later
       development.
       Analysis is the detail study of the various operations performed in present
       system and their relationship within and outside the system.
       During analysis, data is collected from the available files and various
       transactions handled by the present system.


The first 4 phase of this cycle are planning, analysis, design and implementation.
These phases are devoted to the development. Brief descriptions of the phases are as
follows.


Planning Phase:
               The major steps are:-



                                          33
                         Recognize the problem.
                         Define the problem.
                         Set the objective.
                         Identify system constraints.
                         Conduct a feasibility study.
                         Prepare a system study proposal.
                         Approve or disapprove the study project.
                         Establish a Control Mechanism.
                        
Analysis Phase:
             This deals in the detail study of the various operations performed by a
      system and their relationship within and outside the system. During analysis
      data are collected from the available files, decision point and logical system
      models and tools are used in this phase. The major steps are:-
                         Announce a system study.
                         Organize the project team.
                         Define system performance criteria.
                         Prepare design proposal.
                         Define information needs.
                         Approve or disapprove the design project.




 OVERALL STRATEGY


 PROBLEMS WITH THE CURRENT SYSTEM


 ADVANTAGES OF COMPUTERIZATION


 DATA FLOW ANALYSIS OF THE CURRENT SYSTEM


 DATA FLOW DIAGRAM


 DATA DICTIONARY




                                        34
    The goal of the analysis stage is to build and understand the scenario involved
and to create a description of just what is desired and what will eventually be built.
To understand the problem we must have input to get output. This can take the form
of interviews, specifications regarding to level of performance and random data.

    In order to have a structured approach to the analysis stage I had to choose a
methodology to follow to have a complete analysis stage. The analysis stage is
probably the most important as a mistake or missed requirement from analysis phase
may cost much more time and money to fix later than if it had been caught in the
analysis phase. Therefore it is imperative that at the analysis stage the best job
possible is made.

      This section outlines the strategies followed in organizing the analysis phase.

5.1 Overall Strategy

 To understand the current processes for the feedback, I developed the following
strategy:

   Sample all documents and records of information.

  Observe actual procedures followed.

 Determine the current strategies.

5.2 Problems with the Current System

    The current system is not organized. It is a system based on more of common
sense. The main idea behind this system is “as it has been going on fine”.

   The speed of the system depends on human speed and mood.

   Since it is totally depending on human, efficiency is low.

    There is less security as all the information is basically kept as hard copy in a
register. The computer back up is also in the file system.



                                          35
5.3 Advantages of Computerization

       Upon computerizing the present system, it will become an organized one.
Efficiency will increase and so will data flow speed.

   Another advantage of computerization is security. Since main login process will
have a password, unauthorized person will not be able to access any information.

5.4 Data Flow Analysis For The Current System:

After completion of the deep study of the current system, I am now ready to do the
data flow analysis of the client.

This Data Flow Analysis consists of the Data Flow Diagrams (DFDs) which
describe processes and data movement in the system and Data Dictionary (DD),
which defines the systems‟ elements. Both provide useful information for designing
the candidate system.

5.5 Data flow diagram (DFD)

Although data can be organized in several ways:

        stored in data repositories
        flow in data flows
        transferred to and from the external environment

 DFD is preferred here as it can be expressed by means of an attractive graphical
notation that makes them easy to use and understand.

The four entities that must be represented are:

Data flows - movement of data in the system

Data stores - data repositories for data that is not moving

Processes - transforms of incoming data flow(s) to outgoing data flow(s)

External entities - sources or destinations outside the specified system boundary




                                           36
DFD or Data Flow Graphs are the cornerstone for structured systems analysis and
design. It views the system as a collection of functions that transforms the inputs as
desired outputs but does not go into the details of the transformation. This process
modeling tool depicts flow of data through a system and processing work performed
by the system. It has diagram of processes, data stores, data stores view, entities and
data flows.

The Data Flow Diagram (DFD) is one of the most important tools used by the
system analyst. Data flow diagrams are made up of a number of symbols, which
represent the system components. Most data flow modeling methods use four kinds
of symbols are used to represents four kings of system components: Process Data
Stores, Data Flows and External Entries. These are as follows:




       Process                External entity        Dataflow


       Process: Processes show what the system does. Each process has one or
       more data inputs and produces one or more data outputs. Processes are
       represented by circles in DFD.


       Data Stores: A file or data store is repository of data. They contain data that
       is retained in the system. Processing can enter data into a data store or



                                          37
           retrieve data from the data store. Each data store is represented by a thin line
           in the DFD and each data store has unique name.


           External Entities: External entities are outside the system but they either supply input data
           into the system or they use the system output. The designer has no control over the external
           entities. External entities are represented by a square or rectangle.


    Although data can be organized in several ways:

          stored in data repositories
          flow in data flows
          transferred to and from the external environment

    DFD is preferred here as it can be expressed by means of an attractive graphical
    notation that makes them easy to use and understand.

    The four entities that must be represented are:

    Data flows - movement of data in the system

    Data stores - data repositories for data that is not moving

    Processes - transforms of incoming data flow(s) to outgoing data flow(s)

    External entities - sources or destinations outside the specified system boundary

         The DFDs for the current system is given here:




                                                                            Membership id      Member
                            Apply for
                            membership +Details
          Customer
                                                                                   order
                                                                                             Customer
                                                           Mid-way
                          Places an order +order           Restaurant
                          Details
                                                                                             Employee
         Employee
                                                                                   details
                         Apply for Job +
                         details




                                                     38
                      (O level DFD)

                       (Figure 1.1)




Customer Database


Attributes                      Data types
Membership id                   Int
Customer‟s name                 Char
Address                         Char
Contact no.                     Int
Membership duration             Int
Member since                    Date
Status                          Char




                      (Table no.3.1)




Employee Database
Attribute                       Database
Employee id                     Int
Employee name                   Char
Address                         Char
Contact no.                     Int
Date of joining                 Date
Designation                     Char
Status                          Char




                           39
                                  (Table no.3.2)



           Apply for Membership
                                        Apply for
                                                                                    Customer
                                        Membership

Customer
                                                                Membership id

                                                                 Order
    Places an Order + Details


                                        Places
                                        an Order                              Customer
                                                          Order + bill




                                                        Salary Details
              Apply For job + Details                                         Employee
                                        Apply for job
   Employee




                                                                         Employee




                                  (1 level DFD)

                                   (Figure 1.2)




                                          40
41
                                   (2 level DFD)

                                    (Figure 1.3)




Billing



Attributes                                    Data types
Bill no.                                      Int
Total no. of quantity                         Int
Item code                                     Int
Quantity                                      Int
Total                                         Int
Discount                                      Int
Grand total                                   Int




                                   (Table no.3.3)




5.6 Data Dictionary

   Simply putting data dictionary (DD) is data about data. It is a Centralized
collection of definitions of all data flowing among functions and to or from data
stores. Data dictionary removes redundancy and inconsistencies. The Data
Dictionary for the current system is given below:




                                         42
The proposed Inventory Management System is designed in the next stage following
the DFDs and the DD.




           SYSTEM DESIGN


                                       43
System design


Designing shall be the most important part of the software development. It
shall require a careful planning and logical thinking of the power of the
system designer. Designing software means how the various parts of the
software will be going to achieve the desired goals of the software. It shall be
done with a lot of care because if this phase contains any errors it will affect
the performance of the system.




Design Principles


1. The design process shall not suffer from tunnel vision.


2. The design shall be traceable to the analysis .


3. The design shall not reinvent the wheel”.


4. The design shall „minimize the intellectual distance‟ between the
   software and the problem as it exists in the real world.




                                   44
           5. The design shall exhibit and uniformity and integration.


           6. The design shall be structure to accommodate changes.


           7. The design shall be structured to be        degrading    gently even when
               aberrant data, events or operating conditions is applied.


           8. The design shall be assessed for the quality its being created.


           9. The design shall be reviewed to minimize semantic errors.




           Design Overview




       The design stages shall take a final specification of the system from analysis
       stage and find the best way to fulfill them.




          DESIGN ANALYSIS
          ENTITY RELATIONSHIP DIAGRAM
          FLOW CHARTS




    Platform


    The platform I used to develop my project "Mid-way Restaurant Billing" is in C++.
    During the development of this project I had several options of the platform to use.
    After thorough study and discussion with my faculty and guide, I decided to use
    OOPS concept using C++ language. It acts as front-end as well as back-end. Back –
    end deals with the file-handling concept of
    The C++




                                              45
It is very easy and reliable platform as it is based on real world programming. It has
very exciting      features   that   are    very similar    to   our   world   and   life.
These features are:-
Ø       Identity
Ø       Classification
Ø       Encapsulation
Ø      Data Abstraction
Ø       Polymorphism
Ø       Inheritance


All these features of C++ can run on any hardware or system that has 'Windows XP
Professional' Operating System. It has many features and tools that will make our
computer easy, effective and entertaining. For example, we can use remote desktop
to access our work computer and its resources from home, as well as view fields and
document     on    our   computer's        desktop   from   a    co-worker's   computer.


I developed my project in the OOPS environment using C++ language. OOPS stands
for "Object Oriented Programming System". It is a way of design software in which
software is discrete collection of objects. As C++ is a structural programming,
It is based on modularization.


Object-oriented programming (OOP) is the most dramatic innovation in software
development in the last decade. It ranks in importance with the development of the
first higher-level languages at the dawn of the computer age. Sooner or later, every
programmer will be affected by the object-oriented approach to program design.


Advantages of OPP


Why is everyone so excited about OOP? The chief problem with computer programs
is complexity. Large programs are probably the most complicated entities ever
created by humans. Because of this complexity, programs are prone to error, and
software errors can be expensive and even life threatening (in air-traffic control, for
example). Object-oriented programming offers a new and powerful way to cope



                                              46
with this complexity. Its goal is clearer, more reliable, more easily maintained
programs.


Languages and development platform Of the object-oriented programming
languages, C++ is by far the most widely used.


In past years the standards for C++ have been in a state of evolution. This meant that
each compiler vendor handled certain details differently. However, in November
1997, the ANSI/ISO C++ standards committee approved the final draft of what is
now known as Standard C++. (ANSI stands for American National Standards
Institute, and ISO stands for International Standards Institute). Standard C++ adds
many new features to the language, such as the Standard Template Library (STL).
The most popular development environments for C++ are manufactured by
Microsoft and Borland and run on the various flavors of Microsoft Windows
OOP involves concepts that are new to programmers of traditional languages such as
Pascal, Basic, and C. These ideas, such as classes, inheritance, and polymorphism,
lie       at       the       heart        of       object-oriented         programming.


Software and Hardware
This project requires the latest version of either the Microsoft or the Borland C++
complier.
Both products come in low priced.
The computer should have enough processor speed, memory, and hard disk space to
run the complier we've chosen. We can check the manufacturer's specification to
determine these requirements
The fundamental idea behind object-oriented languages is to combine into a single
unit both data and the function that operate on that data. Such a unit is called an
object.
An object's functions, called member function in C++, typically provide the only
way to access its data. If we want to read a data item in an object, we call a member
function in the object. It will access the data and return the value to us. We can't
access the data directly. The data is hidden, so it is safe from accidental alteration.
Data and its functions are said to be encapsulated into a single entity. Data




                                           47
encapsulation and data hiding are key terms in the description of object-oriented
languages.


If we want to modify the data in an object, we know exactly what function interact
with it: the member functions in the object. No other functions can access the data.
This simplifies writing, debugging, and maintaining the program
A C++ program typically consists of a number of objects, which communicate with
each other by calling one another's member functions
We should mention that what are called member functions in C++ are called
methods in some other object-oriented (OO) languages (such as Smalltalk, one of
the first OO languages). Also, data items are referred to as attributes or instance
variables. Calling an object's member function is referred to as sending a message to
the object. These terms are not official C++ terminology, but they are used with
increasing frequency, especially in object-oriented design
The database in the C++ is created using the stream classes. A stream is a general
name given to a flow of data. In C++ a stream is represented by an object of a
particular class. So far we've used the cin and cout stream objects. Different streams
are used to represent different kinds of data flow. For example, the ifstream class
represents data flow from input disk files
C++ programmers may wonder what advantages there are to using the stream
classes for I/O, instead of traditional C functions such as printf( ) and scanf( ), and
for files fprintf( ), fscanf( ), and so on.
One reason is simplicity. If we've ever used a %d formatting character when we
should have used a %f in printf( ), you'll appreciate this. There are no such
formatting characters in streams, since each object already knows how to display
itself. This removes a major source of errors.


Another reason is that you can overload existing operators and functions, such as the
insertion (<<) and extraction (>>) operators, to work with classes that you create.
This makes our own classes work in the same way as the built-in types, which again
makes programming easier and more error free.


Streams I/O are important if we plan to program in an environment with a Graphics
User Interface such as Windows, where direct text output to the screen in not used.



                                              48
We still need to know about C++ stream because they are the best way to write data
files, and also to format data in memory for later use in text input/output windows
and other GUI elements


6.1 Design Analysis

      After understanding the business functions, purpose of the database, the
performance needs of the application and the ease of maintenance, the designing part
begins. A good design is the foundation to a correct, easily expandable and
maintainable system. A maintainable system is one that is flexible and is simple to
modify, if the system cannot adapt easily to the changing business environment,
exceedingly efforts will be required to keep it serviceable. Design is a procedure for
creating the blueprints for a system like the architects draft for the constructor to
create the building.




6.2 DESIGN METHODOLOGY


   The scope of the systems design is guided by the framework for the new system
   developed during analysis. More clearly defined logical method for developing
   system that meets user requirements has led to new techniques and
   methodologies that fundamentally attempt to do the following:
          Improve productivity of analysts and programmers.

          Improve documentation and subsequent maintenance and enhancements.

          Cut down drastically on cost overruns and delays.

          Improve communication among the user, analyst, designer, and
           programmer.

          Standardize the approach to analysis and design.

          Simplify design by segmentation.




                                          49
6.3 DESIGN OVERVIEW


        Process Modeling: The Flow Chart of Hotel Management System based on
        the requirement is given in the next page.
        The Flowchart diagram is given after Data Flow diagram which show the
        interrelation between the data source and its movement in various class.


6.4 Entity Relationship Diagram :Entities are related by relationships between
common information, where relationship at any point in time is an association
between two entities. The ER diagram is a technique that is useful in the designing
phase to represent this logical part of the database. Since the entities had been
identified in the analysis stage the only process left to build an ER diagram is to
represent the relations. Designing the ER diagram took several drafts before the final
version was complete.


                                          Member id            Item name
                 Customer name
   Customer id             Customer                     Item                     Price
                           address                      id
                                         Apply for             Restaurant
           Customer                      membership




                       Places
                       an
                       order




                                                                     Detail of
                                                                     order




                                         Gener                       Bill Dept
                                         ate bill




                                      (figure 2.1)




                                           50
                   Item Name                         Employee id


                               Cost                                 Employee name
        Item id

                                          Apply
           Restaurant                     for job        Employee




                                      (Figure 2.2)




Flow charts




                                          51
(Figure no.2.1   Generate customer member id)




                   52
(Figure no. 2.2        Order Details)




                  53
SYSTEM TESTING AND
    IMPLEMENTATION




 TESTING


 UNIT TESTING


 SYSTEM TESTING


                   54
       INTEGRAL TESTING


       TEST CONCLUSION




      7.1 Testing


            Even completion of the design and coding stage does not imply that the
      development of the software is complete. The system designed needs to be verified
      so that errors don‟t creep in, although it is inevitable to develop a system without
      any errors.

             The project was under constant scrutiny to ensure that its implementation was
      not deviating from the original plan, and that functions that were implemented were
      doing their jobs correctly. The main functions of the system or user options on
      which testing were done can be summarized as follows:

            Retrieve a item detail from the database.
            Add a new items‟ detail to the database.
            Generate detailed information about the issued items.

        Each of these functions would need to ensure that they do only just what the user
      requests, and not something other than that. The system that has been implemented
      will need to stimulate typical situations that are currently being frequently performed
      manually at the home, as well as so typical ones. As will explain later, these typical
      cases were tested more thoroughly than a typical one.

           The main objective of the testing is to show the presence of bugs, not the
      absence. No absolute certainty can be gained from the testing. The testing just
      ensures that the candidate system is an efficient alternative to the present system.

      The cautions kept in mind while choosing the tests are:

1.             The testing should be based on sound and systematic techniques.
2.             Testing should help locate errors, not just detect their presence.



                                                 55
3.                Testing should be repeatable, i.e., repeating the same experiment,
      supplying the same input data to the same piece of code, produces the same results.



      The tests done on the designed software was to verify the following properties of the
      software:


            Correctness (satisfaction of the specifications)


            Reliability (how well it meets the requirements)


            Portability (running in different environments)


            Usability (ease with which user can use the software)


            Maintainability (modifications after initial release), etc.

      7.2 Unit Testing

      Unit testing is the process of taking a module and running it in a isolation from the
      rest of the software product by using prepared test cases and comparing the actual
      results predicted by the specifications and design of the module.

      Individual components are tested to ensure that they operate correctly. Unit testing
      treats each component as a stand-alone entity which does not need other components
      during the testing process. In my project, every single menu has been checked
      individually.




      7.3 System Testing




                                                 56
     System testing is actually a series of different tests whose primary purpose is
to fully exercise the computer based system. The testing verifies that all elements
mesh properly and that overall system function/performance is achieved.



7.4 Integral Testing


A target of integral testing is to check the interface between the different modules
and their interface: i.e. whether parameters match on both side as to type,
permissible ranges, meaning and utilization.



7.5 Test conclusion

    After all the tests on the designed software to verify its various qualities
following conclusions were attained:

         Correctness: The designed software meets the functional requirements
    specifications to a fair degree of correctness.
         Reliability: Based on the test data, the client termed the software reliable.
         Robustness: The various message and error codes enhanced the robustness
    of the software.

7.6 Implementation and Maintenance


Once the software is delivered and developed, it enters the maintenance phase. After
implementation systems need maintenance. Beyond monkey testing during Software
development some errors may not appear. During its usage by the end-user with
actual data certain errors may disclose. Therefore some residual errors or bugs
remain in the system that must be removed as they are discovered. Many of these
surfaces only after the system have been in operation sometimes for a long time.
These errors once discovered need to be removed on an urgent basis for the smooth
running of the system, leading to the software getting changed. Though Maintenance
is not a part of software development, it is an extremely important activity in the life
of a software product.




                                           57
Maintenance involves understanding the existing software (code and related
documents), understanding the effects of change, making the changes-to both the
code and documents-testing the new parts and retesting the old part. For successful
and smooth running of the system, maintenance is the prominent part of the project.
Any error, which hinders the functioning of any part of the project, may lead to bad
impression of the developer.
       There are mainly two types of errors: Compilation error and Runtime errors.
           1. Compilation errors are errors during coding and is to be taken care by
               the developer during development process.


           2. Runtime errors are those which occurs during running of the
               program.




Now comes the role of the Maintenance Personals. After knowing the entire details
from the end-user like where or at which screen does this error occurred or what
type of data was feeded by the user or the point of malfunctioning. Considering this
error as the main reason for the malfunctioning the programmer now re-examines all
the possible factors which act behind the particular screen where error has occurred.
After debugging the required error the programmer itself tests the same screen or
process with dummy data. Only after getting completely satisfied with problem
rectification the programmer compiles and runs the program.




                                         58
        DOCUMENTATION
                               CODING




//including the header files


                                 59
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<stdio.h>
#include<ctype.h>
#include<dos.h>
#include<string.h>
#include<stdlib.h>




//*****************************************
//creating a control class
//******************************************
class control
{
          public:
                    void menu(void);
                    void thanku(void);
                    void menu_page2(void);
                    void menu_page3(void);
                    void login(void);
                    void bill(void);
                    void menu_card(void);


}c;




class database
{
public:
          void emp(void);
          void add_emp(void);



                                             60
          void mod_emp(void);
          //void del_emp(void);
          void cust(void);
          void add_cust(void);
          void mod_cust(void);
          //void del_cust(void);


          int dd,mm,yy;
          int id;
          char name[20];
          char address[30];
          int contact;
          char desig[20];
          char date[15];
          char status;
          int salary;
          char save;
          char add_more;
          int duration;
          int m_id;
          int d1,m1,y1;
          struct date d;


}m;




//functions used to draw a box


class shape
{
public:
          void line_hor(int,int,int,char);
          void line_ver(int,int,int,char);
          void box(int,int,int,int, char);



                                             61
};




//function to draw horizontal line




void shape::line_hor(int column1,int column2,int row,char c)
{
       for(column1;column1<=column2;column1++)
       {
               gotoxy(column1,row);
               cout<<c;
       }
}


//function to draw vertical line




void shape::line_ver(int row1,int row2,int column,char c)
{
       for(row1;row1<=row2;row1++)
       {
               gotoxy(column,row1);
               cout<<c;
       }
}


void shape::box(int column1,int row1,int column2,int row2,char c)
{
       char ch=218; char c1,c2,c3,c4; char l1=196,l2=179;
       if(c==ch)
       {
               c1=218;c2=191;c3=192;c4=217;l1=196;l2=179;



                                         62
       }
       else
       {
                 c1=c;
                 c2=c;
                 c3=c;
                 c4=c;
                 l1=c;
                 l2=c;
       }
       gotoxy(column1,row1);
       cout<<c1;
       gotoxy(column2,row1);
       cout<<c2;
       gotoxy(column1,row2);
       cout<<c3;
       gotoxy(column2,row2);
       cout<<c4;
       column1++;
       column2--;
       line_hor(column1,column2,row1,l1);
       line_hor(column1,column2,row2,l1);
       column1--;
       column2++;
       row1++;
       row2--;
       line_ver(row1,row2,column1,l2);
       line_ver(row1,row2,column2,l2);
}




void control::menu_card(void)
{
       clrscr();



                                         63
/*shape s;
s.box(10,5,71,21,219);
s.box(9,4,72,22,218); */


gotoxy(8,5);
cout<<"SNO";
gotoxy(30,5);
cout<<"ITEM";
gotoxy(58,5);
cout<<"PRICE (IN RUPEES)";
gotoxy(8,7);
cout<<"VEGITARIAN MENU";
gotoxy(8,9);
cout<<"01";
gotoxy(30,9);
cout<<"SHAHEE PANEER";
gotoxy(70,9);
cout<<"90";
gotoxy(70,11);
cout<<"40";
gotoxy(70,13);
cout<<"50";
gotoxy(70,15);
cout<<"40";
gotoxy(70,17);
cout<<"30";
gotoxy(70,19);
cout<<"7";
gotoxy(70,21);
cout<<"7";
gotoxy(70,23);
cout<<"9";
gotoxy(8,11);
cout<<"02";



                             64
gotoxy(8,13);
cout<<"03";
gotoxy(8,15);
cout<<"04";
gotoxy(8,17);
cout<<"05";
gotoxy(8,19);
cout<<"06";
gotoxy(8,21);
cout<<"07";
gotoxy(8,23);
cout<<"08";
gotoxy(8,25);
cout<<"09";
gotoxy(8,27);
cout<<"10";
gotoxy(8,29);
cout<<"11";
gotoxy(8,31);
cout<<"12";
gotoxy(8,33);
cout<<"13";
gotoxy(8,35);
cout<<"14";
gotoxy(8,37);
cout<<"15";
gotoxy(8,39);
cout<<"16";
gotoxy(8,41);
cout<<"17";
gotoxy(8,43);
cout<<"18";
gotoxy(30,11);
cout<<"RAJMA";



                 65
gotoxy(30,13);
cout<<"CHOLE";
gotoxy(30,15);
cout<<"MIX VEG";
gotoxy(30,17);
cout<<"DAM AALOO";
gotoxy(30,19);
cout<<"NAAN";
gotoxy(30,21);
cout<<"TADOORI ROTI";
gotoxy(30,23);
cout<<"RUMAALI ROTI";
gotoxy(8,25);
textcolor(LIGHTGREEN);
cout<<"NON-VEGITARIAN MENU";
gotoxy(30,27);
cout<<"TANDOORI CHICKEN" ;
gotoxy(30,29);
cout<<"MUTTON CURRY";
gotoxy(30,31);
cout<<"CHICKEN TIKKA";
gotoxy(30,33);
cout<<"CHICKEN BIRIYANI";
gotoxy(30,35);
cout<<"MUTTON BIRIYANI";
gotoxy(30,37);
cout<<"FRIED FISH";
gotoxy(30,39);
cout<<"FISH CURRY";
gotoxy(30,41);
cout<<"PRON CURRY";
gotoxy(30,43);
cout<<"FRIED PRONS";
gotoxy(20,45);



                            66
//textcolor(RED+BLINK);
      cprintf("PRESS ANY KEY TO CONTINUE ......");
      getch();
      c.menu_page2();
}




void control::menu_page2(void)
{
      clrscr();


      textcolor(LIGHTGREEN);
      cprintf("PAGE 2");


      gotoxy(15,10);
      cout<<"SNO           ITEM             PRICE";
      gotoxy(15,12);
      cout<<"CAKES & PASTRIES";
      gotoxy(15,16);
      cout<<"19              BLACK FOREST            25";
      gotoxy(15,18);
      cout<<"21            TRUFFLE                   20";
      gotoxy(15,20);
      cout<<"22            BUTTER SCOTCH             25";
      gotoxy(15,22);
      cout<<"23            ECLAIRS                   30";
      gotoxy(15,24);
      cout<<"24            CHOCOLATE                 30";
      gotoxy(15,28);
      cout<<"SNACKS" ;
      gotoxy(15,30);
      cout<<"25             PAO BHAJI        40";
      gotoxy(15,32);



                                     67
      cout<<"26                 AALOO TIKKI             20";
      gotoxy(15,34);
      cout<<"27                 AALOO CHAAT             20";
      gotoxy(15,36);
      cout<<"28                 DAAL VADA               15";
      gotoxy(15,38);
      cout<<"29                 SAMOSA           15";
      gotoxy(15,40);
      cout<<"DRINKS" ;
      gotoxy(15,42);
      cout<<"30                COLD DRINKS              15";
      gotoxy(15,44);
      cout<<"31                 MINERAL WATER                  20";
      gotoxy(15,46);
      cout<<"PRESS ENTER TO CONTINUE ....";
       getch();
      c.menu_page3();
}




void control::menu_page3()
{
      char choice;
      clrscr();
      /*shape s;
      s.box(10,5,71,10,219);
      s.box(9,4,72,9,218);     */
      gotoxy(25,15);


      cout<<"DO YOU WANT TO MAKE A BILL ?(Y/N) :";cin>>choice;


              if((choice=='n')||(choice=='N'))
              {



                                         68
                             c.menu();
                 }
                 else
                 {
                 c.bill();
                 }
                 getch();
}




//*************************************************
//creation of database class
//**************************************************




void control :: login(void)
{
         //int user;
         char pass[10];
         control c;


         shape s;
         s.box(10,5,71,21,219);
         s.box(9,4,72,22,218);




         /*gotoxy(35,13);
         cout<<"ENTER THE USER ID         ";
         cin>>user; */
     // gotoxy(35,14);
    /*   cout<<"ENTER THE PASSWORD             ";



                                         69
       cin>>pass;*/




       char ch;
       int i=0;
       gotoxy(16,15);
       cout<<"\nENTER UR PASSWORD\n";
       while((ch=getch())!='z')
       {
                  pass[i]=ch;
                  printf("*");
                  i++;
       }
       /*pass='\0';
       if((user==123)&&(pass==456))
       {
                  gotoxy(25,18);
                  delay (50);
                  cout<<"ACCESS GRANTED...Press Any Key to Continue...";
                  getch();
       }*/
       clrscr();
       c.menu();
       //getch();
}




void control::menu(void)
{
       char ch;
       do
       {
                  clrscr();
                  int option;



                                        70
shape s;
s.box(10,5,71,29,219);
s.box(9,4,72,30,218);
textcolor(RED);
gotoxy(35,5);
cprintf("MID-WAY RESTAURANT");
textcolor(YELLOW);
gotoxy(35,11);
cout<<"1 : MENU CARD";
gotoxy(35,13);
cout<<"2 : MAKE A BILL";
gotoxy(35,15);
cout<<"3 : EMPLOYEE DATABASE";
gotoxy(35,17);
cout<<"4 : CUSTOMER DATABASE";
gotoxy(35,19);
cout<<"5 : EXIT";
gotoxy(35,22);
cout<<"CHOOSE YOUR OPTION :";
cin>>option;
switch(option)
{
       case 1:
       c.menu_card();
       break;
       case 2:
       c.bill();
       break;
       case 3:
       m.emp();
       break;
       case 4:
       m.cust();
       break;



                         71
                         case 5:
                         c.thanku();
                         break;
                       /* gotoxy(35,34);
                         textcolor(BLINK+LIGHTGREEN);
                         cprintf("THANK YOU !!");
                         getch();
                         exit(0);
                         break;     */
                         default:
                         delay(20);
                         gotoxy(19,30);
                         cout<<"WRONG CHOICE ENTERED, PLEASE TYPE
AGAIN";
                         getch();
                         menu();


                   }
       }
       //cout<<"DO YOU WANT TO CONTINUE";
       //cin>>ch;
       while(ch=='y');
}




void control::thanku()
{
       char choice;
       clrscr();
       gotoxy(25,20);
       cout<<"DO YOU REALLY WANT TO QUIT ?(Y/N) :";cin>>choice;
       if((choice=='Y')||(choice=='y'))
{
       textcolor(BLINK+WHITE);



                                           72
       gotoxy(25,25);
       cprintf("THANK YOU !! HAVE A GREAT DAY");
       getch();
       exit(0);
}
       else
{
       c.menu();
}
       getch();
}




void database::emp(void)
{
       int choice;
       clrscr();
       shape s;
       s.box(10,5,71,26,219);
       s.box(9,4,72,27,218);


       gotoxy(35,10);
       //textcolor(YELLOW+BLINK);
       cprintf("EMPLOYEE DATABASE");
       gotoxy(35,15);
       cprintf("1 : ADD DETAILS");
       gotoxy(35,17);
       cout<<"2 : MODIFY DETAILS";
       gotoxy(35,19);
       cout<<"3 : EXIT";
       gotoxy(35,22);
       cout<<"ENTER YOUR CHOICE :";



                                     73
        cin>>choice;
        //getch();


        switch(choice)
{
        case 1:
                  m.add_emp();
                  break;
        case 2:
                  m.mod_emp();
                  break;
        case 3:
                  c.thanku();
        default:
                  gotoxy(20,23);
                  cout<<"WRONG CHOICE ENTERED, PLEASE TYPE AGAIN";
}
        getch();
}




void control::bill()
{
        int bill_no,i,item,quantity,total,disc;
        int sum=0,a,b;
        char choice,back;
        char ms;
        int m_id,n;
        clrscr();
        shape s;
        s.box(10,5,71,47,219);
        s.box(9,4,72,46,218);
        gotoxy(35,5);
        cprintf("MID-WAY RESTAURANT");



                                            74
gotoxy(29,13);
cout<<"BILL NO :";cin>>bill_no;
gotoxy(29,15);
cout<<"ENTER THE TOTAL NUMBER OF QUANTITY : ";
cin>>n;


for(i=0;i<n;i++)
{
gotoxy(29,17);
clreol();
gotoxy(25,17);
cout<<"       ENTER THE ITEM CODE :";
cin>>item;
if(item==1)
{
gotoxy(21,19); cout<<"SHAHEE PANEER         90";
//clreol();
gotoxy(21,21);
cout<<"ENTER THE QUANTITY :";cin>>quantity;
a=90*quantity ;
gotoxy(25,23);
cout<<"TOTAL = "<<a;
sum=sum+a; }


if(item==2){gotoxy(21,19);cout<<"RAJMA             40";
gotoxy(21,21);
cout<<endl<<"ENTER THE QUANTITY :";cin>>quantity;
b=40*quantity ;
gotoxy(25,23);
cout<<"TOTAL="<<b;
sum=sum+b; }


if(item==3){ cout<<"CHOLE                50";
cout<<endl<<"ENTER THE QUANTITY :";cin>>quantity;



                              75
cout<<"total="<<50*quantity ; }


if(item==4){ cout<<"MIX VEG             40";
cout<<endl<<"ENTER THE QUANTITY :";cin>>quantity;
cout<<"total="<<40*quantity ;       }




if(item==5){ cout<<"DAM AALOO                  30";
cout<<endl<<"ENTER THE QUANTITY :";cin>>quantity;
cout<<"total="<<30*quantity ;       }
if(item==6){ cout<<"NAAN                7";
cout<<endl<<"ENTER THE QUANTITY :";cin>>quantity;
cout<<"total="<<7*quantity ;    }
if(item==7){ cout<<"TANDOORI ROTI                7";
cout<<endl<<"ENTER THE QUANTITY :";cin>>quantity;
cout<<"total="<<7*quantity ;    }
if(item==8){ cout<<"RUMAALI ROTI                9";
cout<<endl<<"ENTER THE QUANTITY :";cin>>quantity;
cout<<"total="<<9*quantity ;    }
if(item==9){ cout<<"TANDOORI CHICKEN                  100";}
if(item==10){ cout<<"MUTTON CURRY                110";}
if(item==11){ cout<<"CHICKEN TIKKA               80";}
if(item==12){ cout<<"CHICKEN BIRIYANI             150";}
if(item==13){ cout<<"MUTTON BIRIYANI              150";}
if(item==14){ cout<<"FRIED FISH          180";}
if(item==15){ cout<<"FISH CURRY               150";}
if(item==16){ cout<<"PRON CURRY                250";}
if(item==17){ cout<<"FRIED PRONS              280";}
if(item==18){ cout<<"BLACK FOREST               25";}
if(item==19){ cout<<"TRUFFLE             20";}
if(item==20){ cout<<"BUTTER SCOTCH                25";}
if(item==21){ cout<<"ECLAIRS             30";}
if(item==22){ cout<<"CHOCOLATE                 30";}
if(item==23){ cout<<"PAO BHAJI            40";}



                                76
if(item==24){ cout<<"AALOO TIKKI                  20";}
if(item==25){ cout<<"AALOO CHAAT                   20";}
if(item==26){ cout<<"DAAL VADA                    15";}
if(item==27){ cout<<"SAMOSA                  15";}
if(item==28){ cout<<"COLD DRINKS                  15";}
if(item==29){ cout<<"MINERALS                 20";}
}
gotoxy(29,24);
cout<<"TOTAL           :"<<sum;
gotoxy(29,26);
cout<<"DO YOU HAVE A MEMBERSHIP ?(Y/N) :";cin>>ms;
if((ms=='y')||(ms=='Y'))
{


disc=(sum*10)/100;
gotoxy(29,27);
cout<<"DISCOUNT :"<<disc;
gotoxy(29,28);
cout<<"AMOUNT TO BE PAID :"<<sum-disc;
}
else
{
gotoxy(25,27);
cout<<"NO DISCOUNT GIVEN";
gotoxy(25,28);
cout<<"AMOUNT TO BE PAID               :"<<sum;
}
gotoxy(20,30);
cout<<"***************************************";
gotoxy(20,31);
cout<<"THANK YOU FOR VISITING ! HAVE A NICE DAY";
gotoxy(20,32);
cout<<"***************************************";




                                  77
      getch();
      c.menu();
}




//******************************************************************
***
//WELCOME PAGE
//******************************************************************
***




void welcome()
{
      shape s;
      s.box(10,5,71,11,219);
      s.box(9,4,70,10,218);
      gotoxy(25,8);


      cout<<"WELCOME TO MID-WAY RESTAURANT";
      gotoxy(22,20);
      cout<<"............DEVELOPED BY..............";
      gotoxy(35,22);
      cout<<"JYOTIKA DHAWAN";
      gotoxy(20,28);
      //textcolor(RED+BLINK);
      cprintf("PRESS ANY KEY TO CONTINUE....");


      getch();
      c.menu();
}




                                         78
void database::add_emp(void)
{


       char ch='y';
       ofstream inf("EMPLOYEE.TXT",ios::app);
       do
       {
                  clrscr();
                  shape s;
                  s.box(10,5,71,30,219);
                  s.box(9,4,72,31,218);




                  gotoxy(35,5);
                  cout<<"ADDING EMPLOYEE DETAILS";
                  gotoxy(25,10);
                  cout<<"ENTER EMPLOYEE ID :";cin>>id;
                  gotoxy(25,12);
                  cout<<"ENTER EMPLOYEE'S NAME           :";cin>>name;
                  gotoxy(25,14);
                  cout<<"ENTER THE ADDRESS          :";cin>>address;
                  gotoxy(25,16);
                  cout<<"ENTER THE CONTACT NO          :";cin>>contact;
                  gotoxy(25,18);
                  cout<<"ENTER THE SALARY          :";cin>>salary;
                  gotoxy(25,20);
                  cout<<"DATE OF JOINING         :";cin>>date;
                  gotoxy(25,22);
                  cout<<"DESIGNATION            :";cin>>desig;
                  gotoxy(25,24);
                  cout<<"STATUS (W-WORKING / T-TERMINATED)
:";cin>>status;
            // cin>>save;



                                           79
               inf.write((char*)&m,sizeof(m));
               gotoxy(25,26);
               cout<<"RECORD SAVED";
               gotoxy(25,28);
               cout<<"DO YOU WANT TO ADD MORE ?(Y/N) :";cin>>ch;
       }
               while(ch!='n');
               inf.close();
               m.emp();
}




void database::mod_emp(void)
{
       char save;
       clrscr();
       shape s;
       s.box(10,5,71,30,219);
       s.box(9,4,72,31,218);
       gotoxy(30,5);
       cout<<"MODIFY EMPLOYEE DETAILS";
       gotoxy(30,10);
       cout<<"ENTER THE EMPLOYEE'S NAME :";
       gotoxy(28,12);
       cout<<"RECORD SAVED";
       getch();
}




void database::cust(void)
{



                                        80
     int choice;
     clrscr();
     shape s;
     s.box(10,5,71,26,219);
     s.box(9,4,72,25,218);


     gotoxy(35,10);
     //textcolor(YELLOW+BLINK);
     cprintf("CUSTOMER DATABASE");
     gotoxy(35,15);
     cprintf("1 : ADD DETAILS");
     gotoxy(35,17);
     cout<<"2 : MODIFY DETAILS";
     gotoxy(35,19);
     cout<<"3 : EXIT";
     gotoxy(35,21);


     cout<<"ENTER YOUR CHOICE :";
     cin>>choice;
     switch(choice)
     {
             case 1:
                       m.add_cust();
                       break;
             case 2:
                       m.mod_cust();
                       break;
             case 3:
                       c.thanku();
                       break;
                       default:
                       gotoxy(35,23);
                       cout<<"WRONG CHOICE ENTERED, PLEASE TYPE
AGAIN";



                                        81
       }
       getch();
}




void database::add_cust(void)
{
       char ch='y';
       ofstream inf("customer.TXT",ios::app);
       do
       {
              clrscr();
       shape s;
       s.box(10,5,71,30,219);
       s.box(9,4,72,29,218);
       getdate(&d);
       d1=d.da_day;
       m1=d.da_mon;
       y1=d.da_year;
       gotoxy(12,8);
       cout<<"DATE:"<<d1<<"/"<<m1<<"/"<<y1;
       char status[10];
       int payment;
       gotoxy(30,8);
       cout<<"ADDING CUSTOMER DETAILS";
       gotoxy(20,12);
       cout<<"MEMBERSHIP ID            :";cin>>m_id;
       gotoxy(20,14);
       cout<<"ENTER CUSTOMER'S NAME :";cin>>name;
       gotoxy(20,16);
       cout<<"ENTER CONTACT NUMBER              :";cin>>contact;
       gotoxy(20,18);
       cout<<"ENTER ADDRESS             :";cin>>address;



                                       82
       gotoxy(20,20);
       cout<<"ENTER THE MEMBERSHIP PERIOD (IN MONTHS)
:";cin>>duration;
       switch(duration)
       {
                  case 3: gotoxy(20,22);
                         cout<<"AMOUNT PAID IS : 5000";
                         break;
                  case 6: gotoxy(20,22);
                         cout<<"AMOUNT PAID IS : 10000";
                         break;
                  case 9: gotoxy(20,22);
                         cout<<"AMOUNT PAID IS : 14000";
                         break;
                  case 12:gotoxy(20,22);
                         cout<<"AMOUNT PAID IS : 18000";
                         break;
                  default:gotoxy(18,22);
                         cout<<"WRONG CHOICE ENTERED, PLEASE CHOOSE
THE CORRECT MEMBERSHIP";
       }
       gotoxy(20,20);
       cout<<"MEMBER SINCE :";cin>>date;
       gotoxy(20,24);
       cout<<"ENTER THE STATUS (W-WORKING / T-TERMINATED)
:";cin>>status;
       inf.write((char*)&m,sizeof(m));
       gotoxy(20,26);
       cout<<"RECORD SAVED";
       gotoxy(20,28);
                  cout<<"DO YOU WANT TO ADD MORE ?(Y/N) :";cin>>ch;
       }
       while(ch!='n');
       inf.close();



                                           83
       m.cust();
       getch();
}




void database::mod_cust(void)
{
       char name[20];
       int contact;
       char address[30];
       int duration;
       int payment;
       clrscr();
       shape s;
       s.box(10,5,71,21,219);
       s.box(9,4,72,22,218);
       gotoxy(30,8);
       cout<<"MODIFYING CUSTOMER DETAILS";
       gotoxy(20,10);
       cout<<"ENTER CUSTOMER'S NAME :";cin>>name;
       getch();
}




void main()
{
       clrscr();
       control c;
       /*shape s;
       s.box(10,5,71,21,219);
       s.box(9,4,72,22,218);
       textcolor(RED);
       gotoxy(35,5);



                                84
    cprintf("MID-WAY RESTAURANT");
    gotoxy(35,10); */
    //c.login();
    //c.menu();
    welcome();
    getch();
}




                             85
OUTPUT




  86
(WELCOME WINDOW)




       87
(MENU WINDOW)




     88
(MENU CARD)




    89
(EMPLOYEE DATABASE)




        90
(ADDING EMPLOYEE TO THE DATABASE)




               91
(CUSTOMER DATABSE)




        92
(EXIT WINDOW)




     93
CONCLUSION




    94
 EXTENT TO WHICH THE ORIGINAL OBJECTIVES WERE MET


 USER FRIENDLY INTERFACE


 PROJECT MANAGEMENT, CONSULTANCY AND COMMUNICATION
   SKILLS ACQUIRED


 EXTENT TO WHICH USER REQUIREMENTS WERE MET


 FINAL SUMMARY




                                    Conclusion

    This will review the initial objectives and the extent to which they were
fulfilled. It will summarize the project‟s success and weakness, and what was learnt
during its duration.

9.1 Extent to Which the Original Objectives Were Met

   The project objectives, as defined we can summarize as follows. To produce a
system that provides a very friendly user interface, permitting the user to perform
basic administration duties on a database containing records.      In doing so, an
appreciation of project management, communication and consultancy skills should
be acquired, along with a thorough understanding of the development of windows
based applications using C++. I feel that all of these aims were achieved, some to
greater extent than others. I will break down these objectives in the following
sections, and discuss what was achieved from them.




                                        95
9.2 User Friendly Interface

    The final result of the Billing System consolidated an easy to use and hence
effective user interface, with the basic user functionality requested from the
management of the client. A lot of time and careful consideration was taken to
ensure that it encompassed all of the characteristics of a successful user interface,
and one which tried to inspire confidence in its user. Continual comm. in the form
of message and the dialogue facility, from the system to its user gives them a feeling
of security and power. Minute details, like the positioning of certain details to the
screen so that the user could digest them swiftly involved significant thought, and
the psychology behind the design of these features of the interface is extensively
explained in chapter user interface.

Project Management, Consultancy and Communications Skills Acquired

    I learnt a great deal from setting myself the objective of gaining experience in
these areas. This does not necessarily mean, however, that I accomplished putting
these skills into practice proficiently. On the contrary, upon reflection of the project
and its end result. In retrospect, I now know that these skills are on-going learning
experiences, and upon the scheduling of further projects, the accuracy of estimation
should increase.




9.3 Extent to Which User Requirements were Met

    Great emphasis was laid on the requirements as specified are incorporated into
the system. The requirements demands the system to be safe and easy to use,
promptly displaying any necessary requested information via graphical user
interface, with guidance provided where requested. All of these requirements were
carefully considered before being implemented, so that they would be successful and
effective.

The requirements demanded a user friendly system that had the possibility of
helping the user where appropriate.       This is achieved through the facility of
continual communication from the system, in the form of the messages the system




                                          96
displays to the user about possible mistakes, and whether processes should continue
or not.

9.4 Final Summary

          It is difficult to summaries the multitudinous knowledge that has been
acquired throughout the life of this project, but hopefully this report and conclusion
has attempted to give the reader a full appreciation of the vast scale of learning that
has been achieved.

      Many new things were learnt, and full revision of what has been covered to
date in the course was also attained, resulting in a feeling of confidence for the
future, and any other project that may come our way.




                                          97
              SCOPE OF THE
                        PROJECT




This s/w will play an important role in future user for proper inventory management.
At present data from the database and report are created manually. Need for the


                                         98
system arise due to increasing expenditure of the company in maintaining records
regarding the details of consumers as well as company (supplier) .Basic need of the
project is to keep the details of the company‟s company, customers, and inventory.




At present details collected, maintained and inserted manually. After implementation
of this project, record will be inserted and maintained technically. This will reduce
manual work and improve quality and speed and facility will maintain the queue of
all the records that are entered by the management of the Restaurant. It will help the
management to access the data and results as and when required.




                                    References



                                          99
    BOOK: Object Oriented Programming in Turbo C++
      AUTHOR: Robert Lafore
      PUBLISHER: Galgotia Publications pvt. Ltd.




    BOOK : The C++ Programing Language
      AUTHOR: Bjarne Strostrup
      PUBLISHER : Atst Lafs
    BOOK : Expert Data Structures With C++
      AUTHOR: Rb Patel
      PUBLISHER: Khanna Books Publishing




    BOOK : Programming With C++
      AUTHOR:E.BalagurnSwamy
      PUBLISHER: Bpb Pulications




    BOOK: C++ Power Packed
      AUTHOR : By Khanna
      PUBLISHER:Tata Mcgraw Hill




    BOOK: Expert Data Structure Using By C++
      AUTHOR: By Sagar
      PUBLISHER: Bpb Publication


    BOOK: A Beginners Guide
      AUTHOR: By Schilt Herbat
      PUBLISHER: Willey India

                                 Appendix

Output screens


                                    100
   Welcome screen
   Login window
   Main menu
   Menu card
   Employee database
   Adding & modifying Employee Details
   Customer database
   Adding & Modifying Customer Details
   Bill
   Exit window




                                 101

								
To top