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