Page 1

1

CATWALK EVENT MANAGEMENT

Naina Raisinghani PK 500 Karachi Grammar School


2

CONTENTS No. 1.

2.

3.

Page title ANALYSIS Introduction to business Reasons for choosing the project Communication with the company Objectives of data collection stage Methods used for investigation Manual documents obtained Sample Questionnaire Filled in Questionnaires Summary of Questionnaires Original Interview Script Interview Transcripts Summary of Interviews How the current system works Current users of system Advantages of current system Problems in the current system Origin of data Data flow diagrams Organization Structure Analyzing alternative solutions Requirement Specification Requirements of new system System feasibility DESIGN Nature of Solution Intended benefits Limits of the scope of the solution Estimated file size Gantt chart Input design Output design Data structures/ model Pseudo codes TECHNICAL DOCUMENTATION Programming - Log in Programming - Main menu Programming - Employees Programming - Events Programming - Customers Programming - Services Programming - Reports

NAINA RAISINGHANI PK 500

Page No. 4 5 9 10 14 15 16 36 39 54 55 56 67 68 70 71 72 74 75 81 82 83 88 89 90 91 92 93 97 98 99 106 107 110 114 115 116 118 126 134 143 151


3

4.

5.

6.

Programming - Billing Programming - Help Screenshots – Database design view Screenshots – Entity relationship diagram Screenshots – Navigation flow Screenshots – Screen design views Screenshots – Reports design view USER DOCUMENTATION Screen shots – Setting up of program Screen shots – Log in screen Screen shots – Main Menu Screen shots – Customers Screen shots – Employees Screen shots –Events Screen shots –Services Screen shots – Billing Screen shots – Reports Screen shots – Help Testing – Log in screen Testing – Main Menu Testing – Customer Testing – Employees Testing – Events Testing – Services Testing – Reports Testing – Billing IMPLEMENTATION Implementation Plan Correspondence EVALUATION Evaluation Limitations and extensions Correspondence

NAINA RAISINGHANI PK 500

155 170 173 178 179 180 189 196 197 206 208 209 225 242 259 275 296 308 309 311 313 320 327 333 340 342 348 349 350 351 352 353 354


4

NAINA RAISINGHANI PK 500


5

INTRODUCTION TO BUSINESS Frieha Altaf is the owner and C.E.O of Catwalk Productions: a company that she formed in 1989. Specializing in corporate events, Frieha has built a successful business that grows primarily through boundless enthusiasm, energy, creativity and imagination backed by years of event planning experience, assures clients of unique, memorable, and successful events. The organization is lead by: Frieha Altaf – CEO Nasreen Bokutz – Creative Editor Catwalk Productions is the one-stop event specialist! They will customize the perfect fun-filled special event for your convention, award banquet or party has been producing special events since 1989! This makes us one of the most experienced event planners in Pakistan. From entertainment to linens, from concerts to interactive games. Themed events - intimate to enormous, Catwalk will create the event of your dreams! Their knowledge of entertainment is surpassed only by the service they give to their clients. Because they have been in the industry for such a long time, their entertainment contacts are endless! And as they are a volume buyer, they can negotiate the best price possible. The Bridal Consultant was formed to serve those couples looking towards to celebrate their wedding day. With the average wedding in Pakistan it's also not surprising that people are choosing an option that can be more cost effective, as well as exotic, when planning their special day. Working through their handpicked and personally approved local suppliers; they can give you a wedding that is truly 'out of this world'. Whether you are planning a small, intimate wedding, or proposing to take all your family and friends, they can help you to create your very own, unique wedding. They offer ready-made packages or a tailor made service for your wedding. The categories of wedding offered are: Amir Wedding Mulghalar Mehndi Mulghalar Wedding Anum Mehndi Anum Wedding Senator Mehndi Gul Ahmed Mehndi Gul Ahmed Wedding Color Mehndi Color Wedding Tuscany Wedding International Clients: Malaysian Palm Oil Chenab Group NAINA RAISINGHANI PK 500


6

Sefam Marriot Sheraton PIA Levis Solaris Electro Medical Bang and Olufsen Multinational: Unilever Procter&Gamble H.S.B.C Bank Pepsi ABN AMRO Nestle Coca Cola AGFA Kodak Unilever Dupont Reckitt Benckiser Chimera Nokia DHL Nike Shell Swatch Reebok Adidas Pakistan Tobacco Company Export Promotion Bureau NDFC AES Adamjee Group of Companies Al-Karam Gul Ahmed Textiles Mohammad Farooq Textiles Service Shoes Newage Cables Akbar group of companies Irfan Textiles Nishat Textiles Siddiqsons Tullo Banaspati National Foods Askari Bank NAINA RAISINGHANI PK 500


7

LU Biscuits Unium Lawrencepur Pakistan Cricket Board Pakistan Tanners Association Pakistan Open Squash Federation Highnoon Pharmaceutical Industries Agencies: Pegasus Resource Marketing Corporation JWTAsiatic Bond Advertising Evernew Concepts Red Communication Synergy Advertising Interflow Advertising Orient McCann Charities: Young Presidents Organization Kidney Center Jinnah Hospital SOS Children Village T.R.C APWA Citizen Foundation Care Dyslexia TRC Princess Sarwath Charities Publication: Jang Group of Publications Friday Times Daily Times En Style FAQ NAINA RAISINGHANI PK 500


8

Government: Diplomatic Missions of Pakistan Pakistan Horticulture Authority Capital Development Authority Ministry of Commerce Export Promotion Bureau Pakistan

NAINA RAISINGHANI PK 500


9

REASONS FOR CHOOSING THE PROJECT I chose this particular system for my project because I have interned at the organization and therefore was already well aware with their dealings with customers, I was also aware of the problems that they were facing and therefore had prior understanding of the system. During my internship I was fortunate enough to work with both the actual event management division and the accounts department. I noticed several problems for myself such as lack of secure data due to my theory classes in Computing. Since half the system was computerized (only the Accounts department) this led to discrepancy in data held in both the manual documentation and on the computer. Therefore I decided to use this opportunity to help improve their current system. While the company has contact all over the world their information system is not well developed and up to the task. This has led to lack of coordination between the various branches all over the country. The clients travelling from city to city too face problems since they can’t access data related to their event in any other city other than where it is being planned. Therefore, I would also suggest for them to develop their connections between branches and encourage exchange of data. However in my project I intend to only improve links between the accounts department and the main event management department.

NAINA RAISINGHANI PK 500


10

COMMUNICATION WITH THE COMPANY From: Naina Raisinghani <nraisinghani1992@gmail.com> To: catwalk@cyber.net.pk Date: Wed, Sep 8, 2010 at 10:50 PM mailed-bygmail.com To Whom It May Concern, My name is Naina Raisinghani. I am currently a student at Karachi Grammar School. For my A2 Level Computing project I must analyze a company's management system. I have chosen to monitor and analyze the current system of an event management company. I would therefore like to seek your permission to observe your current information system. If you would like I can present you with a letter from my school certifying the project. Thanking you in anticipation, Yours Sincerely, Naina Raisinghani

From: Ahmed Baig <baigahmed@gmail.com> To: Naina Raisinghani <nraisinghani1992@gmail.com> Date: Mon, Sep 6, 2010 at 2:07 AM Subject: Re: REQUEST mailed-bygmail.com Dear Ms. Naina, It would be a pleasure to be of assistance to a fellow Grammarian; however, I am presently in Dubai on a project up until October. I hope you understand that we are a very small sized sole proprietorship. There is no properly managed 'Information system' as such in place. Apart from accounts and billing/quotes, everything is pretty much on paper. My understanding of the project would be that you are looking to a mid / large sized corporation whereby the management systems and processes are extremely well established over years of improvising. As you might be aware, our core strength lies in Weddings. However, if you feel itâ&#x20AC;&#x2122;s a smaller company that you are looking for, and itâ&#x20AC;&#x2122;s the management system rather than the information system that you are looking into, then I would be more than happy to provide any information over email and can also arrange for you to meet our director in Karachi.

NAINA RAISINGHANI PK 500


11

Please feel free to email / call on +971 55 782 6977 if there is anything I can assist you with. Good luck and best wishes, Ahmed Jibran Baig Mobile: +971 (0)55 7826977 +92 (0)332 3000343 Email: baigahmed@gmail.com

From: Naina Raisinghani <nraisinghani1992@gmail.com> To: Ahmed Baig <baigahmed@gmail.com> Date: Mon, Sep 6, 2010 at 10:39 PM Subject: Re: REQUEST mailed-bygmail.com Dear Sir, Thank you very much for a prompt reply. However rest assured that the size of the company does not affect my project at all. As part of my assignment I am supposed to observe any kind of system (paper or computerized.) Moreover, I am supposed to attempt to improve it by introducing a computerized system. Therefore, I believe your business would be an ideal case study. Therefore, I would be very grateful if you could put me in touch with your Director in Karachi. Thanking you in anticipation, Yours Sincerely, Naina Raisinghani

From: Ahmed Baig <baigahmed@gmail.com> To: Naina Raisinghani <nraisinghani1992@gmail.com> Date: Mon, Sep 8, 2010 at 3:53 PM Subject: Re: REQUEST mailed-bygmail.com Dear Ms. Naina, I have set up an appointment between you and the Director of our Karachi division. If you would be so kind, could you please visit him on 11/9/2010 at 3: 00 PM sharp to discuss your NAINA RAISINGHANI PK 500


12

project in more details? If you have a problem with the date set please let me know a day in advance with a possible date which would be feasible for you. You can find the address of our Karachi branch on our website online. Please feel free to email / call on +971 55 782 6977 if there is anything I can assist you with. Good luck and best wishes, Ahmed Jibran Baig Mobile: +971 (0)55 7826977 +92 (0)332 3000343 Email: baigahmed@gmail.com

From: Naina Raisinghani <nraisinghani1992@gmail.com> To: Ahmed Baig <baigahmed@gmail.com> Date: Mon, Sep 11, 2010 at 7:03 PM Subject: Re: REQUEST mailed-bygmail.com Dear Sir, Thank you so much for having set up that appointment I would like to also make sure if it is OK if I interview a few of your employee, rest assured I will ensure that this does not develop the daily routine of the business. I would also be intensely grateful if I was given the chance to interview Mrs. Altaf herself as the opinion of the creator of the business would be very valuable to my project. Thanking you in anticipation, Yours Sincerely, Naina Raisinghani

From: Ahmed Baig <baigahmed@gmail.com> To: Naina Raisinghani <nraisinghani1992@gmail.com> Date: Mon, Sep 14, 2010 at 10:17 AM Subject: Re: REQUEST mailed-bygmail.com Dear Ms. Naina, NAINA RAISINGHANI PK 500


13

I have informed Mr. Razzaque of your request. We will be pleased to help you out in any way possible; however, Mr. Razzaque will set certain guidelines by which you will have to work to ensure that the business is legally protected. I hope you understand. Other than that all employees will be more than happy to help you out with everything. Also, as for the interview with Mrs. Altaf, she has been informed about your project. She would like to meet you personally when she is in town on the 20/11/2010. Would you please be at our offices by 4:00 PM that day? You may interview employees then. Please feel free to email / call on +971 55 782 6977 if there is anything I can assist you with. Good luck and best wishes, Ahmed Jibran Baig Mobile: +971 (0)55 7826977 +92 (0)332 3000343 Email: baigahmed@gmail.com

From: Naina Raisinghani <nraisinghani1992@gmail.com> To: Ahmed Baig <baigahmed@gmail.com> Date: Mon, Sep 16, 2010 at 9:34 PM Subject: Re: REQUEST mailed-bygmail.com Dear Sir, Thank you so for much for this opportunity, rest assured I will make the appointment in time. Thank you so much for all the cooperation so far. Yours Sincerely, Naina Raisinghani

NAINA RAISINGHANI PK 500


14

OBJECTIVES OF DATA COLLECTION STAGE Objectives of interviews: 1. To find out how the current system works as a whole unit in order to store, retrieve, and edit records of clients 2. Gain an understanding of a regular day in the lives of the employees 3. Size of task force employed by the CEO 4. Type of data needed by the company during the event planning stage 5. Methods used to process the data 6. Methods used to record data 7. Methods used to store data 8. Time required to process data and finish the planning stages of an event 9. Details about the billing process of the company 10. Problems as identified by customers, employees and owners 11. Solutions suggested by each party for the above stated problems Objectives of questionnaires: 1. Gain information about a working day in the employeesâ&#x20AC;&#x2122; life. 2. Understand the problems they have already identified with the system 3. Gain input about solutions they might suggest 4. Find out their view point about each field in which the system can be rates: security, efficiency, user friendly nature, etc 5. Gain any viewpoints that might not have been discussed before 6. Gain information in a way that is not seen as time consuming 7. Gain information from employees uncomfortable with making their identity known (Note that name is not a compulsory field to fill in the questionnaire.) 8. Gain information in a comfortable and a non offensive manner since all questions are optional. While people being surveyed are encouraged to express all their views they are not forced to do so. 9. Since the questionnaire being filled is not time sensitive it aims to make the person being surveyed be comfortable. 10. Easy language is used so as to make the person being surveyed feel comfortable.

NAINA RAISINGHANI PK 500


15

METHODS USED FOR INVESTIGATION I intend to employ the following methods to investigate and analyze the current system of the event management agency and then use the gathered data to analyze the current system: 1. Interviews Advantages Comments can be at length – can collect extensive detailed information Allows questions to alter according to the answers being given A guaranteed response Flexible – one can change questions 2. Questionnaires Advantages Large number of people asked quickly Quick to tabulate and analyze result All employees get a say (do it alone) Allows people to answer questions freely – don’t have to be afraid as questionnaires may be anonymous 3. Viewing any and all available manual documents Advantages Can view all the data that requires processing Can view the exact way in which the current system works – and how each piece of data is processed 4. Observing the system in action Advantages Inexpensive – just send one person to the office Shows the actual system instead of the views which may be biased Helps to understand any complex procedures – get rid of them in the next system 5. Data Flow Diagrams 6. GANTT charts

NAINA RAISINGHANI PK 500


16

MANUAL DOCUMENTS OBTAINED List of all documents attached: In order to perform the complete analysis of the current system I took samples of various documents used in the system presently. These documents have been scanned and attached for reference. Here is a list of all documents I was able to obtain from the event management company: 1. Admission form for every customer 2. Cover page of each event file 3. Blank sheets from each event file 4. Satisfaction questionnaires handed out to customers at the end of each event 5. Financial agreement signed by the customers 6. Receipt for all payments made to the company for both expenses as well as fees 7. Blank sheets from the employee files 8. A plain stationary sheet with the letter head 9. The companyâ&#x20AC;&#x2122;s brochure

NAINA RAISINGHANI PK 500


17

Admission form

NAINA RAISINGHANI PK 500


18

NAINA RAISINGHANI PK 500


19

Cover page for each event file

NAINA RAISINGHANI PK 500


20

Blank sheet from each event file

NAINA RAISINGHANI PK 500


21 Satisfaction questionnaires handed out to customers at the end of each event

NAINA RAISINGHANI PK 500


22

NAINA RAISINGHANI PK 500


23

Financial agreement signed by customers

NAINA RAISINGHANI PK 500


24

Employee file:

NAINA RAISINGHANI PK 500


25

Letterhead

NAINA RAISINGHANI PK 500


26

Brochure

NAINA RAISINGHANI PK 500


27

NAINA RAISINGHANI PK 500


28

NAINA RAISINGHANI PK 500


29

NAINA RAISINGHANI PK 500


30

NAINA RAISINGHANI PK 500


31

NAINA RAISINGHANI PK 500


32

NAINA RAISINGHANI PK 500


33

NAINA RAISINGHANI PK 500


34

NAINA RAISINGHANI PK 500


35

NAINA RAISINGHANI PK 500


36

SAMPLE QUESTIONNAIRE Name: ______________________________________________________________________________ Post: ______________________________________________________________________________ Department: ______________________________________________________________________________ Number of people working in this department: _______________________________________ Time spent on this job: ___________________________________________________________ Describe a day in your life in as few words as possible: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Time taken to plan an event: ______________________________________________________ Have there been complaints regarding billing? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Have you had any complaints regarding service? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________

NAINA RAISINGHANI PK 500


37

______________________________________________________________________________ ______________________________________________________________________________ How many internees do you have? _________________________________________________ Do internees handle events? o Yes o No How many permanent employees do you have? ______________________________________ Are they enough to handle the events? o Yes o No Is your current system: (feel free to tick all that apply): o Paper based o Completely computerized o Both paper and computer based How many customers does your company deal with in a day? ___________________________ How many events does you company manage in a month? (Estimate) _____________________ How much time does it take to pull out a customerâ&#x20AC;&#x2122;s record when required? ______________________________________________________________________________ Rate the business by size: o Small intimate business environment o An average sized company o Large corporate business environment Please rate your current system in the following areas: Quality Below Average Average Good Efficiency User friendly Accurate Secure

NAINA RAISINGHANI PK 500

Very Good

Excellent


38

If you have rated any area as “Below Average” please explain what can be done to improve this rating: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________

Feel free to add any comments: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Thank you for your time!

NAINA RAISINGHANI PK 500


39

FILLED IN QUESTIONNAIRES NUMBER 1 Name: ______________________________________________________________________________ Post: ______________________________________________________________________________ Department: ______________________________________________________________________________ Number of people working in this department: _______________________________________ Time spent on this job: ___________________________________________________________ Describe a day in your life in as few words as possible: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Time taken to plan an event: ______________________________________________________ Have there been complaints regarding billing? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Have you had any complaints regarding service? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________ NAINA RAISINGHANI PK 500


40

______________________________________________________________________________ ______________________________________________________________________________ How many internees do you have? _________________________________________________ Do internees handle events? o Yes o No How many permanent employees do you have? ______________________________________ Are they enough to handle the events? o Yes o No Is your current system: (feel free to tick all that apply): o Paper based o Completely computerized o Both paper and computer based How many customers does your company deal with in a day? ___________________________ How many events does you company manage in a month? (Estimate) _____________________ How much time does it take to pull out a customerâ&#x20AC;&#x2122;s record when required? ______________________________________________________________________________ Rate the business by size: o Small intimate business environment o An average sized company o Large corporate business environment Please rate your current system in the following areas: Quality Below Average Average Good Efficiency User friendly Accurate Secure

NAINA RAISINGHANI PK 500

Very Good

Excellent


41

If you have rated any area as “Below Average” please explain what can be done to improve this rating: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________

Feel free to add any comments: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Thank you for your time!

NAINA RAISINGHANI PK 500


42

NUMBER 2 Name: ______________________________________________________________________________ Post: ______________________________________________________________________________ Department: ______________________________________________________________________________ Number of people working in this department: _______________________________________ Time spent on this job: ___________________________________________________________ Describe a day in your life in as few words as possible: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Time taken to plan an event: ______________________________________________________ Have there been complaints regarding billing? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Have you had any complaints regarding service? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ NAINA RAISINGHANI PK 500


43

How many internees do you have? _________________________________________________ Do internees handle events? o Yes o No How many permanent employees do you have? ______________________________________ Are they enough to handle the events? o Yes o No Is your current system: (feel free to tick all that apply): o Paper based o Completely computerized o Both paper and computer based How many customers does your company deal with in a day? ___________________________ How many events does you company manage in a month? (Estimate) _____________________ How much time does it take to pull out a customer’s record when required? ______________________________________________________________________________ Rate the business by size: o Small intimate business environment o An average sized company o Large corporate business environment Please rate your current system in the following areas: Quality Below Average Average Good Efficiency User friendly Accurate Secure

Very Good

Excellent

If you have rated any area as “Below Average” please explain what can be done to improve this rating: ______________________________________________________________________________ NAINA RAISINGHANI PK 500


44

______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________

Feel free to add any comments: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Thank you for your time!

NAINA RAISINGHANI PK 500


45

NUMBER 3 Name: ______________________________________________________________________________ Post: ______________________________________________________________________________ Department: ______________________________________________________________________________ Number of people working in this department: _______________________________________ Time spent on this job: ___________________________________________________________ Describe a day in your life in as few words as possible: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Time taken to plan an event: ______________________________________________________ Have there been complaints regarding billing? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Have you had any complaints regarding service? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ NAINA RAISINGHANI PK 500


46

How many internees do you have? _________________________________________________ Do internees handle events? o Yes o No How many permanent employees do you have? ______________________________________ Are they enough to handle the events? o Yes o No Is your current system: (feel free to tick all that apply): o Paper based o Completely computerized o Both paper and computer based How many customers does your company deal with in a day? ___________________________ How many events does you company manage in a month? (Estimate) _____________________ How much time does it take to pull out a customer’s record when required? ______________________________________________________________________________ Rate the business by size: o Small intimate business environment o An average sized company o Large corporate business environment Please rate your current system in the following areas: Quality Below Average Average Good Efficiency User friendly Accurate Secure

Very Good

Excellent

If you have rated any area as “Below Average” please explain what can be done to improve this rating: ______________________________________________________________________________ NAINA RAISINGHANI PK 500


47

______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________

Feel free to add any comments: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Thank you for your time!

NAINA RAISINGHANI PK 500


48

NUMBER 4 Name: ______________________________________________________________________________ Post: ______________________________________________________________________________ Department: ______________________________________________________________________________ Number of people working in this department: _______________________________________ Time spent on this job: ___________________________________________________________ Describe a day in your life in as few words as possible: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Time taken to plan an event: ______________________________________________________ Have there been complaints regarding billing? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Have you had any complaints regarding service? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ NAINA RAISINGHANI PK 500


49

How many internees do you have? _________________________________________________ Do internees handle events? o Yes o No How many permanent employees do you have? ______________________________________ Are they enough to handle the events? o Yes o No Is your current system: (feel free to tick all that apply): o Paper based o Completely computerized o Both paper and computer based How many customers does your company deal with in a day? ___________________________ How many events does you company manage in a month? (Estimate) _____________________ How much time does it take to pull out a customer’s record when required? ______________________________________________________________________________ Rate the business by size: o Small intimate business environment o An average sized company o Large corporate business environment Please rate your current system in the following areas: Quality Below Average Average Good Efficiency User friendly Accurate Secure

Very Good

Excellent

If you have rated any area as “Below Average” please explain what can be done to improve this rating: ______________________________________________________________________________ NAINA RAISINGHANI PK 500


50

______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________

Feel free to add any comments: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Thank you for your time!

NAINA RAISINGHANI PK 500


51

NUMBER 5 Name: ______________________________________________________________________________ Post: ______________________________________________________________________________ Department: ______________________________________________________________________________ Number of people working in this department: _______________________________________ Time spent on this job: ___________________________________________________________ Describe a day in your life in as few words as possible: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Time taken to plan an event: ______________________________________________________ Have there been complaints regarding billing? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Have you had any complaints regarding service? o Yes o No If yes, how do you deal with them? ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ NAINA RAISINGHANI PK 500


52

How many internees do you have? _________________________________________________ Do internees handle events? o Yes o No How many permanent employees do you have? ______________________________________ Are they enough to handle the events? o Yes o No Is your current system: (feel free to tick all that apply): o Paper based o Completely computerized o Both paper and computer based How many customers does your company deal with in a day? ___________________________ How many events does you company manage in a month? (Estimate) _____________________ How much time does it take to pull out a customer’s record when required? ______________________________________________________________________________ Rate the business by size: o Small intimate business environment o An average sized company o Large corporate business environment Please rate your current system in the following areas: Quality Below Average Average Good Efficiency User friendly Accurate Secure

Very Good

Excellent

If you have rated any area as “Below Average” please explain what can be done to improve this rating: ______________________________________________________________________________ NAINA RAISINGHANI PK 500


53

______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________

Feel free to add any comments: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ Thank you for your time!

NAINA RAISINGHANI PK 500


54

SUMMARY OF QUESTIONNAIRES 1. A large part of the day resolves around finding records when a customer needs to use/ edit them 2. Billing causes a major concern and is a definite area for improvement 3. Bills are usually edited and produced repeatedly after comparing with the data held in the file repeatedly 4. While the event planned is of high standards, the service provided in customer employee interactions are areas for improvement 5. While there is a sufficient number of employees to handle events â&#x20AC;&#x201C; data searching inefficiencies means more need to be hired 6. This is one area in which the 5 internees hired help out usually 7. Due to privacy clauses internees usually donâ&#x20AC;&#x2122;t deal with the client directly but instead shadow professionals. 8. There are sufficient number of employees to handle events, not data management 9. Te current system is paper based (in the event planning department) and computerized too (in the Accounts department) 10. The company deals with around 15-20 events in a month 11. Around 20-25 customers are dealt with in one day 12. The time taken to find a customerâ&#x20AC;&#x2122;s record ten to fifteen minutes is too large 13. While the business is considered a large one the efficiency suggests it to be otherwise 14. The system was generally rated as inefficient, inaccurate and insecure 15. 3 of the 5 polled thought that the system was not user friendly while 2 disagreed 16. All employees believe strongly in the fact that a computerized system would help with these problems and that a computerized system would help improve service making the agency a top class venture.

NAINA RAISINGHANI PK 500


55

ORIGINAL INTERVIEW SCRIPT Please note: That these are questions I most definitely intend to ask, other questions may stem from those listed according to responses and therefore this list is provisional at best. Questions: 1. What department do you belong to? 2. What level of education have you gained? 3. What are your working hours like? 4. How many clients have you dealt with in the past one year? 5. Is the system in use manual or computerized? 6. If manual, what problems do you thing computerizing the system will bring about? 7. Is the system secure, if not how can it be made so? If accounts department: 1. How many people do you have working in this department? 2. How does your department record data? 3. How does your department store data? 4. How does the accounts department retrieve data when needed? 5. How does your department interact with the event management division? 6. Could you explain a normal interaction between you and a client? 7. How many people have access to the account related details that you store? 8. How long does it take to make a bill for the client? 9. How many times have bills been returned due to inaccuracies? 10. Main problems you have encountered while using your current system? 11. How do you believe these problems can be dealt with? 12. Any other point that you would like to clarify or mention? If event management department: 1. How long does each meeting with a client last for? 2. How many people are there in your department? 3. How do you record data? 4. How is data stored when not being used? 5. How is data retrieved when needed? 6. How do you deal with data loss? 7. How do you interact with the accounts department? 8. What is the client registration process? 9. How does the client pick what option he wants to select for flowers, chairs materials like that? 10. Main problems you have encountered while using your current system? 11. How do you believe these problems can be dealt with? 12. Any other point that you would like to clarify or mention?

NAINA RAISINGHANI PK 500


56

INTERVIEW TRANSCRIPTS INTERVIEW 1: Name: Ms. Nasreen Bokutz Post: Creative editor Q: What level of education have you gained? A: I graduated from IBA in Karachi with an MBA; I also did my Bachelors from there. Q: What are your working hours like? A: for the rest of the company we have the usual 9 to 5 work hours, however I usually stay in longer till 9 or as per needed by the situation. However, note that many people take their work home or work from outside the office if meeting on location, or with suppliers. Q: Do employees take files out of premises? A: As the situation calls for we do let them take relevant files home. So that they can work at the suppliers or make sure no notes are missing. Q: Do you think you should continue letting them take it home? A: Well since the files contain very critical data like Nic details and credit card information – obviously not! However, we don’t have a choice in some situations. Q: How would you suggest we improve on that? A: I think we need to designate each employee a secretary so that they handle the note taking process and transcribe these notes in to the files when they return back to the office. Q: How many clients have you dealt with in the past one year? A: Many - uncountable however in the fiscal year 2009-2010 we dealt with 200 events of varied sizes and in many locations. Q: Is the system in use manual or computerized? A: It is a mix of the two while the event planning system is manual the accounts department is computerized. Q: What problems does the event management division’s manual system cause? A: Many! Since the system was mainly maintained manually on paper, many costs were incurred in the purchase of stationery supplies. This has negatively affected the profit that the company is able to make. This expense could be seriously reduced by computerizing the system. Since files are only checked when the need comes about any theft of a file remains unnoticed until a file is needed. This means that the probability of regaining the data is near nil. These are only to name a few. Q: Is the system secure, if not how can it be made so? NAINA RAISINGHANI PK 500


57

A: It is secure in the fact that we trust our employees to not mishandle any data they are trusted with. However, what with important data just floating around for anyone to read, the system is most definitely not secure. If data could somehow be restricted to a relevant department via a password or something like that, these problems would be significantly improved. Q: What side of the company do you mainly oversee? A: The event management system definitely. Q: How long does each meeting with a client last for? A: If in the office each meeting lasts only one hour, however if on location or at the suppliers, it could go last from fifteen minutes to 15 hours! Depending on how quick the customer decides and how firm he is about it. Q: How many people are there in each department? A: Accounts department has 15 people, and the event planning department feature 20 people. And we have a total of 20 secretaries. Q: Are these many people enough for a large company like yours? A: At times during more hectic seasons it gets intimidating, while during a relaxed season that is what we all do – relax. So there is no definite way of putting it. Q: How do you record data? A: We have a large collection of files. When a customer comes in, we register him and a file is assigned to him. This sis irrespective of whether he is visiting us again. Then the file is labeled with the client’s name and event type. The file contains 50 pages which are used by the employee to record data from hence on till the event is finished. Q: How is data stored when not being used? A: We have a special storage room, which plays house to al the files not being used. It is divided into two sections, events finished with and events going on. Accordingly the files are stored. Q: How is data retrieved when needed? A: By searching for each file when the need presents itself. It takes about 15 minutes for a secretary to find a file which s why it is ideally done before an appointment begins Q: What if a client was to just walk in without prior announcement? A: Then he would be made to wait until the file was found after which he would go see the concerned employee. And if he is not available he must wait for him to free up or go home. Q: Why can’t another employee deal with him? A: Well initially, we used to follow that system switch around employees. However, there were writing complaints; notes made in a hurry tend not to be legible so another employee would not be able to read X’s writing. Due to this we restricted each event to one employee. NAINA RAISINGHANI PK 500


58

Q: How do you deal with data loss? A: Well we have to start all over again and apologize profusely to the customer for the data loss. However having worked with the client, the employee usually remembers a lot of the stuff so that is not as difficult as it sounds. Q: What is your back up policy? A: We donâ&#x20AC;&#x2122;t have a hard and fast system. We photocopy all files every 6 months I believe. However since they are kept in the same place, they only complicate the search process. Q: How do you interact with the accounts department? A: I oversee their operations from time to time asking for a statement or report whenever I find fit. Q: What is the client registration process? A: When a client walks in seeking our services, they are given a form to fill in which asks them their contact details, payment details, event type and any preference in any category. A copy is kept sent to the accounts department and one is put in the file. Q: How does the client pick what option he wants to select for flowers, chairs materials like that? A: We have a catalogue of previous events with pictures of the various choices in each category then we copy down the code into the file. However in the case of florists the employee and the client set up a meeting whereby they go to the supplier same goes for location scouting. Q: Main problems you have encountered while using your current system? A: Changes in any previously made decisions are difficult to carry out because the change must be manually made and the employee must remember to inform the concerned authorities. If the employee forgets to warn the concerned people of the change the client has to stick with his decision. If the client experiences a change in certain necessary data like address or credit card number this change is only recorded on the file being used then, this means that there is a discrepancy in the data held in two different event files. Q: How do you believe these problems can be dealt with? A: Well by computerizing the system theses changes would be automatically made meaning they would be easy to refer to and there would be less chance of the client landing up with the wrong choice of flowers or invites. A computerized system would also deal with editing essential data so that department can also be dealt with. Q: Any other point that you would like to clarify or mention? A: No I think you have covered everything, I hope you successfully create a system that will address not only my problems but those of the other employees as well.

NAINA RAISINGHANI PK 500


59

INTERVIEW 2: Name: Mr. Khalid Razzaque Post: Head of Accounts Q: What department do you belong to? A: I am Head of the Accounts department. Q: What level of education have you gained? A: I studied finance at LSE. And I graduated from there as well. Q: What are your working hours like? A: The Company operates a strict 9:00 a.m. arrive and 5:00 p.m. depart policy. The accounts department however has to stay late at the end of the fiscal season to get all the reports filed, etc. Q: How many clients have you dealt with in the past one year? A: Over 150 definitely Q: Is the system in use manual or computerized? A: Fortunately the accounts department is computerized however we deal with transcribing a lot of manually written data given to us by the event management sector. So the system as a whole is a combination of the two. Q: How do you produce a bill? A: When a client is first registered we get his details via for he fills at registration. When he finally decides to use the company’s services they officially come and register with us. Then they lay down a deposit for hiring our services, they also sign a contract. From henceforth every authorized action or charge is charged to their account. We make sure that the client has authorized the purchase by signing a receipt. Henceforth it is charged to their account and they receive a SMS verifying them of the purchase. At the end of the period of their dealing with us. A bill is produced which lists all paid and unpaid amounts and the unpaid amount is then paid up. Q: Is the system secure, if not how can it be made so? A: Well since everyone can just walk into storage of course it’s not secure. However the only solution is to lock the room giving only a few people the key. But what if those people aren’t around when information is needed? So each solution will have both pros and cons Q: How many people do you have working in this department? A: Exactly 22 people including me but excluding secretaries. Q: How does your department record data?

NAINA RAISINGHANI PK 500


60

A: We have a computerized system which records each transaction as it is listed after it is authorized. We keep a track of all authorization slips just in case they are needed. Our system gives us the ability to add, delete and search for all records Q: How does your department store data? A: We store data both manually in files (as back up) and electronically on hard drive. Authorization slips and backups made once every 2 months are catalogued. Q. In a worst case scenario, what if both the files and the hard drive were to get nonexistent, then? A: Well then we would have to ask all the customers to present us with their transaction records again. Though we would have lost any data about closed events. This can cause problems while dealing with our income tax ventures Q: How does the accounts department retrieve data when needed? A: We run a search on the computer system for the client’s data. The relevant record shows up allowing us to edit or delete it. Q: How does your department interact with the event management division? A: Sadly the interaction between the two departments is very little, the system due to hand writing legibility issues – something you will come across with others also is highly inefficient. The two departments only interact when customers are bought in or when writing has to be clarified. In this case a lot of tension is caused Q: Could you explain a normal interaction between you and a client? A: Well, initially the client’s registration form is sent to us. However, we don’t add it because he is yet undecided about using our services. Once he has confirmed it he is then taken to the account department whereby he confirms all payment details and lays down a deposit to secure the company’s services. The details confirmed are: 1. Name 2. Contact details 3. Bank details 4. Payment option 5. Deposit to be made He is also asked to sign a contract which states: 1. The company is not responsible for any indecisions on the client’s part, 2. The company can’t be fired from the contract, 3. The company will keep all data secret, 4. Asks for full cooperation from client 5. Decides on financial details Q: How many people have access to the account related details that you store? A: Everyone in both departments can walk to a computer and access data. NAINA RAISINGHANI PK 500


61

Q: How long does it take to make a bill for the client? A: Well since all the data is already stored it takes about five minutes to print a bill and confirm it. Q: How many times have bills been returned due to inaccuracies? A: Well on an estimate basis one in every ten bills is returned due to inaccuracies whereby the client has been overcharged or undercharged for a certain service Q: Main problems you have encountered while using your current system? A: The accounts department and the event management have access to data that do not apply to them making security a major concern. This means that every employee knows all; the data held about a specific client. Important and sensitive information like NIC number and credit card details are also available to all employees and the owner stated that at times employees tried to use this information to their advantage charging the credit cards for purchases the client did not OK on. Since all notes in files are made by hand the writing at time appears illegible to any other employee meaning that only one specific employee can deal with a whole account. And if this employee is then unavailable the progress of the billing remains halted. Q: How do you believe these problems can be dealt with? A: If a uniform system which is computerized is introduced in all departments, then all data is automatically shared with those who are reliable and hand writing will then definitely not present a problem. Q: Any other point that you would like to clarify or mention? A: No, if I do I will be in touch with you via email. Good luck with the rest of your project. I hope you come up with a solution.

NAINA RAISINGHANI PK 500


62

INTERVIEW 3: Name: Shehnaz Mazhar Post: Head of Event Management Q: What department do you belong to? A: I head the event management section. Q: What level of education have you gained? A: I graduated from Asia Institute of Fashion Design. Q: What are your working hours like? A: We are supposed to work from 9:00 to 5:00 however many of us have meeting off office premises in which case we might have to schedule those after these hours. Q: How many clients have you dealt with in the past one year? A: Well over 200 clients come in, but 150 stay for the ordeal of planning the event Q: Is the system in use manual or computerized? A: In the event planning department we have a manual system of box files which contain all event related notes. They look exactly like the one I was carrying when I walked in. Q: If manual, what problems do you thing computerizing the system will bring about? A: Well it would cause problems for those untrained in using a computer. However if the application is kept simple and straight forward I think employees should have no problem using it. Q: Is the system secure, if not how can it be made so? A: No the system is not secure in terms of the fact that the data is accessible by anyone who knows where the storage room is. I think place all current files in the concerned employee’s office under his lock and key and all closed accounts in the storage room with access by permission. Q: How long does each meeting with a client last for? A: On premise, it can’t last more than an hour. However off premises it all depends on what is to be done that. A mental check list is made and all things must be ticked off on it. Q: How many people are there in your department? A: Well I head over 20 employees and around 10 secretaries. Q: How do employees without secretaries’ function? A: Each employee, including me usually shares a secretary with another one. This because the secretaries usually spend time making appointments or searching for a file and so can relate to two employees at the same time. NAINA RAISINGHANI PK 500


63

Q: How do you record data? A: When a customer comes in, we register him and a file is assigned to his current event. Each event – even if under the same client – would have a separate file. Therefore this is irrespective of whether he is visiting us again. Then the file is labeled with the client’s name and event type. The file contains pre-inserted pages which are used by the employee to record data from hence on till the event is paid for. Q: How is data stored when not being used? A: Data is stored in files which are kept in rooms in the back. Files related to closed accounts are kept together and files currently being used are kept together. This makes them slightly easier to find Q: How is data retrieved when needed? A: When a client comes in or before he does (if the secretary is free) the secretary related to the employee runs a manual search for the file. Q: How long does this approximately takes? A: Well this can take from anywhere from ten to fifteen minutes. Q: How do you deal with data loss? A: We immediately inform the client about all data loss. From hence forth the meeting is extended as we try to record all the data over again. Hopefully at times the customer makes a record of all transactions so that eases the load on us. Q: Is the client able to break away from your company n case all data is lost? A: Yes however he must give us a week’s notice in this case and we keep the deposit t o pay all the bills and for our services up till that point. Q: How do you interact with the accounts department? A: We only interact with the accounts department when the need presents itself – for example to analyze writing (it can be quite illegible when written in a hurry) Q: What is the client registration process? A: The client is asked to fill in a form when he first comes in. He’s asked to answer fields like: 1. Name 2. Contact details 3. Event type 4. Any preferences in flowers, food, decoration, other – the client is further on asked to state the preference as well 5. Payment Option (credit card, bank draft, cash) 6. Credit card details’ or other payment option’s details Q: How does the client pick what option he wants to select for flowers, chairs materials like that? NAINA RAISINGHANI PK 500


64

A: He can make different choices in three ways: 1. He could pick things from the catalogue we show him of past events â&#x20AC;&#x201C; however this restricts him in choices. 2. He will be escorted to our trusted suppliers where they will choose from all that our suppliers have to offer 3. If he has a specific choice like roses and wonâ&#x20AC;&#x2122;t change it or a clipping or an heir loom then its automatically noted down Q: Main problems you have encountered while using your current system? A: Since the system was mainly maintained manually on paper, many costs were incurred in the purchase of stationery supplies. This has negatively affected the profit that the company is able to make. This expense could be seriously reduced by computerizing the system. This expense of stationery was usually passed on to the customer during the billing process; this made the venture expensive for the clients. Also since all data is maintained on files, they are liable to get lost, due to this more time must be sent re-entering all the necessary data. This has proved to be an annoyance for both the customer and the employee and is an expensive process for both also. Q: How do you believe these problems can be dealt with? A: A computerized system would really solve all these problems because les cost would be passed onto the customer. And if a customer wants a copy we can easily print it out. Also backing up I believe would be easy. But you would know better about that. Q: Any other point that you would like to clarify or mention? A: No thank you and good luck with your project. Have a good day!

NAINA RAISINGHANI PK 500


65

INTERVIEW 4: Name: Asha Siddiqui Post: Secretary (Event Management Division) Q: What department do you belong to? A: I am a secretary in the event planning sector Q: What level of education have you gained? A: I have completed my inter from a local school in Karachi Q: What are your working hours like? A: The usual as are every come in by 8:30 am leave by 5:30 pm Q: How many clients have you dealt with in the past one year? A: More than 200 clients a year easily Q: Is the system in use manual or computerized? A: We use paper here in this sector; however the accounts division uses computers Q: If manual, what problems do you thing computerizing the system will bring about? A: I don’t think it will cause problems, s all secretaries are computer efficient that is one of the requirements for being hired – computer literacy Q: Is the system secure, if not how can it be made so? A: Everyone gets access to the data, so it is not secure. However locking up the storage shall solve this problem. And have a peon standing there with a book everyone who comes in should sign in and out and write the file name which he takes out. Q: How long does each meeting with a client last for? A: Not more than one hour, don’t know how long meetings outside lasts though. Q: How many people are there in your department? A: Over 30 people Q: How do you record data? A: The event planner records it in the files Q: How is data stored when not being used? A: It’s taken back to the storage room and put in the nearest shelf Q: How is data retrieved when needed? A: A secretary like me is sent to search for it Q: What is the client registration process? NAINA RAISINGHANI PK 500


66

A: He fills a form â&#x20AC;&#x201C; one copy goes to the accounts department and one to us Q: Main problems you have encountered while using your current system? A: nothing you havenâ&#x20AC;&#x2122;t covered Q: Any other point that you would like to clarify or mention? A: No thank you very much!

NAINA RAISINGHANI PK 500


67

SUMMARY OF INTERVIEW From the people interviewed I was able to gain the following information about the system: 1. Security of the critical data is an important concern – since files can be viewed by anyone and there are no main security features 2. The company’s image suffers due to inefficiencies – inaccuracy of data, reliability of files and security of data 3. Billing causes a lot of problems – since bills have to be produced repeatedly due to inaccuracies in billing 4. The company employees are greatly interested in a computing system – due to the elimination of files and ease of use 5. Many files are being taken out of premises – security problems 6. Files have been lost in the past - this had set back the event planning process since notes get lost 7. The company does well in terms of number of clients visiting 8. Legibility of writing was identified as a problem by nearly everyone 9. People generally seemed eager to get rid of the file system 10. Integration between the two departments had to be improved – so as to make the system more efficient 11. Time taken to find a file proves to be a great annoyance 12. Secretaries spent major of their time looking for files – average time was ten to fifteen minutes 13. The inconsistency in the systems used – accounts uses a computerized system while event management system uses paper based system was seen as unfair 14. Interaction between the two departments is minimal and only done for the purposes of billing – lack of cooperation causes more efficiency problems

NAINA RAISINGHANI PK 500


68

HOW THE CURRENT SYSTEM WORKS Registration: A form is given to the clients (see overleaf.) The client is asked to fill in details such as: 1. Name 2. Address 3. Phone Number 4. Sex 5. Event type 6. Any preferences in flowers, food, decoration, other – the client is further on asked to state the preference as well 7. Payment Option (credit card, bank draft, cash) 8. Account details 9. Credit card details’ A copy of this is sent to both the accounts department and the employee (it is put into the file.) In the first meeting, the client is given a demo of the previous events so that he gets a better ides a of the company’s capability. Until now he doesn’t need to make a commitment to the company. Instead he is given some time to decide. In the next meeting (assuming the client picks the company) the client is given a more detailed form to fill in regarding his choices in any fields. These are: 1. Flowers 2. Location 3. Food 4. Table settings 5. DJ 6. Decorations 7. Stage 8. Guest list 9. Party favors He may take this home and bring it with him in the next meeting. At the meeting itself the client and the employee collaborate to decide the invitations since they are of immediate importance. He is then taken to the account department whereby he confirms all payment details and lays down a deposit to secure the company’s services. The details confirmed are: 1. Name 2. Contact details 3. Bank details 4. Payment option 5. Deposit to be made He is also asked to sign a contract which states: 1. The company is not responsible for any indecisions on the client’s part, 2. The company can’t be fired from the contract, 3. The company will keep all data secret, 4. Asks for full cooperation from client NAINA RAISINGHANI PK 500


69

5. Decides on financial details Over the next few meeting the clients and the employee fine tune all details regarding the events. The client is given the option to change his choice however one week before the event is the deadline for such changes after which no change can be made to his choices. This because afterwards making a change becomes hard. In the final week up to the event the client and the employee go on location ensuring that all is set up for the event. After the vent is over, the client steps into the office for the last time. He is asked to pay the rest of the money owed to the company. He also fills in a questionnaire detailing the satisfaction in service: These are fields such as: 1. Name 2. Event type 3. Satisfaction with event 4. Satisfaction with employee 5. Any changes to be suggested?

NAINA RAISINGHANI PK 500


70

CURRENT USERS OF THE SYSTEM The current users of the system are as follows: 1. Event planners: They are the most in touch with the manual – paper – system since they are responsible for planning the events. They keep track of any changes made in the event details and are held liable if the customer doesn’t get the emend product desired. 2. Assistants to event planners: They work in tandem with the event planners and are training under them. They are responsible for returning the files to their safe hold once the planners are done making changes and perusing the files. They are also responsible for retrieval. In many cases of loss of data they are held liable. 3. Accountants: The only group of people who have access to a computerized system, their correspondence with the customer is restricted to filing payment information, issuing receipts etc 4. Receptionists: They are the first ones to gain access to the customers, they issue them the first admission slip and ensure that assistants are informed well in time to go find the relevant customer’s file and retrieve it. 5. Suppliers (indirectly): They need for the system to be up to date to retrieve order information and information related to their payments 6. Customers (indirectly): They need for the system to be up to date so that their event (the end product) is exactly as per requested. They also need for the information to be secure above all since the files carry sensitive information.

NAINA RAISINGHANI PK 500


71

ADVANTAGES OF CURRENT SYSTEM I was able to identify the following advantages with the way the system was currently structured: 1. Most of the employees working here have limited computer expertise â&#x20AC;&#x201C; especially the receptionists, etc and are moreover used to the current system, it will take them time to get used to the new software 2. While eager for change, a new system would require training and time and would create difficulties, the time taken to train individuals would mean less time spent on current projects which could decrease customer satisfaction. 3. Since the new software will not be hundred percent error free it will need updating, the current system is hassle free since the users know how to get around the current problems and are used to them 4. Although the current system is ineffective, the simplicity of the overall system and its length in practice means that the users are well aware of their tasks and limitations, further complicated processes would confuse all users as they will now be unaware of their job restrictions.

NAINA RAISINGHANI PK 500


72

PROBLEMS IN THE CURRENT SYSTEM After evaluating the system both during my internship and during the analysis stage of the development of the program I was able to identify the following problems in the current system. They can be divided into the following fields: Expense incurred Security Inefficiency Problems with accuracy of data The problems are listed below: 1. Since the system was mainly maintained manually on paper, many costs were incurred in the purchase of stationery supplies. This has negatively affected the profit that the company is able to make. This expense could be seriously reduced by computerizing the system. 2. This expense of stationery was usually passed on to the customer during the billing process; this made the venture expensive for the clients. 3. Also since all data is maintained on files, they are liable to get lost, due to this more time must be sent re-entering all the necessary data. This has proved to be an annoyance for both the customer and the employee and is an expensive process for both also. 4. Also if the data is lost the customer deserves a refund (as per company rules) which cuts down on profits 5. Since the data is available only on files they are accessible to everyone. This makes security a very big problem. Everyone can gain access to the data. Since this violates the clientâ&#x20AC;&#x2122;s right to secure data this is a major worry for the CEO. 6. Since files are only checked when the need comes about any theft of a file remains unnoticed until a file is needed. This means that the probability of regaining the data is near nil. 7. Since the company represents many multinational and governmental organizations, security of data is vital. However since everyone has access to data security is not guaranteed. 8. The accounts department and the event management have access to data that do not apply to them making security a major concern. This means that every employees knows all; the data held about a specific client 9. Putting the file under lock and key is not a viable solution since files are checked out regularly. This means that those lower in ranks may also obtain the data. 10. Important and sensitive information like NIC number and credit card details are also available to all employees and the owner stated that at times employees tried to use this information to their advantage charging the credit cards for purchases the client did not OK on. 11. The current system was also rated as inefficient; since all data is held in files which arenâ&#x20AC;&#x2122;t labeled properly it often takes a lot of time to access these files. Secretaries are sent out looking for file 15 minutes prior to an appointment. And if a customer appears NAINA RAISINGHANI PK 500


73

without notice he must be made to wait until the file is accessed. This further on reduces client satisfaction. 12. If discounts were offered to customers (discounts may be offered to regular clients or relatives of employees) a record of this discount was difficult to make due to which the client were usually not able to avail this discount at the end. 13. Since all notes in files are made by hand the writing at time appears illegible to any other employee meaning that only one specific employee can deal with a whole account. And if this employee is then unavailable the progress of the project remains halted. 14. If the client experiences a change in certain necessary data like address or credit card number this change is only recorded on the file being used then, this means that there is a discrepancy in the data held in two different event files. 15. Due to this illegible writing the accounting department says that they find it hard to make out the information stated, this contributes to inaccuracy of data held in the system. 16. Many employees in the company arenâ&#x20AC;&#x2122;t trained to use the accounting software which means that in the absence of the accounting department data is not available at hand which frustrates customers at times, 17. Changes in any previously made decisions are difficult to carry out because the change must be manually made and the employee must remember to inform the concerned authorities. If the employee forgets to warn the concerned people of the change the client has to stick with his decision. 18. Data redundancy also occurs as similar data is entered on multiple occasions making reading the file a frustrating experience. 19. Since there is no particular order in taking notes in the files, there is a complete lack of organization, this makes later review of data a particularly frustrating experience. 20. In the past fires have affected data by causing data loss, since there hardly and copies of data is lost permanently. 21. The companyâ&#x20AC;&#x2122;s back up policy consists of photocopying the files every six months due to which any unforeseen event in between will cause a complete loss of data.

NAINA RAISINGHANI PK 500


74

ORIGIN OF DATA Currently data held by the system follows the following pattern: Registration Form Name NIC details Age

Account Department Name NIC details Age

Event Management Name NIC details Age

Address

Address

Address

Phone Number

Phone Number

Phone Number

Email address

Email address

Email address

Event type Budget Date of event Time of event Preference in any choice Number of guests Payment option Account details Credit Card details

Event type Budget Date of event Time of event Payment option

Event type Budget Date of event Time of event Preference in any choice Payment option Account details Credit Card details Invitation choice Flower choice Music choice Miscellaneous entertainment Location Table setting Guest list Food Furniture to be used Stage details Party favors

Account details Credit Card details Advance laid down Discount offered Waiver signed?

NAINA RAISINGHANI PK 500

Questionnaire Name Event type Satisfaction with event Satisfaction with service Any changes suggested Any change in supplier


75

DATA FLOW DIAGRAMS CONTEXT LEVEL

Requests services

SUPPLIER

CUSTOMER

Delivery report

Plans events Purchase order

Event management system Assigns a planner Checked invoices and customer details

ACCOUNTS DEPARTMENT

NAINA RAISINGHANI PK 500

Reports bills

Plans the event

EVENT PLANNERS


76

LEVEL ZERO 2

SUPPLIERS

CUSTOMER Provides goods

4

Event file

Provide feedback

Customer file

3 Produces a bill

ACCOUNTS DEPARTMENT

NAINA RAISINGHANI PK 500

1

Handle all events

PLANNERS


77

LEVEL 1.1 1.1 Handling all events

1.1.1 Fills in a form

Customer

1.1.2 Selects from a demo

1.1.3 1.1 1.1 Sent to accounts department

1.1.4 Sign contract

NAINA RAISINGHANI PK 500

Billing file


78

LEVEL 1.2

NAINA RAISINGHANI PK 500


79

LEVEL 1.3

NAINA RAISINGHANI PK 500


80

LEVEL 1.4

NAINA RAISINGHANI PK 500


81

ORGANIZATION STRUCTURE

CEO Frieha Altaf

Creative Editor

Nasreen Bokutz (Karachi Branch)

Head of Accounts

Accounting clerks

Head of Event Management

Secretaries Peons

NAINA RAISINGHANI PK 500

Event Planners

Secretaries Peons


82

ANALYZING ALTERNATIVE SOLUTIONS While analyzing the current system I was also able to identify other possible solutions. They are: 1. Making a more efficient manual system: This is whereby proper stationery is developed for the company with highlighted fields; these can be filled in manually by the employee as he works with the client. The advantages would be similar to implementing a computerized system. However certain problems were identified with this solution as well. Advantages Data would be maintained more efficiently Data could be retrieved, deleted or added more efficiently Searching for data would be easy

Disadvantages Printing would be expensive Papers could be lost Back up would still be difficult Security issue would not be solved Finding a file would still be difficult Everyone would still have access to all the data

2. Hiring more secretaries to deal with record finding and updating While this would help reduce the load of work around the office by specializing tasks, costs would raise causing profits made by the company to fall drastically. Also everyone would become too dependent on these secretaries and any absence would cause great inefficiencies in the working for the company. 3. Data be kept under lock and key This will help the situation by introducing security and restricting the data access to only a few people. However, it would make the situation inconvenient for all present as the person with lock and keys will have to be disturbed frequently whenever access to any file.

NAINA RAISINGHANI PK 500


83

REQUIREMENT SPECIFICATION PROPOSED SYSTEM OBJECTIVES AND CONSTRAINTS Objectives: 1. it should enable users to add new record easily 2. It should allows users to delete records of customers wrongly added 3. It should allow users to edit current records and save these changes 4. It should allow the use to search for current records 5. It should be password protected 6. Should allow the user to view a report containing all events 7. Should allow the user to view a report containing records of all customers 8. Should allow the user to view a report containing a records of all services provided 9. Should allow the user to view a report containing a record of all upcoming events 10. Allow the user to make a bill 11. Allow the user to make a profit and loss statement 12. Be able to navigate to the last and the first record 13. Be able to navigate from one record to another Constraints: 1. The system is not on a network yet â&#x20AC;&#x201C; due to this one computer canâ&#x20AC;&#x2122;t be connected to the others 2. Since the system is not online computers in branches all over the country cannot be connected either. 3. Since the log in screen appears only at the beginning, once someone has gained access they will have access to all files related to it. PROPOSED SYSTEM DATA MODEL I have proposed a Relationship Database Management System. Since this will allow us to form varied relationships between different files such as: 1. One to one 2. One-to-many (Billing to Profit and loss calculator) 3. Many-to-many (Customer to event and Event to service and customer to service)

NAINA RAISINGHANI PK 500


84

DETAILED DATA REQUIREMENTS Customer

Events

Services

Billing

Customer ID Customer Name NIC details Address

Event ID Event Type

Service ID Service Type

Customer ID Event ID

Description

Description Charges

Service Type Customer Name Event Type

Phone Number

Profit and Loss calculator Total income Location charges Service Charges Labor Charges Miscellaneous charges Total charges

Total service charges Fixed charges Profit Other Loss charges Total charges Advance Payable

PROCESS MODELS AND DETAILED PROCESS I have suggested an iterative model for constructing this project. This means that we can go back to the previous step of the project if we fail at the current step. Also everything is documented and signed by both the analyst and the client â&#x20AC;&#x201C; due to which proof of any decision carried out is available. However it is true that in such s system the user is too involved in every step. STORAGE REQUIREMENT The system as a whole will be stored on a hard disk with backups being made on DVDs periodically. The program is to be stored on one section of the hard disk and kept away from all other data held on the computer system. NETWORK REQUIREMENT I will propose a start topology while connecting all computers because of the advantages it presents: 1. Easy to set up 2. Easy to add/remove computer 3. One computer break down doesnâ&#x20AC;&#x2122;t affect others NAINA RAISINGHANI PK 500


85

4. Speed for each computer is unaffected by traffic 5. Data has a direct link to the server - secure DIALOGUE AND INTERFACE REQUIREMENT I have proposed using a WIMP (Windows, Icons, Menu and Pointers) interface. This because: 1. It is easy to understand 2. Little training of staff will be required 3. View will be pleasing 4. Related operations will be together – easy to find PROGRAMMING REQUIREMENT 1. Operating system: Windows XP minimum 2. Database package: MS Access User friendly software – easy to command and easy to operate help always available Compatible with Visual basic – and since the front end of the operation is Visual Basic – it makes situations ideal Easy to store data – in a organized manner It is easy to create tables It is easy to mark keys as standard, primary, foreign or composite It is easy to create relationships between tables The size, data type and other properties of each field can be easily specified 3. Programming language (front end): Visual basic Easy to use for front end operations User friendly easy to make the interface by dropping options onto the screen Software assist us in writing the codes Allows designing of reports which look professional with minimum hassle Easy to change – in case the current system is not working out – just press delete Easy to code as the coding remains standard for standard operations Data combo tool helps us as it ease the process of connecting MS access to Visual Basic Allows the user to browse through the various record easily – by creating buttons to that effect Validation checks can be sued to ensure that the data is checked as it is entered Log in screens allow restricted access to the program itself.

NAINA RAISINGHANI PK 500


86

UPDATING AND BACK UP SCHEDULE I would suggest backing up information on all detail should in the computer system once very week, as in the event of data loss nearly all of it will be recovered. I would also suggest an archiving solution whereby all closed events are archived every 6 months since nearly every event is wrapped up in 6 months AMOUNT OF STORAGE SPACE REQUIRED The system will not require a large amount of storage space as the program itself requires 1 MB space however installing MS Access and Visual Basic will require space on the system. Also the database back end operation will also take some space therefore I would suggest that 4 GB of hard drive space be made separate for the running for the program. TYPE OF FILE ORGANIZATION We will be using direct access to organize the data. This as: 1. it will be easy to search for data 2. it will be easier to edit data 3. It will be easy to save data 4. Storing data will be easier 5. Since the hard disk uses direct access – so it is the only option available HARDWARE REQUIREMENT The following hardware is suggested: 1. Pentium IV processor: the processor fulfils all the requirements needed for the suggested system to operate. The process is fast and not yet obsolete 2. 256 MB RAM: It is cheap and since it only has to support the operating system and the software, a large amount of space is not needed 3. 80 GB hard disk: The space available on this hard disk is large and can continue to be used for the upcoming many years. It is also economical since you won’t have to buy a new hard disk every few months. 4. DVD RW – Will support the running of software on both DVDs and CDs. Also data can be backed up onto DVDs if USBs are not available 5. Printer (laser or ink jet): It is fast economical and the ink won’t dry out. Also it is doesn’t contribute to the noise pollution – which will keep the environment work friendly 6. Monitor (LCD): The monitor is easier on the eye than is the normal screen. Also occupies less space that does a CRT monitor. 7. Mouse: To navigate between fields – easier than to navigate using keyboard 8. Keyboard: To fill in data into the fields 9. UPS: Since the electricity laves frequently in Pakistan – this will prevent any data loss due to power breakages and data can be saved. Separate UPS for each computer means the computers can operate even when there is no light for a small cost. NAINA RAISINGHANI PK 500


87

10. 4.7 GB DVDs: To back up data periodically. They do not need tom be formatted and are portable. They are also more durable as compared to CDs SOFTWARE REQUIREMENT 1. 2. 3. 4.

Operating system: Windows XP minimum Visual Basic MS Access Driver software to install the following: Printer DVD RW Any other external hardware attached to the computer

NAINA RAISINGHANI PK 500


88

REQUIREMENTS As observed from the data collection stage, the users of the system require for the following specifications to be met: 1. Security system should be made more efficient â&#x20AC;&#x201C; data should be limited in access 2. The backup policy should be improved 3. No hand written notes should be used now in the new system 4. Data should take less time to find than usually does 5. System should be user friendly 6. No employees should be fired 7. Data can be available to print 8. Data should be easy to edit or delete 9. New data should be easy to add 10. Bill should be automatically produced 11. Any wrong data should be impossible to enter 12. Data loss should be easy to handle 13. Data should not need to be entered more than once 14. The new system should allow for changed to be easily implemented 15. Navigation should be made easier

NAINA RAISINGHANI PK 500


89

SYSTEM FEASIBILITY TECHNICAL FEASIBILITY HARDWARE COSTS

Serial No 1 2 3 4 5 6 7 8 9 10

Hardware requirement Intel Centrino 2.0 GHz with motherboard 512 Mb DDR RAM 40 GB hard drive HP DVD RW Monitor Standard QWERTY keyboard PS/2 Mouse HO DeskJet printer Modem A dozen blank DVD RWs

11

A stack of 500 A4 size sheets

12 -

Wireless internet connection Total

Unit Price Rs. 10000 Rs. 1000 Rs. 1000 Rs. 2500 Rs. 10000 Rs. 200 Rs. 200 Rs. 3000 In built Rs. 1000/ per dozen Rs. 300/ 500 sheets Rs. 2000/ month Rs. 31200

Software requirement Microsoft Windows XP MS Visual Basic MS Access 2007 Total

Unit Price Rs. 2000 Rs. 3000 Rs. 3000 Rs. 8000

SOFTWARE COSTS

Serial No 1 2 3 -

While the eventual set up costs will be high as per seen above. These are all onetime costs with few running charges from then on. Also due to increased efficiency and decreased paper trail the system will be seen as less consumptive of capital in the long run as compared to a manual system. OPERATIONAL FEASIBILITY The system is fairly easy to use, no specialized training is not required, this because the system is user friendly with a GUI (Graphical User Interface) format. The excess space used up by files and papers would be eradicated making the process less cumbersome, making the system more hassle free and easy to operate. However some training and time will be required to be spent on the project to make sure the users are well acquainted with the program. NAINA RAISINGHANI PK 500


90

NAINA RAISINGHANI PK 500


91

NATURE OF SOLUTION The suggested solution is a program that will be created in Visual Basic. Its back end will be created and managed by MS Access. During the interviews, each of the people who would be affected by the suggested system stated that the following features needed to be in the new software created: 1. The ability to search for data 2. The ability to add new records 3. The ability to edit data 4. The ability to save edited data 5. The ability to delete data 6. The ability to navigate within records 7. The ability to view reports of certain records 8. The ability to calculate and produce bills The program will have a main log in screen to gain access to the program as a whole. From then on the user can use the main menu to navigate to different screens depending on the action he/ she would like to perform. From then on the user may navigate to the EVENTS, CUSTOMERS, SERVICES, REPORTS, PROFIT AND LOSS CALCULATOR and BILLING. When he navigates into EVENTS, CUSTOMERS and SERVICES, he may ADD, EDIT, SAVE, SEARCH, CLEAR, and DELETE any records. He may also CANCEL any current work or RETURN TO MAIN MENU. When in BILLING the user can combine all information, and create a bill which will include all fixed costs and variable costs to produce a bill per event conducted. In PROFIT AND LOSS CALCULATOR the user can calculate the revenue for a specific term. In REPORTS the user can choose from a host of options and view the results in the form of a report.

NAINA RAISINGHANI PK 500


92

INTENDED BENEFITS The user will be able to obtain the following advantages from the new system: 1. The new system will be completely computerized. The event management company will not be expected to maintain any data on paper. Due to this the following problems will be eliminated: This expense of stationery was usually passed on to the customer during the billing process; this made the venture expensive for the clients. Also since all data is maintained on files, they are liable to get lost, due to this more time must be sent re-entering all the necessary data. 2. There will be security as only people with the log in user name and password will have access to all the data. 3. Data will be easy to search for, as the user will only have to enter the search parameters and the computer will display the result within milliseconds 4. It will be easy to add data, as it will be as simple as entering data into the required fields and clicking ADD 5. It will be easier to edit data as the user will have to run a search for the record to be edited, make the required changes and then click SAVE 6. It will be easier to delete data as the user will have to run a search for the required record and then confirm his preference to delete the record. 7. Producing bills will be easier as the computer will be performing all the required calculations 8. Since all the data will be held in consistent font which is legible to all, there will be no problem of interpreting data wrong. 9. Since all data is held on one central system â&#x20AC;&#x201C; a change made here will be reflected in all records. 10. Since the system is made in a Graphical User Interface it will be easy to use â&#x20AC;&#x201C; there will be no need for extensive training of personnel. 11. Since all data is contained in relevant fields it will be easier to find information within a certain record. 12. As long as data is backed up frequently and the suggested back up strategy is followed, the data will remain secure.

NAINA RAISINGHANI PK 500


93

LIMITS OF THE SCOPE OF THE SOLUTION LIMITATIONS OF SUGGESTED SOLUTION While the suggested solution of a program in Visual Basic with a back end in MS Access presents many possible advantages it also presents a few disadvantages. These are as stated below: 1. Since the user name and password are only requested at entrance, if the application is left logged in, any one will gain access to all the data 2. Since security is only present at the entrance, any person with the user name and password gains access to all data. 3. The program can only be accessed by one user at a time 4. Even after a long period of inactivity whereby one leaves the computer unhandled, the program remains open, meaning any new person (without security clearance) can access the data. The user would much rather prefer a system whereby after a fixed period of lack of activity the program automatically logs out. 5. Since the application has not been linked to a printer, the data cannot be printed out at this stage. This means that users will have to refer to a computer screen at all times. 6. Since the software is not networked, all data will have to be held on one central computer only, data from different computers can’t be merged. 7. Since the software is not connected to a network branches of the company all over the country cannot be linked together. 8. Since all the data will be held on a computer – it means that particular will face heavy usage. 9. Also since all the data is held on one central computer, means during peak times, people will have to wait to gain access to data – meaning customers will have to wait. 10. Since the software is not connected directly to a credit card machine – transactions won’t be dealt with using this software. 11. Since the software is not connected to a credit card machine, the customer can’t use any special policies from his credit cards (such as reward points, etc.) to pay for the services.

NAINA RAISINGHANI PK 500


94

ESTIMATED FILE SIZE Billing No. 1 2 3 4 5 6 7 8 9 10 11 12 13

Name BillNo CustomerID EventID EmployeeID Location GrandTotal ServiceCharges FixedCharges OtherCharges Advance Payable dateBooking dateHeld

Type Text Text Text Text Text Currency Currency Currency Currency Currency Currency Date Date

Width 3 3 3 3 100 7 7 7 7 7 7 8 8

Size of one record: 170 bytes Number of records: 1000 Size of all records together: 170000 bytes Overflow: 10% x 174000 = 17000 bytes Total size of file: 170000 + 17000 = 187000 bytes = 182.62 kilobytes Customers No. 1 2 3 4 5

Name CustomerID CustomerName NIC Address PhoneNumber

Type Text Text Text Memo Text

Size of one record: 173 bytes Number of records: 1000 Size of all records together: 173000 bytes Overflow: 10% x 173000 = 17300 bytes Total size of file: 173000 + 17300 = 190300 bytes = 185.84 kilobytes

NAINA RAISINGHANI PK 500

Width 3 40 15 100 15


95

Employees No. 1 2 3 4 5

Name EmployeeID EmployeeName EmployeeNIC EmployeeAddress EmployeeRemarks

Type Text Text Text Memo Memo

Width 3 40 15 100 250

Size of one record: 408 bytes Number of records: 100 Size of all records together: 40800 bytes Overflow: 10% x 40800 = 4080 bytes Total size of file:40800 + 4080 = 44880 bytes = 43.83 kilobytes Events No. 1 2 3 4

Name EventID Name/Type Description Charges

Type Text Text Memo Currency

Width 3 100 250 7

Size of one record: 360 bytes Number of records: 100 Size of all records together: 36000 bytes Overflow: 10% x 36000 = 3600 bytes Total size of file: 36000 + 3600 =39600 bytes = 38.67 kilobytes Services No. 1 2 3 4

Name ServiceID ServiceType Description Charges

Type Text Text Memo Currency

Size of one record: 360 bytes Number of records: 100 Size of all records together: 36000 bytes Overflow: 10% x 36000 = 3600 bytes Total size of file: 36000 + 3600 =39600 bytes = 38.67 kilobytes

NAINA RAISINGHANI PK 500

Width 3 100 250 7


96

Temp No. 1 2 3 4 5 6

Name CustomerID EmployeeID EventID ServiceID Charges Date

Type Text Text Text Text Currency Date

Width 3 3 3 3 7 8

Size of one record: 27 bytes Number of records: 1000 Size of all records together: 27000 bytes Overflow: 10% x 29000 = 2700 bytes Total size of file: 29700 bytes = 29 kilobytes Total size of database 187000 + 190300 + 44880 + 39600 + 39600 + 29700 = 531080 bytes = 518.63 kilobytes = 0.51 megabytes

NAINA RAISINGHANI PK 500


97

OPTION TREE frmLogin

frmMainMenu

frmCustomers

frmEmployees

frmEvents

frmServices

frmBilling

frmReports

cmdAdd

cmdNew

cmdAdd

cmdAdd

cmdAdd

dtrBill

cmdSearch

cmdSearch

cmdSearch

cmdSearch

cmdCan

dtrServices

cmdEdit

cmdEdit

cmdEdit

cmdEdit

cmdNew

dtrEvents

cmdSave

cmdSave

cmdSave

cmdSave

cmdSave

dtrServicesAll

cmdDelete

cmdDelete

cmdDelete

cmdDelete

cmdDelete

dtrEmployees

cmdCancel

cmdCancel

cmdCancel

cmdCancel

cmdCancel

dtrCustomers

dtrBillsAll

NAINA RAISINGHANI PK 500

frmHelp


98

GANTT CHART

NAINA RAISINGHANI PK 500


99

INPUT DESIGN

Fig 1 – Log in screen


100

Fig 2 – Main Menu

NAINA RAISINGHANI PK 500


101

Fig 3 – Employees Menu

NAINA RAISINGHANI PK 500


102

Fig 4 – Events Menu

NAINA RAISINGHANI PK 500


103

Fig 5– Services Menu

NAINA RAISINGHANI PK 500


104

Fig 6– Customers Menu

NAINA RAISINGHANI PK 500


105

Fig 7– Billing Menu

NAINA RAISINGHANI PK 500


106

OUTPUT DESIGN

Fig 8– Reports Menu

NAINA RAISINGHANI PK 500


107

DATA STRUCTURES/ MODELS Entity Relationship Diagram:

NAINA RAISINGHANI PK 500


108

Data Dictionary Billing No. 1 2 3 4 5 6 7 8 9 10 11 12 13

Name BillNo CustomerID EventID EmployeeID Location GrandTotal ServiceCharges FixedCharges OtherCharges Advance Payable dateBooking dateHeld

Type Text Text Text Text Text Currency Currency Currency Currency Currency Currency Date Date

Width 3 3 3 3 100 7 7 7 7 7 7 8 8

Name CustomerID CustomerName NIC Address PhoneNumber

Type Text Text Text Memo Text

Width 3 40 15 100 15

No. 1 2 3 4 5

Name EmployeeID EmployeeName EmployeeNIC EmployeeAddress EmployeeRemarks

Type Text Text Text Memo Memo

Width 3 40 15 100 250

No. 1 2 3

Name EventID Name/Type Description

Type Text Text Memo

Width 3 100 250

Customers No. 1 2 3 4 5 Employees

Events

NAINA RAISINGHANI PK 500


109

4

Charges

Currency

7

Services No. 1 2 3 4

Name ServiceID ServiceType Description Charges

Type Text Text Memo Currency

Width 3 100 250 7

No. 1 2 3 4 5 6

Name CustomerID EmployeeID EventID ServiceID Charges Date

Type Text Text Text Text Currency Date

Width 3 3 3 3 7 8

Temp

NAINA RAISINGHANI PK 500


110

PSEUDO CODES MAIN MENU START Initialize Variables and Environment Do While True Begin Display Menu Options 1: Employee 2: Events 3: Services 4: Customers 5: Billing 6: Profit and loss statement 7: Reports 8: Return to log in 9: Exit End(Display of menu options) Input Choice Do Case Case Choice=1 Do Employee Case Choice=2 Do Events Case Choice=3 Do Services Case Choice=4 Do Customers Case Choice=5 Do Billing Case Choice=6 Do Profit and loss statement Case Choice=7 Do Reports Case Choice=8 Do Return to log in Case Choice=9 Close all files Clear all variables

Endcase Enddo END

NAINA RAISINGHANI PK 500


111

EVENTS MENU NEW Routine cmdnew START Initialize Variables and Environment Use dbevent Input Event ID Search for Event ID in the dbevent Table IF Found Output ’Event ID already exists’ ELSE Input ‘Event name, Event ID, Name/ Type, Description.’ Validate the data If any error then output “Error Message” ENDIF INPUT ‘Do you want to save This Record’ IF answer is ‘Yes’ Write ‘Event name, Event ID, Name/ Type, Description to dbevent.dbf ENDIF EDIT Routine cmdedit START Initialize variable and environment Use dbevent Do While True Input Event ID Search for Event ID in the dbevent table IF Not Found Output ’Record not found’ ELSE Display ‘Event name, Event ID, Name/ Type, Description.’ Update fields INPUT ‘Do you want to save Changes’ IF answer is ‘Yes’ Write Changes to dbevent.dbf ENDIF ENDIF NAINA RAISINGHANI PK 500


112

INPUT ‘Do you want to Edit more Records’ ENDDO SEARCH Routine cmdfind START Initialize variable and environment Use dbevent Do While True Input Event ID Search for Event ID in the dbevent table IF Not Found Output ‘Record not found ELSE Display ‘Event name, Event ID, Name/ Type, Description.’ Close all files Clear all variables Return to main menu ENDIF ENDDO DELETE Routine cmddelete START Initialize variable and environment Use dbevent Do While True Input Event ID Search for Event ID in dbevent.dbf IF Not Found Output ‘Record not found’ ELSE Display ‘Event name, Event ID, Name/ Type, Description.’ INPUT ‘Do you want to Delete this record’ IF answer is ‘Yes’ Delete record Write Changes to dbevent.dbf ELSE Close all files NAINA RAISINGHANI PK 500


113

Clear all variables Return to main menu ENDIF ENDDO NOTE: Please note that the SAVE button is incorporated into the EDIT button

NAINA RAISINGHANI PK 500


114

NAINA RAISINGHANI PK 500


115

PROGRAMMING LOG IN Option Explicit Public LoginSucceeded As Boolean Private Sub cmdCancel_Click() ‘If the user clicks the command CANCEL the log-in screen is closed’ LoginSucceeded = False Me.Hide End Sub Private Sub cmdOK_Click() ‘Checks for correct password and username’ If txtUserName = "naina92" And txtPassword = "5620117" Then ‘If the password and username fit the parameters the "IF" clause is executed, whereby the log-in screen is hidden and the main menu shown.’ LoginSucceeded = True Me.Hide frmMainMenu.Show Else ‘If the password and the username entered do not fit the parameters then this else clause is carried out and a message box appears informing the user that the entered data is invalid’ MsgBox "Invalid Password, try again!", , "Login" ‘After the message box is removed by the user the following commands will erase the two fields and move the cursor to the user name field.’ txtUserName.Text = "" txtPassword.Text = "" txtUserName.SetFocus SendKeys "{Home}+{End}" End If End Sub

NAINA RAISINGHANI PK 500


116

MAIN MENU Private Sub cmdback_Click() ‘By clicking on this button the user quits the main menu and enters the LOG IN menu’ Me.Hide frmLogin.Show End Sub Private Sub cmdCLose_Click() ‘By clicking on this button the user quits the program’ End End Sub Private Sub cmdCustomers_Click() ‘By clicking on this button the user quits the main menu and enters the CUSTOMERS menu’ Me.Hide frmCustomers.Show End Sub Private Sub cmdBilling_Click() ‘By clicking on this button the user quits the main menu and enters the BILLING menu’ Me.Hide frmBilling.Show End Sub Private Sub cmdemployees_Click() ‘By clicking on this button the user quits the main menu and enters the EMPLOYEES menu’ Me.Hide Form1.Show End Sub Private Sub cmdEvents_Click() NAINA RAISINGHANI PK 500


117

‘By clicking on this button the user quits the main menu and enters the EVENTS menu’ Me.Hide frmOptions.Show End Sub Private Sub cmdReports_Click() ‘By clicking on this button the user quits the main menu and enters the REPORTS menu’ Me.Hide frmReports.Show End Sub Private Sub cmdservices_Click() ‘By clicking on this button the user quits the main menu and enters the SERVICES menu’ Me.Hide frmServices.Show End Sub Private Sub cmdHelp_Click() ‘Hides the main menu’ Me.Hide ‘Opens the help browser’ frmBrowser.Show End Sub

NAINA RAISINGHANI PK 500


118

EMPLOYEES Private Sub cmdback_Click() ‘Quits this menu and goes back to the Main Menu’ Me.Hide frmMainMenu.Show End Sub Private Sub cmdCLose_Click() ‘The program closes’ End End Sub Private Sub cmdDelete_Click() Dim X As String X = InputBox("Enter the employee ID that you want to delete.", "Enter Information") ‘If the user clicks on CANCEL this function is terminated. ’ If X = "" Then Exit Sub Else ‘Moves cursor in the database to the first record’ Adodc1.Recordset.MoveFirst ‘Runs a search for the ID specified’ Adodc1.Recordset.Find ("EmployeeID=" & "'" & X & "'") ‘If even at the end of the file the record is not found it shows an error’ If Adodc1.Recordset.EOF Then MsgBox "Record not found.", vbOKOnly, "Error!!" Else ‘If a record is found, an input box appears asking the user if they want to delete the record.’ a = MsgBox("Are you sure you want to delete this record?", vbYesNo, "Alert!!") ‘If the user clicks on yes, the record is deleted, a message informing the user of the action is shown and the first record in the file is shown. ’ If a = vbYes Then Adodc1.Recordset.Delete NAINA RAISINGHANI PK 500


119

MsgBox "The record has been deleted.", vbOKOnly, "Done!!" Adodc1.Refresh End If End If End If End Sub Private Sub cmdEdit_Click() 'File pointer will be set on the first record of the employee's table' Dim s As String ‘Moves the cursor to the first record in the file’ Adodc1.Recordset.MoveFirst ‘Input the ID of the employee whom you are looking for’ s = InputBox("Enter employee's ID:") ‘If CANCEL is clicked the program is terminated’ If s = "" Then Exit Sub Else ‘If the user does not click on CANCEL and instead fills in a value in the field, the cursor starts searching for the ID entered’ Adodc1.Recordset.Find ("EmployeeID=" & "'" & s & "'") End If If Adodc1.Recordset.EOF Then 'If no record found, error message will be displayed' MsgBox "No Match Found", vbExclamation, "Please enter a registered employee ID" 'File pointer will move towards the first record of the table' Adodc1.Recordset.MoveFirst End If ‘Once the record has been displayed for edit the SAVE button is enabled.’ cmdSave.Enabled = True End Sub Private Sub cmdFirst_Click() NAINA RAISINGHANI PK 500


120

‘If the record being viewed is not the first record of the file, the first one is displayed’ If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst If Adodc1.Recordset.BOF Then ‘If the record being displayed is already the first one, a message appears informing the user of that.’ MsgBox ("This is the first record!") Adodc1.Recordset.MoveNext End If End If End Sub Private Sub cmdHome_Click() ‘the program goes back to the MAIN MENU’ Me.Hide frmMainMenu.Show End Sub Private Sub cmdLast_Click() ‘If the record being viewed is not the last, the last record is shown.’ If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast ‘If the record being viewed is the last, then a message appears informing the user of that and the second last record shows.’ If Adodc1.Recordset.EOF Then MsgBox ("This is the last record!!") Adodc1.Recordset.MovePrevious End If End If End Sub Private Sub cmdNew_Click() 'Refresh the doctor's table' Adodc1.Refresh NAINA RAISINGHANI PK 500


121

'Set the pointer for position new record' Adodc1.Recordset.AddNew 'Command button NEW is disabled' cmdNew.Enabled = False 'Command button SAVE is enabled' cmdSave.Enabled = True End Sub Private Sub cmdnext_Click() ‘If the last record is not being showed, the next record is shown.’ If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveNext ‘However if the user is viewing the last record an error message informs the user of that.’ If Adodc1.Recordset.EOF Then MsgBox ("This is the last record!!") Adodc1.Recordset.MovePrevious End If End If End Sub

Private Sub cmdPrevious_Click() ‘If the record being viewed is not the first then the previous record is shown.’ If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MovePrevious ‘If the user is currently viewing the first record, then an error message shows informing the user of that.’ If Adodc1.Recordset.BOF Then MsgBox ("This is the first record!") Adodc1.Recordset.MoveNext End If End If End Sub Private Sub cmdsave_Click() NAINA RAISINGHANI PK 500


122

‘If all the fields have been left empty and SAVE is clicked a message informs the user of that and the cursor moves to the EMPLOYEE ID field.’ If txtempID = Empty And txtNIC = Empty And txtaddress = Empty And txtremarks = Empty And txtempName = Empty Then MsgBox ("All fields have been left empty, please fill them in.") txtempID.SetFocus Exit Sub End If ‘If the field EMPLOYEE ID has been left empty and SAVE is clicked a message informs the user of that and the cursor moves to the EMPLOYEE ID field.’ If txtempID = Empty Then MsgBox ("The employee ID has not been entered") txtempID.SetFocus Exit Sub End If ‘If the field EMPLOYEE NAME has been left empty and SAVE is clicked a message informs the user of that and the cursor moves to the EMPLOYEE NAME field.’ If txtempName = Empty Then MsgBox ("The employee's name has not been entered") txtempName.SetFocus Exit Sub End If ‘If the field EMPLOYEE NIC has been left empty and SAVE is clicked a message informs the user of that and the cursor moves to the EMPLOYEE NIC field.’ If txtNIC = Empty Then MsgBox ("The NIC has not been entered") txtNIC.SetFocus Exit Sub End If ‘If the field EMPLOYEE ADDRESS has been left empty and SAVE is clicked a message informs the user of that and the cursor moves to the EMPLOYEE ADDRESS field.’ If txtaddress = Empty Then MsgBox ("The address has not been entered") txtaddress.SetFocus Exit Sub End If ‘If the field EMPLOYEE REMARKS has been left empty and SAVE is clicked a message informs the user of that and the cursor moves to the EMPLOYEE REMARKS field.’ If txtremarks = Empty Then NAINA RAISINGHANI PK 500


123

MsgBox ("The remarks have been left blank.") txtremarks.SetFocus Exit Sub End If 'Record will be saved in the doctor's table' Adodc1.Recordset.Update 'Command button NEW is enabled' cmdNew.Enabled = True 'Command button SAVE is disabled' cmdSave.Enabled = False ‘A message box appears informing the user’ MsgBox "Changes Saved" End Sub Private Sub cmdSearch_Click() ‘Sets the data type of s to String’ Dim s As String ‘An input box appears asking the input the ID of the employee whom you are running a search for.’ s = InputBox("Enter Employee ID", "INPUT") ‘The program runs through the file searching for a matching record.’ Adodc1.Recordset.Find ("EmployeeID= '" & (s) & "'") ‘If the cursor is it at the end of the file and yet no match has been found a message appears informing the user that no match was found.’ If Adodc1.Recordset.EOF Then MsgBox "No Match Found", vbExclamation, "Please enter a registered employee id" Adodc1.Refresh End If End Sub

Private Sub txtaddress_Change() ‘If the user attempts to enter an address exceeding 250 characters an error appears informing a user that he/she cannot do that and the cursor is set to the address field.’ If (Len(txtaddress.Text) > 250) Then MsgBox ("Address can't exceed 250 characters!") txtaddress.Text = "" End If NAINA RAISINGHANI PK 500


124

End Sub Private Sub txtempID_Change() ‘If the user attempts to enter an ID exceeding 3 characters an error appears informing a user that he/she cannot do that and the cursor is set to the ID field.’ If (Len(txtempID.Text) > 3) Then MsgBox ("ID can't exceed 3 integers!") txtempID.Text = "" End If End Sub Private Sub txtempID_KeyPress(KeyAscii As Integer) ‘Here the command ensures that only numbers are entered into the field if anything besides numbers is entered the field is erased and the cursor is set to that field’ If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) Then MsgBox ("Only numbers are allowed in this field") txtempID.Text = Empty KeyAscii = 0 txtempID.SetFocus End If End Sub Private Sub txtempName_KeyPress(KeyAscii As Integer) 'Here the command ensures that only alphabets are entered into the field if anything besides alphabets is entered the field is erased and the cursor is set to that field' If (KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Then MsgBox ("Only text characters are allowed in this field") txtempName.Text = Empty KeyAscii = 0 txtempName.SetFocus End If End Sub Private Sub txtNIC_Change() ‘If the user attempts to enter a NIC exceeding 15 characters an error appears informing a user that he/she cannot do that and the cursor is set to the NIC field.’ NAINA RAISINGHANI PK 500


125

If (Len(txtNIC.Text) > 15) Then MsgBox ("NIC number can't exceed 15 characters!") txtNIC.Text = "" End If End Sub Private Sub txtNIC_KeyPress(KeyAscii As Integer) ‘Here the command ensures that only numbers and a selected symbol is entered into the field if anything besides numbers or the selected symbol is entered the field is erased and the cursor is set to that field.’ Dim ch As String ch = Chr$(KeyAscii) If Not ((ch = "-") Or (ch >= "0" And ch <= "9")) Then MsgBox ("Only numbers, and - are allowed in this field") KeyAscii = 0 End If End Sub Private Sub txtremarks_Change() ‘If the user attempts to enter a remark exceeding 250 characters an error appears informing a user that he/she cannot do that and the cursor is set to the remark field.’ If (Len(txtremarks.Text) > 250) Then MsgBox ("Address can't exceed 250 characters!") txtremarks.Text = "" End If End Sub

NAINA RAISINGHANI PK 500


126

EVENTS Private Sub cmdAdd_Click() 'Refresh the event's table' Adodc1.Refresh 'Set the pointer for position new record' Adodc1.Recordset.AddNew 'Command button new is disabled' cmdAdd.Enabled = False 'Command button save is enabled' cmdSave.Enabled = True End Sub Private Sub cmdback_Click() ‘Closes this menu and goes back to MAIN MENU.’ Me.Hide frmMainMenu.Show End Sub Private Sub cmdCancel_Click() 'Variable declared for controls' Dim a As Control 'Found each control in the entire form' For Each a In Controls 'If control is text then the value of the text will be set empty' If TypeOf a Is TextBox Then a.Text = "" End If Next End Sub Private Sub cmdCLose_Click() ‘Closes program.’ End End Sub NAINA RAISINGHANI PK 500


127

Private Sub cmdDelete_Click() ‘Sets the data type for X’ Dim X As String ‘After the user enters the value, the value entered becomes the value for X’ X = InputBox("Enter the Event ID that you want to delete.", "Enter Information") ‘If the input field is left blank and CANCEL pressed, the program closes.’ If X = "" Then Exit Sub Else ‘The cursor is set to the first record.’ Adodc1.Recordset.MoveFirst ‘The cursor then looks through the entire file for the record the user wants to search for.’ Adodc1.Recordset.Find ("EventID=" & "'" & X & "'") ‘If no match is found a message box appears informing the user of that.’ If Adodc1.Recordset.EOF Then MsgBox "Record not found.", vbOKOnly, "Error!!" Else ‘if a match is found the program opens up a confirmatory message asking the user to confirm his action.’ a = MsgBox("Are you sure you want to delete this record?", vbYesNo, "Alert!!") ‘If the user clicks on yes, then the record is deleted.’ If a = vbYes Then Adodc1.Recordset.Delete ‘A message appears informing the user that the record has been deleted.’ MsgBox "The record has been deleted.", vbOKOnly, "Done!!" ‘The first record appears on the screen now’ Adodc1.Refresh End If End If End If End Sub Private Sub cmdEdit_Click() NAINA RAISINGHANI PK 500


128

‘Sets a data type for “s”’ Dim s As String 'File pointer will be set on the first record of the event's table' Adodc1.Recordset.MoveFirst 'Find the event ID from the event table' s = InputBox("Enter event's ID:") 'Then if, s is empty, the program will be terminated' If s = "" Then Exit Sub Else 'Find the event's ID from the event table' Adodc1.Recordset.Find ("EventID=" & "'" & s & "'") End If 'File pointer will move towards the end of the table' If Adodc1.Recordset.EOF Then 'If no record found, error message will be displayed' MsgBox "No Match Found", vbExclamation, "Please enter a registered event ID" 'File pointer will move towards the first record of the table' Adodc1.Recordset.MoveFirst End If ‘After the record is displayed, the SAVE button is enabled’ cmdSave.Enabled = True End Sub Private Sub cmdFirst_Click() ‘If the record being viewed is not the first one, then the first one is displayed.’ If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst ‘If the first record is being viewed, a message shows informing the user of that fact and the next record is shown.’ If Adodc1.Recordset.BOF Then MsgBox ("This is the first record!") Adodc1.Recordset.MoveNext End If End If End Sub NAINA RAISINGHANI PK 500


129

Private Sub cmdHome_Click() ‘The menu closes and the MAIN MENU is shown instead.’ Me.Hide frmMainMenu.Show End Sub Private Sub cmdLast_Click() ‘If the record being viewed is not the last, the last record is shown.’ If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast ‘Is the record being viewed is the last, then the following message show and the second last record is shown.’ If Adodc1.Recordset.EOF Then MsgBox ("This is the last record!!") Adodc1.Recordset.MovePrevious End If End If End Sub Private Sub cmdnext_Click() ‘If the last record is not being viewed, then the next record is shown’ If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveNext ‘If the last record is being viewed then a message appears informing the user of that.’ If Adodc1.Recordset.EOF Then MsgBox ("This is the last record!!") ‘Also the second last record is then shown.’ Adodc1.Recordset.MovePrevious End If End If End Sub NAINA RAISINGHANI PK 500


130

Private Sub CmdPre_Click() ‘If the first record is not being viewed, the cursor moves to the previous record’ If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MovePrevious ‘If the record being viewed is the first, a message appears informing the user of that fact.’ If Adodc1.Recordset.BOF Then MsgBox ("This is the first record!") ‘The second record is shown once the user clicks on OK.’ Adodc1.Recordset.MoveNext End If End If End Sub Private Sub cmdsave_Click() ‘If all fields are empty then a message box shows informing the user of that’ If txtEventID = Empty And txtNameType = Empty And txtDescription = Empty And txtcharges = Empty Then MsgBox ("All fields have been left empty please fill them in.") ‘The cursor is set to the Event ID field’ txtEventID.SetFocus Exit Sub End If ‘If the Event ID field is empty then a message box shows informing the user of that’ If txtEventID = Empty Then MsgBox ("The Event ID has not been entered") ‘The cursor is set to the Event ID field’ txtEventID.SetFocus Exit Sub End If ‘If the Event name field is empty then a message box shows informing the user of that’ If txtNameType = Empty Then MsgBox ("The type of Event has not been entered") ‘The cursor is set to the Event Name field’ txtNameType.SetFocus Exit Sub End If NAINA RAISINGHANI PK 500


131

‘If the Event description field is empty then a message box shows informing the user of that’ If txtDescription = Empty Then MsgBox ("The Description of the event has not been entered") ‘The cursor is set to the Event Description field’ txtDescription.SetFocus Exit Sub End If ‘If the Event charge field is empty then a message box shows informing the user of that’ If txtcharges = Empty Then MsgBox ("The basic cost for the event has not been entered") ‘The cursor is set to the Event Charge field’ txtcharges.SetFocus Exit Sub End If 'Record will be saved in the event's table' Adodc1.Recordset.Update 'Command button new is enabled' cmdAdd.Enabled = True 'Command button save is disabled' cmdSave.Enabled = False ‘A message shows informing the user that changes have been saved.’ MsgBox "Changes saved" End Sub Private Sub cmdSearch_Click() ‘Sets the data type as String’ Dim s As String ‘The value of s is set to the value entered by the user’ s = InputBox("Enter Event ID", "INPUT") ‘The cursor goes through the file searching for the record’ Adodc1.Recordset.Find ("EventID= '" & (s) & "'") ‘If the cursor come to the end of the file and no match is found the following message appears’ If Adodc1.Recordset.EOF Then MsgBox "No Match Found", vbExclamation, "Please enter a registered event ID" Adodc1.Refresh End If NAINA RAISINGHANI PK 500


132

End Sub Private Sub txtDescription_Change() ‘If the number of characters in this field exceeds 250 a message shows informing the user of the error and the field is made blank.’ If (Len(txtDescription.Text) > 250) Then MsgBox ("The number of characters in this field cannot exceed 250") txtDescription.Text = "" End If End Sub Private Sub txtEventID_Change() ‘If the number of characters in this field exceeds 3 a message shows informing the user of the error and the field is made blank.’ If (Len(txtEventID.Text) > 3) Then MsgBox ("Event ID can't exceed 3 integers!") txtEventID.Text = "" End If End Sub Private Sub txtCharges_Change() ‘If the number of characters in this field exceeds 7 a message shows informing the user of the error and the field is made blank.’ If (Len(txtcharges.Text) > 7) Then MsgBox ("Charge can't exceed 7 integers!") txtcharges.Text = "" End If End Sub Private Sub txtCharges_KeyPress(KeyAscii As Integer) ‘If the user attempts to enter anything other than a number an error shows informing the user of that.’ If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) Then MsgBox ("Only numbers are allowed in this field") ‘The field is erased.’ txtcharges.Text = Empty NAINA RAISINGHANI PK 500


133

KeyAscii = 0 ‘The cursor is set to the field CHARGES’ txtcharges.SetFocus End If End Sub Private Sub txtEventID_KeyPress(KeyAscii As Integer) ‘If the user attempts to enter anything other than a number an error shows informing the user of that.’ If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) Then MsgBox ("Only numbers are allowed in this field") ‘The field is erased.’ txtEventID.Text = Empty KeyAscii = 0 ‘The cursor is set to the field EVENT ID’ txtEventID.SetFocus End If End Sub Private Sub _Change() ‘If the number of characters in this field exceeds 100 a message shows informing the user of the error and the field is made blank.’ If (Len(txtNameType.Text) > 100) Then MsgBox ("This field can't exceed 100 characters") txtNameType.Text = "" End If End Sub

NAINA RAISINGHANI PK 500


134

CUSTOMERS Private Sub cmdAdd_Click() 'Refresh the doctor's table' Adodc1.Refresh 'Set the pointer for position new record' Adodc1.Recordset.AddNew 'Command button new is disabled' cmdAdd.Enabled = False 'Command button save is enabled' cmdSave.Enabled = True End Sub Private Sub cmdback_Click() ‘Goes back to the main menu and hides the current screen’ Me.Hide frmMainMenu.Show End Sub Private Sub cmdCancel_Click() 'Variable declared for controls' Dim a As Control 'Found each control in the entire form' For Each a In Controls 'If control is text then the value of the text will be set empty' ‘If a is a textbox then the action in the parameters is carried out.’ If TypeOf a Is TextBox Then ‘Erases all fields’ a.Text = "" End If Next End Sub Private Sub cmdCLose_Click() ‘Closes the program’ End NAINA RAISINGHANI PK 500


135

End Sub Private Sub cmdDelete_Click() ‘Sets the data type of X to string’ Dim X As String ‘The value of x becomes that of the value entered by the user.’ X = InputBox("Enter the Customer ID that you want to delete.", "Enter Information") ‘If the user clicks CANCEL or leaves it blank then the routine is exited.’ If X = "" Then Exit Sub Else ‘Sets the cursor to the first record in the file’ Adodc1.Recordset.MoveFirst ‘Runs through the file for the matching record’ Adodc1.Recordset.Find ("CustomerID=" & "'" & X & "'") ‘If it approaches the end of the file and no match is found, then an error shows’ If Adodc1.Recordset.EOF Then MsgBox "Record not found.", vbOKOnly, "Error!!" Else ‘However if a match is found then a message shows asking the user to confirm if he wants the record deleted o not.’ a = MsgBox("Are you sure you want to delete this record?", vbYesNo, "Alert!!") ‘If the user clicks on yes then the record is deleted and a message appears informing the user of that.’ If a = vbYes Then Adodc1.Recordset.Delete MsgBox "The record has been deleted.", vbOKOnly, "Done!!" ‘The first record is displayed on the screen again.’ Adodc1.Refresh End If End If End If End Sub Private Sub cmdEdit_Click() NAINA RAISINGHANI PK 500


136

‘Sets the data type for s as string’ Dim s As String 'File pointer will be set on the first record of the customer's table' Adodc1.Recordset.MoveFirst 'Find the customer ID from the customer table' s = InputBox("Enter customer's ID:") 'Then if, s is empty, the program will be terminated' If s = "" Then Exit Sub Else 'Find the customer's ID from the customer table' Adodc1.Recordset.Find ("CustomerID=" & "'" & s & "'") End If 'File pointer will move towards the end of the table' If Adodc1.Recordset.EOF Then 'If no record found, error message will be displayed' MsgBox "No Match Found", vbExclamation, "Please enter a registered customer ID" ‘Pointer will move towards the first record of the table' Adodc1.Recordset.MoveFirst 'File End If ‘Enables the save button’ cmdSave.Enabled = True End Sub Private Sub cmdFirst_Click() ‘If the first record is not being viewed then it moves to the first record.’ If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst ‘If the first record is being viewed then a message shows informing the user of that and the second record is shown.’ If Adodc1.Recordset.BOF Then MsgBox ("This is the first record!") Adodc1.Recordset.MoveNext End If End If NAINA RAISINGHANI PK 500


137

End Sub Private Sub cmdHome_Click() ‘This screen is closed and the MAIN MENU shows’ Me.Hide frmMainMenu.Show End Sub Private Sub cmdLast_Click() ‘If the last record is not being viewed then it moves to the last record.’ If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast ‘If the last record is being viewed then a message shows informing the user of that and the second last record is shown.’ If Adodc1.Recordset.EOF Then MsgBox ("This is the last record!!") Adodc1.Recordset.MovePrevious End If End If End Sub Private Sub cmdnext_Click() ‘If the last record is not being viewed then it moves to the next record.’ If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveNext ‘If the last record is being viewed then a message shows informing the user of that and the second last record is shown.’ If Adodc1.Recordset.EOF Then MsgBox ("This is the last record!!") Adodc1.Recordset.MovePrevious End If End If End Sub NAINA RAISINGHANI PK 500


138

Private Sub CmdPre_Click() ‘If the first record is not being viewed then it moves to the previous record.’ If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MovePrevious ‘If the first record is being viewed then a message shows informing the user of that and the next record is shown.’ If Adodc1.Recordset.BOF Then MsgBox ("This is the first record!") Adodc1.Recordset.MoveNext End If End If End Sub Private Sub cmdsave_Click() ‘If all fields are empty then a message box shows informing the user of that’ If txtCustomerID = Empty And txtName = Empty And Text1 = Empty And txtAddress = Empty And txtPhoneNo = Empty Then MsgBox ("All fields have been left empty, please fill them in.") ‘The cursor is set to the Customer ID field’ txtCustomerID.SetFocus Exit Sub End If ‘If the Event ID field is empty then a message box shows informing the user of that’ If txtCustomerID = Empty Then MsgBox ("The customer ID has not been entered") ‘The cursor is set to the customer ID field’ txtCustomerID.SetFocus Exit Sub End If ‘If the Event name field is empty then a message box shows informing the user of that’ If txtName = Empty Then MsgBox ("The customer name has not been entered") ‘The cursor is set to the Customer Name field’ txtName.SetFocus Exit Sub End If ‘If the NIC field is left empty then a message box appears informing the user of that.’ NAINA RAISINGHANI PK 500


139

If Text1 = Empty Then MsgBox ("The customer's NIC number has not been entered") ‘The cursor is set to the NIC text box.’ Text1.SetFocus Exit Sub End If ‘If the Address field is left empty then a message box appears informing the user of that.’ If txtAddress = Empty Then MsgBox ("The customer's address has not been entered") ‘The cursor is set to focus on the address field’ txtAddress.SetFocus Exit Sub End If ‘If the phone number field is left empty then a message box appears informing the user of that.’ If txtPhoneNo = Empty Then MsgBox ("The customer's phone number has not been entered") ‘The cursor is set to focus on the phone number field’ txtPhoneNo.SetFocus Exit Sub End If ‘The database is updated’ Adodc1.Recordset.Update 'Command button new is enabled' cmdAdd.Enabled = True 'Command button save is disabled' cmdSave.Enabled = False ‘A message appears informing the user that changes have been saved’ MsgBox "Changes saved!" End Sub Private Sub cmdSearch_Click() ‘Sets the data type for s to string’ Dim s As String ‘The value entered by the user becomes the value assigned to s’ s = InputBox("Enter customer ID", "INPUT") ‘The cursor goes through the whole file searching for a match’ Adodc1.Recordset.Find ("CustomerID= '" & (s) & "'") 'for find out numeric field NAINA RAISINGHANI PK 500


140

‘If the end of the file is reached and not match found then a message shows informing the user of that’ If Adodc1.Recordset.EOF Then MsgBox "No Match Found", vbExclamation, "Please enter a registered customer ID" ‘The file is updated.’ Adodc1.Refresh End If End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) 'Here the command ensures that only numbers and selected symbols are entered into the field if anything besides numbers or the selected symbols is entered the field is erased and the cursor is set to that field' Dim ch As String ch = Chr$(KeyAscii) If Not ((ch = "-") Or (ch >= "0" And ch <= "9")) Then MsgBox ("Only numbers, and - are allowed in this field") KeyAscii = 0 End If End Sub Private Sub Text1_Change() ‘If the number of characters in this field exceeds 15 a message shows informing the user of the error and the field is made blank.’ If (Len(Text1.Text) > 15) Then MsgBox ("NIC number can't exceed 15 characters!") Text1.Text = "" End If End Sub Private Sub txtaddress_Change() ‘If the number of characters in this field exceeds 100 a message shows informing the user of the error and the field is made blank.’ If (Len(txtAddress.Text) > 100) Then MsgBox ("Address can't exceed 100 characters!") NAINA RAISINGHANI PK 500


141

txtAddress.Text = "" End If End Sub Private Sub txtCustomerID_KeyPress(KeyAscii As Integer) 'Here the command ensures that only numbers and selected symbols are entered into the field if anything besides numbers or the selected symbols is entered the field is erased and the cursor is set to that field' If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) Then MsgBox ("Only numbers are allowed in this field") txtCustomerID.Text = Empty KeyAscii = 0 txtCustomerID.SetFocus End If End Sub Private Sub txtCustomerID_Change() ‘If the number of characters in this field exceeds 3 a message shows informing the user of the error and the field is made blank.’ If (Len(txtCustomerID.Text) > 3) Then MsgBox ("Customer ID can't exceed 3 integers!") txtCustomerID.Text = "" End If End Sub Private Sub txtName_KeyPress(KeyAscii As Integer) 'Here the command ensures that only alphabets are entered into the field if anything besides alphabets is entered the field is erased and the cursor is set to that field' If (KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Then MsgBox ("Only text characters are allowed in this field") txtName.Text = Empty KeyAscii = 0 txtName.SetFocus End If End Sub Private Sub txtPhoneNo_KeyPress(KeyAscii As Integer) NAINA RAISINGHANI PK 500


142

â&#x20AC;&#x2DC;Here the command ensures that only numbers and selected symbols are entered into the field if anything besides numbers or the selected symbols is entered the field is erased and the cursor is set to that field' Dim ch As String ch = Chr$(KeyAscii) If Not ((ch = "-") Or (ch >= "0" And ch <= "9")) Then MsgBox ("Only numbers, and - are allowed in this field") KeyAscii = 0 End If End Sub

NAINA RAISINGHANI PK 500


143

SERVICES Private Sub cmdAdd_Click() 'Refresh the service’s table' Adodc1.Refresh 'Set the pointer for position new record' Adodc1.Recordset.AddNew 'Command button new is disabled' cmdAdd.Enabled = False 'Command button save is enabled' cmdSave.Enabled = True End Sub Private Sub cmdback_Click() ‘The screen is closed and the MAIN MENU opens up’ Me.Hide frmMainMenu.Show End Sub Private Sub cmdCancel_Click() 'Variable declared for controls' Dim a As Control 'Finds each control in the entire form' For Each a In Controls ‘If control is text then the value of the text will be set empty' If TypeOf a Is TextBox Then a.Text = "" End If Next End Sub Private Sub cmdCLose_Click() ‘The program closes’ End NAINA RAISINGHANI PK 500


144

End Sub Private Sub cmdDelete_Click() ‘Sets the data type for X’ Dim X As String ‘The value that the user gives in the input box becomes the value of X’ X = InputBox("Enter the Service ID that you want to delete.", "Enter Information") If X = "" Then ‘If X Is left blank or CANCEL clicked the routine is exited’ Exit Sub Else ‘The pointer is set to the first record in the file’ Adodc1.Recordset.MoveFirst ‘The pointer then goes through the whole file looking for a match’ Adodc1.Recordset.Find ("ServiceID=" & "'" & X & "'") ‘If the end of the file is reached and no result is found and error shows informing the user of that.’ If Adodc1.Recordset.EOF Then MsgBox "Record not found.", vbOKOnly, "Error!!" Else ‘If a match is found then a message appears informing the user to confirm if he wants to delete the record or not.’ a = MsgBox("Are you sure you want to delete this record?", vbYesNo, "Alert!!") If a = vbYes Then ‘If the user clicks on YES the record is deleted.’ Adodc1.Recordset.Delete ‘A message appears informing the user that the record has been deleted.’ MsgBox "The record has been deleted.", vbOKOnly, "Done!!" ‘the first record appears on the screen again’ Adodc1.Refresh End If End If End If End Sub Private Sub cmdEdit_Click() NAINA RAISINGHANI PK 500


145

‘Sets the data type for s’ Dim s As String 'File pointer will be set on the first record of the doctor's table' Adodc1.Recordset.MoveFirst 'Find the service ID from the service table' s = InputBox("Enter service's ID:") 'Then if, s is empty, the program will be terminated' If s = "" Then Exit Sub Else 'Find the service's ID from the service table' Adodc1.Recordset.Find ("ServiceID=" & "'" & s & "'") End If 'File pointer will move towards the end of the table' If Adodc1.Recordset.EOF Then 'If no record found, error message will be displayed' MsgBox "No Match Found", vbExclamation, "Please enter a registered service ID" 'File pointer will move towards the first record of the table' Adodc1.Recordset.MoveFirst End If ‘The save button is enabled.’ cmdSave.Enabled = True End Sub Private Sub cmdFirst_Click() ‘If the first record is not being viewed then the first record is shown.’ If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst ‘If the first record is being viewed a message appears informing the user of that and the second record is shown.’ If Adodc1.Recordset.BOF Then MsgBox ("This is the first record!") Adodc1.Recordset.MoveNext End If End If End Sub NAINA RAISINGHANI PK 500


146

Private Sub cmdHome_Click() ‘The screen is closed and the MAIN MENU opens’ Me.Hide frmMainMenu.Show End Sub Private Sub cmdLast_Click() ‘If the last record is not being viewed then the last record shows up.’ If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast ‘If the last record is being viewed then a message appears informing the user of that.’ If Adodc1.Recordset.EOF Then MsgBox ("This is the last record!!") ‘The second last record is then shown.’ Adodc1.Recordset.MovePrevious End If End If End Sub Private Sub cmdnext_Click() ‘If the last record is not being viewed then the next record is shown.’ If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveNext ‘If the last record is being viewed then a message appears informing the user of that and the second last record is shown.’ If Adodc1.Recordset.EOF Then MsgBox ("This is the last record!!") Adodc1.Recordset.MovePrevious End If End If End Sub Private Sub CmdPre_Click() NAINA RAISINGHANI PK 500


147

‘If the first record is not being viewed then the previous record is shown.’ If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MovePrevious ‘If the first record is being viewed then a message appears informing the user of that and the next record is shown.’ If Adodc1.Recordset.BOF Then MsgBox ("This is the first record!") Adodc1.Recordset.MoveNext End If End If End Sub Private Sub cmdsave_Click() ‘If all fields have been left blank then a message appears informing the user of that.’ If txtServiceID = Empty And txtServiceType = Empty And txtCharges = Empty And txtDescription = Empty Then MsgBox ("All fields have been left blank.") ‘The focus is set on the SERVICE ID field.’ txtServiceID.SetFocus Exit Sub End If ‘If the field SERVICE ID has been left blank then a message appears informing the user of that.’ If txtServiceID = Empty Then MsgBox ("The service ID has not been entered") ‘The focus is set on the SERVICE ID field.’ txtServiceID.SetFocus Exit Sub End If ‘If the field SERVICE TYPE has been left blank then a message appears informing the user of that.’ If txtServiceType = Empty Then MsgBox ("The type of service has not been entered") ‘The focus is set on the SERVICE TYPE field.’ txtServiceType.SetFocus Exit Sub End If NAINA RAISINGHANI PK 500


148

‘If the field SERVICE DESCRIPTION has been left blank then a message appears informing the user of that.’ If txtDescription = Empty Then MsgBox ("The service description has not been entered") ‘The focus is set on the SERVICE DESCRIPTION field.’ txtDescription.SetFocus Exit Sub End If ‘If the field SERVICE CHARGE has been left blank then a message appears informing the user of that.’ If txtCharges = Empty Then MsgBox ("The service charge has not been entered") ‘The focus is set on the SERVICE CHARGES field.’ txtCharges.SetFocus Exit Sub End If 'Record will be saved in the doctor's table' Adodc1.Recordset.Update 'Command button new is enabled' cmdAdd.Enabled = True 'Command button save is disabled' cmdSave.Enabled = False MsgBox "Changes saved"

End Sub Private Sub cmdSearch_Click() ‘The data type of s is set to string’ Dim s As String ‘The value of s is set to that of the values entered by the user’ s = InputBox("Enter Service ID", "INPUT") ‘The pointer looks for the record ID entered’ Adodc1.Recordset.Find ("ServiceID= " & (s) & "") ‘If the pointer reaches the end of the file then a message sows informing the user that no match has been found’ If Adodc1.Recordset.EOF Then MsgBox "No Match Found", vbExclamation, "Please enter a registered service ID" ‘The first record is shown on the screen then’ NAINA RAISINGHANI PK 500


149

Adodc1.Refresh End If End Sub Private Sub txtServiceID_Change() ‘If the number of characters in this field exceeds 3 a message shows informing the user of the error and the field is made blank.’ If (Len(txtServiceID.Text) > 3) Then MsgBox ("Service ID can't exceed 3 integers!") txtServiceID.Text = "" End If End Sub Private Sub txtServiceType_Change() ‘If the number of characters in this field exceeds 100 a message shows informing the user of the error and the field is made blank.’ If (Len(txtServiceType.Text) > 100) Then MsgBox ("This field can't exceed 100 characters") txtServiceType.Text = "" End If End Sub Private Sub txtDescription_Change() ‘If the number of characters in this field exceeds 250 a message shows informing the user of the error and the field is made blank.’ If (Len(txtDescription.Text) > 250) Then MsgBox ("The number of characters in this field cannot exceed 250") txtDescription.Text = "" End If End Sub Private Sub txtCharges_Change() ‘If the number of characters in this field exceeds 7 a message shows informing the user of the error and the field is made blank.’ If (Len(txtCharges.Text) > 7) Then MsgBox ("Charge can't exceed 7 integers!") NAINA RAISINGHANI PK 500


150

txtCharges.Text = "" End If End Sub Private Sub txtCharges_KeyPress(KeyAscii As Integer) ‘Here the command ensures that only numbers are entered into the field if anything besides numbers or the selected symbols is entered the field is erased and the cursor is set to that field' If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) Then MsgBox ("Only numbers are allowed in this field") txtCharges.Text = Empty KeyAscii = 0 txtCharges.SetFocus End If End Sub Private Sub txtServiceID_KeyPress(KeyAscii As Integer) ‘Here the command ensures that only numbers are entered into the field if anything besides numbers or the selected symbols is entered the field is erased and the cursor is set to that field' If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) Then MsgBox ("Only numbers are allowed in this field") txtServiceID.Text = Empty KeyAscii = 0 txtServiceID.SetFocus End If End Sub

NAINA RAISINGHANI PK 500


151

REPORTS Private Sub cmdback_Click() ‘Goes back to the MAIN MENU’ Me.Hide frmMainMenu.Show End Sub Private Sub cmdBILLS_Click() ‘Closes the Reports menu and opens up a report showing all the BILLS produced’ Me.Hide DataReport5.Show End Sub Private Sub cmdCLose_Click() ‘Closes the program.’ End End Sub Private Sub cmdCustomers_Click() ‘Closes the Reports menu and opens up a report showing all the CUSTOMERS who have hired the company.’ DataReport2.Show End Sub Private Sub cmdearn_Click() ‘Sets the data type for required.’ Dim required As Currency ‘Gives a value for required by inputting a value into the input box.’ required = InputBox("Enter the minimum amount cost of an event:") If DataEnvironment1.rsCommand1.State Then DataEnvironment1.rsCommand1.Close End If ‘Searches BILLING for the AMOUNT entered by user.’ NAINA RAISINGHANI PK 500


152

DataEnvironment1.rsCommand1.Open ("SELECT * FROM Billing WHERE GrandTotal>= " & required & "") ‘If by the end of the file no match was found a message shows.’ If DataEnvironment1.rsCommand1.EOF Then MsgBox "There is no event that earned greater than the amount specified", vbCritical + vbOKOnly Me.Show Exit Sub End If ‘The result of the search is shown in Data Report 5.’ Load DataReport5 DataReport5.Refresh DataReport5.Show End Sub Private Sub cmdEvents_Click() ‘Closes the Reports menu and opens up a report showing all the EVENTS asked for by all customers.’ DataReport1.Show End Sub Private Sub cmdservices_Click() ‘Closes the Reports menu and opens up a report showing all the SERVICES asked for by all customers.’ DataReport3.Show End Sub Private Sub cmdview_all_employees_Click() ‘Closes the Reports menu and opens up a report showing all the EVENTS asked for by all customers.’ DataReport4.Show End Sub Private Sub cmdfewcustomers_Click() NAINA RAISINGHANI PK 500


153

‘Sets the data type for required.’ Dim required As String ‘Gives a value for required by inputting a value into the input box.’ required = InputBox("Enter the required customer's ID:") If DataEnvironment1.rsCommand1.State Then DataEnvironment1.rsCommand1.Close End If ‘Searches BILLING for the customer ID entered by user.’ DataEnvironment1.rsCommand1.Open ("SELECT * FROM Billing WHERE CustomerID= '" & required & "'") ‘If by the end of the file no match was found a message shows.’ If DataEnvironment1.rsCommand1.EOF Then MsgBox "There is no customer with that ID", vbCritical + vbOKOnly ‘After the user clicks OK the reports menu shows again.’ Me.Show Exit Sub End If ‘The result of the search is shown in Data Report 5.’ Load DataReport5 DataReport5.Refresh DataReport5.Show End Sub Private Sub cmdfewemployees_Click() ‘Sets the data type for required.’ Dim required As String ‘Gives a value for required by inputting a value into the input box.’ required = InputBox("Enter the required employee's ID:") If DataEnvironment1.rsCommand1.State Then DataEnvironment1.rsCommand1.Close End If ‘Searches BILLING for the customer ID entered by user.’ DataEnvironment1.rsCommand1.Open ("SELECT * FROM Billing WHERE EmployeeID= '" & required & "'") ‘If by the end of the file no match was found a message shows.’ If DataEnvironment1.rsCommand1.EOF Then MsgBox "There is no employee with that ID", vbCritical + vbOKOnly ‘After the user clicks OK the reports menu shows again.’ Me.Show Exit Sub End If ‘The result of the search is shown in Data Report 5.’ NAINA RAISINGHANI PK 500


154

Load DataReport5 DataReport5.Refresh DataReport5.Show End Sub

NAINA RAISINGHANI PK 500


155

BILLING ‘Sets the data type for both the variables’ Dim charges As Double Dim no As Integer Private Sub Calendar1_Click() ‘the value for txtDate becomes the one selected from the calendar’ txtDate = Calendar1.Value ‘Unless the user clicks on txtDate the calendar is invisible’ Calendar1.Visible = False End Sub Private Sub cmbCustID_Click() ‘Sets the data type for the variable’ Dim Code As String Adodc1.Refresh ‘The value of code becomes the selected cmbCustID’s value’ Code = cmbCustID ‘The pointer searches the entire file for a value of Code that matches CustomerID’ Adodc1.Recordset.Find ("CustomerID=" & "'" & Code & "'") ‘If the end of file is reached then the file is researched.’ If Adodc1.Recordset.EOF Then Adodc1.Refresh ‘The routine is exited’ Exit Sub End If ‘The value of the stated field becomes that of the Customer Name corresponding go the Customer ID that gave a positive match’ txtCustName = Adodc1.Recordset.Fields(1) End Sub Private Sub cmbEmpID_Click() ‘The date type for the variable is set’ Dim Code As String Adodc3.Refresh ‘The value of code becomes the selected cmbEmpID’s value’ NAINA RAISINGHANI PK 500


156

Code = cmbEmpID ‘The pointer searches the entire file for a value of Code that matches EmployeeID’ Adodc3.Recordset.Find ("EmployeeID=" & "'" & Code & "'") 'for find out string field ‘If the end of file is reached then the file is researched.’ If Adodc3.Recordset.EOF Then Adodc3.Refresh ‘The routine is exited’ Exit Sub End If ‘The value of the stated field becomes that of the Customer Name corresponding go the Customer ID that gave a positive match’ txtEmployeeName = Adodc3.Recordset.Fields(1) End Sub Private Sub cmbEventID_Click() ‘The date type for the variable is set’ Dim Code As String Adodc2.Refresh ‘The value of code becomes the selected cmbEventID’s value’ Code = cmbEventID ‘The pointer searches the entire file for a value of Code that matches EventID’ Adodc2.Recordset.Find ("EventID=" & "'" & Code & "'") 'for find out string field ‘If the end of file is reached then the file is researched.’ If Adodc2.Recordset.EOF Then Adodc2.Refresh ‘The routine is exited’ Exit Sub End If ‘The value of the stated field becomes that of the Customer Name corresponding go the Customer ID that gave a positive match’ txtEventType = Adodc2.Recordset.Fields(1) txtFixedCharges = Adodc2.Recordset.Fields(3) End Sub Private Sub cmbServices_Click() ‘The date type for the variable is set’ NAINA RAISINGHANI PK 500


157

Dim Code As String Adodc4.Refresh ‘The value of code becomes the selected cmbEventID’s value’ Code = cmbServices ‘The pointer searches the entire file for a value of Code that matches ServiceID’ Adodc4.Recordset.Find ("ServiceID=" & "'" & Code & "'") 'for find out string field ‘If the end of file is reached then the file is researched.’ If Adodc4.Recordset.EOF Then Adodc4.Refresh ‘The routine is exited’ Exit Sub End If ‘The value of the stated field becomes that of the Customer Name corresponding go the Customer ID that gave a positive match’ txtServiceName = Adodc4.Recordset.Fields(1) charges = Adodc4.Recordset.Fields(3) End Sub Private Sub cmdAdd_Click() ‘If the field is left empty and OK is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If txtDate = Empty Then MsgBox ("Date field is Empty") txtDate.SetFocus Exit Sub End If ‘If the field is left empty and OK is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If txtLocation = Empty Then MsgBox ("Location field is Empty") txtLocation.SetFocus Exit Sub End If ‘If the field is left empty and OK is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If txtServiceName = Empty Then MsgBox ("No service Id has been selected") txtServiceName.SetFocus NAINA RAISINGHANI PK 500


158

Exit Sub End If

‘Adds the selected service name to the list of services’ lstServicesProvided.AddItem (txtServiceName) ‘Makes sure that once OK is selected all athe other fields above it cannot be changed’ cmbCustID.Enabled = False cmbEventID.Enabled = False cmbEmpID.Enabled = False txtCustName.Enabled = False txtEventType.Enabled = False txtEmployeeName.Enabled = False txtServiceName.Enabled = False txtDate.Enabled = False txtLocation.Enabled = False ‘The value of total service charges becomes its previous value plus the value of the new service’ txtTotalServiceCharges = Val(txtTotalServiceCharges) + charges ‘The value of total charges becomes its previous value plus the value of the fixed charges and other charges.’ txtTotalCharges = Val(txtTotalServiceCharges) + Val(txtFixedCharges) + Val(txtOtherCharges) Adodc5.Refresh ‘Moves to add a new record to relevant file’ Adodc5.Recordset.AddNew ‘Adds each of the following details to the relevant fields in the relevant file’ Adodc5.Recordset.Fields(0) = cmbCustID Adodc5.Recordset.Fields(1) = cmbEmpID Adodc5.Recordset.Fields(2) = cmbEventID Adodc5.Recordset.Fields(3) = cmbServices Adodc5.Recordset.Fields(4) = charges Adodc5.Recordset.Fields(5) = txtDate Adodc5.Recordset.Update End Sub Private Sub cmdback_Click() ‘Hides this screen and opens up the main menu instead’ Me.Hide NAINA RAISINGHANI PK 500


159

frmMainMenu.Show End Sub Private Sub cmdCan_Click() ‘Sets the data type for the variable’ Dim Code As String Adodc5.Refresh ‘Sets the value of code as that of the service you selected from the list’ Code = cmbServices ‘If the list is empty then this routine is exited’ If lstServicesProvided.Text = Empty Then Exit Sub End If ‘Removes the specified service from the list’ lstServicesProvided.RemoveItem (no) Adodc5.Refresh ‘The value of code becomes that of the selected CustID’ Code = cmbCustID ‘The pointer looks through the file looking for a record matching the specified value’ Adodc5.Recordset.Find ("ServiceID=" & "'" & Code & "'") ‘If the pointer reaches the end of the file the routine is exited’ If Adodc5.Recordset.EOF Then Adodc5.Refresh Exit Sub End If ‘It deletes the concerned record from the file’ Adodc5.Recordset.Delete Adodc4.Refresh ‘The pointer looks through the file looking for a record matching the specified value’ Adodc4.Recordset.Find ("ServiceID=" & "'" & Code & "'") ‘If the pointer reaches the end of the file the routine is exited’ If Adodc4.Recordset.EOF Then Adodc4.Refresh Exit Sub End If NAINA RAISINGHANI PK 500


160

‘The value of charges is obtained from the relevant file.’ charges = Adodc4.Recordset.Fields(3) ‘The value of total service charges becomes its previous value minus the value of the new service’ txtTotalServiceCharges = Val(txtTotalServiceCharges) - charges ‘The value of total charges becomes its previous value minus the value charges.’ txtTotalCharges = Val(txtTotalCharges) - charges End Sub Private Sub cmdCancel_Click() ‘Class a routine specifies in another part of the program’ Call Clear End Sub Private Sub cmdCLose_Click(Index As Integer) ‘Ends the program’ End End Sub Private Sub cmdDelete_Click() ‘Sets the data type for the variable’ Dim X As String ‘The value of X becomes the value entered by the user in the input box’ X = InputBox("Enter the Bill Number that you want to delete.", "Enter Information") ‘If X is blank when Ok is clicked on the routine is exited’ If X = "" Then Exit Sub Else ‘The pointer is set to the first record’ Adodc6.Recordset.MoveFirst ‘The pointer searches the file for the relevant bill number’ Adodc6.Recordset.Find ("BillNo=" & "'" & X & "'") ‘If the pointer reaches the end of the file with no result then it shows a message to that affect.’ If Adodc6.Recordset.EOF Then MsgBox "Record not found.", vbOKOnly, "Error!!" NAINA RAISINGHANI PK 500


161

Else ‘If a match is found then it asks the user to confirm if he/she wants to delete the record’ a = MsgBox("Are you sure you want to delete this record?", vbYesNo, "Alert!!") ‘If the user clicks on yes then the record is deleted and a message to that affect appears on the screen’ If a = vbYes Then Adodc6.Recordset.Delete MsgBox "The record has been deleted.", vbOKOnly, "Done!!" Adodc6.Refresh End If End If End If End Sub Private Sub cmdNew_Click()

lstServicesProvided.Clear Call Clear Adodc6.Refresh 'Refresh the Bill table' Adodc6.Recordset.AddNew txt2Date = Date Frame1.Enabled = True End Sub Private Sub cmdsave_Click() ‘If the field is left empty and Save n Print is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If txtBillNo = Empty And cmbCustID = Empty And cmbEventID = Empty And txtDate = Empty And cmbEmployeeID = Empty And txtLocation = Empty And txtPayable = Empty And txtAdvance = Empty Then MsgBox ("All fields have been left blank") txtBillNo.SetFocus Exit Sub NAINA RAISINGHANI PK 500


162

End If ‘If the field is left empty and Save n Print is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If txtBillNo = Empty Then MsgBox ("The Bill number has not been entered") txtBillNo.SetFocus Exit Sub End If ‘If the field is left empty and Save n Print is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If cmbCustID = Empty Then MsgBox ("The customer ID has not been entered") cmbCustID.SetFocus Exit Sub End If ‘If the field is left empty and Save n Print is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If txtEventType = Empty Then MsgBox ("The event ID has not been entered") cmbEventID.SetFocus Exit Sub End If ‘If the field is left empty and Save n Print is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If txtEmployeeName = Empty Then MsgBox ("The employee ID has not been entered") cmbEmpID.SetFocus Exit Sub End If ‘If the field is left empty and Save n Print is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If txtDate = Empty Then MsgBox ("The event date has not been entered") txtDate.SetFocus Exit Sub End If ‘If the field is left empty and Save n Print is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ NAINA RAISINGHANI PK 500


163

If txtLocation = Empty Then MsgBox ("The event location has not been entered") txtLocation.SetFocus Exit Sub End If ‘If the field is left empty and Save n Print is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If txtServiceName = Empty Then MsgBox ("No service ID has been selected") cmbServices.SetFocus Exit Sub End If ‘If the field is left empty and Save n Print is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If txtOtherCharges = Empty Then MsgBox ("The other charges have not been entered") txtOtherCharges.SetFocus Exit Sub End If ‘If the field is left empty and Save n Print is clicked then a message appears informing the user of that and the cursor is set to the empty field.’ If txtAdvance = Empty Then MsgBox ("The advance paid has not been entered") txtAdvance.SetFocus Exit Sub End If Adodc6.Recordset.Update ‘An input box appears asking the user to confirm whether or not he/ she would like to print the record’ a = MsgBox("Are you sure you want to Print this record?", vbYesNo, "Alert!!") ‘If the user clicks YES then this IF clause is carried out’ If a = vbYes Then ‘The data type for the variable is set’ Dim ss As String ss = cmbCustID.Text ‘The bill is shown which’s CustomerID matches the value of the variable ss’ DataEnvironment1.rsBill.Open ("SELECT * FROM Billing WHERE CustomerID= '" & ss & "'") NAINA RAISINGHANI PK 500


164

‘If the end of the file is reached and no match found then the following message appears and the routine is exited’ If DataEnvironment1.rsBill.EOF Then MsgBox "NO RECORD TO SHOW", vbCritical + vbOKOnly Exit Sub End If ‘Opens up the relevant reports’ Load dtrBill dtrBill.Refresh dtrBill.Show ‘Shows a message box informing the user that the services will be printed next’ MsgBox "Print Services" ‘The bill is shown which’s CustomerID matches the value of the variable ss’ DataEnvironment1.rsServices.Open ("SELECT CustomerID,EventID,ServiceID,Charges,Date FROM Temp WHERE CustomerID= '" & ss & "'") ‘If the end of the file is reached and no match found then the following message appears and the routine is exited’ If DataEnvironment1.rsServices.EOF Then MsgBox "NO RECORD TO SHOW", vbCritical + vbOKOnly Exit Sub End If ‘Opens up the relevant reports’ Load dtrServices dtrServices.Refresh dtrServices.Show End If End Sub Private Sub custId() ‘Sets the data type for the relevant variable’ Dim name1 As String Adodc1.Refresh ‘While the pointer is on any record but the last one the clause is executed’ While Adodc1.Recordset.EOF = False ‘The value of name1 is set to that of the specified field in the record’ name1 = Adodc1.Recordset.Fields(0) NAINA RAISINGHANI PK 500


165

‘The specified name1 value is inserted into the combo box’ cmbCustID.AddItem (name1) ‘The cursor moves to the next record’ Adodc1.Recordset.MoveNext Wend End Sub Private Sub eventId() ‘Sets the data type for the relevant variable’ Dim name1 As String Adodc2.Refresh ‘While the pointer is on any record but the last one the clause is executed’ While Adodc2.Recordset.EOF = False ‘The value of name1 is set to that of the specified field in the record’ name1 = Adodc2.Recordset.Fields(0) ‘The specified name1 value is inserted into the combo box’ cmbEventID.AddItem (name1) ‘The cursor moves to the next record’ Adodc2.Recordset.MoveNext Wend End Sub Private Sub empId() ‘Sets the data type for the relevant variable’ Dim name1 As String Adodc3.Refresh ‘While the pointer is on any record but the last one the clause is executed’ While Adodc3.Recordset.EOF = False ‘The value of name1 is set to that of the specified field in the record’ name1 = Adodc3.Recordset.Fields(0) ‘The specified name1 value is inserted into the combo box’ cmbEmpID.AddItem (name1) ‘The cursor moves to the next record’ Adodc3.Recordset.MoveNext Wend End Sub NAINA RAISINGHANI PK 500


166

Private Sub servicesId() ‘Sets the data type for the relevant variable’ Dim name1 As String Adodc4.Refresh ‘While the pointer is on any record but the last one the clause is executed’ While Adodc4.Recordset.EOF = False ‘The value of name1 is set to that of the specified field in the record’ name1 = Adodc4.Recordset.Fields(0) ‘The specified name1 value is inserted into the combo box’ cmbServices.AddItem (name1) ‘The cursor moves to the next record’ Adodc4.Recordset.MoveNext Wend End Sub Private Sub lstServicesProvided_Click() ‘The value of no is set to the number of fields in the list of services’ no = lstServicesProvided.ListIndex End Sub Private Sub txtAdvance_Change() ‘If the number of characters in this field exceeds 7 a message shows informing the user of the error and the field is made blank.’ If (Len(txtAdvance.Text) > 7) Then MsgBox ("Advance can't exceed 7 integers!") txtAdvance.Text = "" End If txtPayable = Val(txtTotalCharges) - Val(txtAdvance) End Sub Private Sub txtAdvance_Click() ‘The value of total charges becomes that of the previous value of total charges plus the value of other charges ’ txtTotalCharges = (Val(txtTotalCharges) + Val(txtOtherCharges)) NAINA RAISINGHANI PK 500


167

‘If no service ID has been selected a message appears informing the user of that and the cursor is set to the aforementioned field ’ If cmbServices = Empty Then MsgBox ("Fill in aforementioned details first") txtBillNo.SetFocus Exit Sub End If End Sub Private Sub txtAdvance_KeyPress(KeyAscii As Integer) ‘Here the command ensures that only numbers are entered into the field if anything besides numbers or the selected symbols is entered the field is erased and the cursor is set to that field' If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) Then MsgBox ("Only numbers are allowed in this field") txtAdvance.Text = Empty KeyAscii = 0 txtAdvance.SetFocus End If End Sub Private Sub txtBillNo_Change() ‘If the number of characters in this field exceeds 3 a message shows informing the user of the error and the field is made blank.’ If (Len(txtBillNo.Text) > 3) Then MsgBox ("Bill number can't exceed 3 integers!") txtBillNo.Text = "" End If End Sub Private Sub txtBillNo_KeyPress(KeyAscii As Integer) ‘Here the command ensures that only numbers are entered into the field if anything besides numbers or the selected symbols is entered the field is erased and the cursor is set to that field' If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) Then MsgBox ("Only numbers are allowed in this field") txtBillNo.Text = Empty KeyAscii = 0 NAINA RAISINGHANI PK 500


168

txtBillNo.SetFocus End If End Sub

Private Sub txtLocation_Change() ‘If the number of characters in this field exceeds 250 a message shows informing the user of the error and the field is made blank.’ If (Len(txtLocation.Text) > 250) Then MsgBox ("The number of characters in this field cannot exceed 250") txtLocation.Text = "" End If End Sub Private Sub txtOtherCharges_Change() ‘If the number of characters in this field exceeds 7 a message shows informing the user of the error and the field is made blank.’ If (Len(txtOtherCharges.Text) > 7) Then MsgBox ("Other charges can't exceed 7 integers!") txtOtherCharges.Text = "" End If End Sub

Private Sub txtOtherCharges_KeyPress(KeyAscii As Integer) ‘Here the command ensures that only numbers are entered into the field if anything besides numbers or the selected symbols is entered the field is erased and the cursor is set to that field' If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) Then MsgBox ("Only numbers are allowed in this field") txtOtherCharges.Text = Empty KeyAscii = 0 txtOtherCharges.SetFocus End If End Sub Private Sub txtDate_Click() NAINA RAISINGHANI PK 500


169

‘Once the user clicks on txtDate the calendar becomes visible’ Calendar1.Visible = True End Sub Private Sub Clear() 'Variable declared for controls' Dim a As Control 'Finds each control in the entire form' For Each a In Controls 'If control is text then the value of the text will be set empty' If TypeOf a Is TextBox Then a.Text = Empty End If Next 'Finds each control in the entire form' For Each a In Controls 'If control is text then the value of the text will be set empty' If TypeOf a Is ComboBox Then a.Text = Empty End If Next

‘The list of services too is cleared’ lstServicesProvided.Clear End Sub

NAINA RAISINGHANI PK 500


170

HELP Option Explicit ‘Sets the data type for the variable’ Public StartingAddress As String ‘Sets the data type for the variable’ Dim mbDontNavigateNow As Boolean Private Sub Form_Load()

On Error Resume Next Me.Show tbToolBar.Refresh Form_Resize 'This is the path of the help file’ StartingAddress = "\\Server-2\Students' Data on Server-2\Naina1\Help.htm" If Len(StartingAddress) > 0 Then ‘Tries to navigate to the starting addresses timTimer.Enabled = True brwWebBrowser.Navigate StartingAddress End If End Sub Private Sub brwWebBrowser_DownloadComplete() On Error Resume Next ‘The browser’s caption is the location name given to it’ Me.Caption = brwWebBrowser.LocationName End Sub Private Sub brwWebBrowser_NavigateComplete(ByVal URL As String) ‘Sets the data type for the variable’ Dim i As Integer ‘Sets the data type for the variable’ Dim bFound As Boolean ‘The browser’s caption is the location name given to it’ Me.Caption = brwWebBrowser.LocationName mbDontNavigateNow = True NAINA RAISINGHANI PK 500


171

End Sub Private Sub Form_Resize() ‘Sets the width for the browser screen’ brwWebBrowser.Width = Me.ScaleWidth - 100 ‘Sets the height for the browser screen’ brwWebBrowser.Height = Me.ScaleHeight - (picAddress.Top + picAddress.Height) - 100 End Sub Private Sub timTimer_Timer() ‘If the browser is not in use then the following operation is carried out’ If brwWebBrowser.Busy = False Then ‘The timer is stopped’ timTimer.Enabled = False ‘The browser’s caption is the location name given to it’ Me.Caption = brwWebBrowser.LocationName Else ‘If the browser is in use the following caption shows’ Me.Caption = "Working..." End If End Sub Private Sub tbToolBar_ButtonClick(ByVal Button As Button)

On Error Resume Next ‘The timer is set to on’ timTimer.Enabled = True ‘If the user selects back the operation is carried out’ Select Case Button.Key Case "Back" brwWebBrowser.GoBack ‘If the user selects forward the operation is carried out’ Case "Forward" brwWebBrowser.GoForward NAINA RAISINGHANI PK 500


172

‘If the user selects refresh the operation is carried out’ Case "Refresh" brwWebBrowser.Refresh ‘If the user selects home the operation is carried out’ Case "Home" Unload Me Form1.Show ‘If the user selects search the operation is carried out’ Case "Search" brwWebBrowser.GoSearch ‘If the user selects stop the following operation is carried out’ Case "Stop" timTimer.Enabled = False brwWebBrowser.Stop ‘The browser’s caption is the location name given to it’ Me.Caption = brwWebBrowser.LocationName End Select End Sub

NAINA RAISINGHANI PK 500


173

SCREEN SHOTS DATABASE DESIGN VIEWS Fig 1 (i): Below is a screenshot of the Customers table in Design view

NAINA RAISINGHANI PK 500


174

Fig 1 (ii): Below is a screenshot of the Employees table in Design view

NAINA RAISINGHANI PK 500


175 Fig 1 (iii): Below is a screenshot of the Events table in Design view

Fig 1 (iv): Below is a screenshot of the Services table in Design view

NAINA RAISINGHANI PK 500


176

Fig 1 (v): Below is a screenshot of the Billing table in Design view

NAINA RAISINGHANI PK 500


177 Fig 1 (vi): Below is a screenshot of the temp table in Design view

NAINA RAISINGHANI PK 500


178

ENTITY RELATIONSHIP DIAGRAM Fig 2:

Explanation of relations: 1. One employee can be hired by many customers 2. One customer can hire many employees 3. One event can be planned for many customers 4. One customer can hire the company to plan many events 5. One service can be asked for by many customers 6. One customer can ask for many events 7. One customer can have many bills made 8. One bill can only be made for one customer Please note that the many to many relationships have been resolved using the database temp.

NAINA RAISINGHANI PK 500


179

NAVIGATION FLOW Fig 3: frmLogin

frmMainMenu

frmCustomers

frmEmployees

frmEvents

frmServices

frmBilling

frmReports

cmdAdd

cmdNew

cmdAdd

cmdAdd

cmdAdd

dtrBill

cmdSearch

cmdSearch

cmdSearch

cmdSearch

cmdCan

dtrServices

cmdEdit

cmdEdit

cmdEdit

cmdEdit

cmdNew

dtrEvents

cmdSave

cmdSave

cmdSave

cmdSave

cmdSave

dtrServicesAll

cmdDelete

cmdDelete

cmdDelete

cmdDelete

cmdDelete

dtrEmployees

cmdCancel

cmdCancel

cmdCancel

cmdCancel

cmdCancel

dtrCustomers

dtrBillsAll

NAINA RAISINGHANI PK 500


180

SCREEN DESIGN VIEWS Fig 4 (i): Design view of Log in screen

Fig 4 (ii): Design view of Main Menu

NAINA RAISINGHANI PK 500


181

Fig 4 (iii): Design view of Events Menu

NAINA RAISINGHANI PK 500


182

Fig 4 (iv): Design view of Employee Menu

NAINA RAISINGHANI PK 500


183

Fig 4 (v): Design view of Customer Menu

NAINA RAISINGHANI PK 500


184

Fig 4 (vi): Design view of Services Menu

NAINA RAISINGHANI PK 500


185

Fig 4 (vii): Design view of Billing Menu

NAINA RAISINGHANI PK 500


186

Fig 4 (viii): Design view of Reports Menu

NAINA RAISINGHANI PK 500


187

Fig 5 (i): This is the browser used to initiate the HELP menu:

NAINA RAISINGHANI PK 500


188

Fig 5 (ii): Following is the MDI form that is used to initiate the HELP menu:

NAINA RAISINGHANI PK 500


189

REPORT DESIGN VIEW Fig 6 (i): Design view of data report for LIST ALL EVENTS:

NAINA RAISINGHANI PK 500


190

Fig 6 (ii): Design view of data report for LIST ALL CUSTOMERS:

NAINA RAISINGHANI PK 500


191

Fig 6 (iii): Design view for LIST ALL SERVICES:

NAINA RAISINGHANI PK 500


192

Fig 6 (iv): Design view of data report for LIST ALL EMPLOYEES:

NAINA RAISINGHANI PK 500


193

Fig 6 (v): Design view of data report for various BILL related reports:

NAINA RAISINGHANI PK 500


194

Fig 6 (vi): Design view of data report for the BILLING MENU part 1:

NAINA RAISINGHANI PK 500


195

Fig 6 (vii): Design view of data report for the BILLING MENU part 2:

NAINA RAISINGHANI PK 500


196

NAINA RAISINGHANI PK 500


197

SCREEN SHOTS SETTING UP OF PROGRAM Fig 7: The screens below are those that assist the user in setting up the program: i.

Following is the screen shot of when the user is making a Setup.exe file for the program

ii.

The following is the screen of whereby the user is deciding which program will be run when the user clicks on Setup.exe:

NAINA RAISINGHANI PK 500


198

NAINA RAISINGHANI PK 500


199 iii.

The following is a screenshot of the Setup.exe file as it appears in the explorer browser:

iv.

The following is the Setup.exe running when the user double clicks on its icon:

NAINA RAISINGHANI PK 500


200

NAINA RAISINGHANI PK 500


201

v.

When the user clicks on OK, the following screen appears asking the user to provide the directory address of where he/ she would like the program to be stored.

NAINA RAISINGHANI PK 500


202 vi.

Once the user specifies the address the setup program asks him which program he wishes to download:

NAINA RAISINGHANI PK 500


203 vii.

This is a screen shot of the program being downloaded:

NAINA RAISINGHANI PK 500


204 viii.

The following is the screen shot of the user being informed that the program has been downloaded:

NAINA RAISINGHANI PK 500


205 ix.

To run the program the user clicks on START – Programs – Project 1 – Project 1 as per shown below:

NAINA RAISINGHANI PK 500


206

LOG IN SCREEN Fig 8: The screen below is that of the log in screen that is shown when you click on Project 1

Fig 9: The below screen shot is of the correct username – “naina92” and password “5620117” entered into the relevant fields

Fig 10: The below screen shot is of the main menu that shows when you click OK on the log in screen after entering the correct username and password

NAINA RAISINGHANI PK 500


207

Fig 11: The below screenshot is of when the wrong username and password are entered:

Fig 12: The below screenshot is of the message box that appears if the user clicks OK after entering the incorrect username or password:

NAINA RAISINGHANI PK 500


208

MAIN MENU Fig 13: Below is the Main Menu from which users can navigate to other individual menus.

NAINA RAISINGHANI PK 500


209

CUSTOMER MENU Fig 14: The below screen appears when the user clicks on CUSTOMERS on the Main Menu, please note that this also appears if the user clicks on FIRST when on record but the first one:

Fig 15: If you then click on FIRST or PREVIOUS buttons, the following message box appears since the record being displayed is already the FIRST one stored in the database as seen in Fig 16

NAINA RAISINGHANI PK 500


210 Fig 16: This shows the database holding all the CUSTOMER records before any editing began

Fig 17: IF you click NEXT it will show the second record as per seen below, please also note that this screen also appears if the user clicks on PREVIOUS when on the third record:

NAINA RAISINGHANI PK 500


211 Fig 18: The below screen appears both if the user now clicks NEXT or LAST after the second record, this, as the third record is the last one in the unedited database:

Fig 19: If even when the user is viewing the last record, he still clicks the LAST or the NEXT buttons, the following message box appears:

NAINA RAISINGHANI PK 500


212 Fig 20: If the user clicks on the NEW button, the following screen appears:

NAINA RAISINGHANI PK 500


213 Fig 21: The below screen is of when the data is entered after the NEW button is clicked:

Fig 22: The below message appears when the SAVE button is clicked:

NAINA RAISINGHANI PK 500


214 Fig 23: This is the database after the new record has been added: Please note that the original database is shown in Fig 16:

Fig 24: However if all fields are left blank after clicking NEW and then SAVE is clicked on, the following error shows:

Fig 25: IF the user clicks on SAVE and leaves the Customer ID field empty the following appears:

Fig 26: If the user click on SAVE and leaves the customer name field empty, the following appears:

Fig 27: If the user clicks on SAVE and leaves the NIC field empty, the following appears:

NAINA RAISINGHANI PK 500


215 Fig 28: If the user clicks on SAVE and leaves the address field empty, the following appears:

Fig 29: If the user clicks on SAVE and leaves the phone number empty, the following appears:

Fig 30: The below screen appears when the user clicks EDIT:

NAINA RAISINGHANI PK 500


216 Fig 31: IF the user then types in the ID 002 the below screen appears:

NAINA RAISINGHANI PK 500


217 Fig 32: If the user then changes the details in the PHONE NUMBER field so that they become as per follows:

Fig 33: The following message box appears if the user clicks on SAVE after making the changes in Fig 32:

NAINA RAISINGHANI PK 500


218 Fig 34: This is what the database looks like after the record has been edited: Please note that record 002 before editing can be seen in Fig 23:

Fig 35: The below message box appears if the user clicks on the EDIT button (note the value entered is that of a non-existent record â&#x20AC;&#x201C; For proof see Fig 34):

Fig 36: If the user now clicks on OK, the following message box appears:

Fig 37: The following screen appears if the user clicks on SEARCH: (note the value entered is that of an existing field â&#x20AC;&#x201C; For proof see Fig 34)

NAINA RAISINGHANI PK 500


219 Fig 38: If the user now clicks on OK, the following screen appears:

Fig 39: The following screen appears if the user clicks on SEARCH: (note the value entered is that of a non-existent field) for proof of the lack of that record look at Fig 34:

NAINA RAISINGHANI PK 500


220 Fig 40: If the user now clicks on OK the following message box appears:

Fig 41: The following input box appears if the user clicks on DELETE: (note the value entered is that of a non-existent field) for proof of the lack of that record look at Fig 34

Fig 42: If the user now clicks on OK the following message box appears:

Fig 43: The following screen appears if the user clicks on SEARCH: (note the value entered is that of an existing field) for proof of the presence of that record look at Fig 34:

NAINA RAISINGHANI PK 500


221 Fig 44: Once the user clicks OK the following message box appears to confirm the userâ&#x20AC;&#x2122;s intent:

Fig 45: the following message box appears when the record has been deleted; it informs the user that action has been taken:

Fig 46: Below is the database after the record has been deleted. The database before the delete can be seen in Fig 34:

NAINA RAISINGHANI PK 500


222 Fig 47: If the user clicks on CANCEL the following screen appears, all data held in all fields is erased:

Fig 48: If the user enters the number “1234” into the Customer ID field the following error shows:

NAINA RAISINGHANI PK 500


223 Fig 49: IF the user attempts to enter anything other than digits the following error appears:

Fig 50: IF the user tries to enter anything other than alphabets in the Customer Name field the following error shows:

Fig 51: If the user enters anything other than digits or a hyphen in the NIC field the following error shows:

Fig 52: If the user tries to enter more than a 15 characters in the NIC field the following error is shown:

Fig 53: If the user tries to enter more than a 100 characters in the address field the following error is shown:

NAINA RAISINGHANI PK 500


224 Fig 54: If the user enters anything other than digits or a hyphen in the Phone Number field the following error shows:

Fig 55: If you click on the BACK button which is shown as ď&#x192;&#x; at the top right you will be lead back to the MAIN MENU

NAINA RAISINGHANI PK 500


225

EMPLOYEES MENU Fig 56: If you now click on the EMPLOYEES button the following menu pops up: (Please note that this also the screen that shows is the user clicks on FIRST when viewing any record but the first one)

Fig 57: This is the database of EMPLOYEES data before any editing begins

NAINA RAISINGHANI PK 500


226

Fig 58: After this if you click FIRST or PREVIOUS the following screen appears:

Fig 59: If you now click on LAST the following appears

NAINA RAISINGHANI PK 500


227 Fig 60: After LAST if you click on NEXT or LAST (again) the following appears since the one being viewed is the last record:

Fig 61: After LAST if you click on PREVIOUS it takes you to the previous record which is the second record (for proof see Fig 57) (Please note that this is also the view if the user clicks NEXT while on the first record)

NAINA RAISINGHANI PK 500


228 Fig 62: If you click on NEW the following appears:

NAINA RAISINGHANI PK 500


229 Fig 63: If you fill in all fields the following can be seen:

Fig 64: If you now click save the following appears:

NAINA RAISINGHANI PK 500


230 Fig 65: If all fields have been left empty and then the SAVE button is clicked, the following message appears:

Fig 66: If the user clicks on SAVE and the employee ID has not been entered, the following message appears:

Fig 67: If the user clicks on SAVE and the employee name has not been entered, the following message appears:

Fig 68: If the user clicks on SAVE and the NIC number has not been entered, the following message appears:

NAINA RAISINGHANI PK 500


231 Fig 69: If the user clicks on SAVE and the address has not been entered, the following message appears:

Fig 70: If the user clicks on SAVE and the remarks have not been entered, the following message appears:

Fig 71: The following screen shows the database after the new record has been added: The database before the new record was added can be seen in Fig 57:

Fig 72: If you now click on SEARCH the following input box appears: (please note that the value entered is that of an existing field)

Fig 73: When you click OK the following screen appears (For proofs of the existence of record 003 see Fig 71) NAINA RAISINGHANI PK 500


232

Fig 74: The following input box appears if the user clicks on SEARCH (please note that the value entered is of a non existing field - for proof see Fig 71)

NAINA RAISINGHANI PK 500


233

Fig 75: Since the record does not exist, the following message box appears: (For proof of the lack of existence of Record 009 see Fig 71)

Fig 76: The following screen appears when the user clicks on EDIT:

Fig 77: If the user types in 004, the following screen appears: (for proof of the existence of this record see Fig 71) NAINA RAISINGHANI PK 500


234

Fig 78: The user then proceeds to edit the address changing it to the following:

NAINA RAISINGHANI PK 500


235

Fig 79: The user then clicks on SAVE, and the following screen appears:

Fig 80: The database changes to the following: For the original database see Fig 71: NAINA RAISINGHANI PK 500


236

Fig 81: IF the user now runs an EDIT filling in a non-existent recordâ&#x20AC;&#x2122;s ID the following screen appears:

Fig 82: If the user clicks OK the following screen appears: (For proof that the record does not exit see Fig 80)

Fig 83: IF the user clicks on DELETE the following screen appears: (please note that the value entered is that of an existing record, for proof see Fig 80)

Fig 84: After the user clicks on OK the program produces the following screen appears: NAINA RAISINGHANI PK 500


237

Fig 85: If the user clicks YES, the record is deleted and the following screen appears:

Fig 86: This is proof that the record has been deleted from the database:

Fig 87: This is the screen that appears if the user clicks DELETE (note that the ID entered is that of a nonexistent record â&#x20AC;&#x201C; for proof see Fig 86)

Fig 88: If after entering the false ID the user clicks OK the following appears informing the user of the lack of the record:

NAINA RAISINGHANI PK 500


238 Fig 89: If the user attempts to enter anything other than numbers in the EMPLOYEE ID field, the following is shown:

Fig 90: If the user enters a four digit EMPLOYEE ID the following error shows:

Fig 91: If the user attempts to enter anything other than alphabets in the NAME field, the following is shown:

Fig 92: If the user attempts to enter anything other than numbers or â&#x20AC;&#x153;-â&#x20AC;? in the NIC field, the following is shown:

Fig 93: If the user attempts to enter a NIC number that exceeds 15 characters the following screen appears:

NAINA RAISINGHANI PK 500


239 Fig 94: If the user attempts to enter an address that exceeds 100 characters the following screen appears:

Fig 95: If the user attempts to enter a remark that exceeds 250 characters the following screen appears:

NAINA RAISINGHANI PK 500


240 Fig 96: The following appears if the user clicks CANCEL:

NAINA RAISINGHANI PK 500


241 Fig 97: If you click on the BACK button which is shown as ď&#x192;&#x; at the top right you will be lead back to the MAIN MENU

NAINA RAISINGHANI PK 500


242

EVENTS MENU Fig 98: Once in the MAIN MENU you must click on EVENTS and you will see the following screen: (Please note that this screen also appears if the user clicks on FIRST when viewing any record other than the first)

Fig 99: Click on FIRST or on PREVIOUS when on the first record:

NAINA RAISINGHANI PK 500


243

Fig 100: Click on NEXT, and you will see the next (second) record

NAINA RAISINGHANI PK 500


244

Fig 101: Click on LAST, and the following appears:

Fig 102: Click on LAST (again) or on NEXT and the following message box appears:

Fig 103: Click on PREVIOUS, and the following screen appears:

NAINA RAISINGHANI PK 500


245

Fig 104: The following is the database before any editing has begun:

NAINA RAISINGHANI PK 500


246 Fig 105: The following shows the EVENTS database before any editing has begun:

Fig 106: The following screen appears once the user clicks on NEW:

NAINA RAISINGHANI PK 500


247 Fig 107: The following screen shows the screen once data has been entered into all fields:

Fig 108: The following is the message box that appears once the user clicks on SAVE:

NAINA RAISINGHANI PK 500


248 Fig 109: The following image shows the database after the new record has been added to it: (The original database can be seen in Fig 104)

Fig 110: If the user clicks on SAVE without entering data in any of the fields the following message appears:

Fig 111: If the user clicks on SAVE without entering data in the field EVENT ID the following message appears:

Fig 112: If the user clicks on SAVE without entering data in the field NAME/ TYPE the following message appears:

NAINA RAISINGHANI PK 500


249 Fig 113: If the user clicks on SAVE without entering data in the field DESCRIPTION the following message appears:

Fig 114: If the user clicks on SAVE without entering data in the field CHARGES the following message appears:

Fig 115: The following screen shows the input box that appears once the user clicks on EDIT (note that the value entered is that of an existing field â&#x20AC;&#x201C; for proof see Fig 109)

NAINA RAISINGHANI PK 500


250 Fig 116: The following shows the screen that appears once the user clicks OK after entering an existing record’s ID – for proof see Fig 109:

NAINA RAISINGHANI PK 500


251 Fig 117: The following shows the screen after the user has made changes to the Event Name or Type:

Fig 118: The following is the screen that appears after the user clicks on SAVE once he has made the changes

NAINA RAISINGHANI PK 500


252 Fig 119: The following is the database after the changes have been made (for the database before the editing was done look at image Fig 109)

Fig 120: The following is the screen that appears once the user clicks on EDIT note that the value entered is that of a non-existent field: (for proof that the record doesnâ&#x20AC;&#x2122;t exist see Fig 119)

Fig 121: The following screen appears once the user clicks on OK after entering the above value into the EDIT input box:

Fig 122: The following screen appears if the user clicks on SEARCH (please note that the value is for an existing field â&#x20AC;&#x201C; For proof look at Fig 119)

NAINA RAISINGHANI PK 500


253 Fig 123: Once the user clicks on OK the following screen appears:

Fig 124: The following is the screen that appears once the user clicks on SEARCH note that the value entered is that of a non-existent field: (for proof that the record doesnâ&#x20AC;&#x2122;t exist see Fig 119)

NAINA RAISINGHANI PK 500


254 Fig 125: Once the user now clicks on OK the following message box appears:

Fig 126: The following is the screen that appears once the user clicks on DELETE note that the value entered is that of a non-existent field: (for proof that the record doesn’t exist see Fig 119)

Fig 127: If the user now clicks on OK the following screen appears

Fig 128: The following screen appears if the user clicks on DELETE (please note that the value is for an existing field – For proof look at Fig 119)

NAINA RAISINGHANI PK 500


255 Fig 129: The following screen appears once the user clicks on OK; it asks the user to confirm his intentions:

Fig 130: Once the user clicks on YES the following message appears confirming that the record has been deleted:

Fig 131: For proof that the record has been deleted see below (For the original database see Fig 119)

NAINA RAISINGHANI PK 500


256 Fig 132: The following appears if the user clicks CANCEL

Fig 133: If the user enters the value “a” in the EVENT ID field, the following appears:

NAINA RAISINGHANI PK 500


257 Fig 134: IF the user enters the value “1234” in the EVENT ID field, the following appears:

Fig 135: If the user enters a name exceeding 100 characters in the NAME/ TYPE field, the following appears:

Fig 136: If the user tries to enter more that 250 characters in the description field, the following appears:

Fig 137: If the user enters the value “a” in the field CHARGES the following appears:

Fig 138: If the user tries to enter the value “1200000000” in the filed CHARGES the following will appear:

NAINA RAISINGHANI PK 500


258 Fig 139: If you click on the BACK button which is shown as ď&#x192;&#x; at the top right you will be lead back to the MAIN MENU

NAINA RAISINGHANI PK 500


259

SERVICES Fig 140: If once in the MAIN MENU you click on SERVICES, the following screen appears: (Please note that this also he screen that shows if the user clicks FIRST when on any record but the first one)

NAINA RAISINGHANI PK 500


260 Fig 141: if you now click on NEXT, the second record is shown

NAINA RAISINGHANI PK 500


261 Fig 142: If you now click on PREVIOUS the following screen appears:

Fig 143: if once on the first record you click FIRST again or on PREVIOUS, the following message appears:

NAINA RAISINGHANI PK 500


262 Fig 144: If you click on LAST, the following screen appears:

Fig 145: If you now click on LAST (again) or on NEXT the following message appears:

NAINA RAISINGHANI PK 500


263 Fig 146: This is the view of the database before any eidting has begun:

Fig 147: Once the user clicks on NEW the following is seen:

NAINA RAISINGHANI PK 500


264 Fig 148: Once the user enters data in all fields the following can be seen:

Fig 149: If the user now clicks on SAVE the following message box appears:

NAINA RAISINGHANI PK 500


265 Fig 150: If the user clicks on SAVE but has left all the fields empty, the following message appears:

Fig 151: If the user clicks on SAVE but has left the field SERVICE ID empty, the following message appears:

Fig 152: If the user clicks on SAVE but has left the field TYPE OF SERVICE empty, the following message appears:

Fig 153: If the user clicks on SAVE but has left the field DESCRIPTION empty, the following message appears:

Fig 154: If the user clicks on SAVE but has left the field CHARGE empty, the following message appears:

NAINA RAISINGHANI PK 500


266 Fig 155: The below screen shows the database after the new record has been added: (For the database before the new record has been added see Fig 146)

Fig 156: If the user clicks on EDIT the following screen appears (note the value entered is that of a nonexistent field â&#x20AC;&#x201C; For proof see Fig 155)

Fig 157: If the user now clicks on OK the following message appears:

Fig 158: If the user clicks EDIT and enter the value of an existing field the following can be seen: (For proof see Fig 155)

NAINA RAISINGHANI PK 500


267 Fig 159: if the user now clicks on OK the following can be seen:

NAINA RAISINGHANI PK 500


268 Fig 160: The following image shows once the SERVICE TYPE has been edited:

Fig 161: if the user now clicks on SAVE the following screen appears:

NAINA RAISINGHANI PK 500


269 Fig 162: The following image is that of the database once the record has been edited (For the original database see Fig 155)

Fig 163: Following is the screen that appears once the user clicks on SEARCH (please note that the value entered is of a non-existent record â&#x20AC;&#x201C; For proof see Fig 162)

Fig 164: If the user now clicks on OK the following message appears:

Fig 165: The following screen appears once the user clicks on SEARCH (the value entered is that of an existing field- For proof see Fig 162)

NAINA RAISINGHANI PK 500


270 Fig 166: If the user now clicks on OK the following screen appears:

Fig 167: if the user now clicks on DELETE the following screen appears (please note that the value entered is of a non-existent field â&#x20AC;&#x201C; For proof see Fig 162)

NAINA RAISINGHANI PK 500


271 Fig 168: If the user no clicks on OK the following appears:

Fig 169: The following image shows the event when the user clicks on DELETE and enters the value of an existing record â&#x20AC;&#x201C; For proof that the record exists see Fig 162:

Fig 170: If the user now clicks on OK the following screen appears:

Fig 171: If the user then clicks on YES the following appears:

NAINA RAISINGHANI PK 500


272 Fig 172: The following shows the database after the record has been deleted: (For original database refer to Fig 162)

Fig 173: The following appears if the user clicks CANCEL

NAINA RAISINGHANI PK 500


273 Fig 174: If the user attempts to enter anything other than a digit in the SERVICE ID field the following error appears:

Fig 175: if the user attempts to enter a SERVICE ID exceeding 3 digits, the following error appears:

Fig 176: If the user attempts to enter a SERVICE TYPE that is longer than 100 characters the following error appears:

Fig 177: If the user attempts to enter a DESCRIPTION that is more than 250 characters the following error appears:

Fig 178: If the user attempts to enter anything other than a digit in the CHARGES field the following error appears:

NAINA RAISINGHANI PK 500


274 Fig 179: If the user attempts to enter more than 7 digits in the CHARGES field the following error shows:

Fig 180: If you click on the BACK button which is shown as ď&#x192;&#x; at the top right you will be lead back to the MAIN MENU

NAINA RAISINGHANI PK 500


275

BILLING Fig 181: If you now click on BILLING the following screen will appear:

NAINA RAISINGHANI PK 500


276 Fig 182: Below is a screenshot of the database before any editing has begun:

NAINA RAISINGHANI PK 500


277 Fig 183: If the user now clicks on the NEW button, the following will appear:

NAINA RAISINGHANI PK 500


278 Fig 184: Following is a screenshot of the BILLING menu when all the data except for the events has been entered note how the field TOTAL CHARGES updates itself:

NAINA RAISINGHANI PK 500


279 Fig 185: Following is a screenshot of when the first service has been selected from the drop down list and added by clicking OK note how the field TOTAL CHARGES updates itself:

NAINA RAISINGHANI PK 500


280 Fig 186: The following screen appears when the user adds the second service by selecting it from the drop down box and clicking OK note how the field TOTAL CHARGES updates itself:

NAINA RAISINGHANI PK 500


281 Fig 187: The following screen appears when the user adds the second service by selecting it from the drop down box and clicking OK note how the field TOTAL CHARGES updates itself:

NAINA RAISINGHANI PK 500


282 Fig 188: If the user selects a Service from the list of SERVICES SELECTED and clicks CANCEL, that service is removed from the list and the total service charges are decreased.

NAINA RAISINGHANI PK 500


283

NAINA RAISINGHANI PK 500


284 Fig 189: Following is a screen from when the user enters a value in the field OTHER CHARGES; note how the field TOTAL CHARGES updates itself:

NAINA RAISINGHANI PK 500


285 Fig 190: The following is a screen shot of when the value for ADVANCE is entered note how the fields OTHER CHARGES and PAYABLE update themselves:

NAINA RAISINGHANI PK 500


286 Fig 191: If the user now clicks on SAVE N PRINT the following message box appears:

Fig 192: If the user now clicks on YES the following two happen i.

The report for the summary of this eventâ&#x20AC;&#x2122;s surcharges is shown:

NAINA RAISINGHANI PK 500


287 ii.

A message box appears confirming for the user that now the customerâ&#x20AC;&#x2122;s history with the company will appear:

NAINA RAISINGHANI PK 500


288 iii.

If the user then clicks OK the following appears:

NAINA RAISINGHANI PK 500


289 Fig 193: Following is a screenshot of the database after the new record has been added: (for the original database refer to Fig 182)

Fig 194: If the user clicks on OK without selecting a service ID however, the following message appears:

Fig 195: If the user clicks on DELETE the following dialogue box appears: (Please note that the record entered does indeed exist â&#x20AC;&#x201C; For proof see Fig 193):

Fig 196: If the user now clicks on OK the following screen appears:

Fig 197: If the user then clicks on YES the following appears:

NAINA RAISINGHANI PK 500


290 Fig 198: For proof that the record has been deleted see below:

Fig 199: If the user clicks on DELETE the following dialogue box appears: (Please note that the record entered does not exist â&#x20AC;&#x201C; For proof see Fig 198):

Fig 200: If the user enters the above value and clicks on OK then the following message appears:

Fig 201: If the user clicks on SAVE N PRINT without filling in any of the fields, the following message appears:

NAINA RAISINGHANI PK 500


291 Fig 202: If the user clicks on SAVE n PRINT without filling in the field BILL NUMBER, the following message appears:

Fig 203: If the user clicks on SAVE n PRINT without filling in the field CUSTOMER ID, the following message appears:

Fig 204: If the user clicks on SAVE n PRINT without filling in the field EVENT ID, the following message appears:

Fig 205: If the user clicks on SAVE n PRINT without filling in the field EMPLOYEE ID, the following message appears:

NAINA RAISINGHANI PK 500


292 Fig 206: If the user clicks on SAVE n PRINT without filling in the field EVENT DATE, the following message appears:

Fig 207: If the user clicks on SAVE n PRINT without filling in the field EVENT LOCATION, the following message appears:

Fig 208: If the user clicks on SAVE n PRINT without selecting at least one SERVICE ID, the following message appears:

Fig 209: If the user clicks on SAVE n PRINT without filling in the field OTHER CHARGES, the following message appears:

Fig 210: If the user clicks on SAVE n PRINT without filling in the field, the following message appears:

NAINA RAISINGHANI PK 500


293 Fig 211: If the user attempts to enter anything other than a digit in the BILL NUMBER field the following appears:

Fig 212: If the user attempts to enter a BILL NUMBER that is greater than three digits in the field the following appears:

Fig 213: If the user attempts to enter a LOCATION that exceeds 100 characters the following appears:

Fig 214: If the user attempts to enter OTHER CHARGES that exceed 7 digits the following appears:

Fig 215: If the user attempts to enter anything other than a digit in the OTHER CHARGES field the following appears:

NAINA RAISINGHANI PK 500


294 Fig 216: If the user attempts to enter an ADVANCE that exceeds 7 digits the following appears:

Fig 217: If the user attempts to enter anything other than a digit in the ADVANCE field the following appears:

Fig 218: if the user attempts to enter anything in the ADVANCE field without filling in all the previous fields the following appears:

Fig 219: If you click on CANCEL without selecting a service to delete the following message appears:

Fig 220: If you click on the BACK button which is shown as ď&#x192;&#x; at the top right you will be lead back to the MAIN MENU

NAINA RAISINGHANI PK 500


295

NAINA RAISINGHANI PK 500


296

REPORTS Fig 221: If the user now clicks on REPORTS the following screen appears:

NAINA RAISINGHANI PK 500


297

Fig 222: If the user clicks on LIST ALL EVENTS the following report appears:

NAINA RAISINGHANI PK 500


298

Fig 223: The following image is that of the EVENTS database to prove that the entire file has been shown in the record:

Fig 224: If the user clicks on LIST ALL CUSTOMERS the following report appears:

NAINA RAISINGHANI PK 500


299 Fig 225: The following image is that of the CUSTOMERS database to prove that the entire file has been shown in the record:

Fig 226: If the user clicks on LIST ALL SERVICES the following report appears:

NAINA RAISINGHANI PK 500


300 Fig 227: The following image is that of the SERVICES database to prove that the entire file has been shown in the record:

Fig 228: If the user clicks on LIST ALL EMPLOYEES the following report appears:

NAINA RAISINGHANI PK 500


301 Fig 229: The following image is that of the EMPLOYEES database to prove that the entire file has been shown in the record:

Fig 230: If the user clicks on VIEW ALL BILLS PRODUCED the following report appears:

NAINA RAISINGHANI PK 500


302 Fig 231: The following image is that of the BILLING database to prove that the entire file has been shown in the record:

Fig 232: If the user clicks on VIEW A CUSTOMERâ&#x20AC;&#x2122;S HISTORY and enters a valid customer ID the following screen appears: (for proof see Fig 231 above)

Fig 233: The following image is that of the report that then appears:

NAINA RAISINGHANI PK 500


303 Fig 234: If the user clicks on VIEW A CUSTOMER’S HISTORY and enters an invalid customer ID () the following screen appears (see Fig 231 for proof that the record does not exist):

Fig 235: If the previous ID is entered the following message shows: (for proof see Fig 231 above)

Fig 236: If the user clicks on VIEW A PARTICULAR EMPLOYEE’S HISTORY and enters a valid employee ID (002) the following screen appears: (see Fig 231 for proof that the record does exist)

NAINA RAISINGHANI PK 500


304 Fig 237: The following is the image of the report that appears when the user clicks OK:

Fig 238: If the user clicks on VIEW A PARTICULAR EMPLOYEEâ&#x20AC;&#x2122;S HISTORY and enters an invalid employee ID (096) the following report appears: (see Fig 231 for proof that the record does not exist)

NAINA RAISINGHANI PK 500


305 Fig 239: If the previous ID is entered the following message shows: (for proof see Fig 231 above)

Fig: 240: If you click on VIEW THE EVENT THAT EARNED A SPECIFIC MINIMUM AMOUNT and enters the following value, the following screen appears:

NAINA RAISINGHANI PK 500


306 Fig 241: When the user clicks OK the following appears:

Fig 242: If the user clicks on VIEW THE EVENT THAT EARNED A SPECIFIC MINIMUM AMOUNT and enters a value that is too high to be the minimum value, the following screen appears: (see Fig 231 for proof that the record does not exist)

NAINA RAISINGHANI PK 500


307 Fig 243: The following message appears proving that the minimum entered amount is too high:

Fig 244: If the user now clicks on ď&#x192;&#x; the following appears:

NAINA RAISINGHANI PK 500


308

HELP Fig 245: If the user clicks on HELP when on the Main Menu the following help menu appears:

NAINA RAISINGHANI PK 500


309

TESTING LOG IN SCREEN Test No.

Component tested

Testing type

Test Data

Expected result

Actual Result

Page no.

Fig No.

1

txtUserName

Normal

“naina92”

Accepts the data as valid

Accepts the data as valid

206

9

2

txtPassword

Normal

“5620117”

Turns all characters to asterisks

Turns all characters to asterisks

206

9

3

cmdOK

Normal

Click on button after entering the correct username and password

If username and password match up then next screen should open up

This screen is closed and the main menu opens up

206

10

4

txtUserName

Abnormal

“admin”

Accepts the data as valid

Accepts the data as valid

207

11

5

txtPassword

Abnormal

“admin”

Turns all characters to asterisks

Turns all characters to asterisks

207

11

6

cmdOK

Abnormal

Click on button after entering username and password that are

Should reject the data as the password and/or the username are

Rejects the password and user name ad a message box notifying

207

12

NAINA RAISINGHANI PK 500


310

7

cmdCancel

Normal

NAINA RAISINGHANI PK 500

wrong

incorrect

the user of this error appears

Click on button

Exits log-in screen and closes program

Exits login screen and closes program

-

-


311

MAIN MENU Test No.

Component tested

1

cmdemployees

2

Testing type

Expected result

Actual Result

Page no.

Fig No.

Normal Click on the button

Should go to the Employees menu

It opens the Employees menu

225

56

cmdEvents

Normal Click on the button

Should go to the Events menu

It opens the Events menu

242

98

3

cmdServices

Normal Click on the button

Should go to the Services menu

It opens the Services menu

259

140

4

cmdCustomers

Normal Click on the button

Should go to the Customers menu

It opens the Customers menu

209

14

5

cmdBilling

Normal Click on the button

Should go to the Billing menu

It opens the Billing menu

275

181

7

cmdReports

Normal Click on the button

Should go to the Reports menu

It opens the Reports menu

296

221

8

cmdBack

Normal Click on the button

Should go to the log in screen

It goes to the log in screen

206

8

9

cmdCLose

Normal Click on the button

Should close the program

Closes the program

-

-

10

cmdHelp

Normal Click on

Opens the

308

245

NAINA RAISINGHANI PK 500

Test Data

Opens the


312 the button

NAINA RAISINGHANI PK 500

help menu

help menu


313

CUSTOMER MENU Test No.

Component tested

Testing type

Test Data

Expected result

Actual Result

Page no.

Fig No.

1

cmdFirst

Abnormal

Click on first when first record is being viewed

Shows message box saying “This is the first record!”

Shows message box saying “This is the first record!”

209

15

2

cmdFirst

Normal

Click on first when on any record other than the first

Goes to first record

Goes to first record

209

14

3

cmdNext

Normal

Click on next when showing any other record other than last

Shows second record

Shows second record

210

17

4

cmdNext

Abnormal

Click on next while on last record

Shows message box saying “This is the last record!”

Shows message box saying “This is the last record!”

211

19

5

cmdPre

Normal

Click on previous while on any record other than the first

Goes to the previous record

Goes to previous record

210

17

6

cmdPre

Abnormal

Click on previous when on first record

Shows a message that says “This is the first record!”

Shows a message that says “This is the first record!”

209

15

NAINA RAISINGHANI PK 500


314 7

cmdLast

Normal

Click on last when any record other than the last

Goes to last record

Goes to last record

211

18

8

cmdLast

Abnormal

Click on last when on the last record

Shows message box saying “This is the last record!”

Shows message box saying “This is the last record!”

211

19

9

txtCustomerID

Normal

“004”

Accepts data as valid

Accepts data as valid

213

21

10

txtCustomerID

Abnormal

“a”

Rejects Rejects data as data as invalid invalid and shows and shows message message informing informing user that user that this field this field only digits only digits as as acceptable acceptable entry entry

223

49

11

txtCustomerID

Extreme

“1234”

Rejects data as invalid and shows a message informing the user that the entry can only be 3 digits in length

222

48

NAINA RAISINGHANI PK 500

Rejects data as invalid and shows a message informing the user that the entry can only be 3 digits in length


315 12

txtName

Normal

“David Alfrey”

13

txtName

Abnormal

“1”

14

Text1 (NIC)

Normal

“423016955148-6”

15

Text1 (NIC)

Abnormal

“a”

16

Text1 (NIC)

Extreme

“423016955148-638”

NAINA RAISINGHANI PK 500

Accepts data as valid

Accepts data as valid

213

21

223

50

213

21

Rejects Rejects data as data as invalid invalid and shows and shows message message informing informing user that user that this field this field only digits only digits and a “and a “”as ”as acceptable acceptable entry entry

223

51

Shows a message informing the user that the entry can only be 15

223

52

Rejects Rejects data as data as invalid invalid and shows and shows message message informing informing user that user that this field this field only only alphabets alphabets as as acceptable acceptable entry entry Accepts data as valid

Accepts data as valid

Shows a message informing the user that the entry can only be 15


316 digits in length

digits in length

17

txtAddress

Normal

“Not available”

Accepts data as valid

Accepts data as valid

213

21

18

txtAddress

Extreme

“Office of Undergraduate Admission Florida Institute of Technology 150 W. University Blvd Melbourne, Florida”

Shows a message informing the user that the entry can only be 100 characters in length

Shows a message informing the user that the entry can only be 100 characters in length

223

53

19

txtPhoneNo

Normal

“03333556372”

Accepts data as valid

Accepts data as valid

213

21

20

txtPhoneNo

Abnormal

“a”

224

54

21

cmdAdd

Normal

Click on the button

212

20

NAINA RAISINGHANI PK 500

Rejects Rejects data as data as invalid invalid and shows and shows message message informing informing user that user that this field this field only digits only digits and a “and a “”as ”as acceptable acceptable entry entry Clears all fields making way for a new record

Clears all fields


317 22

cmdSave

Normal

Click on save after filling in all aforementioned fields

Should save data, and show message “Changes saved”

Saves data, and shows message “Changes saved”

213

22

23

cmdSave

Abnormal

Click on save with all fields left empty

Shows message informing user that all fields have been left empty and asks him to fill them in

Shows message informing user that all fields have been left empty and asks him to fill them in

214

24

24

cmdSave

Abnormal

Click on save, however Customer ID has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

214

25

25

cmdSave

Abnormal

Click on save, however Customer Name has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

214

26

26

cmdSave

Abnormal

Click on save, however NIC number has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

214

27

NAINA RAISINGHANI PK 500


318 27

cmdSave

Abnormal

Click on save, however Address has been left empty

Shows message informing user that the fieldshas been left empty

Shows message informing user that the field has been left empty

215

28

28

cmdSave

Abnormal

Click on save, however Phone Number has been left empty

Shows message informing user that the fields has been left empty

Shows message informing user that the fields has been left empty

215

29

29

cmdEdit

Normal

Click on edit and enter “002” and then click on OK

Opens up record for edit

Opens up record for edit

215

30

216

31

Displays message box that reads “No match found” Opens up record

Displays message box that reads “No match found” Opens up record

218

35

218

37

Displays message box that reads “No match found” Deletes record

Displays message box that reads “No match found” Deletes record

219

39

220

43

221

44

221

45

30

cmdEdit

Abnormal

Click on edit and enter “053” and then click on OK

31

cmdSearch

Normal

Click on search and enter “003” and then click on OK

32

cmdSearch

Abnormal

Click on search and enter “006” and then click on OK

33

cmdDelete

Normal

Click on delete and enter “003” followed by OK then YES and then click on OK

NAINA RAISINGHANI PK 500


319 34

cmdDelete

Abnormal

Click on delete and enter “009” and then click on OK

Displays message box that reads “No match found”

Displays message box that reads “No match found”

220

41

35

cmdCancel

Normal

Click on cancel

Clears all fields

Clears all fields

222

47

36

cmdBack

Normal

Click on 

Goes back to main menu

Goes back to main menu

224

55

37

cmdClose

Normal

Click on X

Stops program

Stops program

-

-

NAINA RAISINGHANI PK 500


320

EMPLOYEES MENU Test No.

Component tested

Testing type

Test Data

Expected result

Actual Result

Page no.

Fig No.

1

cmdFirst

Abnormal

Click on first when first record is being viewed

Shows message box saying “This is the first record!”

Shows message box saying “This is the first record!”

226

58

2

cmdFirst

Normal

Click on first when on any record other than the first

Goes to first record

Goes to first record

225

56

3

cmdNext

Normal

Click on next when showing any other record other than last

Shows second record

Shows second record

227

61

4

cmdNext

Abnormal

Click on next while on last record

Shows message box saying “This is the last record!”

Shows message box saying “This is the last record!”

227

60

5

cmdPre

Normal

Click on previous while on any record other than the first

Goes to the previous record

Goes to previous record

227

61

6

cmdPre

Abnormal

Click on previous when on first record

Shows a message that says “This is the first record!”

Shows a message that says “This is the first record!”

226

58

NAINA RAISINGHANI PK 500


321 7

cmdLast

Normal

Click on last when any record other than the last

Goes to last record

Goes to last record

226

59

8

cmdLast

Abnormal

Click on last when on the last record

Shows message box saying “This is the last record!”

Shows message box saying “This is the last record!”

227

60

9

txtempID

Normal

“004”

Accepts data as valid

Accepts data as valid

229

63

10

txtempID

Abnormal

“a”

Rejects Rejects data as data as invalid invalid and shows and shows message message informing informing user that user that this field this field only digits only digits as as acceptable acceptable entry entry

238

89

11

txtempID

Extreme

“1234”

Rejects data as invalid and shows a message informing the user that the entry can only be 3 digits in length

238

90

NAINA RAISINGHANI PK 500

Rejects data as invalid and shows a message informing the user that the entry can only be 3 digits in length


322 12

txtempName

Normal

“Marcus Rehman”

13

txtempName

Abnormal

“1”

14

txtNIC

Normal

“423068563208-9”

15

txtNIC

Abnormal

“a”

16

txtNIC

Extreme

“423016955148-638”

NAINA RAISINGHANI PK 500

Accepts data as valid

Accepts data as valid

229

63

238

91

229

63

Rejects Rejects data as data as invalid invalid and shows and shows message message informing informing user that user that this field this field only digits only digits and a “and a “”as ”as acceptable acceptable entry entry

238

92

Shows a message informing the user that the entry can only be 15

238

93

Rejects Rejects data as data as invalid invalid and shows and shows message message informing informing user that user that this field this field only only alphabets alphabets as as acceptable acceptable entry entry Accepts data as valid

Accepts data as valid

Shows a message informing the user that the entry can only be 15


323 digits in length

digits in length

17

txtaddress

Normal

“65/I 8th street KDA, Karachi”

Accepts data as valid

Accepts data as valid

229

63

18

txtaddress

Extreme

“Office of Undergraduate Admission Florida Institute of Technology 150 W. University Blvd Melbourne, Florida”

Shows a message informing the user that the entry can only be 100 characters in length

Shows a message informing the user that the entry can only be 100 characters in length

239

94

19

txtremarks

Normal

“Tardy 8 times during January”

Accepts data as valid

Accepts data as valid

229

63

20

txtremarks

Abnormal

“This employee has been tardy eight times during the month of January 2010. Moreover his callous attitude towards other employees and clients makes him a liability for the firm. He should be put on probation. If he does not improve within a month, or f”

Shows a message informing the user that the entry can only be 250 characters in length

Shows a message informing the user that the entry can only be 250 characters in length

239

95

21

cmdSave

Normal

Click on save after filling in all

Should save data,

Saves data, and

229

64

NAINA RAISINGHANI PK 500


324 aforementioned fields

and show message “Changes saved”

shows message “Changes saved”

22

cmdSave

Abnormal

Click on save with all fields left empty

Shows message informing user that all fields have been left empty and asks him to fill them in

Shows message informing user that all fields have been left empty and asks him to fill them in

230

65

23

cmdSave

Abnormal

Click on save, however Employee ID has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

230

66

24

cmdSave

Abnormal

Click on save, however Employee Name has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

230

67

25

cmdSave

Abnormal

Click on save, however NIC number has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

230

68

26

cmdSave

Abnormal

Click on save, however Address has

Shows message informing

Shows message informing

231

69

NAINA RAISINGHANI PK 500


325 been left empty

user that the field has been left empty

user that the field has been left empty

27

cmdSave

Abnormal

Click on save, however remarks have been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

231

70

28

cmdEdit

Normal

Click on edit and enter “004” and then click on OK

Opens up record for edit

Opens up record for edit

233

76

234

77

Displays message box that reads “No match found” Opens up record

Displays message box that reads “No match found” Opens up record

236

81

231

72

Displays message box that reads “No match found” Deletes record

Displays message box that reads “No match found” Deletes record

233

74

236

83

237

84

237

85

237

87

29

cmdSave

Abnormal

Click on edit and enter “014” and then click on OK

30

cmdSearch

Normal

Click on search and enter “003” and then click on OK

31

cmdSearch

Abnormal

Click on search and enter “009” and then click on OK

32

cmdDelete

Normal

Click on delete and enter “004” then click on OK followed by YES followed by OK again

33

cmdDelete

Abnormal

NAINA RAISINGHANI PK 500

Click on delete and enter “089”

Displays message

Displays message


326 and then click on OK

box that reads “No match found”

box that reads “No match found”

34

cmdCancel

Normal

Click on cancel

Clears all fields

Clears all fields

240

96

35

cmdback

Normal

Click on 

Goes back to main menu

Goes back to main menu

241

97

36

cmdclose

Normal

Click on X

Stops program

Stops program

-

-

37

cmdNew

Normal

Click on the button

Clears all fields

Clears all fields

228

62

NAINA RAISINGHANI PK 500


327

EVENTS MENU Test No.

Component tested

Testing type

Test Data

Expected result

Actual Result

Page no.

Fig No.

1

cmdFirst

Abnormal

Click on first when first record is being viewed

Shows message box saying “This is the first record!”

Shows message box saying “This is the first record!”

242

99

2

cmdFirst

Normal

Click on first when on any record other than the first

Goes to first record

Goes to first record

242

98

3

cmdNext

Normal

Click on next when showing any other record other than last

Shows second record

Shows second record

243

100

4

cmdNext

Abnormal

Click on next while on last record

Shows message box saying “This is the last record!”

Shows message box saying “This is the last record!”

244

102

5

cmdPre

Normal

Click on previous while on any record other than the first

Goes to the previous record

Goes to previous record

244

103

6

cmdPre

Abnormal

Click on previous when on first record

Shows a message that says “This is the first record!”

Shows a message that says “This is the first record!”

242

99

NAINA RAISINGHANI PK 500


328 7

cmdLast

Normal

Click on last when any record other than the last

Goes to last record

Goes to last record

244

101

8

cmdLast

Abnormal

Click on last when on the last record

Shows message box saying “This is the last record!”

Shows message box saying “This is the last record!”

244

102

9

txtEventID

Normal

“004”

Accepts data as valid

Accepts data as valid

247

107

10

txtEventID

Abnormal

“a”

Rejects Rejects data as data as invalid invalid and shows and shows message message informing informing user that user that this field this field only digits only digits as as acceptable acceptable entry entry

256

133

11

txtEventID

Extreme

“1234”

Rejects data as invalid and shows a message informing the user that the entry can only be 3 digits in length

257

134

NAINA RAISINGHANI PK 500

Rejects data as invalid and shows a message informing the user that the entry can only be 3 digits in length


329 12

txtNameType

Normal

“Launch Party”

Accepts data as valid

Accepts data as valid

247

107

13

txtNameType

Extreme

“Because we have been in the industry for such a long time, our entertainment contacts are endless! An”

Shows a message informing the user that the entry can only be 100 characters in length

Shows a message informing the user that the entry can only be 100 characters in length

257

135

14

txtDescription

Normal

“A product’s launch party for 100-500 people”

Accepts data as valid

Accepts data as valid

247

107

15

txtDescription

Extreme

“Our knowledge of entertainment is surpassed only by the service we give to our clients. Because we have been in the industry for such a long time, our entertainment contacts are endless! And as we are a volume buyer, we can negotiate the best price p”

Shows a message informing the user that the entry can only be 250 characters in length

Shows a message informing the user that the entry can only be 250 characters in length

257

136

16

txtcharges

Normal

“225000”

Accepts data as

Accepts data as

247

107

NAINA RAISINGHANI PK 500


330 valid

valid

Rejects Rejects 257 data as data as invalid invalid and shows and shows message message informing informing user that user that this field this field only digits only digits as as acceptable acceptable entry entry

136

“12000000”

Rejects data as invalid and shows a message informing the user that the entry can only be 7 digits in length

Rejects data as invalid and shows a message informing the user that the entry can only be 7 digits in length

137

Normal

Click on save after filling in all aforementioned fields

Should save data, and show message “Changes saved”

Saves data, and shows message “Changes saved”

247

108

Abnormal

Click on save with all fields left empty

Shows message informing user that all fields have been left empty and asks

Shows message informing user that all fields have been left empty and asks

248

110

17

txtcharges

Abnormal

“a”

18

txtcharges

Extreme

19

cmdSave

20

cmdSave

NAINA RAISINGHANI PK 500

257


331 him to fill them in

him to fill them in

21

cmdSave

Abnormal

Click on save, however Event ID has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

248

111

22

cmdSave

Abnormal

Click on save, however Name/ Type has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

248

112

23

cmdSave

Abnormal

Click on save, however Description has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

249

113

24

cmdSave

Abnormal

Click on save, however Charges has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

249

114

25

cmdEdit

Normal

Click on edit and enter “004” and then click on OK

Opens up record for edit

Opens up record for edit

249

115

26

cmdEdit

Abnormal

Click on edit and enter “015” and then click

Displays message box that reads “No

Displays message box that reads “No

252

120

NAINA RAISINGHANI PK 500


332 on OK 27

cmdSearch

Normal

Click on search and enter “002” and then click on OK

28

cmdSearch

Abnormal

Click on search and enter “012” and then click on OK

29

cmdDelete

Normal

Click on delete and enter “004” then click on OK then YES followed by OK

match found” Opens up record

match found” Opens up record

Displays message box that reads “No match found” Deletes record

Displays message box that reads “No match found” Deletes record

252

122

253

124

254

128

255

129

255

130

30

cmdDelete

Abnormal

Click on delete and enter “089” and then click on OK

Displays message box that reads No match found

Displays message box that reads No match found

254

126

31

cmdCancel

Normal

Click on cancel

Clears all fields

Clears all fields

256

132

32

cmdback

Normal

Click on 

Goes back to main menu

Goes back to main menu

258

139

33

cmdClose

Normal

Click on X

Stops program

Stops program

-

-

34

cmdNew

Normal

Click on the button

Clears all fields

Clears all fields

246

106

NAINA RAISINGHANI PK 500


333

SERVICES MENU Test No.

Component tested

Testing type

Test Data

Expected result

Actual Result

Page no.

Fig No.

1

cmdFirst

Abnormal

Click on first when first record is being viewed

Shows message box saying “This is the first record!”

Shows message box saying “This is the first record!”

261

143

2

cmdFirst

Normal

Click on first when on any record other than the first

Goes to first record

Goes to first record

259

140

3

cmdNext

Normal

Click on next when showing any other record other than last

Shows second record

Shows second record

260

141

4

cmdNext

Abnormal

Click on next while on last record

Shows message box saying “This is the last record!”

Shows message box saying “This is the last record!”

262

145

5

cmdPre

Normal

Click on previous while on any record other than the first

Goes to the previous record

Goes to previous record

261

142

6

cmdPre

Abnormal

Click on previous when on first record

Shows a message that says “This is the first record!”

Shows a message that says “This is the first record!”

261

143

NAINA RAISINGHANI PK 500


334 7

cmdLast

Normal

Click on last when any record other than the last

Goes to last record

Goes to last record

262

144

8

cmdLast

Abnormal

Click on last when on the last record

Shows message box saying “This is the last record!”

Shows message box saying “This is the last record!”

262

145

9

txtServiceID

Normal

“004”

Accepts data as valid

Accepts data as valid

264

148

10

txtServiceID

Abnormal

“a”

Rejects Rejects data as data as invalid invalid and shows and shows message message informing informing user that user that this field this field only digits only digits as as acceptable acceptable entry entry

273

174

11

txtServiceID

Extreme

“1234”

Rejects data as invalid and shows a message informing the user that the entry can only be 3 digits in length

273

175

NAINA RAISINGHANI PK 500

Rejects data as invalid and shows a message informing the user that the entry can only be 3 digits in length


335 12

txtService Type

Normal

“Food”

Accepts data as valid

Accepts data as valid

264

148

13

txtServiceType

Extreme

“This is food for over a hundred people with cutlery (such as spoons, forks, plates and knives, L M S)”

Rejects data as invalid and shows a message informing the user that the entry can only be 100 digits in length

Rejects data as invalid and shows a message informing the user that the entry can only be 100 digits in length

273

176

14

txtDescription

Normal

“The cuisine depends on the client’s preferences”

Accepts data as valid

Accepts data as valid

264

148

15

txtDescription

Extreme

“This is food (the cuisine depends on the client’s own preference and a sa) for between a hundred to two hundred people. Cutlery is also provided in different sizes such as small, medium and large. The cutlery includes spoons, forks, knives and plates.”

Rejects data as invalid and shows a message informing the user that the entry can only be 250 digits in length

Rejects data as invalid and shows a message informing the user that the entry can only be 250 digits in length

273

177

NAINA RAISINGHANI PK 500


336 16

txtCharges

Normal

“20000”

17

txtCharges

Abnormal

“a”

18

txtCharges

Extreme

19

cmdSave

20

cmdSave

Accepts data as valid

Accepts data as valid

264

148

Rejects Rejects data as data as invalid invalid and shows and shows message message informing informing user that user that this field this field only digits only digits as as acceptable acceptable entry entry

273

178

“12000000”

Rejects data as invalid and shows a message informing the user that the entry can only be 3 digits in length

Rejects data as invalid and shows a message informing the user that the entry can only be 3 digits in length

274

179

Normal

Click on save after filling in all the aforementioned fields

Should save data, and show message “Changes saved”

Saves data, and shows message “Changes saved”

264

149

Abnormal

Click on save with all fields left empty

Shows message informing user that all fields have been

Shows message informing user that all fields have been

265

150

NAINA RAISINGHANI PK 500


337 left empty and asks him to fill them in

left empty and asks him to fill them in

21

cmdSave

Abnormal

Click on save, however Service ID has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

265

151

22

cmdSave

Abnormal

Click on save, however Service Type has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

265

152

23

cmdSave

Abnormal

Click on save, however Description has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

265

153

24

cmdSave

Abnormal

Click on save, however Charges has been left empty

Shows message informing user that the field has been left empty

Shows message informing user that the field has been left empty

265

154

25

cmdEdit

Normal

Click on edit and enter â&#x20AC;&#x153;004â&#x20AC;? and then click on OK

Displays an input box asking for the name of the record to be

Displays an input box asking for the name of the record to be

266

158

NAINA RAISINGHANI PK 500


338

26

cmdEdit

Abnormal

Click on edit, enter “090” then click on OK

27

cmdSearch

Normal

Click on search and enter “004” then click on OK

28

cmdSearch

Abnormal

Click on search and enter “089” then click on OK

29

cmdDelete

Normal

Click on delete and enter “004” then click on OK then YES followed by OK

edited Displays message box that reads “No match found” Displays an input box asking for the name of the record to be searched for Displays message box that reads “No match found” Displays an input box asking for the name of the record to be deleted

edited Displays message box that reads “No match found” Displays an input box asking for the name of the record to be searched for Displays message box that reads “No match found” Displays an input box asking for the name of the record to be deleted

266

156

269

165

269

163

271 (all)

169 170 171

30

cmdDelete

Abnormal

Click on delete and enter “096” then click on OK

Displays message box that reads No match found

Displays message box that reads No match found

270

167

31

cmdCancel

normal

Click on cancel

Clears all fields

Clears all fields

272

173

32

cmdback

Normal

Click on 

Goes back to main menu

Goes back to main menu

274

180

NAINA RAISINGHANI PK 500


339 33

cmdClose

34

cmdNew

Normal

NAINA RAISINGHANI PK 500

Click on X

Stops program

Stops program

-

-

Click on the button

Clears all fields

Clears all fields

263

147


340

REPORTS MENU Test No.

Component tested

1

cmdEvents

2

Testing type

Test Data

Expected result

Actual Result

Page no.

Fig No.

Normal

Click on the button

Shows a report with all events listed

Shows a report with all events listed

297

222

cmdview_all_employees Normal

Click on the button

Shows a report with all employees listed

Shows a report with all employees listed

300

228

3

cmdCustomers

Normal

Click on the button

Shows a report with all customers listed

Shows a report with all customers listed

298

224

4

cmdservices

Normal

Click on the button

Shows a report with all services listed

Shows a report with all services listed

299

226

5

cmdBILLS

Normal

Click on the button

Shows a report with all bills listed

Shows a report with all bills listed

301

230

6

cmdfewcustomers

Normal

Click on the button, enter â&#x20AC;&#x153;002â&#x20AC;? then click on OK

Shows the report for that particular customer

Shows the report for that particular customer

302

232

Click on the button, enter

Shows a message informing the

Shows a message informing the

303

7

cmdfewcustomers

NAINA RAISINGHANI PK 500

Abnormal

233

234


341

8

cmdearn

9

cmdearn

10

cmdfewemployees

11

cmdfewemployees

NAINA RAISINGHANI PK 500

“089” then click on OK

customer that the record does not exist

customer that the record does not exist

Click on the button, enter “200000” then click on OK

Shows the report for the event that earned the minimum amount stated

Shows the report for the event that earned the minimum amount stated

305

240

306

241

Abnormal

Click on the button, enter “400000” then click on OK

Shows a message informing the customer that the record does not exist

Shows a message informing the customer that the record does not exist

306

242

Normal

Click on the button, enter “002” then click on OK

Shows the report for that particular employee

Shows the report for that particular employee

303

236

304

237

Click on the button, enter “096” then click on OK

Shows a message informing the customer that the record does not exist

Shows a message informing the customer that the record does not exist

304

238

Normal

Abnormal


342 12

cmdback

Normal

Click on ď&#x192;&#x;

Goes back to main menu

Goes back to main menu

307

244

13

cmdClose

Normal

Click on X

Stops program

Stops program

-

-

NAINA RAISINGHANI PK 500


343

BILLING MENU Test No. 1

Component tested cmdNew

Testing type Normal

2

txtBillNo

Normal

“005”

3

txtBillNo

Abnormal

“a”

4

txtBillNo

Extreme

“1234”

5

cmbCustID

Normal

Select an ID from the list provided

6

cmbEventID

Normal

Select an ID from the list provided

7

cmbEmployeeID

Normal

Select an ID from the list

NAINA RAISINGHANI PK 500

Test Data Click on the button

Expected Actual Result result Clears all Clears all fields and fills fields and fills in today’s in today’s date into the date into the DATE field DATE field Accepts data Accepts data as valid as valid Rejects data Rejects data as invalid and as invalid and shows shows message message informing informing user that this user that this field only field only digits as digits as acceptable acceptable entry entry Rejects data Rejects data as invalid and as invalid and shows a shows a message message informing the informing the user that the user that the entry can only entry can only be 3 digits in be 3 digits in length length Accepts data Accepts data as valid and as valid and fills in the fills in the corresponding corresponding data in the data in the Customer Customer Name field Name field Accepts data Accepts data as valid and as valid and fills in the fills in the corresponding corresponding data in the data in the event name/ Event type field Name/Type field Accepts data Accepts data as valid as valid

Page no. 277

Fig No. 183

278

184

293

211

293

212

278

184

278

184

278

184


344 provided Select a date from the calendar provided “Unknown Plot” “Office of Undergraduate Admission Florida Institute of Technology 150 W. University Blvd Melbourne, Florida” Select an ID from the list provided Click on OK after selecting a Service ID

8

txt2Date

Normal

9

txtLocation

Normal

10

txtlocation

Extreme

11

cmbServices

Normal

12

cmdAdd

Normal

13

cmdAdd

Abnormal

Click on OK without selecting a Service ID

14

cmdCan

Normal

Click on CANCEL after selecting a Service ID

NAINA RAISINGHANI PK 500

Accepts data as valid

Accepts data as valid

278

184

Accepts data as valid Rejects the data as invalid and shows a message informing the user that the location cannot exceed 100 characters Accepts data as valid

Accepts data as valid Rejects the data as invalid and shows a message informing the user that the location cannot exceed 100 characters Accepts data as valid

278

184

293

213

279

185

Accepts data as valid, displays the service in the list of all services selected and adds its charges to total service charges and total charges Shows a message that informs the user that no service ID has been selected Removes the service in the list of all services selected and decreases its charges from the total service

Accepts data as valid, displays the service in the list of all services selected and adds its charges to total service charges and total charges Shows a message that informs the user that no service ID has been selected Removes the service in the list of all services selected and decreases its charges from the total service

279

185

289

194

282

188


345

15

cmdCan

Abnormal

Click on Cancel without selecting a Service ID

16

txtOtherCharges

Normal

“12000”

17

txtOtherCharges Abnormal

18

txtOtherCharges

Extreme

“12000000”

19

txtAdvance

Normal

“13000”

20

txtAdvance

Abnormal

“a”

NAINA RAISINGHANI PK 500

“a”

charges and total charges Shows a message that informs the user that no service ID has been selected Accepts data as valid and adds this value to total charges Rejects data as invalid and shows message informing user that this field only digits as acceptable entry Rejects data as invalid and shows a message informing the user that the entry can only be 7 digits in length Accepts data as valid and decreases this value from total charges displaying the result in payable Rejects data as invalid and shows message informing user that this field only

charges and total charges Shows a message that informs the user that no service ID has been selected Accepts data as valid and adds this value to total charges Rejects data as invalid and shows message informing user that this field only digits as acceptable entry Rejects data as invalid and shows a message informing the user that the entry can only be 7 digits in length Accepts data as valid and decreases this value from total charges displaying the result in payable Rejects data as invalid and shows message informing user that this field only

294

219

284

189

293

214

293

215

285

190

294

216


346

21

txtAdvance

Extreme

“12000000”

22

txtAdvance

Abnormal

Click on Advance with all fields left empty

23

cmdSave

Normal

Click on SAVE n PRINT

24

cmdSave

Abnormal

Click on SAVE n PRINT with all fields left empty

NAINA RAISINGHANI PK 500

digits as acceptable entry Rejects data as invalid and shows a message informing the user that the entry can only be 7 digits in length Shows message informing user that all fields have been left empty and asks him to fill them in Asks the user if he wants to print the report as well. If the user clicks YES a report with all the bill details is shown and another message box appears informing the user that now a print out of all of this customer’s events will be shown. Shows message informing user that all fields have been left empty and asks him to fill

digits as acceptable entry Rejects data as invalid and shows a message informing the user that the entry can only be 7 digits in length Shows message informing user that all fields have been left empty and asks him to fill them in Asks the user if he wants to print the report as well. If the user clicks YES a report with all the bill details is shown and another message box appears informing the user that now a print out of all of this customer’s events will be shown. Shows message informing user that all fields have been left empty and asks him to fill

294

217

294

218

286 286288

191 192

290

201


347

25

cmdSave

Abnormal

26

cmdSave

Abnormal

27

cmdSave

Abnormal

Click on save, however event ID has been left empty

28

cmdSave

Abnormal

Click on save, however employee ID has been left empty

29

cmdSave

Abnormal

Click on save, however event date has been left empty

30

cmdSave

Abnormal

Click on save, however event location has been left empty

31

cmdSave

Abnormal

Click on save, however service list has been left empty

32

cmdSave

Abnormal

Click on save, however other charges has been left

NAINA RAISINGHANI PK 500

Click on SAVE n PRINT, however Bill number has been left empty Click on save, however customer ID has been left empty

them in Shows message informing user that the field has been left empty Shows message informing user that the field has been left empty Shows message informing user that the field has been left empty Shows message informing user that the field has been left empty Shows message informing user that the field has been left empty Shows message informing user that the field has been left empty Shows message informing user that the list has been left empty Shows message informing user that the

them in Shows message informing user that the field has been left empty Shows message informing user that the field has been left empty Shows message informing user that the field has been left empty Shows message informing user that the field has been left empty Shows message informing user that the field has been left empty Shows message informing user that the field has been left empty Shows message informing user that the field has been left empty Shows message informing user that the

291

202

291

203

291

204

291

205

292

206

292

207

292

208

292

209


348 empty 33

cmdSave

Abnormal

Click on save, however advance has been left empty

34

cmdDelete

Normal

Click on the DELETE button and enter the value “005”

35

cmdDelete

Abnormal

Click on the DELETE button and enter the value “089”

36

cmdCancel

Normal

Click on cancel

37

cmdback

Normal

Click on 

38

cmdClose

Normal

Click on X

NAINA RAISINGHANI PK 500

field has been field has been left empty left empty Shows Shows message message informing informing user that the user that the field has been field has been left empty left empty Asks the user Asks the user to confirm if to confirm if he does he does indeed want indeed want to delete the to delete the record, if the record, if the user clicks YES user clicks YES the user is the user is then informed then informed that the that the record has record has been deleted been deleted Displays a Displays a message box message box informing the informing the user that the user that the record does record does not exist. not exist. Clears all Clears all fields fields Goes back to main menu Stops program

Goes back to main menu Stops program

292

210

289

195 196 197

290

199

-

-

294

220

-

-


349

NAINA RAISINGHANI PK 500


350

IMPLEMENTATION PLAN Once the program has been completed and thoroughly tested, it must be implemented so that the agency can begin using it. The major steps in this stage are: Purchasing all the required hardware and software (as specified in the analysis stage) Changing over from the old system to the new one Converting the old manual files so they can be used by the new system Training the staff they can use the new system effectively SYSTEM CHANGEOVER The system changeover is the act of actually switching from the old system to the new one. There are four main types of system changeovers one of which has to be chosen for the agency: Direct/ Straight/ Big Bang changeover: Whereby the old system is completely removed or scrapped Parallel changeover: Both systems run side by side for some time as a safety measure Phased changeover: Here the system is changed department by department Pilot changeover: Here the system is changed module by module (each department has a module like a Sales department will have a Sales, Purchase Stock modules) It was decided that a parallel changeover was the most suitable to use. A direct changeover would be too risky to use because any problems in the new system would cause serious complications, a phased changeover was impossible because of how closely linked the different parts of the system were, and a pilot changeover was impossible as the agencyâ&#x20AC;&#x2122;s different branches were not linked. A parallel system would require the extra effort to maintain both systems side by side for a few weeks but this would only be a temporary inconvenience and the use of the old system could be stopped as soon as it was confirmed that the new system was functioning properly. FILE CONVERSION Once the new system is installed all existing records needed to be converted so that they can be used by the new system. Unfortunately the only viable method is manually keying in the old data because all the records were initially hand written. Typists should be hired for this purpose STAFF TRAINING For the new staff to be effective, it is essential to train the agency staff to use the system properly and deal with any errors. To this end all the staff has been enrolled in a basic computer literacy and training course, which will teach them general computer usage and troubleshooting. Once this course has been completed, I will personally ensure that all the head of departments are well aware of how to use the parts of the system which were relevant to their jobs, and they will in turn train the staff under them.

NAINA RAISINGHANI PK 500


351

CORRESPONDENCE From: Naina Raisinghani <nraisinghani1992@gmail.com> To: catwalk@cyber.net.pk Date: Fri, Feb 25, 2011 at 09:23 AM mailed-bygmail.com To Whom It May Concern, I am pleased to inform you that the programming and the testing of the new record keeping system for CATWALK EVENT MANAGEMENT has been completed, and it is now ready to be implemented. In order to implement the new system all the required hardware and software is purchased, the staff must be trained and all the records must be converted so that they can be used by the new system. I recommend that the old and the new system be run side-by-side for a few weeks in order to ensure that the new system is producing the correct results, and I hope to schedule a meeting with you to discuss the steps required to implement the system in detail. Thanking you in anticipation, Yours Sincerely, Naina Raisinghani From: Ahmed Baig <baigahmed@gmail.com> To: Naina Raisinghani <nraisinghani1992@gmail.com> Date: Mon, Feb 28, 2011 at 01:00 PM mailed-bygmail.com Dear Ms. Naina, I am delighted to learn that the new system is ready to be implemented and approve the implementation strategy you have suggested of maintaining the old and the new system sideby-side. I suggest we meet tomorrow at 3:00 PM whereby we can see the completed program and discuss any and all details. Please feel free to email / call on +971 55 782 6977 if there is anything I can assist you with. Good luck and best wishes, Ahmed Jibran Baig Mobile: +971 (0)55 7826977 +92 (0)332 3000343 Email: baigahmed@gmail.com

NAINA RAISINGHANI PK 500


352

NAINA RAISINGHANI PK 500


353

EVALUATION After the system was implemented and used for some time it was evaluated by reviewing the objectives specified previously during the analysis stage had been met, the following was established: 1. All processes have been greatly simplified and are much faster. For example previously the average time for finding a file (now a record) was 15-20 minutes, but has now been narrowed down to mere milliseconds. 2. Data validation and automatic calculations means the accuracy of the new system is much greater than that of the old one, and in particular the bills produced by system are far more accurate than those produced by the old system. 3. The workload on the staff has been greatly reduced since almost all manual records have been eliminated. For example the secretaries no longer need to manually search through all the records to search for all files, instead the system does this automatically. 4. The amount of resources used has been decreased because the system is computerbased and requires less human effort. In particular the new backup system results in vast amount of paper and storage space being saved. 5. Data security has been increased as users must authorize themselves in order to use the new system and the backup process is much simpler and faster. 6. Customer satisfaction has been greatly increased because all processes (particularly searching, adding, editing and deleting records) are much faster, the amount of errors has been significantly reduced (especially in bills) and staff is able to devote more time to clients because their workload has been reduced. 7. The event plannersâ&#x20AC;&#x2122; jobs has been simplified since the system stores statistical information about more popular events, services and employees, making it easier to produce reports. 8. Overall the agency has benefited greatly from the new system. The decreased use of resources and lowering of costs has resulted in greater profit margins, and the system has allowed the client base to expand freely without overburdening the staff. Thus the system has been able to meet all the objectives.

NAINA RAISINGHANI PK 500


354

LIMITATIONS AND EXTENSIONS Although the system has been extremely successful in that it has satisfied all the objectives, it has a few limitations which I discussed with Ahmed Baig which can be addressed in possible future extensions. They are as follows: 1. Since the user name and password are only requested at entrance, if the application is left logged in, any one will gain access to all the data – I suggest that if the program remains inactive for 15 minutes it logs out. 2. Since security is only present at the entrance, any person with the user name and password gains access to all data – I suggest that each section of the program be password protected by person. This will mean that each screen has limited access. 3. The program can only be accessed by one user at a time 4. Even after a long period of inactivity whereby one leaves the computer unhandled, the program remains open, meaning any new person (without security clearance) can access the data. The user would much rather prefer a system whereby after a fixed period of lack of activity the program automatically logs out data – I suggest that if the program remains inactive for 15 minutes it logs out. 5. Since the application has not been linked to a printer, the data cannot be printed out at this stage. This means that users will have to refer to a computer screen at all times. 6. Since the software is not networked, all data will have to be held on one central computer only, data from different computers can’t be merged. 7. Since the software is not connected to a network branches of the company all over the country cannot be linked together. 8. Since all the data will be held on a computer – it means that particular will face heavy usage. 9. Also since all the data is held on one central computer, means during peak times, people will have to wait to gain access to data – meaning customers will have to wait. 10. Since the software is not connected directly to a credit card machine – transactions won’t be dealt with using this software. 11. Since the software is not connected to a credit card machine, the customer can’t use any special policies from his credit cards (such as reward points, etc.) to pay for the services.

NAINA RAISINGHANI PK 500


355

CORRESPONDENCE From: Ahmed Baig <baigahmed@gmail.com> To: Naina Raisinghani <nraisinghani1992@gmail.com> Date: Mon, Sep 6, 2010 at 2:07 AM Subject: Re: REQUEST mailed-bygmail.com Dear Ms. Naina, I am pleased to inform you that the record-keeping system you implemented recently is working extremely well. Staff training has been fully completed and all staff members report that the system is easy to use and produces accurate results. As you recommended, the old and the new system be ran side-by-side for two weeks, and the few discrepancies found were actually caused by errors in the old system, which highlights how effective the new system is at reducing errors. On behalf of the CATWALK EVENT MANAGEMENT AGENCY I would like to thank you for creating the system. Since the system has been proven to function correctly, the logical next step seems to implement the few extensions you suggested at our last meeting in particular the addition of a proper user accounts system. Please feel free to email / call on +971 55 782 6977 if there is anything I can assist you with. Good luck and best wishes, Ahmed Jibran Baig Mobile: +971 (0)55 7826977 +92 (0)332 3000343 Email: baigahmed@gmail.com

NAINA RAISINGHANI PK 500

A level computing project - FINISHED  

This is my A level CIE computing project. Thsi is the product of over 7 months of hard work :)

Read more
Read more
Similar to
Popular now
Just for you