Fact Finding Techniques For Building An Automated Information System At GYB

Fact Finding Techniques

Fact Finding Techniques

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Other than carrying out interviews there are other fact finding activities as well that are to be carried out for involving all the activities in the information system. All total there are seven fact finding techniques that can to be carried out. Out of the seven, carrying out interview is also involved. The list of techniques other than interview are listed below.

  1. Studying and sampling all documents that exists in the system.
  2. Observing the environment of work where farming is held.
  3. Questionnaires
  4. JAD (Joint Application Development)
  5. RAD (Rapid Application Development)

As an information analyst, all these techniques are to be carried out for making an automated information system of GYB. All the techniques mentioned above will not be used for making the system automatic in GYB. It is depended on the analyst about which techniques will be selected for carrying out the information system.

The first technique that is to be followed is studying and sampling all documents that exists in GYB. There are so many documents about what has been carried out so far in the business of GYB. Until now, Jane and John were only involved in the business system. But with involvement of many workers and huge number of customers, there should be some documents that are kept for maintaining the processes so far. Documents involve organizational chart, reports about the problems that were faced until now and the complaints from the customers that GYB faced.

The second fact-finding technique that is involved is visiting the site where the farming is done. As an analyst, the farming site should be clear to the analyst. All the works that are carried out for farming is to be analyzed for involving all the business processes in the formation system. By observing the site, the data that are collected are reliable and is very inexpensive. Personal visit also helps to get practical experience about the farming land and the processes.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

The next fact-finding technique that can be used for GYB is RAD (Rapid Application Development). This helps to create table and forms about what to be done in the system and the users who are involved in the system suggests about the prototype that is being proposed. The information system for the farm will be user centric system and will be done according to the requirement of the user. This helps to reduce risk in further process.

The two staff members that are needed for carrying out this project is involvement of a computer operator and a database administrator. The computer operations are carried out by the computer operators.   The computer operators mainly operates the large running computers. The data of the business is analyzed by the computer operator. The operating system are to be kept up to date by the operator and also ensures that availability of memory and the disk storage. The server are also maintained by the computer operators. The role of the database administrator is to manage the database system that is involved in the business. The duty of this person is to create as well as maintain the databases which are used in the information system or in the data warehouse. The role of the database administrator is to consult with the system analyst and the programmers on the project which requires the access or creation of the databases. The database administrator helps to maintain the database which is involved in the farming system.

Type of Question

Questions to be asked

Closed End Questions

1. Are you an employee of this framing organizations?

Open End Questions

2. From when are you working in this business?

Closed End Questions

3. Are you enjoying the working that is one here?

Open End Questions

4. Is the vegetables and fruits that are grown in this farm are totally organic?

Open End Questions

5. How much time a day do you work in this farm?

Closed End Questions

6. Are you satisfied with the work and facilities that are provided to you?

Open End Questions

7. What are the kind of crops that are grown in the farm?

Closed End Questions

8. Is the packaging of the vegetables done properly while delivering?

Open End Questions

9. Who attends the customers in this system?

Closed End Questions

10. Do customers comes regularly for buying vegetables?

Closed End Questions

11. Does regular customers get discount on their buying?

Closed End Questions

12. Does the customers give similar kind of order daily?

Open End Questions

13. How delivery is done to the customers?

Open End Questions

14. Is growing of vegetables changes with season only or on daily basis?

Open End Questions

15. Which vegetables are on high demand from the customers?

Closed End Questions

16. Is the delivery done on time as expected by the customers?

Open End Questions

17. Who maintains the inventory of the business?

Open End Questions

18. How the quality of the vegetables checked and who is responsible for checking the vegetables?

Closed End Questions

19. Is there any need for making the system automatic?

Closed End Questions

20. Do you think that information system is appropriate for maintaining all the processes in the business?

Rhetorical questions

21. Do you want to expand your business?

Closed End Questions

22. Do you think implementation of this information system will solve all the problems that exists in the business?

Roles of Computer Operators and Database Administrators

Table 1: Interview Questions for the Survey

The total time that will be needed for completing the interview is maximum of 7 days. Each of the staffs are to be met first knowing their jobs profiles and their working time. Then the staffs will be interviewed according to their free time. For conducting the interview, no work should be hampered. So, when the staffs are free they should be interviewed for carrying on the interview.

For conducting the fact finding techniques, it is recommended that the interviews are to be done within the time fixed in the interview plan. The owner of the farming sector, Jane and john are also to be questioned in detailed for carrying out the survey. After collecting all the data, the data should be analyzed to make the information system of the GYB. Other tech techniques that can be implemented is record the statements of the interviewee who participates in the interview. The recorded items might help him the system building of the farming. There is also an observation tech technique that can be involved for information building system. As an analyst, his duty is to visit the site and observe all the works that are carried out in the farm. He also should understand the document flow, the users who are involved in the system. All the unwanted things and the delays are also to be analyzed by the system analyst.

For making the information system, there are many functions that are to be carried out. All such functions that are to be implemented in the system are stated below

Functionality

Description

1. Customer handling function

Total of a 200 customers are there who are involved with the farm. Those customers are divided into two categories; regular customers and standard customers. For handling the customer side, there should be proper maintenance of the regular customers and the standard customers. The system should be able to make out the vegetables that regular customers buy and provide them accordingly every week. And there should also be availability of selecting the vegetables for the standard customer who changes their buying from time to time. There should also be an automatic process of providing discount to the customer.

2. Ordering products functionality

There is also a booking functionality in the system. In this functionality, the customer books their order from the web. A website of the farming system will be made which will show the vegetables that are available at that time and the customers can add their choice of products in to their cart. The online website stores all the details of the customer and shows them to the customer after their log in.

3. Delivery system functionality

The system that is proposed should also have a proper delivery functionality. The address of the customer are to be provided properly in the online website and proper landmark should be provided so that the delivery can be done properly. This functionality provided two options to the customer. The customer can themselves pick their order from the farm, and also can opt for home delivery option.

4. Payment functionality

There should be a function of payment through which the customers will pay for their orders. In the system, there should be many payment option which the customer can opt for paying. The system should have cash on delivery option, along with the credit card and debit card paying option. The customer should have all the payment option functionality in the system so that the payment is made easier.

5. Local Farm Head Functionality

All the local farm owners have to report the head center of the GYB. The head of GYB is Mr. John. All the local farm owners need to submit the sales report at the end of the month to the head center. All the credit details report of the customers are also to be provided to John as his duty is to collect the credit amount from the customer who are left with. The online payment is directly submitted to the account of GYB in bank. The cash that is collected in all the local farms are submitted to the bank account of GYB at the end of every month. All the heads of local farm has to look after all these processes are involved in the system of GYB. This function also involves updating the products that are available presently I the farm by which the customers can get the idea about what is available and place order accordingly.

6. Invoice Generating Function

Automatic invoice is generated when the delivery is placed. One copy of invoice will remain with the owner and the other copy will be given to the customer. The invoice is given to the customer only at the time of delivery that is done either at their home address or when the customer comes to the farm for picking up their delivery.

7. Providing credit purchase to the customers

The system will also have an option to buy the vegetables in credit. The system should maintain the credit process of the customers. As they know that the credit is to be given at the end of the month, reminder to the owner and the customer will be given when the user will log in to their own profiles.

8. Admin end functionality

The admin end functionality involves generating daily reports for the farm. One report consists of sales report of customer, second is an exception report for all the inactive customers and the customers who take products on credit. The third report that is generated by the admin is the profit or loss budget report showing the breakdown of the revenues and the costs that are involved for growing the vegetables.

Table 2: Function Involved in the System

The roles that will be interacting in the system are stated below:

John and Jane as admin head, all heads of local farms and local admins, the customers for buying and paying, staffs for upgrading the quantity of production, delivery boys for getting the address of the customers, the system analyst, the programmer who will be involved in the system, two types of customer; regular customers and standard customer.

There are some of the additional features that can be implemented in the information system of farming. The staffs who are working in the farm want an extra facility in the system so that they can spot the trend of demand for the customers. With the keeping a track on the products that are in demand, the staffs can grow the crops accordingly. Without this particular additional feature, the staffs working in the farm gets frustrated because if some crops are grown over yield and they have to give additional discount to the customers for clearing the stocks. And some of the crops may be come to short fall. So, the farming hands wants this additional feature in to system which might be installed in the system afterwards.

Another additional feature that the farmers wants additionally in the information system is that involvement of social media network in the system. Social media involvement includes communication through email, Facebook or Twitter sites. They want involvement of social network so that they can share recipes on those site. This might attract more number of customers to the farm. After buying the vegetable, they can view recipes about how to prepare meals with those vegetables. This additional feature can be added to the information system afterwards which would remove the cooking headache for the customers.

Names

Descriptions

Title

Customer sign up

Description

The customer signs up to the information system of registering their names in the system. While signing up, the customer needs to input all their details including their names, phone number, email address, delivery address, and phone number. The phone number that the customer provides should be valid as it will be needed at the time of delivery and will also be used for any query to be asked to the customers. There should also be a landmark provided for the delivery address so that the delivery can be done properly.

Primary Actor

The primary actor who is involved in this use case is customer who is involved in the system.

Pre-conditions

The precondition that is needed for this use case is that the system should have the space for entering the necessary details in to the system. The database of GYB should be compatible for all the entry that are made by the customer.

Post-conditions

The post-condition after completing all the events are that the customer gets a message that the customer is successfully signed up to the system. The customer is directed t the home page of the website and can buy products from the farm.

Main Success Scenario

a. The customer selects the “Sign Up” button on the screen.

b. All the fields that comes in the sign up page are to be filled up and the fields marked * are mandatory to filled up.

c. After filling all the fields, the customer needs to click the submit button.

Extensions

1. The phone number provided by the customer is to be validated by sending one time password to the number.

If the number is not valid, then the customer will again have to provide a valid phone number.

2. Landmark is essential for the address for making the delivery. The customer has to make sure that the landmark provided is correct.

Interview Questions for the Survey

Table 3: Brief Use case description of Customer Sign Up Process

Names

Descriptions

Title

Customer searches the products

Description

After log in the customer reaches the home page of the website of GYB. The home page consists of many items that are available presently in the farm. The customer searches the items and selects the products on the basis of their needs and adds them to cart.

Primary Actor

The primary actor who is involved with this use case is the customer.

Pre-conditions

The pre-conditions that are to be fulfilled for using this use case is to sign in to the system as a new user or log in to the system. If the log in is successful, then only the customer con go to the home page for viewing the details of the product that are available.

Post-conditions

The post conditions that are required is that after adding those items in their cart, the customer has to select a payment option for completing the ordering procedure. The customer can pay at the time of ordering or can pay at the time of delivery.

Main Success Scenario

1. Customer selects all the items needed by them from the menu.

2. The system displays all the items that are available in the farm inventory.

3. The customer can also select items from their previous orders or can repeat the same order that had been ordered previously.

4. The system adds all the items that are selected a shows the total amount as a bill to the customer.

Extensions

1. If a particular item is not available at the time of ordering, then the system shows out of stock message to the customer.

2. The student can select another item form the menu after the user is directed to the home page.

Table 4: Brief Use case description of Customer Ordering Process

Names

Descriptions

Title

Payment procedure after ordering

Description

The customer makes the payment after selecting the items in the cart. The customer has more than one option to pay to the farm. All the options are involved in the use case.

Primary Actor

The primary actor who is involved in this use case is the customer and the bank officials.

Pre-conditions

The pre-conditions involved in this is that the customer needs to select the items from the menu for making the payment. The customer can pay only after adding the items on to their cart. Before making the payment, they needs to select the mode of payment by which they can pay. They can pay with their debit card or credit card. They can make their payment as cash on delivery and they can even purchase the items in credit. They can pay later for the items they purchase.

Post-conditions

The post conditions that are involved in this use case is that if the customer selects pay on delivery option, an e-bill is generated which the customer can view. If the customer wants to make the payment, then the customer needs to make the payment with their debit cards and credit cards. They needs to pay through their bank accounts directly to the account of GYB.

Main Success Scenario

1. For paying the amount, the customer has to select the option of payment that are available on the website.

2. If the payment through debit card or credit card is not proper, then the customer is redirected to the payment page again to make the payment.

3. The customer clicks the payment button to make the payment.

4. The customer has to enter their card details on the fields provided to make the payment.

Extensions

1. There might be some problem of payment due to bank server. Sometime payment may not be successful.

2. The customer needs to redo the process of payment for paying successfully.

3. If the customer cannot pay, then the customer may select the option of cash on delivery for safety.

Table 5: Brief Use Case Description of Customer Payment Process

Names

Descriptions

Title

Staff makes the delivery of product

Description

After the customer orders the product and if selected home delivery option, then the delivery is done from the farm. The delivery is done by the staffs who are employed in the farm to make the delivery. For making the delivery, the delivery address must be right.

Primary Actor

The primary actor in this use case is the staff who is making delivery.

Pre-conditions

The pre-conditions that are needed for this system is that the customer needs to enter the delivery address and phone number properly. If the delivery address is wrong, then delivery is not possible.  

Post-conditions

The post condition that is possible is the delivery is done on time in proper address. The customer enters the address properly and the delivery in charge makes the delivery on time with proper packaging.

Main Success Scenario

1. The staff checks the delivery address that the customer has entered.

2. If the delivery address is no proper, the staff enquires the address.

3. After the delivery is done, the staff clicks the delivery done button on the system so that the farm head gets to known about the delivery is done.

Extensions

1. If the delivery address is not proper, then the customer is called to know the proper delivery address.

2. If the phone number is also not valid, then the head of the farm John is informed about it.

3. The delivery gets canceled if the delivery address is not proper or some problem arise.

Table 6: Brief Use Case Description for Delivering Use Case

Fully Developed Use case Diagram for the above ordering system

Use Case Name

Ordering System of GYB

Scenario

The customer orders products from the farm

Triggering Event

The customer selects the product from the menu and adds them to cart.

The customer needs to add the system in the cart for proceeding with the ordering system.

Brief Description

The customer makes the payment after selecting the items in the cart. The customer has more than one option to pay to the farm. All the options are involved in the use case.

Actors

The customer is the main actor in this use case.

Related Use Case

Similar to other use case that are available online

Stakeholders

The stakeholders that are involved in this use case is customer, farm head John, the farm hands and delivery boy who is responsible for delivery.

Pre-conditions

The pre-conditions that are to be fulfilled for using this use case is to sign in to the system as a new user or log in to the system. If the log in is successful, then only the customer con go to the home page for viewing the details of the product that are available.

Post-Conditions

The post conditions that are required is that after adding those items in their cart, the customer has to select a payment option for completing the ordering procedure. The customer can pay at the time of ordering or can pay at the time of delivery.

Flow of Activities

Actors

System

Customer

1. Customer selects all the items needed by them from the menu.

2. The system displays all the items that are available in the farm inventory.

3. The customer can also select items from their previous orders or can repeat the same order that had been ordered previously.

4. The system adds all the items that are selected a shows the total amount as a bill to the customer.

Exception Condition

1. If the items are not available, then the customer cannot add the item in their cart.

2. For ordering the items the customer needs sign up to the system as a regular customer or standard customer.

3. The delivery address that is entered at the time of ordering should be correct as the delivery will be made to that address only.

Table 7: Full Use Case Description for Ordering System

An information system will be made that will include all the processes that are required in the system. The fact finding techniques consists of studying and sampling the documents that are already present in the system. Research must be done on the processes that are carried in the farm. There are interviews that are to be carried on to know the situation of the workers working in the farm. The system analyst who is involved in developing the system should also visit the site for analyzing the work that is being carried out. The additional fact finding techniques that are to be carried out is not only talking with the staffs, but also talking with the customer. The interview that is to be held can be recorded for future analysis. There are some of the additional features that can be implemented in the information system of farming. The staffs who are working in the farm want an extra facility in the system so that they can spot the trend of demand for the customers. With the keeping a track on the products that are in demand, the staffs can grow the crops accordingly. Without this particular additional feature, the staffs working in the farm gets frustrated because if some crops are grown over yield and they have to give additional discount to the customers for clearing the stocks. And some of the crops may be come to short fall. So, the farming hands wants this additional feature in to system which might be installed in the system afterwards. Another additional feature that the farmers wants additionally in the information system is that involvement of social media network in the system. Social media involvement includes communication through email, Facebook or Twitter sites. They want involvement of social network so that they can share recipes on those site. This might attract more number of customers to the farm. After buying the vegetable, they can view recipes about how to prepare meals with those vegetables. This additional feature can be added to the information system afterwards which would remove the cooking headache for the customers.

Table Name

Attributes

Data type (Size)

Foreign Key

Primary Key

farm

farm_id

int (20)

cust_id, staff_id

farm_id

farm_head

Varchar (30)

farm_address

Varchar (50)

farm_pin

Int (06)

farm_locality

Varchar (50)

cust_id

Int (20)

staff_id

Int (20)

customer

cust_id

Int (20)

order_id

cust_code

cust_name

Varchar (30)

cust_address1

Varchar (50)

cust_address2

Varchar (50)

cust_pincode

Int (06)

cust_landmark

Varchar (30)

cust_email

Varchar (30)

cust_phone

Int (10)

cust_status

Varchar (30)

order_id

Int (20)

staff

staff_id

Int (20)

staff_id

staff_name

Varchar (30)

staff_address1

Varchar (50)

staff_pincode

Int (06)

staff_phone

Int (10)

staff_type

Varchar (30)

vegetables

product_id

Int (20)

product_id

product_name

Varchar (30)

product_type

Varchar (30)

cost_per_unit

Int (05)

product_description

Varchar (100)

order

order_id

Int (20)

cust_id, product_id

order_id

product_id

Int (20)

cust_id

Int (20)

expected_delivery

Int (20)

Table 8: Relational Schema for the Entity Relation Diagram

Table Name

Attributes

Data type (Size)

Sample data

farm

farm_id

int (20)

1234

farm_head

Varchar (30)

Mary Jhones

farm_address

Varchar (50)

79 Quintin Street

farm_pin

Int (06)

4514

farm_locality

Varchar (50)

NEURUM QLD

cust_id

Int (20)

0123

staff_id

Int (20)

0234

customer

cust_id

Int (20)

0123

cust_name

Varchar (30)

Hayley Goldman

cust_address1

Varchar (50)

2 Chester Street

cust_address2

Varchar (50)

NEW BRIGHTON NSW 

cust_pincode

Int (06)

2483

cust_landmark

Varchar (30)

2nd street

cust_email

Varchar (30)

[email protected]

cust_phone

Int (10)

(02) 6700 6772

cust_status

Varchar (30)

Regular

order_id

Int (20)

6789

staff

staff_id

Int (20)

0234

staff_name

Varchar (30)

Spencer Birks

staff_address1

Varchar (50)

57 Quintin Street

staff_pincode

Int (06)

4512

staff_phone

Int (10)

(07) 3065 3915

staff_type

Varchar (30)

Delivery Boy

vegetables

product_id

Int (20)

4567

product_name

Varchar (30)

potato

product_type

Varchar (30)

Root vegetables

cost_per_unit

Int (05)

30

product_description

Varchar (100)

Fresh potatoes grown organically

order

order_id

Int (20)

6789

product_id

Int (20)

4567

cust_id

Int (20)

0123

expected_delivery

Int (20)

The delivery is expected within 2 days

Table 9: Data Dictionary for the ERD

Many commercial software packages are available online that is helpful to Grow Your Business. The names of the commercial packages are listed below:

  1. a) Maria DB
  2. b) Firebird
  3. c) PostgreSQL
  4. d) Database Deployment Manager
  5. e) Apache HBase
  6. f) MongoDB
  7. g) MySQL
  8. h) SQLite

Out of all the above stated software packages, two of them are compared below.

Firebird is software package which is an open source SQL RDBMS. This software package runs on Microsoft Windows, Unix Platforms, Linux, MacOSX for supporting the stored procedures and also used for trigger events. There are many features that this software package provides. This software package provides complete ACID transactions which satisfies all the properties for transaction process. The database engine mainly keeps different types of versions that are recorded for each transaction for the active users in database. When transaction gets complete, all the changed record of the transaction is marked definitive. This software package provides referential integrity with MVCC (Multi-generational Architecture) architecture. This package also supports external functions and supports SQL activity which can send many events of asynchronous notification to the client. There are also involvement of third party tool that includes GUI tool of administration as well as replication tool. This software package supports fast recovery, and there is no involvement of transaction logs. There are many methods of access with native API, ODBC, .NET provider, dbExpress/FireDAC drivers, OLE DB, Python module, PHP, Perl, and JDBC. There are incremental backups as well as implementation cursor in PSQL.

Additional Features for the Information System

The second software package that can be useful for Grow Your Business is MariaDB. This is a fork of developed through community. This is done by MySQL RDBMS that is intended to stay free under GNU GPL. This development is actually led by original developers related to MySQL who forked because of concern due to acquisition by the Oracle Corporation. This MariaDB mainly intends for maintaining very high compatible MySQL that ensures drop in replacement with the binary library parity as well as exact matching with the MySQL APIs and the commands. This also includes engine of XtraDB storage that replaces the InnoDB and the new storage system known as Aria. This storage system can be transactional as well as non- transactional and also includes MySQL in full version.

For Grow Your Business, the in house development that is recommended is to involve the social media network with the system which will attract many customers with the features of providing new recipes to the customers. Two commercial packages that are recommended for this system is MongoDB and MySQL.

Abadi, D., Bajda-Pawlikowski, K., Abouzied, A. and Silberschatz, A., Yale University, 2016. Processing of data using a database system in communication with a data processing framework. U.S. Patent 9,495,427.

Alles, M., Brennan, G., Kogan, A. and Vasarhelyi, M.A., 2018. Continuous monitoring of business process controls: A pilot implementation of a continuous auditing system at Siemens. In Continuous Auditing: Theory and Application (pp. 219-246). Emerald Publishing Limited.

Bailis, P., Fekete, A., Franklin, M.J., Ghodsi, A., Hellerstein, J.M. and Stoica, I., 2014. Coordination avoidance in database systems. Proceedings of the VLDB Endowment, 8(3), pp.185-196.

Brettin, T., Davis, J.J., Disz, T., Edwards, R.A., Gerdes, S., Olsen, G.J., Olson, R., Overbeek, R., Parrello, B., Pusch, G.D. and Shukla, M., 2015. RASTtk: a modular and extensible implementation of the RAST algorithm for building custom annotation pipelines and annotating batches of genomes. Scientific reports, 5, p.8365.

Cahill, L.S., Carey, L.M., Lannin, N.A., Turville, M. and O’Connor, D., 2017. Implementation interventions to promote the uptake of evidence?based practices in stroke rehabilitation. Cochrane Database of Systematic Reviews, (3).

Cai, J. and Modest, M.F., 2014. Improved full-spectrum k-distribution implementation for inhomogeneous media using a narrow-band database. Journal of Quantitative Spectroscopy and Radiative Transfer, 141, pp.65-72.

Cash, D., Jaeger, J., Jarecki, S., Jutla, C.S., Krawczyk, H., Rosu, M.C. and Steiner, M., 2014, February. Dynamic searchable encryption in very-large databases: data structures and implementation. In NDSS (Vol. 14, pp. 23-26).

Coronel, C. and Morris, S., 2016. Database systems: design, implementation, & management. Cengage Learning.

Dillon, D.M., RPX Corp, 2015. Software framework that facilitates design and implementation of database applications. U.S. Patent 9,009,195.

Ekblaw, A., Azaria, A., Halamka, J.D. and Lippman, A., 2016, August. A Case Study for Blockchain in Healthcare:“MedRec” prototype for electronic health records and medical research data. In Proceedings of IEEE open & big data conference (Vol. 13, p. 13).

Elmasri, R. and Navathe, S., 2016. Fundamentals of database systems. London: Pearson.

Groomer, S.M. and Murthy, U.S., 2018. Continuous auditing of database applications: An embedded audit module approach. In Continuous Auditing: Theory and Application (pp. 105-124). Emerald Publishing Limited.

Just, R., Jalali, D. and Ernst, M.D., 2014, July. Defects4J: A database of existing faults to enable controlled testing studies for Java programs. In Proceedings of the 2014 International Symposium on Software Testing and Analysis (pp. 437-440). ACM.

Minker, J. ed., 2014. Foundations of deductive databases and logic programming. Morgan Kaufmann.

Rajakumari, S.B. and Nalini, C., 2014. An efficient data mining dataset preparation using aggregation in relational database. Indian Journal of Science and Technology, 7(S5), pp.44-46.

Smirnov, A.V., 2015. FIRE5: a C++ implementation of Feynman Integral REduction. Computer Physics Communications, 189, pp.182-191.

Tamm, S. and Kimberlin, S., salesforce. com Inc, 2014. Virtual objects in an on-demand database environment. U.S. Patent 8,819,060.