The READY Model: Patterns of Dynamic Behavior in REA

Information Systems Management, 25: 200–210
Copyright © Taylor & Francis Group, LLC
ISSN: 1058-0530 print/1934-8703 online
DOI: 10.1080/10580530802151103
UISM
The READY Model: Patterns of Dynamic Behavior
in REA-Based Accounting Applications
The READY Model
Dinesh Batra and Thant Sin
Florida International University, College of Business Administration, Miami, FL
Abstract The Resource-Event-Agent (REA) model has gained considerable attention in accounting literature. While REA denotes a data model, which represents only the static aspect of a system, the dynamic
aspect has now been introduced as the scenario concept in a recently proposed REA ontology. Using the
Unified Modeling Language (UML) sequence diagram—a popular method of showing interactions among
objects—and building on the REA framework and the scenario notion, the paper presents the READY
model to illustrate patterns of dynamic behavior in accounting scenarios.
Keywords Resource-Event-Agent model, Unified Modeling Language (UML), and analysis
patterns
The last four decades have yielded significant developments in the field of Information Systems (IS) in general
and Accounting Information Systems (AIS) in particular.
Some of these developments have caused a significant
shift in the way we conceptualize and represent business,
information systems, and accounting phenomena. Two
key developments in the area of business, and information systems data modeling are the introduction of the
relational model (Codd, 1970) for representing and
manipulating business data, and the entity relationship
(ER) model (Chen, 1976) for conceptualizing data that
can be implemented using the relational model.
In this domain, accounting researchers have made a
key contribution. The Resource-Event-Agent (REA) model
(McCarthy, 1979, 1982) is not only an innovative way of
studying AIS, it also provides fresh lenses with which to
view and understand business systems. The REA model is
based on a frequently occurring pattern of transactions
(economic events) wherein agents inside and people outside of an enterprise (economic agents) exchange things
of value (economic resources). McCarthy (2003) reviews
how the REA model was assimilated into and included in
the AIS pedagogy as a useful framework for understanding. However, one can make an argument that the REA
approach, which essentially links business events with IS
analysis and design, can even be employed in core MIS
Address correspondence to Dinesh Batra, Florida International
University, College of Business Administration, 11200 SW 8th Street,
Miami, FL 33199, USA. E-mail: Dinesh.Batra@business.fiu.edu
200
courses such as database applications, and systems analysis and design to enhance their usability.
The REA model has gained considerable attention in
accounting literature. In 2007, a symposium was dedicated specifically to celebrating 25 years of REA. Several
textbooks in AIS (e.g., Murthy & Groomer, 2003) have
employed the REA approach as a foundation for teaching
accounting topics. The REA approach is not only an intuitive way to render AIS concepts, it can also encapsulate
the double-entry bookkeeping approach and hide its
unappealing and, at times, myopic features. There is,
indeed, empirical support (Dunn & Grabski, 2000) that
the REA approach leads to higher task accuracy and is
perceived as more expressive when compared to the double-entry approach. Accounting software packages also
seem easier to understand when one takes the REA
approach. Whether it is a smaller package like QuickBooks (Ivens, 2008) or a large enterprise package like SAP,
whose reference models are exemplified by Scheer
(1998), it seems that the REA approach is well suited to
the understanding of accounting processes and models.
The REA model is also found to enhance user comprehension of conceptual models (Poels, 2003).
However, the REA approach denotes only a data
model, which is the static aspect of a system. What is
not included is how the data is processed. For example,
a sale not only represents data, it includes both how the
sale actually takes place and the key activities involved.
Ostensibly, the dynamic piece—how the data is
processed—is missing from the REA model. To fill this
void, this paper proposes READY (DYnamic REA), an
The READY Model
201
extension of the REA model that incorporates dynamic
modeling. Given that the REA framework itself is a pattern, READY employs a similar analysis patterns
approach to reveal the typical interaction scenarios in
accounting applications.
The motivation for our paper stems from the initial
work by Murthy and Wiggins (2004) who proposed
Object-Oriented REA (OOREA) to extend the REA framework beyond the confines of data modeling. They
adopted an object-oriented approach, but did not employ
a standard object-oriented language like the UML to
show interactions among accounting objects. For example, OOREA lacks the means to show actors (e.g., customers, vendors, and other agents), forms through which the
interaction takes place (e.g., order form), and the controller objects that embed various business rules and enforce
double entry bookkeeping. We employ the UML sequence
diagram, the most popular method of showing interactions among objects, to propose an REA-based approach
for modeling dynamic behavior of AIS. Our coverage is
more detailed and comprehensive than OOREA, and is
based on the extended REA ontology reported in Geerts
and McCarthy (2002). The use of UML makes the diagrams amenable for implementation.
■
■
■
■
■
■
■
■
The REA Ontology
■
Geerts and McCarthy (2000) contend that the REA model
provides an ontology of enterprise information systems
in general, and accounting information systems in particular. They have extended the original REA model
(McCarthy, 1982) to build the ontological foundation for
representing an AIS (Geerts & McCarthy, 2000, 2002).
Figure 1 provides a summary of the REA ontology. Not all
of the elements may be relevant in a given system. Key
elements are briefly described below.
Duality
Linkage
Stock-Flow
Resource
Event
Reserved
Accountability
Executes
Commitment
Reciprocal
Figure 1.
Custody
Involvement
Agent
Association
Components of the REA ontology.
■
■
Resource: something of value. For example, a product or a service is a resource.
Event: an economic transaction. For example, invoicing is an event that involves the sale of products or
services.
Agent: an economic representative such as a customer or an employee.
Commitment: an obligation with a certain degree of
enforceability. For example, an order is a commitment; it subsequently results in events such as shipments and corresponding invoices.
Duality: the condition resulting from one event
requiring a complementary event (the dual) to complete a transaction. For example, an invoice leads to
one or more collections.
Linkage: a relationship between a product (or service)
and its components such as the bill of materials.
This relationship may not be required in an event
scenario.
Reciprocal: a complementary relationship wherein
one commitment leads to another commitment. For
example, an order will eventually lead to a purchase.
Association: a relationship between one agent and
another, usually between an external and an
internal agent. For example, a salesperson may be
assigned to a customer. This relationship may not
be required in an event scenario.
Reserved: a commitment to provide a list of products or services, usually modeled as line items for
a commitment.
Stock-Flow: the list of products or services in a transaction, usually modeled as line items for an event.
Executes: the materialization of a commitment into
an event. For example, an order leads to shipments/
invoices.
The relationships accountability and involvement are
both self-explanatory and implicit in a transaction. The
relationship custody is not a required element for an
event scenario, but may be relevant in some housekeeping situations. For example, a laptop computer may be
checked out to an employee for use during travel.
In addition to these elements, the extended REA ontology also introduces the notion of scenarios, which are
abstract representations that describe an enterprise’s
strategies or its policies on activities involved in business
processes. In object-oriented systems analysis terminology, this is usually described in a use case, one of the
most important UML artifacts.
The REA ontology is expressed as a data model. However, its elements are not merely static. An event, for
instance, also represents the activities required to complete the transaction. In other words, an event also
denotes a scenario. This is better understood by taking an
example from the REA ontology.
202
Batra and Sin
BillOfMaterial
Collection
Product/Material
SalesOrderLine
Item
SalesOrder
Purchase
Figure 2.
SalesInvoiceLineItem
Accountability
Involvement
Sales Order
Inventory
Customer
Shipment
WH Clerk
SalesInvoice
Custody
Executes
Salesperson
Customer/Employee
Association
Shipper
Cash
Collection
Cashier
Instantiation of the REA ontology.
Figure 3. Data model for revenue business process
(adapted from Murthy and Groomer, 2003).
In Figure 2, the REA ontology is instantiated into an
order commitment scenario. A sales order placed by a
customer and taken by a salesperson may consist of one
or more products, which are recorded in sales order line
items. Then the order is filled and products are shipped
out to complete the sales order, and the customer is
invoiced for the shipment. Each invoice will have a list of
products included in invoice line items. Since an order is
realized in several shipments, one order may lead to one
or more invoices. The product may need to be assembled
or manufactured from standalone components or raw
materials resulting in a bill of materials relationship.
However, a sales order and a sales invoice also represent scenarios. A sales order scenario may involve static
elements such as the SalesOrder, Customer/Employee,
Involvement, Product, and SalesOrderLineItem. Similarly, the sales invoice scenario will involve a number of
elements. Key scenarios, in general, are likely to involve
both event and commitment elements.
The interactions among these elements are not captured in the REA ontology, which is expressed at an
abstract level. It would be useful to reveal the nature of
the scenarios especially if there are underlying patterns,
that is, if we can find interaction configurations that
tend to repeat so that learning an interaction in one
accounting scenario can help one understand an interaction in another scenario.
In Figure 3, we depict an example, adapted from the
textbook by Murthy and Groomer (2003), showing the
key data modeling aspects of the revenue side of an
enterprise. The dark or shaded side of the relationship
represents the ‘many’ cardinality, while the clear side
represents the ‘one’ cardinality. The static model
depicted using the ER model is, otherwise, self-explanatory and resembles the REA model in Figure 2. However,
the model does not depict the dynamic aspects. In other
words, the scenarios that describe how the static elements interact are not reflected in the data model. The
ER model is not geared to representing the interactions,
although some researchers use the class diagram and
draw arrows to show the messages among the objects.
The most popular method of representing interactions is
the UML sequence diagram (Dobing & Parsons, 2006).
On UML, Sequence Diagrams,
and Analysis Patterns
Typical scenarios in accounting can be determined by
examining the revenue cycle, conversion cycle, and
expenditure or acquisition cycle, following the business
process and enterprise value chain frameworks (McCarthy,
2003). In IS development, a scenario is shown by a use
case, which is one of the most popular UML artifacts. A
use case shows behavior or functionality under various
conditions as the system responds to requests from users
(George, Batra, Valacich, & Hoffer, 2007). However, a use
case only lists the activities that occur in a scenario, it
does not show how objects actually interact to carry out
the activities of the scenario; this job is done by another
UML artifact called the sequence diagram. The use case
and its sequence diagram together show high- and lowlevel behavior and interaction involved in a business
process.
UML is the standard object modeling language sponsored by an open consortium of companies, called the
Object Management Group (OMG) (Kobryn, 1999; OMG,
2005). It has been widely used by software developers in
object-oriented (OO) software development projects and
adopted in many information systems (IS), information
technology (IT), and computer science (CS) curricula
around the world (Batra & Satzinger, 2006). In a recent
study, the class diagram, the use case diagram, and the
sequence diagram were found to be those most commonly used by practitioners (Dobing & Parsons, 2008).
The READY Model
The use case diagram is often developed in requirements
or use case modeling, while the class and the sequence
diagrams are modeled in static and dynamic modeling,
respectively (Bolloju & Leung, 2006).
A sequence diagram captures behavior in a scenario
by showing the interactions among objects. It is the linkage between the functional requirements captured in
written use cases and the analysis classes depicted in
class diagram (Ambler, 2004; George et al., 2007). The
operations of object classes are identified from responsibilities modeled in sequence diagrams, whereas
attributes are derived from domain data models.
Requirements of an IS are defined and organized into
analysis models by systems analysts. This is often considered one of the most critical systems development activities because the quality of analysis models often
determines the quality of the resulting IS (Bolloju &
Leung, 2006). Analysis patterns are designed to facilitate
the analysis modeling by enabling the reuse of template
solutions that have proven to be useful in relevant contexts. By using template solutions for typical problems,
analysis patterns help define software requirements. IS
researchers have introduced a number of analysis patterns (Batra, 2005; Coad, 1992; Coad, North, & Mayfield,
1997; Fowler, 1997; Hay, 2006; Scheer, 1998). In AIS,
McCarthy (1982) introduced the Resource-Event-Agent
(REA) model that can be employed in building enterprise
data models for an AIS by following the prescribed pattern of economic transactions.
According to Kodaganallur and Shim’s (2006) taxonomy of analysis patterns, the REA model is classified as
an abstract building block that can be specialized and
assembled into conceptual models. The REA model’s
ability to provide an abstract conceptualization of a
business enterprise based on a pattern of an economic
event is invaluable in prescribing typical structures and
relationships found in an accounting application
(Geerts & McCarthy, 2000). An enterprise data model is
developed by replacing these structural building blocks
with domain-specific items such as product, order, and
customer.
The REA model is suitable for developing enterprise
information architecture, which specifies the static
structure of an AIS; however, it is not suitable for specifying processes that manipulate the data. IS researchers
have taken steps to extend the REA model beyond the
structural modeling to the dynamic or behavioral modeling, as in Murthy and Wiggins’s (2004) object-oriented
REA (OOREA) model. One problem with existing solutions such as the OOREA model however, is the sparse
coverage of accounting scenarios. Another problem is the
use of an ad hoc-style notation, which can create a
barrier to widespread adoption. Therefore, there is a
need for analysis patterns that can facilitate dynamic
modeling using the well-established UML conventions.
203
The Generic READY Pattern
In this paper, we develop and present an important
extension of the REA model, an extension designed for
dynamic modeling, which has been termed READY
(DYnamic REA). The READY model provides a pattern that
can be used to model commitments and transactions in
UML sequence diagrams. Standard UML notations are
used in the READY model. We first provide the generic
representation of the READY model, which is later
instantiated into key scenarios of the revenue, expenditure, and conversion cycles of a business enterprise.
The REA model has a generic representation depicting
a data model among the resource, event, and agent
objects. In the same spirit, an abstract READY model,
which includes key interactions in a transaction scenario,
is presented in Figure 4. Key elements of the diagram are:
■
■
■
■
the actor who initiates the scenario (the actor is
usually one of the economic agents);
the interface object, usually a form, through which
the actor interacts with the system;
the control object, which controls the message
exchanges including the posting of entries to the
accounts and which embeds the logic of business
policies (e.g., tax or discount calculation), or outsources this logic to the transaction object or other
objects; and
the entity objects for resource, event/commitment,
and agent, as well as for line item if a transaction
contains more than one resource.
Each transaction follows a predictable pattern of messages. The actor interacts with the interface, and the interface communicates with the control object, which acts as
a director managing the exchange of messages and data.
The scenario generally starts with a search for information
for a resource or an agent. Required information may
need to be obtained from one or more entity objects. Once
information is displayed via the interface object, the actor
may request that a transaction object be created. The
transaction object may be required to manage the creation or update of data in the line item object. Generally,
more than one line item will be added. Once line items are
added, the detailed information of the transaction, including line item details and all related information (e.g., fees,
discounts, taxes, etc.) can be assembled to allow the actor
to review the transaction. In the final step, the transaction
is confirmed and committed to by posting any updates to
relevant objects. This process is usually performed by the
control or the transaction object and concluded with a
confirmation of the completed transaction. Overall, the
process usually follows a pattern that follows this
sequence: search, select, create transaction, add line items,
review transaction, and confirm transaction.
204
Batra and Sin
:Actor
:EventForm
:EventControl
:AgentObject
:EventObject
:LineItemObject
:ResourceObject
//search()
//search()
//get info()
//display
info()
//create
transaction()
//create
transaction()
//create transaction()
//add lineitem()
//add lineitem()
//create
lineitem()
//review
transaction()
//review
transaction()
//get transaction
details()
//get agent
info()
//get lineitem
info()
//get resource
info()
//calc fees, charges, or
discounts()
//calc tax()
//calc total()
//confirm
transaction()
//display transaction
details()
//confirm
transaction()
//save transaction()
//save
lineitem()
//display
confirmation()
Figure 4.
The generic READY model.
READY Scenarios for Revenue Cycle
The READY Model of Commitment: Sales Order
The static model of the revenue cycle is shown in Figure 3.
The starting point in the revenue cycle is the sales order,
which is a commitment to provide the customer with a
number of products or services. This commitment can
then be realized in one or more shipments/invoices. The
issuance of an invoice increases the receivables. A dual
process—collection—results in both a reduction of receivables and an increase in cash. Products may need to be
manufactured from raw materials converted into workin-process, using resources such as machine operations
and workers, in the conversion cycle.
The sequence diagram shown in Figure 5 provides an
example of a high-level interaction view of the sales
order process. We assume that the customer initiates the
commitment (e.g., in a web- or phone-based purchase),
although an employee (e.g., sales representative) may initiate the commitment on behalf of the customer. The
first activity is a search for and perusal of products.
When the customer is ready to purchase, the sales order
object is created. Messages here do not explicitly indicate
what data is being input. For example, for the commitment, a sales order number will be generated, and the
The READY Model
205
:Customer
:SalesOrderForm :SalesOrderControl
//browse
catalog()
:Customer
:SalesOrder
//browse
catalog()
:SalesOrderItem
:Product
//get product
info()
//add item()
//display
product
list()
//add item()
//create order()
//create
lineitem()
//review
order()
//display
confirmation
()
//review
order()
//get order
info()
//get customer
info()
//get lineitem()
//get product
info()
//calc
discount()
//calc tax()
//calc total()
//confirm
order()
//display
order
details()
//confirm
order()
//save order
info()
//save
lineitem()
//display order
confirmation()
Figure 5.
Sequence diagram for sales order scenario.
sales date will be recorded. Line items are then added for
products selected by the customer.
When line items have been added and the order is
complete, the customer is ready to review the order. In
addition to sales order and line items, information such
as taxes, fees, shipping charges, discounts, and estimated
shipping date will also be displayed. The determination
of these figures can involve tedious logic. The sales order
object may be responsible for calculating the figures, or
the control object may ask an entity object such as sales
order and discount tables (not shown in the figure) to
provide the figures. Although order and line item details
are saved into respective database entities, the confirmation of the order will not lead to the update of inventory
or receivable. When the sales order is confirmed, the
changes are committed to the respected entity objects,
and the customer is sent a copy of the sales order. The
sales order transaction has the search, create transaction,
create line items, review, and commit activities.
The READY Model of Event: Sales Invoice/Shipment
The sales order, therefore, does not usually result in a
monetary exchange, although in simple situations, such
as retail stores that charge the customer when the items
are checked out, there is an immediate monetary
exchange since there is no difference between an order
and an invoice. In general, however, a sales order leads to
shipments of products, which then results in invoices.
Since backordering is usually allowed, one sales order
can result in multiple sales invoices. The customer is gen-
206
Batra and Sin
:WHClerk
//search
order()
//select
order()
:InvForm
:InvControl
//search
order()
:Customer
:InvoiceItem
:Invoice
//get
customer
info()
:SalesOrder :SalesOrderItem :Product
//get open
orders()
//display
open
orders()
//select
order()
//get order
info()
//create
invoice()
//fill
invoice()
//get
//display
order
details()
//create
invoice()
lineitem
info()
//create new
invoice()
//fill
invoice()
//fill invoice()
//create
lineitem()
//review
invoice()
//review
invoice()
//get invoice
details()
//get
customer
info()
//adjust inventory()
//get
line item()
//get product info()
//calc
discount()
//calc tax()
//confirm
invoice()
//calc total()
//display
invoice
details()
//confirm
invoice()
//save invoice()
//update
balance()
Figure 6.
//save invoice info()
//save
lineitem()
//update inventory()
Sequence diagram for invoice scenario.
erally not invoiced until a shipment is made, so invoice
and shipment are similar events. Figure 6 shows the
sequence diagram for the invoice/shipment scenario.
The invoice/shipment process starts with the search
for an open order to be filled. The order information is
obtained so that ordered line items can be viewed. Then
an invoice is opened by creating the invoice object. Line
items are filled, and the quantity on hand for products is
adjusted. When the invoice is completed, it can be
reviewed by obtaining the data from the invoice, line
item, and product objects. At this stage, additional
information such as a discount, taxes, and shipment
charges are calculated based on information in the sales
order and according to company policies. The commitment to the transaction updates various entity objects.
Specifically, the customer balance is updated to reflect
an increase in receivables.
The quantities in the invoice line item may not match
those in the order line item because of the shortage of
inventory. This will invoke backordering, which has not
been included in this sequence diagram. The backordering process can be considered a separate revenue sce-
The READY Model
207
nario. The backordering scenario is straightforward since
the quantity backordered is a calculated entry.
The READY Model of Duality: Collections
Payments received from a customer are collections, which
decrease the amount of accounts receivables for the customer and increase cash amounts for the company. The
collection process is the dual of the sales invoice, which
increases the accounts receivables and decreases the
inventory. In general, a collection can be applied to one or
more invoices. Conversely, an invoice can be settled using
one or more collections. In a sense, the line item concept
:BillingClerk : CollectForm :CollectControl :Customer
//search
customer()
//create
collection()
//enter
collection()
//search
customer()
can be extended to the collection scenario to record how
much of a given collection is apportioned to a given
invoice. Queries and programs can ensure that a collection is applied to the oldest invoices first. The company
may have other collection policies such as incentives for
paying early in the form of discounts, and disincentives
for paying late in the form of penalties. Beyond that, the
collection scenario is routine. Using the customer identification, open invoices can be listed chronologically, and
the customer payment applied to one or more invoices.
Then, the collection transaction is reviewed and confirmed. The sequence diagram in Figure 7 illustrates the
collection scenario, which has the search, create transaction, update line items, review, and commit activities.
:Collection :CollectionItem
//get
customer
info()
:Invoice
//get invoice
info()
//display
invoices()
//create
collection()
//create new collection()
//enter
collection()
//enter collection()
//create
lineitem()
//update status()
//review
collection()
//review
collection()
//get collection
details()
//get
customer
info()
//get
lineitem()
//calc
discount()
//calc
charges()
//calc total()
//confirm
collection()
//display collection
details()
//confirm
collection()
//save collection()
//update
balance()
//save
lineitem()
//increase cash()
//inform customer()
Figure 7.
Sequence diagram for collection scenario.
:Cash
:Customer
208
Batra and Sin
The collections scenario can become quite simple in
the case of a cash sale because the exchange of products/
services and payment occurs simultaneously. In fact, a
separate scenario is not required because the collection
operations can be included in the invoice since there is
no waiting period as in the case of account receivables.
READY Scenarios for Conversion Cycle
For a business enterprise that manufactures or assembles
the products it sells, the conversion of raw materials or
components into finished products usually involves
work-in-process inventory. A finished good may be assembled from components, or manufactured from raw materials, using machine operations and/or workers. The
labor input eventually leads to payments in the forms of
wages and salaries. A product can alternatively be purchased and then resold, as is the case with several retail
products, in which case, the expenditure cycle addresses
the procurement of the goods.
The READY Model of Commitment: Purchase Order
Just as a sales order constitutes a commitment from a
customer, a purchase order embodies a commitment by
the company to purchase products or services from one
of its vendors or suppliers. The purchase order scenario
starts with searching for goods, components, or raw
materials that need to be replenished from respective
vendors. A purchase order is then created, and line items
are added. After all items have been added, the purchase
order is reviewed, and confirmed. The confirmation saves
the purchase order transaction and the line item details.
Accounts payable and inventory level are updated upon
receipt of a vendor’s invoice or shipment. The purchase
order scenario will lead to the receipts (or purchase
invoice) scenario when the goods are received. In turn,
this will lead to the payment scenario. To avoid redundancy, we do not provide sequence diagrams of expenditure-related scenarios.
Conclusion
The READY Model of Work-in-Process Inventory
When a finished good is assembled or manufactured,
two main costs need to be tracked. The costs of components or raw materials are the material cost. The costs
incurred because of the operations to be completed
result in employee wages. Each company may have its
own algorithm for estimating and measuring these costs.
Product specifications need to be retrieved to determine raw material, labor, and machine time requirements of a product. Availability and information of
different types of machine operations and classes of
labors are also recorded in separate objects. A detailed
schedule of machine time and workers may be added if
required. Figure 8 shows the sequence diagram for the
production or conversion scenario.
READY Scenarios for Expenditure Cycle
The expenditure cycle is almost a mirror image of the
revenue cycle discussed above. Sales order, invoice/shipment, and collection from customer in the revenue cycle
have respective counterparts in the expenditure cycle.
For example, the complement of sales order from the
revenue cycle is purchase order from the expenditure
cycle, the complement of sales invoice is receipts, and
the complement of collections is payments. Since the revenue cycle has been illustrated in a fair amount of
details, the expenditure cycle is exemplified by just one
scenario. The purchase order scenario is demonstrated in
the following section.
Some other accounting scenarios can also be modeled
using a similar approach. Returns and exchanges can be
modeled as extensions of regular invoice transactions.
One can also include the purchase of fixed assets and
their depreciation. The purchase of a fixed asset is like
any purchase transaction. Depreciation is a straightforward adjustment that employs an algorithm, which can
easily be programmed into relevant control objects.
Another accounting scenario is payroll. Each payroll
remittance can be considered as a transaction involving a
number of line items such as the various kinds of deductions, which may include overtime, FICA, Medicare, tax
withholdings, pension plan deductions, and medical and
other insurance deductions.
Some transactions are straightforward enough so as
not to warrant inclusion. For example, a transfer of
funds from one bank account to another is a simple scenario when expressed as a sequence diagram. Similarly,
maintaining time sheets for employees or creating a budget are also simple scenarios.
The paper has shown a number of sequence diagramming patterns; other scenarios such as fixed assets and
payroll are expected to follow similar structures. These
structures have been shown at a high level of abstraction
to allow specialization and assembly into useful analysis
models. Thus, there may be certain omissions, which can
be clarified if the diagrams are detailed. For example, the
sales as well as purchase transactions can be extended to
include the role of employees.
The READY model has predictable activities: search,
select, create transaction, add line items, review transaction, and commit transaction. This underlying pattern can
The READY Model
209
:ProdClerk
:WIPForm
//search
product()
:WIPControl
//search
product()
:Product
:WIP
:ProductSpec :RawMaterial
:Operation
:Worker
//get product
info()
//get product spec()
//display products()
//select
product()
//select
product()
//create new WIP()
//checkout raw
material()
//assign operation()
//assign
worker()
//review
WIP()
//review
WIP()
//get WIP details()
//get
product
info()
//get
lineitem()
//get raw material
checkout()
//get operation
assignment()
//get worker
assignment()
//display WIP
details()
//confirm
WIP()
//confirm
WIP()
//save WIP()
//update balance()
//save raw material
checkout()
//save operation
assignment()
//update worker
assignment()
Figure 8.
Sequence diagram for work-in-process scenario.
be found in the key revenue, expenditure, and conversion
accounting cycles. By providing patterns of dynamic behavior of accounting scenarios, the READY model has been
shown to be a valid and useful extension of the REA model.
Author Bios
Dinesh Batra is a Knight-Ridder Research Professor of MIS
in the College of Business Administration at the Florida International University. He is a co-author of the
book Object-Oriented Systems Analysis and Design published
by Pearson Prentice-Hall. His publications have
appeared in Management Science, Journal of MIS, Communi-
cations of the ACM, European Journal of Information Systems,
Communications of the AIS, International Journal of Human
Computer Studies, Computers and Operations Research, Data
Base, Information and Management, Journal of Database Management, Decision Support Systems, Requirements Engineering
Journal, and others. He has served as the President of
the AIS SIG on Systems Analysis and Design (SIGSAND).
He is an associate editor for three journals.
Thant Sin is a doctoral student in the MIS program at the
Florida International University. He completed his
MBA with IT concentration from the International University of Japan in 2004. He has presented at various
conferences such as ICIS SIG-ISCoRE 2006, AIS SIGSAND
2007, and AMCIS 2006 and 2007.
210
Batra and Sin
References
Ambler, S. W. (2004). The Object Primer: Agile Model-Driven Development
UML 2.0 (3rd ed.). Cambridge, UK: Cambridge University Press.
Batra, D. (2005). Conceptual Data Modeling Patterns. Journal of
Database Management, 16(2), 84–106.
Batra, D., & Satzinger, J. W. (2006). Contemporary Approaches
and Techniques for the Systems Analyst. Journal of Information
Systems Education, 17(3), 257–266.
Bolloju, N., & Leung, F. S. K. (2006). Assisting Novice Analysts in
Developing Quality Conceptual Models with UML. Communications of the ACM, 49 (7), 108–112.
Chen, P. (1976). The Entity-Relationship Model-Toward a Unified
View of Data. ACM Transactions on Database Systems, 1(1), 9–36.
Coad, P. (1992). Object-Oriented Patterns. Communications of the
ACM, 35(9), 152–159.
Coad, P., North, D., & Mayfield, M. (1997). Object Models: Strategies,
Patterns, and Applications (2nd ed.). Upper Saddle River, N.J.:
Yourdon Press.
Codd, E. F. (1970). A Relational Model of Data for Large Shared
Data Banks. Communications of the ACM, 13(6), 377–387.
Dobing, B., & Parsons, J. (2006). How UML is Used. Communications of the ACM, 49(5), 109–113.
Dobing, B., & Parsons, J. (2008). Dimensions of UML Diagram
Use: A Survey of Practitioners. Journal of Database Management,
19(1), 1–18.
Dunn, C. L., & Grabski, S. V. (2000). Perceived Semantic Expressiveness of Accounting Systems and Task Accuracy Effects. International Journal of Accounting Information Systems, 1(2), 79–87.
Fowler, M. (1997). Analysis Patterns: Reusable Object Models. Menlo
Park, CA: Addison Wesley.
Geerts, G. L., & McCarthy, W. E. (2000). The Ontological Foundation of REA Enterprise Information Systems. Paper presented
at the American Accounting Association Conference, Philadelphia, PA; August 13–16, 2000.
Geerts, G. L., & McCarthy, W. E. (2002). An Ontological
Analysis of the Economic Primitives of the Extended-REA
Enterprise Information Architecture. Information Systems, 3,
1–16.
George, J. F., Batra, D., Valacich, J. S., & Hoffer, J. A. (2007). ObjectOriented Systems Analysis and Design (2nd ed.). Upper Saddle
River, NJ: Prentice Hall.
Hay, D. C. (2006). Data Model Patterns: A Metadata Map. Amsterdam; Boston: Elsevier Morgan Kaufmann.
Ivens, K. (2008). QuickBooks 2008: The Official Guide. New York:
McGraw-Hill.
Kobryn, C. (1999). UML 2001: A Standardization Odyssey. Communications of the ACM, 42(10), 29–37.
Kodaganallur, V. & Shim, S. (2006). Analysis Patterns: A Taxonomy and its Implications. Information Systems Management,
23(3), 56–61.
McCarthy, W. E. (1979). An Entity-Relationship View of Accounting Models. The Accounting Review, 54 (4), 667–686.
McCarthy, W. E. (1982). The REA Accounting Model: A Generalized Framework for Accounting Systems in a Shared Data
Environment. Accounting Review, 57(3), 554–578.
McCarthy, W. E. (2003). The REA Modeling Approach to Teaching Accounting Information Systems. Issues in Accounting Education, 18(4), 427–442.
Murthy, U. S., & Groomer, S. M. (2003). Accounting Information Systems: A Database Approach. Bloomington, IN: Cybertext Publishing.
Murthy, U. S., & Wiggins, C. E. (2004). OOREA: An Object-Oriented
Resources, Events, Agents Model for Enterprise Systems Design.
Paper presented at the 25th International Conference on Information Systems, Washington, DC; December 12–15, 2004.
OMG. (2005). Introduction to OMG’s Unified Modeling Language
(UML). Retrieved May 24, 2007 from http://www.omg.org/
gettingstarted/what_is_uml.htm
Poels, G. (2003). Conceptual Modeling of Accounting Information Systems: A Comparative Study of REA and ER Diagrams.
Paper presented at the Conceptual Modeling for Novel Application Domains: ER 2003, Chicago, IL; October 13–16, 2003.
Scheer, A. -W. (1998). ARIS—Business Process Frameworks (2nd ed.).
Berlin; New York: Springer.