a level computing project - finished
DESCRIPTION
This is my A level CIE computing project. Thsi is the product of over 7 months of hard work :)TRANSCRIPT
1
Naina Raisinghani PK 500
Karachi Grammar School
CATWALK EVENT MANAGEMENT
2
NAINA RAISINGHANI PK 500
CONTENTS
No. Page title Page No.
1. ANALYSIS 4 Introduction to business 5 Reasons for choosing the project 9 Communication with the company 10 Objectives of data collection stage 14 Methods used for investigation 15 Manual documents obtained 16 Sample Questionnaire 36 Filled in Questionnaires 39 Summary of Questionnaires 54 Original Interview Script 55 Interview Transcripts 56 Summary of Interviews 67 How the current system works 68 Current users of system 70 Advantages of current system 71 Problems in the current system 72 Origin of data 74 Data flow diagrams 75 Organization Structure 81 Analyzing alternative solutions 82 Requirement Specification 83 Requirements of new system 88 System feasibility 89
2. DESIGN 90 Nature of Solution 91 Intended benefits 92 Limits of the scope of the solution 93 Estimated file size 97 Gantt chart 98 Input design 99 Output design 106 Data structures/ model 107 Pseudo codes 110
3. TECHNICAL DOCUMENTATION 114 Programming - Log in 115 Programming - Main menu 116 Programming - Employees 118 Programming - Events 126 Programming - Customers 134 Programming - Services 143 Programming - Reports 151
3
NAINA RAISINGHANI PK 500
Programming - Billing 155 Programming - Help 170 Screenshots – Database design view 173 Screenshots – Entity relationship diagram 178 Screenshots – Navigation flow 179 Screenshots – Screen design views 180 Screenshots – Reports design view 189
4. USER DOCUMENTATION 196 Screen shots – Setting up of program 197 Screen shots – Log in screen 206 Screen shots – Main Menu 208 Screen shots – Customers 209 Screen shots – Employees 225 Screen shots –Events 242 Screen shots –Services 259 Screen shots – Billing 275 Screen shots – Reports 296 Screen shots – Help 308 Testing – Log in screen 309 Testing – Main Menu 311 Testing – Customer 313 Testing – Employees 320 Testing – Events 327 Testing – Services 333 Testing – Reports 340 Testing – Billing 342
5. IMPLEMENTATION 348 Implementation Plan 349 Correspondence 350
6. EVALUATION 351 Evaluation 352 Limitations and extensions 353 Correspondence 354
4
NAINA RAISINGHANI PK 500
5
NAINA RAISINGHANI PK 500
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
6
NAINA RAISINGHANI PK 500
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
7
NAINA RAISINGHANI PK 500
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
8
NAINA RAISINGHANI PK 500
Government:
Diplomatic Missions of Pakistan Pakistan Horticulture Authority Capital Development Authority Ministry of Commerce Export Promotion Bureau Pakistan
9
NAINA RAISINGHANI PK 500
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.
10
NAINA RAISINGHANI PK 500
COMMUNICATION WITH THE COMPANY From: Naina Raisinghani <[email protected]> To: [email protected] 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 <[email protected]> To: Naina Raisinghani <[email protected]> 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’s a smaller company that you are looking for, and it’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.
11
NAINA RAISINGHANI PK 500
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: [email protected]
From: Naina Raisinghani <[email protected]> To: Ahmed Baig <[email protected]> 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 <[email protected]> To: Naina Raisinghani <[email protected]> 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
12
NAINA RAISINGHANI PK 500
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: [email protected]
From: Naina Raisinghani <[email protected]> To: Ahmed Baig <[email protected]> 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 <[email protected]> To: Naina Raisinghani <[email protected]> Date: Mon, Sep 14, 2010 at 10:17 AM Subject: Re: REQUEST mailed-bygmail.com Dear Ms. Naina,
13
NAINA RAISINGHANI PK 500
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: [email protected]
From: Naina Raisinghani <[email protected]> To: Ahmed Baig <[email protected]> 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
14
NAINA RAISINGHANI PK 500
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’ 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.
15
NAINA RAISINGHANI PK 500
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
16
NAINA RAISINGHANI PK 500
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’s brochure
17
NAINA RAISINGHANI PK 500
Admission form
18
NAINA RAISINGHANI PK 500
19
NAINA RAISINGHANI PK 500
Cover page for each event file
20
NAINA RAISINGHANI PK 500
Blank sheet from each event file
21
NAINA RAISINGHANI PK 500
Satisfaction questionnaires handed out to customers at the end of each event
22
NAINA RAISINGHANI PK 500
23
NAINA RAISINGHANI PK 500
Financial agreement signed by customers
24
NAINA RAISINGHANI PK 500
Employee file:
25
NAINA RAISINGHANI PK 500
Letterhead
26
NAINA RAISINGHANI PK 500
Brochure
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
NAINA RAISINGHANI PK 500
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? ______________________________________________________________________________
37
NAINA RAISINGHANI PK 500
____________________________________________________________________________________________________________________________________________________________ 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 Very Good Excellent
Efficiency
User friendly
Accurate
Secure
38
NAINA RAISINGHANI PK 500
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!
39
NAINA RAISINGHANI PK 500
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? ______________________________________________________________________________
40
NAINA RAISINGHANI PK 500
____________________________________________________________________________________________________________________________________________________________ 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 Very Good Excellent
Efficiency
User friendly
Accurate
Secure
41
NAINA RAISINGHANI PK 500
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!
42
NAINA RAISINGHANI PK 500
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? __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
43
NAINA RAISINGHANI PK 500
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 Very Good Excellent
Efficiency
User friendly
Accurate
Secure
If you have rated any area as “Below Average” please explain what can be done to improve this rating: ______________________________________________________________________________
44
NAINA RAISINGHANI PK 500
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Feel free to add any comments: __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Thank you for your time!
45
NAINA RAISINGHANI PK 500
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? __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
46
NAINA RAISINGHANI PK 500
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 Very Good Excellent
Efficiency
User friendly
Accurate
Secure
If you have rated any area as “Below Average” please explain what can be done to improve this rating: ______________________________________________________________________________
47
NAINA RAISINGHANI PK 500
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Feel free to add any comments: __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Thank you for your time!
48
NAINA RAISINGHANI PK 500
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? __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
49
NAINA RAISINGHANI PK 500
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 Very Good Excellent
Efficiency
User friendly
Accurate
Secure
If you have rated any area as “Below Average” please explain what can be done to improve this rating: ______________________________________________________________________________
50
NAINA RAISINGHANI PK 500
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Feel free to add any comments: __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Thank you for your time!
51
NAINA RAISINGHANI PK 500
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? __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
52
NAINA RAISINGHANI PK 500
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 Very Good Excellent
Efficiency
User friendly
Accurate
Secure
If you have rated any area as “Below Average” please explain what can be done to improve this rating: ______________________________________________________________________________
53
NAINA RAISINGHANI PK 500
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Feel free to add any comments: __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Thank you for your time!
54
NAINA RAISINGHANI PK 500
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 – 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’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’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.
55
NAINA RAISINGHANI PK 500
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?
56
NAINA RAISINGHANI PK 500
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?
57
NAINA RAISINGHANI PK 500
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.
58
NAINA RAISINGHANI PK 500
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’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.
59
NAINA RAISINGHANI PK 500
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?
60
NAINA RAISINGHANI PK 500
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.
61
NAINA RAISINGHANI PK 500
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.
62
NAINA RAISINGHANI PK 500
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.
63
NAINA RAISINGHANI PK 500
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?
64
NAINA RAISINGHANI PK 500
A: He can make different choices in three ways: 1. He could pick things from the catalogue we show him of past events – 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’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!
65
NAINA RAISINGHANI PK 500
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?
66
NAINA RAISINGHANI PK 500
A: He fills a form – 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’t covered Q: Any other point that you would like to clarify or mention? A: No thank you very much!
67
NAINA RAISINGHANI PK 500
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
68
NAINA RAISINGHANI PK 500
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
69
NAINA RAISINGHANI PK 500
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?
70
NAINA RAISINGHANI PK 500
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.
71
NAINA RAISINGHANI PK 500
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 – 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.
72
NAINA RAISINGHANI PK 500
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’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’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
73
NAINA RAISINGHANI PK 500
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’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’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.
74
NAINA RAISINGHANI PK 500
ORIGIN OF DATA Currently data held by the system follows the following pattern:
Registration Form Account Department Event Management Questionnaire
Name Name Name Name
NIC details NIC details NIC details Event type
Age Age Age Satisfaction with event
Address Address Address Satisfaction with service
Phone Number Phone Number Phone Number Any changes suggested
Email address Email address Email address Any change in supplier
Event type Event type Event type
Budget Budget Budget
Date of event Date of event Date of event
Time of event Time of event Time of event
Preference in any choice
Payment option Preference in any choice
Number of guests Account details Payment option
Payment option Credit Card details Account details
Account details Advance laid down Credit Card details
Credit Card details Discount offered Invitation choice
Waiver signed? Flower choice
Music choice
Miscellaneous entertainment
Location
Table setting
Guest list
Food
Furniture to be used
Stage details
Party favors
75
NAINA RAISINGHANI PK 500
DATA FLOW DIAGRAMS
CONTEXT LEVEL
Event
management
system
CUSTOMER
ACCOUNTS
DEPARTMENT
EVENT PLANNERS
SUPPLIER Requests services
Plans events
Reports bills
Checked invoices and
customer details
Purchase order
Delivery report
Plans the event
Assigns a planner
76
NAINA RAISINGHANI PK 500
LEVEL ZERO
Customer file
CUSTOMER SUPPLIERS
ACCOUNTS
DEPARTMENT
PLANNERS
4
3
1
2
Handle
all events Produces
a bill
Provides
goods
Provide
feedback
Event file
77
NAINA RAISINGHANI PK 500
LEVEL 1.1
Billing file
1.1 1.1
1.1.4
Handling all
events
Sign contract
Sent to accounts
department
Selects from a
demo
Fills in a form
Customer
1.1
1.1.2
1.1.1
1.1.3
78
NAINA RAISINGHANI PK 500
LEVEL 1.2
79
NAINA RAISINGHANI PK 500
LEVEL 1.3
80
NAINA RAISINGHANI PK 500
LEVEL 1.4
81
NAINA RAISINGHANI PK 500
ORGANIZATION STRUCTURE
CEO
Frieha Altaf
Creative Editor
Nasreen Bokutz
(Karachi Branch)
Head of Accounts Head of Event Management
Accounting clerks Secretaries
Peons
Event Planners Secretaries
Peons
82
NAINA RAISINGHANI PK 500
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 Disadvantages
Data would be maintained more efficiently Printing would be expensive
Data could be retrieved, deleted or added more efficiently
Papers could be lost
Searching for data would be easy 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.
83
NAINA RAISINGHANI PK 500
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 – due to this one computer can’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)
84
NAINA RAISINGHANI PK 500
DETAILED DATA REQUIREMENTS
Customer Events Services Billing Profit and Loss calculator
Customer ID Event ID Service ID Customer ID Total income
Customer Name
Event Type Service Type Event ID Location charges
NIC details Description Description Service Type Service Charges
Address Charges Customer Name
Labor Charges
Phone Number
Event Type Miscellaneous charges
Total service charges
Total charges
Fixed charges Profit
Other charges
Loss
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 – 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’t affect others
85
NAINA RAISINGHANI PK 500
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.
86
NAINA RAISINGHANI PK 500
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.
87
NAINA RAISINGHANI PK 500
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. Operating system: Windows XP minimum 2. Visual Basic 3. MS Access 4. Driver software to install the following:
Printer
DVD RW
Any other external hardware attached to the computer
88
NAINA RAISINGHANI PK 500
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 – 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
89
NAINA RAISINGHANI PK 500
SYSTEM FEASIBILITY
TECHNICAL FEASIBILITY HARDWARE COSTS
Serial No Hardware requirement Unit Price
1 Intel Centrino 2.0 GHz with motherboard Rs. 10000
2 512 Mb DDR RAM Rs. 1000
3 40 GB hard drive Rs. 1000
4 HP DVD RW Rs. 2500
5 Monitor Rs. 10000
6 Standard QWERTY keyboard Rs. 200
7 PS/2 Mouse Rs. 200
8 HO DeskJet printer Rs. 3000
9 Modem In built
10 A dozen blank DVD RWs Rs. 1000/ per dozen
11 A stack of 500 A4 size sheets Rs. 300/ 500 sheets
12 Wireless internet connection Rs. 2000/ month
- Total Rs. 31200 SOFTWARE COSTS
Serial No Software requirement Unit Price
1 Microsoft Windows XP Rs. 2000
2 MS Visual Basic Rs. 3000
3 MS Access 2007 Rs. 3000
- Total Rs. 8000
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.
90
NAINA RAISINGHANI PK 500
91
NAINA RAISINGHANI PK 500
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.
92
NAINA RAISINGHANI PK 500
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 – 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 – 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.
93
NAINA RAISINGHANI PK 500
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.
94
NAINA RAISINGHANI PK 500
ESTIMATED FILE SIZE
Billing
No. Name Type Width
1 BillNo Text 3
2 CustomerID Text 3
3 EventID Text 3
4 EmployeeID Text 3
5 Location Text 100
6 GrandTotal Currency 7
7 ServiceCharges Currency 7
8 FixedCharges Currency 7
9 OtherCharges Currency 7
10 Advance Currency 7
11 Payable Currency 7
12 dateBooking Date 8
13 dateHeld Date 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. Name Type Width
1 CustomerID Text 3
2 CustomerName Text 40
3 NIC Text 15
4 Address Memo 100
5 PhoneNumber Text 15
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
95
NAINA RAISINGHANI PK 500
Employees
No. Name Type Width
1 EmployeeID Text 3
2 EmployeeName Text 40
3 EmployeeNIC Text 15
4 EmployeeAddress Memo 100
5 EmployeeRemarks Memo 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. Name Type Width
1 EventID Text 3
2 Name/Type Text 100
3 Description Memo 250
4 Charges Currency 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. Name Type Width
1 ServiceID Text 3
2 ServiceType Text 100
3 Description Memo 250
4 Charges Currency 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
96
NAINA RAISINGHANI PK 500
Temp
No. Name Type Width
1 CustomerID Text 3
2 EmployeeID Text 3
3 EventID Text 3
4 ServiceID Text 3
5 Charges Currency 7
6 Date Date 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
97
NAINA RAISINGHANI PK 500
OPTION TREE
frmLogin
frmCustomers
cmdAdd
cmdSearch
cmdEdit
cmdSave
cmdDelete
cmdCancel
frmEmployees
cmdNew
cmdSearch
cmdEdit
cmdSave
cmdDelete
cmdCancel
frmEvents
cmdAdd
cmdSearch
cmdEdit
cmdSave
cmdDelete
cmdCancel
frmServices
cmdAdd
cmdSearch
cmdEdit
cmdSave
cmdDelete
cmdCancel
frmBilling
cmdAdd
cmdCan
cmdNew
cmdSave
cmdDelete
cmdCancel
frmReports
dtrBill
dtrServices
dtrEvents
dtrServicesAll
dtrEmployees
dtrCustomers
dtrBillsAll
frmHelp
frmMainMenu
98
NAINA RAISINGHANI PK 500
GANTT CHART
99
INPUT DESIGN
Fig 1 – Log in screen
100
NAINA RAISINGHANI PK 500
Fig 2 – Main Menu
101
NAINA RAISINGHANI PK 500
Fig 3 – Employees Menu
102
NAINA RAISINGHANI PK 500
Fig 4 – Events Menu
103
NAINA RAISINGHANI PK 500
Fig 5– Services Menu
104
NAINA RAISINGHANI PK 500
Fig 6– Customers Menu
105
NAINA RAISINGHANI PK 500
Fig 7– Billing Menu
106
NAINA RAISINGHANI PK 500
OUTPUT DESIGN
Fig 8– Reports Menu
107
NAINA RAISINGHANI PK 500
DATA STRUCTURES/ MODELS
Entity Relationship Diagram:
108
NAINA RAISINGHANI PK 500
Data Dictionary Billing
No. Name Type Width
1 BillNo Text 3
2 CustomerID Text 3
3 EventID Text 3
4 EmployeeID Text 3
5 Location Text 100
6 GrandTotal Currency 7
7 ServiceCharges Currency 7
8 FixedCharges Currency 7
9 OtherCharges Currency 7
10 Advance Currency 7
11 Payable Currency 7
12 dateBooking Date 8
13 dateHeld Date 8
Customers
No. Name Type Width
1 CustomerID Text 3
2 CustomerName Text 40
3 NIC Text 15
4 Address Memo 100
5 PhoneNumber Text 15
Employees
No. Name Type Width
1 EmployeeID Text 3
2 EmployeeName Text 40
3 EmployeeNIC Text 15
4 EmployeeAddress Memo 100
5 EmployeeRemarks Memo 250
Events
No. Name Type Width
1 EventID Text 3
2 Name/Type Text 100
3 Description Memo 250
109
NAINA RAISINGHANI PK 500
4 Charges Currency 7
Services
No. Name Type Width
1 ServiceID Text 3
2 ServiceType Text 100
3 Description Memo 250
4 Charges Currency 7
Temp
No. Name Type Width
1 CustomerID Text 3
2 EmployeeID Text 3
3 EventID Text 3
4 ServiceID Text 3
5 Charges Currency 7
6 Date Date 8
110
NAINA RAISINGHANI PK 500
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
111
NAINA RAISINGHANI PK 500
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
112
NAINA RAISINGHANI PK 500
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
113
NAINA RAISINGHANI PK 500
Clear all variables Return to main menu ENDIF ENDDO NOTE: Please note that the SAVE button is incorporated into the EDIT button
114
NAINA RAISINGHANI PK 500
115
NAINA RAISINGHANI PK 500
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
116
NAINA RAISINGHANI PK 500
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()
117
NAINA RAISINGHANI PK 500
‘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
118
NAINA RAISINGHANI PK 500
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
119
NAINA RAISINGHANI PK 500
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()
120
NAINA RAISINGHANI PK 500
‘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
121
NAINA RAISINGHANI PK 500
'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()
122
NAINA RAISINGHANI PK 500
‘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
123
NAINA RAISINGHANI PK 500
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
124
NAINA RAISINGHANI PK 500
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.’
125
NAINA RAISINGHANI PK 500
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
126
NAINA RAISINGHANI PK 500
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
127
NAINA RAISINGHANI PK 500
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()
128
NAINA RAISINGHANI PK 500
‘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
129
NAINA RAISINGHANI PK 500
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
130
NAINA RAISINGHANI PK 500
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
131
NAINA RAISINGHANI PK 500
‘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
132
NAINA RAISINGHANI PK 500
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
133
NAINA RAISINGHANI PK 500
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
134
NAINA RAISINGHANI PK 500
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
135
NAINA RAISINGHANI PK 500
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()
136
NAINA RAISINGHANI PK 500
‘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
137
NAINA RAISINGHANI PK 500
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
138
NAINA RAISINGHANI PK 500
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.’
139
NAINA RAISINGHANI PK 500
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
140
NAINA RAISINGHANI PK 500
‘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!")
141
NAINA RAISINGHANI PK 500
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)
142
NAINA RAISINGHANI PK 500
‘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
143
NAINA RAISINGHANI PK 500
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
144
NAINA RAISINGHANI PK 500
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()
145
NAINA RAISINGHANI PK 500
‘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
146
NAINA RAISINGHANI PK 500
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()
147
NAINA RAISINGHANI PK 500
‘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
148
NAINA RAISINGHANI PK 500
‘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’
149
NAINA RAISINGHANI PK 500
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!")
150
NAINA RAISINGHANI PK 500
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
151
NAINA RAISINGHANI PK 500
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.’
152
NAINA RAISINGHANI PK 500
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()
153
NAINA RAISINGHANI PK 500
‘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.’
154
NAINA RAISINGHANI PK 500
Load DataReport5 DataReport5.Refresh DataReport5.Show
End Sub
155
NAINA RAISINGHANI PK 500
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’
156
NAINA RAISINGHANI PK 500
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’
157
NAINA RAISINGHANI PK 500
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
158
NAINA RAISINGHANI PK 500
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
159
NAINA RAISINGHANI PK 500
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
160
NAINA RAISINGHANI PK 500
‘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!!"
161
NAINA RAISINGHANI PK 500
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
162
NAINA RAISINGHANI PK 500
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.’
163
NAINA RAISINGHANI PK 500
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 & "'")
164
NAINA RAISINGHANI PK 500
‘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)
165
NAINA RAISINGHANI PK 500
‘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
166
NAINA RAISINGHANI PK 500
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))
167
NAINA RAISINGHANI PK 500
‘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
168
NAINA RAISINGHANI PK 500
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()
169
NAINA RAISINGHANI PK 500
‘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
170
NAINA RAISINGHANI PK 500
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
171
NAINA RAISINGHANI PK 500
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
172
NAINA RAISINGHANI PK 500
‘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
173
NAINA RAISINGHANI PK 500
SCREEN SHOTS
DATABASE DESIGN VIEWS Fig 1 (i): Below is a screenshot of the Customers table in Design view
174
NAINA RAISINGHANI PK 500
Fig 1 (ii): Below is a screenshot of the Employees table in Design view
175
NAINA RAISINGHANI PK 500
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
176
NAINA RAISINGHANI PK 500
Fig 1 (v): Below is a screenshot of the Billing table in Design view
177
NAINA RAISINGHANI PK 500
Fig 1 (vi): Below is a screenshot of the temp table in Design view
178
NAINA RAISINGHANI PK 500
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.
179
NAINA RAISINGHANI PK 500
NAVIGATION FLOW Fig 3:
frmLogin
frmCustomers
cmdAdd
cmdSearch
cmdEdit
cmdSave
cmdDelete
cmdCancel
frmEmployees
cmdNew
cmdSearch
cmdEdit
cmdSave
cmdDelete
cmdCancel
frmEvents
cmdAdd
cmdSearch
cmdEdit
cmdSave
cmdDelete
cmdCancel
frmServices
cmdAdd
cmdSearch
cmdEdit
cmdSave
cmdDelete
cmdCancel
frmBilling
cmdAdd
cmdCan
cmdNew
cmdSave
cmdDelete
cmdCancel
frmReports
dtrBill
dtrServices
dtrEvents
dtrServicesAll
dtrEmployees
dtrCustomers
dtrBillsAll
frmMainMenu
180
NAINA RAISINGHANI PK 500
SCREEN DESIGN VIEWS Fig 4 (i): Design view of Log in screen
Fig 4 (ii): Design view of Main Menu
181
NAINA RAISINGHANI PK 500
Fig 4 (iii): Design view of Events Menu
182
NAINA RAISINGHANI PK 500
Fig 4 (iv): Design view of Employee Menu
183
NAINA RAISINGHANI PK 500
Fig 4 (v): Design view of Customer Menu
184
NAINA RAISINGHANI PK 500
Fig 4 (vi): Design view of Services Menu
185
NAINA RAISINGHANI PK 500
Fig 4 (vii): Design view of Billing Menu
186
NAINA RAISINGHANI PK 500
Fig 4 (viii): Design view of Reports Menu
187
NAINA RAISINGHANI PK 500
Fig 5 (i): This is the browser used to initiate the HELP menu:
188
NAINA RAISINGHANI PK 500
Fig 5 (ii): Following is the MDI form that is used to initiate the HELP menu:
189
NAINA RAISINGHANI PK 500
REPORT DESIGN VIEW Fig 6 (i): Design view of data report for LIST ALL EVENTS:
190
NAINA RAISINGHANI PK 500
Fig 6 (ii): Design view of data report for LIST ALL CUSTOMERS:
191
NAINA RAISINGHANI PK 500
Fig 6 (iii): Design view for LIST ALL SERVICES:
192
NAINA RAISINGHANI PK 500
Fig 6 (iv): Design view of data report for LIST ALL EMPLOYEES:
193
NAINA RAISINGHANI PK 500
Fig 6 (v): Design view of data report for various BILL related reports:
194
NAINA RAISINGHANI PK 500
Fig 6 (vi): Design view of data report for the BILLING MENU part 1:
195
NAINA RAISINGHANI PK 500
Fig 6 (vii): Design view of data report for the BILLING MENU part 2:
196
NAINA RAISINGHANI PK 500
197
NAINA RAISINGHANI PK 500
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:
198
NAINA RAISINGHANI PK 500
199
NAINA RAISINGHANI PK 500
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:
200
NAINA RAISINGHANI PK 500
201
NAINA RAISINGHANI PK 500
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.
202
NAINA RAISINGHANI PK 500
vi. Once the user specifies the address the setup program asks him which program he wishes to download:
203
NAINA RAISINGHANI PK 500
vii. This is a screen shot of the program being downloaded:
204
NAINA RAISINGHANI PK 500
viii. The following is the screen shot of the user being informed that the program has been downloaded:
205
NAINA RAISINGHANI PK 500
ix. To run the program the user clicks on START – Programs – Project 1 – Project 1 as per shown below:
206
NAINA RAISINGHANI PK 500
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
207
NAINA RAISINGHANI PK 500
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:
208
NAINA RAISINGHANI PK 500
MAIN MENU Fig 13: Below is the Main Menu from which users can navigate to other individual menus.
209
NAINA RAISINGHANI PK 500
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
210
NAINA RAISINGHANI PK 500
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:
211
NAINA RAISINGHANI PK 500
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:
212
NAINA RAISINGHANI PK 500
Fig 20: If the user clicks on the NEW button, the following screen appears:
213
NAINA RAISINGHANI PK 500
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:
214
NAINA RAISINGHANI PK 500
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:
215
NAINA RAISINGHANI PK 500
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:
216
NAINA RAISINGHANI PK 500
Fig 31: IF the user then types in the ID 002 the below screen appears:
217
NAINA RAISINGHANI PK 500
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:
218
NAINA RAISINGHANI PK 500
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 – 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 – For proof see Fig 34)
219
NAINA RAISINGHANI PK 500
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:
220
NAINA RAISINGHANI PK 500
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:
221
NAINA RAISINGHANI PK 500
Fig 44: Once the user clicks OK the following message box appears to confirm the user’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:
222
NAINA RAISINGHANI PK 500
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:
223
NAINA RAISINGHANI PK 500
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:
224
NAINA RAISINGHANI PK 500
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 at the top right you will be lead back to the
MAIN MENU
225
NAINA RAISINGHANI PK 500
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
226
NAINA RAISINGHANI PK 500
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
227
NAINA RAISINGHANI PK 500
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)
228
NAINA RAISINGHANI PK 500
Fig 62: If you click on NEW the following appears:
229
NAINA RAISINGHANI PK 500
Fig 63: If you fill in all fields the following can be seen:
Fig 64: If you now click save the following appears:
230
NAINA RAISINGHANI PK 500
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:
231
NAINA RAISINGHANI PK 500
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)
232
NAINA RAISINGHANI PK 500
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)
233
NAINA RAISINGHANI PK 500
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)
234
NAINA RAISINGHANI PK 500
Fig 78: The user then proceeds to edit the address changing it to the following:
235
NAINA RAISINGHANI PK 500
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:
236
NAINA RAISINGHANI PK 500
Fig 81: IF the user now runs an EDIT filling in a non-existent record’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:
237
NAINA RAISINGHANI PK 500
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 non-
existent record – 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:
238
NAINA RAISINGHANI PK 500
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 “-” 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:
239
NAINA RAISINGHANI PK 500
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:
240
NAINA RAISINGHANI PK 500
Fig 96: The following appears if the user clicks CANCEL:
241
NAINA RAISINGHANI PK 500
Fig 97: If you click on the BACK button which is shown as at the top right you will be lead back to the
MAIN MENU
242
NAINA RAISINGHANI PK 500
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:
243
NAINA RAISINGHANI PK 500
Fig 100: Click on NEXT, and you will see the next (second) record
244
NAINA RAISINGHANI PK 500
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:
245
NAINA RAISINGHANI PK 500
Fig 104: The following is the database before any editing has begun:
246
NAINA RAISINGHANI PK 500
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:
247
NAINA RAISINGHANI PK 500
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:
248
NAINA RAISINGHANI PK 500
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:
249
NAINA RAISINGHANI PK 500
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 – for proof see Fig 109)
250
NAINA RAISINGHANI PK 500
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:
251
NAINA RAISINGHANI PK 500
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
252
NAINA RAISINGHANI PK 500
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’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 – For proof look at Fig 119)
253
NAINA RAISINGHANI PK 500
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’t exist see Fig 119)
254
NAINA RAISINGHANI PK 500
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)
255
NAINA RAISINGHANI PK 500
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)
256
NAINA RAISINGHANI PK 500
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:
257
NAINA RAISINGHANI PK 500
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:
258
NAINA RAISINGHANI PK 500
Fig 139: If you click on the BACK button which is shown as at the top right you will be lead back to the
MAIN MENU
259
NAINA RAISINGHANI PK 500
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)
260
NAINA RAISINGHANI PK 500
Fig 141: if you now click on NEXT, the second record is shown
261
NAINA RAISINGHANI PK 500
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:
262
NAINA RAISINGHANI PK 500
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:
263
NAINA RAISINGHANI PK 500
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:
264
NAINA RAISINGHANI PK 500
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:
265
NAINA RAISINGHANI PK 500
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:
266
NAINA RAISINGHANI PK 500
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 non-
existent field – 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)
267
NAINA RAISINGHANI PK 500
Fig 159: if the user now clicks on OK the following can be seen:
268
NAINA RAISINGHANI PK 500
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:
269
NAINA RAISINGHANI PK 500
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 – 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)
270
NAINA RAISINGHANI PK 500
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 – For proof see Fig 162)
271
NAINA RAISINGHANI PK 500
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 – 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:
272
NAINA RAISINGHANI PK 500
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
273
NAINA RAISINGHANI PK 500
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:
274
NAINA RAISINGHANI PK 500
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 at the top right you will be lead back to the
MAIN MENU
275
NAINA RAISINGHANI PK 500
BILLING Fig 181: If you now click on BILLING the following screen will appear:
276
NAINA RAISINGHANI PK 500
Fig 182: Below is a screenshot of the database before any editing has begun:
277
NAINA RAISINGHANI PK 500
Fig 183: If the user now clicks on the NEW button, the following will appear:
278
NAINA RAISINGHANI PK 500
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:
279
NAINA RAISINGHANI PK 500
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:
280
NAINA RAISINGHANI PK 500
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:
281
NAINA RAISINGHANI PK 500
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:
282
NAINA RAISINGHANI PK 500
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.
283
NAINA RAISINGHANI PK 500
284
NAINA RAISINGHANI PK 500
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:
285
NAINA RAISINGHANI PK 500
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:
286
NAINA RAISINGHANI PK 500
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’s surcharges is shown:
287
NAINA RAISINGHANI PK 500
ii. A message box appears confirming for the user that now the customer’s history with the
company will appear:
288
NAINA RAISINGHANI PK 500
iii. If the user then clicks OK the following appears:
289
NAINA RAISINGHANI PK 500
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 – 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:
290
NAINA RAISINGHANI PK 500
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 – 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:
291
NAINA RAISINGHANI PK 500
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:
292
NAINA RAISINGHANI PK 500
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:
293
NAINA RAISINGHANI PK 500
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:
294
NAINA RAISINGHANI PK 500
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 at the top right you will be lead back to the
MAIN MENU
295
NAINA RAISINGHANI PK 500
296
NAINA RAISINGHANI PK 500
REPORTS
Fig 221: If the user now clicks on REPORTS the following screen appears:
297
NAINA RAISINGHANI PK 500
Fig 222: If the user clicks on LIST ALL EVENTS the following report appears:
298
NAINA RAISINGHANI PK 500
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:
299
NAINA RAISINGHANI PK 500
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:
300
NAINA RAISINGHANI PK 500
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:
301
NAINA RAISINGHANI PK 500
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:
302
NAINA RAISINGHANI PK 500
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’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:
303
NAINA RAISINGHANI PK 500
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)
304
NAINA RAISINGHANI PK 500
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’S HISTORY and enters an invalid employee
ID (096) the following report appears: (see Fig 231 for proof that the record does not exist)
305
NAINA RAISINGHANI PK 500
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:
306
NAINA RAISINGHANI PK 500
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)
307
NAINA RAISINGHANI PK 500
Fig 243: The following message appears proving that the minimum entered amount is too high:
Fig 244: If the user now clicks on the following appears:
308
NAINA RAISINGHANI PK 500
HELP
Fig 245: If the user clicks on HELP when on the Main Menu the following help menu appears:
309
NAINA RAISINGHANI PK 500
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
310
NAINA RAISINGHANI PK 500
wrong incorrect the user
of this
error
appears
7 cmdCancel Normal Click on
button
Exits log-in
screen and
closes
program
Exits log-
in screen
and closes
program
- -
311
NAINA RAISINGHANI PK 500
MAIN MENU
Test
No.
Component
tested
Testing
type
Test
Data
Expected
result
Actual
Result
Page no. Fig No.
1 cmdemployees Normal Click on
the
button
Should go
to the
Employees
menu
It opens
the
Employees
menu
225 56
2 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 Opens the 308 245
312
NAINA RAISINGHANI PK 500
the
button
help menu help menu
313
NAINA RAISINGHANI PK 500
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
314
NAINA RAISINGHANI PK 500
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
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
entry
Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
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
Rejects
data as
invalid
and shows
a message
informing
the user
that the
entry can
only be 3
digits in
length
222 48
315
NAINA RAISINGHANI PK 500
12 txtName Normal
“David Alfrey” Accepts
data as
valid
Accepts
data as
valid
213 21
13 txtName Abnormal “1” Rejects
data as
invalid
and shows
message
informing
user that
this field
only
alphabets
as
acceptable
entry
Rejects
data as
invalid
and shows
message
informing
user that
this field
only
alphabets
as
acceptable
entry
223 50
14 Text1 (NIC) Normal
“42301-
6955148-6”
Accepts
data as
valid
Accepts
data as
valid
213 21
15 Text1 (NIC) Abnormal “a” Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
and a “-
”as
acceptable
entry
Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
and a “-
”as
acceptable
entry
223 51
16 Text1 (NIC) Extreme “42301-
6955148-638”
Shows a
message
informing
the user
that the
entry can
only be 15
Shows a
message
informing
the user
that the
entry can
only be 15
223 52
316
NAINA RAISINGHANI PK 500
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
“0333-
3556372”
Accepts
data as
valid
Accepts
data as
valid
213 21
20 txtPhoneNo Abnormal “a” Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
and a “-
”as
acceptable
entry
Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
and a “-
”as
acceptable
entry
224 54
21 cmdAdd Normal Click on the
button
Clears all
fields
making
way for a
new
record
Clears all
fields
212 20
317
NAINA RAISINGHANI PK 500
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
318
NAINA RAISINGHANI PK 500
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
216
30
31
30 cmdEdit Abnormal Click on edit
and enter “053”
and then click
on OK
Displays message box that
reads “No match found”
Displays message box that
reads “No match found”
218 35
31 cmdSearch Normal
Click on search
and enter “003”
and then click
on OK
Opens up record
Opens up record
218 37
32 cmdSearch Abnormal Click on search
and enter “006”
and then click
on OK
Displays message box that
reads “No match found”
Displays message box that
reads “No match found”
219 39
33 cmdDelete Normal Click on delete
and enter “003”
followed by OK
then YES and
then click on OK
Deletes
record
Deletes
record
220
221
221
43
44
45
319
NAINA RAISINGHANI PK 500
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
- -
320
NAINA RAISINGHANI PK 500
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
321
NAINA RAISINGHANI PK 500
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
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
entry
Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
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
Rejects
data as
invalid
and shows
a message
informing
the user
that the
entry can
only be 3
digits in
length
238 90
322
NAINA RAISINGHANI PK 500
12 txtempName Normal
“Marcus
Rehman”
Accepts
data as
valid
Accepts
data as
valid
229 63
13 txtempName Abnormal “1” Rejects
data as
invalid
and shows
message
informing
user that
this field
only
alphabets
as
acceptable
entry
Rejects
data as
invalid
and shows
message
informing
user that
this field
only
alphabets
as
acceptable
entry
238 91
14 txtNIC Normal
“42306-
8563208-9”
Accepts
data as
valid
Accepts
data as
valid
229 63
15 txtNIC Abnormal “a” Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
and a “-
”as
acceptable
entry
Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
and a “-
”as
acceptable
entry
238 92
16 txtNIC Extreme “42301-
6955148-638”
Shows a
message
informing
the user
that the
entry can
only be 15
Shows a
message
informing
the user
that the
entry can
only be 15
238 93
323
NAINA RAISINGHANI PK 500
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
324
NAINA RAISINGHANI PK 500
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
325
NAINA RAISINGHANI PK 500
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
234
76
77
29 cmdSave Abnormal Click on edit
and enter “014”
and then click
on OK
Displays message box that
reads “No match found”
Displays message box that
reads “No match found”
236 81
30 cmdSearch Normal
Click on search
and enter “003”
and then click
on OK
Opens up record
Opens up record
231 72
31 cmdSearch Abnormal Click on search
and enter “009”
and then click
on OK
Displays message box that
reads “No match found”
Displays message box that
reads “No match found”
233 74
32 cmdDelete Normal Click on delete
and enter “004”
then click on OK
followed by YES
followed by OK
again
Deletes
record
Deletes
record
236
237
237
83
84
85
33 cmdDelete Abnormal Click on delete
and enter “089”
Displays
message
Displays
message
237 87
326
NAINA RAISINGHANI PK 500
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
327
NAINA RAISINGHANI PK 500
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
328
NAINA RAISINGHANI PK 500
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
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
entry
Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
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
Rejects
data as
invalid
and shows
a message
informing
the user
that the
entry can
only be 3
digits in
length
257 134
329
NAINA RAISINGHANI PK 500
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
330
NAINA RAISINGHANI PK 500
valid valid
17 txtcharges Abnormal “a” Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
entry
Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
entry
257 136
18 txtcharges Extreme “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
257 137
19 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”
247 108
20 cmdSave 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
331
NAINA RAISINGHANI PK 500
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
332
NAINA RAISINGHANI PK 500
on OK match found”
match found”
27 cmdSearch Normal
Click on search
and enter “002”
and then click
on OK
Opens up record
Opens up record
252 122
28 cmdSearch Abnormal Click on search
and enter “012”
and then click
on OK
Displays message box that
reads “No match found”
Displays message box that
reads “No match found”
253 124
29 cmdDelete Normal
Click on delete
and enter “004”
then click on OK
then YES
followed by OK
Deletes
record
Deletes
record
254
255
255
128
129
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
333
NAINA RAISINGHANI PK 500
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
334
NAINA RAISINGHANI PK 500
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
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
entry
Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
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
Rejects
data as
invalid
and shows
a message
informing
the user
that the
entry can
only be 3
digits in
length
273 175
335
NAINA RAISINGHANI PK 500
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
336
NAINA RAISINGHANI PK 500
16 txtCharges
Normal
“20000” Accepts
data as
valid
Accepts
data as
valid
264 148
17 txtCharges Abnormal “a” Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
entry
Rejects
data as
invalid
and shows
message
informing
user that
this field
only digits
as
acceptable
entry
273 178
18 txtCharges Extreme “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
19 cmdSave 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
20 cmdSave 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
337
NAINA RAISINGHANI PK 500
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 “004”
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
338
NAINA RAISINGHANI PK 500
edited edited
26 cmdEdit Abnormal Click on edit,
enter “090”
then click on OK
Displays message box that
reads “No match found”
Displays message box that
reads “No match found”
266 156
27 cmdSearch Normal
Click on search
and enter “004”
then click on OK
Displays an input
box asking for the
name of the record
to be searched
for
Displays an input
box asking for the
name of the record
to be searched
for
269 165
28 cmdSearch Abnormal Click on search
and enter “089”
then click on OK
Displays message box that
reads “No match found”
Displays message box that
reads “No match found”
269 163
29 cmdDelete Normal Click on delete
and enter “004”
then click on OK
then YES
followed by OK
Displays
an input
box asking
for the
name of
the record
to be
deleted
Displays
an input
box asking
for the
name of
the record
to be
deleted
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
339
NAINA RAISINGHANI PK 500
33 cmdClose Click on X Stops
program
Stops
program
- -
34 cmdNew Normal Click on the
button
Clears all
fields
Clears all
fields
263 147
340
NAINA RAISINGHANI PK 500
REPORTS MENU
Test
No.
Component tested Testing
type
Test
Data
Expected
result
Actual
Result
Page
no.
Fig
No.
1 cmdEvents Normal Click on
the
button
Shows a
report with
all events
listed
Shows a
report with
all events
listed
297 222
2 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
“002”
then click
on OK
Shows the
report for
that
particular
customer
Shows the
report for
that
particular
customer
302 232
233
7 cmdfewcustomers Abnormal Click on
the
button,
enter
Shows a
message
informing
the
Shows a
message
informing
the
303 234
341
NAINA RAISINGHANI PK 500
“089”
then click
on OK
customer
that the
record
does not
exist
customer
that the
record
does not
exist
8 cmdearn Normal 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
306
240
241
9 cmdearn 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
10 cmdfewemployees 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
304
236
237
11 cmdfewemployees Abnormal 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
342
NAINA RAISINGHANI PK 500
12 cmdback Normal Click on
Goes back
to main
menu
Goes back
to main
menu
307 244
13 cmdClose Normal Click on
X
Stops
program
Stops
program
- -
343
NAINA RAISINGHANI PK 500
BILLING MENU
Test No.
Component tested
Testing type
Test Data Expected result
Actual Result Page no.
Fig No.
1 cmdNew Normal Click on the button
Clears all fields and fills
in today’s date into the
DATE field
Clears all fields and fills
in today’s date into the
DATE field
277 183
2 txtBillNo Normal “005” Accepts data as valid
Accepts data as valid
278 184
3 txtBillNo Abnormal “a” Rejects data as invalid and
shows message informing
user that this field only digits as
acceptable entry
Rejects data as invalid and
shows message informing
user that this field only digits as
acceptable entry
293 211
4 txtBillNo Extreme “1234” 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
293 212
5 cmbCustID Normal Select an ID from the list
provided
Accepts data as valid and fills in the
corresponding data in the Customer
Name field
Accepts data as valid and fills in the
corresponding data in the Customer
Name field
278 184
6 cmbEventID Normal Select an ID from the list
provided
Accepts data as valid and fills in the
corresponding data in the
event name/ type field
Accepts data as valid and fills in the
corresponding data in the
Event Name/Type
field
278 184
7 cmbEmployeeID Normal Select an ID from the list
Accepts data as valid
Accepts data as valid
278 184
344
NAINA RAISINGHANI PK 500
provided
8 txt2Date Normal Select a date from the calendar provided
Accepts data as valid
Accepts data as valid
278 184
9 txtLocation Normal “Unknown Plot”
Accepts data as valid
Accepts data as valid
278 184
10 txtlocation Extreme “Office of Undergraduate
Admission Florida
Institute of Technology
150 W. University Blvd
Melbourne, Florida”
Rejects the data as invalid and shows a
message informing the user that the
location cannot
exceed 100 characters
Rejects the data as invalid and shows a
message informing the user that the
location cannot
exceed 100 characters
293 213
11 cmbServices Normal Select an ID from the list
provided
Accepts data as valid
Accepts data as valid
279 185
12 cmdAdd Normal Click on OK after selecting
a Service ID
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
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
279 185
13 cmdAdd Abnormal Click on OK without
selecting a Service ID
Shows a message that informs the user that no
service ID has been selected
Shows a message that informs the user that no
service ID has been selected
289 194
14 cmdCan Normal Click on CANCEL after
selecting a Service ID
Removes the service in the
list of all services
selected and decreases its charges from
the total service
Removes the service in the
list of all services
selected and decreases its charges from
the total service
282 188
345
NAINA RAISINGHANI PK 500
charges and total charges
charges and total charges
15 cmdCan Abnormal Click on Cancel without
selecting a Service ID
Shows a message that informs the user that no
service ID has been selected
Shows a message that informs the user that no
service ID has been selected
294 219
16 txtOtherCharges Normal “12000” Accepts data as valid and
adds this value to total
charges
Accepts data as valid and
adds this value to total
charges
284 189
17 txtOtherCharges Abnormal “a” Rejects data as invalid and
shows message informing
user that this field only digits as
acceptable entry
Rejects data as invalid and
shows message informing
user that this field only digits as
acceptable entry
293 214
18 txtOtherCharges Extreme “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
293 215
19 txtAdvance Normal “13000” Accepts data as valid and
decreases this value from
total charges displaying the
result in payable
Accepts data as valid and
decreases this value from
total charges displaying the
result in payable
285 190
20 txtAdvance Abnormal “a” Rejects data as invalid and
shows message informing
user that this field only
Rejects data as invalid and
shows message informing
user that this field only
294 216
346
NAINA RAISINGHANI PK 500
digits as acceptable
entry
digits as acceptable
entry
21 txtAdvance Extreme “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
294 217
22 txtAdvance Abnormal Click on Advance 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
294 218
23 cmdSave Normal Click on SAVE n PRINT
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.
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.
286 286-288
191 192
24 cmdSave Abnormal Click on SAVE n PRINT with all fields left
empty
Shows message informing
user that all fields have been left
empty and asks him to fill
Shows message informing
user that all fields have been left
empty and asks him to fill
290 201
347
NAINA RAISINGHANI PK 500
them in them in
25 cmdSave Abnormal Click on SAVE n PRINT,
however Bill 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
291 202
26 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
291 203
27 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
291 204
28 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
291 205
29 cmdSave Abnormal Click on save, however event date 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
292 206
30 cmdSave Abnormal Click on save, however event
location 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
292 207
31 cmdSave Abnormal Click on save, however
service list has been left
empty
Shows message informing
user that the list has been left empty
Shows message informing
user that the field has been
left empty
292 208
32 cmdSave Abnormal Click on save, however other
charges has been left
Shows message informing
user that the
Shows message informing
user that the
292 209
348
NAINA RAISINGHANI PK 500
empty field has been left empty
field has been left empty
33 cmdSave Abnormal Click on save, however
advance 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
292 210
34 cmdDelete Normal Click on the DELETE button and enter the value “005”
Asks the user to confirm if
he does indeed want to delete the record, if the
user clicks YES the user is
then informed that the
record has been deleted
Asks the user to confirm if
he does indeed want to delete the record, if the
user clicks YES the user is
then informed that the
record has been deleted
289 195 196 197
35 cmdDelete Abnormal Click on the DELETE button and enter the value “089”
Displays a message box informing the user that the record does
not exist.
Displays a message box informing the user that the record does
not exist.
290 199
36 cmdCancel Normal Click on cancel Clears all
fields
Clears all
fields
- -
37 cmdback Normal Click on Goes back to main menu
Goes back to main menu
294 220
38 cmdClose Normal Click on X Stops program
Stops program
- -
349
NAINA RAISINGHANI PK 500
350
NAINA RAISINGHANI PK 500
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’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.
351
NAINA RAISINGHANI PK 500
CORRESPONDENCE From: Naina Raisinghani <[email protected]> To: [email protected] 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 <[email protected]> To: Naina Raisinghani <[email protected]> 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 side-by-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: [email protected]
352
NAINA RAISINGHANI PK 500
353
NAINA RAISINGHANI PK 500
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 computer-based 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’ 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.
354
NAINA RAISINGHANI PK 500
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.
355
NAINA RAISINGHANI PK 500
CORRESPONDENCE
From: Ahmed Baig <[email protected]> To: Naina Raisinghani <[email protected]> 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: [email protected]