Specifying Business Rules:
A Fact-Based Approach
Bulletin
of Information Technology Research. Vol 1, Issue 1 (June 2003). ISSN 1176-3108.
Adrian Hargreaves
Department of Information Systems
Massey University
Wellington
A.J.Hargreaves@massey.ac.nz
Abstract
Numerous industry
surveys have suggested that most IT projects still end in failure. Incomplete,
ambiguous and inaccurate specifications are cited as a major causal factor.
Traditional techniques for specifying requirements most often lack the
expressiveness with which to model subtle but common features within organisations.
As a consequence, many of the business rules that determines the structure
and behaviour of organisations are simply not captured until the latter
stages of the development lifecycle.
Business rules originate
as policies that are adopted by organisations to achieve their higher-level
goals. The Business Rules Group (BRG) has defined a conceptual model for
these rules. The concepts and definitions within their report can guide
analysts to seek appropriate information from domain experts. Most techniques
that are currently employed for representing requirements, however, incorporate
implementation details unfamiliar to these people. Unless domain experts
can actively challenge the analyst's understanding of these rules, how
can they be certain they are defining the required system?
The aim of this review,
therefore, is to examine the evolution of the techniques employed by analysts
for defining requirements. It investigates their ability to capture these
details, the limitations they have overcome and their capacity for communication
with the end-user community. The review highlights the fact that although
many important advances have been made over the last 30 years, the techniques
commonly used by analysts are still beset by significant problems.
Fact-based techniques
are investigated as an alternative approach, and it is suggested that
they could provide a mechanism for improving the quality of requirements.
The ORM and KISS conceptual modelling approaches are presented. Their
ability to capture and represent requirements rigorously, but still in
a form comprehensible to business people, is analysed.
Finally, this review
proposes that either of these alternative approaches could be synthesised
with the concepts and definitions within the BRG report. This would provide
a single conceptual framework meaningful to both business people and analysts.
Integrating the expressive simplicity of these conceptual modelling techniques
within the business rules framework may help to fill a significant requirements
gap.
Introduction
Although computer
systems have been developed for business and government organisations
for more than 40 years, recent industry surveys (The Standish Group, 1995;
OASIG, 1996; Whittaker, 1999; National Audit Office, 2001; Conference
Board Survey, 2001) have all indicated that most I.T. projects still end
in failure. Many of these surveys and the findings of other authors (Glass,
1997; Leffingwell, 1997) have concluded that inadequately specified requirements
are one the primary causes of I.T. failures.
Perhaps these findings
are not so surprising since many contemporary data modelling techniques
simply cannot represent many important system requirements. In particular,
the constraints that apply to data structures cannot be easily represented,
if at all, in most data modelling techniques (ter hofstede, Proper, &
van der Weide, 1994). Consequently, these requirements are often not discovered
until the latter stages of the development lifecycle, possibly causing
serious scheduling and budgetary problems for projects.
Not being able to
represent the dynamic constraints that apply to static structural requirements
could have other disadvantages. Capturing the business rules that define
the structure and constrains the behaviour of business organisations has
been presented by some as a new paradigm for systems development. Indeed,
Date (2000, p.3) states, "business rules can be seen in some respects
as the next (and giant) evolutionary step in implementing that [original
relational] vision."
The Business Rules
Group (formerly known as GUIDE) has defined a conceptual model for these
rules. The concepts and definitions within this report can guide analysts
to seek appropriate information from domain experts by knowing "what is,
and is not, a business rule" (GUIDE, 1995, p.1). Business rules originate
as the policies adopted by organisations in response to constraints that
act upon them (GUIDE, 1995). As such, business people represent domain
experts and so it is from these people that analysts must elicit the organisation's
business rules. Since these rules can only be validated when business
people can challenge the analyst's understanding of them, it suggests
that they must be expressed in a form that facilitates such dialogue.
Conceptual modelling
approaches such as ORM and KISS, exploit the expressiveness of natural
language within the formality of an underlying mathematical framework.
Both of these modelling techniques rely heavily on natural language analysis.
This allows the application model to be defined at the conceptual level
where the analyst and domain expert can communicate more effectively (Halpin,
2002). Their ability to verbalise elementary facts that describe an organisation,
suggests business rules could be expressed within these models. This would
allow domain experts to become actively involved in their validation.
By integrating conceptual modelling techniques within the business rules
model, analysts may have a mechanism for capturing requirements more completely
and accurately. That ability could help to fill a requirements gap and
thus reduce the risk of project failure.
Requirements Engineering (RE)
Problems
The problems associated
with RE have been well documented for many years. Researchers have noted
(Bell & Thayer T.A., 1976; Meyer, 1985) incomplete, ambiguous and inconsistent
requirements are commonplace in industry and recognised the significance
of these inadequacies on software quality. More recently, various studies
(The Standish Group, 1995; OASIG, 1996; National Audit Office, 2001; Conference
Board Survey, 2001) have confirmed these findings and the magnitude of
the problems caused by poorly defined requirements. The Standish Group
(1995) discovered that less than 20% of the 8000 American IT projects
they surveyed, delivered a system that was complete, on budget and within
schedule. One third of I.T. projects they surveyed were never completed.
The remaining projects were only partially completed and often well over
schedule and budget. Managers attributed the cause of over 40% of project
failures to problems relating to the gathering, specifying and validating
of requirements. These findings suggest that improving the quality of
requirements can significantly reduce the risk of project failure.
RE is a complex task
requiring the analyst to bridge the gap between two specialist perspectives
on a system (Ryan, 1993). The domain expert views the system at a high
conceptual level and it is a business-orientated perspective. The analyst
must transform this view into a complete and precise specification that
is necessarily computer-system orientated (Pohl, 1993). Each of these
perspectives is associated with concepts and a language used to express
them. This presents a significant problem since in order to agree on what
the required system should do, domain experts and analysts need to effectively
communicate (Pohl, 1993). Unless the domain expert can challenge the analyst's
understanding of a system, one would expect such an agreement to be difficult
to attain.
Approaches to Requirements
Engineering
Modelling of the
existing system seems to be a key task of RE regardless of which particular
methodology is adopted. Models form the basis of communication about a
system and its refinement to meet the needs it has to fulfil. This suggests
that the information contained in these models needs to accessible to
domain experts so that a common understanding of the system can be shared
and requirements agreed.
Pohl (1993. p.2)
identifies two types of problems facing RE; "the original RE problems
and the problems associated with approaches that attempt to resolve the
original problems". In the next section, modelling techniques that have
been used in RE are discussed. The focus of this discussion will be to
examine what aspects they attempt to model and how they overcome the limitations
of their predecessors.
Structured Approaches
One of the most popular
and certainly one of the earliest techniques employed in RE are entity-relationships
(ER) diagrams. This semi-formal technique attempts to model the data requirements
of the system (Chen, 1976) and is often used in conjunction with structured
analysis for defining processing requirements (DeMarco, 1978) and state
transition diagrams for modelling user interaction (Wasserman, 1979).
Although simple to
use, each of these techniques only model a single aspect of the system
and lack the expressiveness of other techniques that followed. ER diagrams
in particular have a limited capacity to model the constraints on data.
For example, exclusion, equality and subset constraints are typically
weakly supported (Halpin, 2002), as indeed are many of the rules that
apply to data structures (ter Hofstede, Proper, & van der Weide, 1994).
ER diagrams include thinly disguised implementation concepts such as tables
(entities) and foreign keys rather than concepts more familiar to and
thus more verifiable by, domain experts. Lacking a linguistic foundation
compounds this problem since concepts cannot be easily verbalised to domain
experts.
Requirements Modelling Languages
The limitations of
ER diagrams to represent real-world concepts as appropriate data structures,
lead some researchers to investigate alternative modelling approaches.
Classification, generalisation and aggregation are concepts usually associated
with object-orientation, but these techniques were first introduced in
RML (Greenspan, Mylopoulos, & Borgida, 1982). This requirements modelling
language was also one of the first to include formal semantics allowing
requirements to be expressed more precisely than is possible using semi-formal
techniques.
Agent-Based Reasoning
The techniques described
above focus on modelling the static, structural qualities of systems.
The representation of more dynamic aspects of the system such as behaviour
and the constraints determining that behaviour were developed through
agent-based reasoning (Feather, 1987). Agents are assigned responsibilities
for achieving goals and constraints that limit their behaviour. Interactions
between agents take place via interfaces and the formal foundations of
the technique allow reasoning about agent behaviour and responsibility.
This formality is achieved using a requirements specification language
known as ALBERT in which requirements are expressed in terms of formal
statements in temporal first order formulas (Yu, Du Bois, Dubois, & Mylopoulos,
1995). The capture of dynamic system qualities allows a more complete
picture of domain knowledge to be represented, but its explicit formal
framework could cause problems if business people are expected to validate
the resulting models.
Goal-Based Reasoning
Systems development
is more than just automating the current system. Re-engineering of existing
practices may also be necessary if they are not sufficient to achieve
business goals. The concept of requirements completeness was first incorporated
into models through the explicit representation of goals (Yue, 1987).
Goal-based reasoning allows analysts to exam the mechanisms in place for
achieving business objectives. More formal approaches have been suggested
(Manna & Pnueli, 1992) based on temporal logic that enable the completeness
and correctness of requirements in attaining goals to be proved mathematically.
Scenario-Based Approaches
Even domain experts
can have difficulty in identifying organisational goals and may require
help to develop a deeper understanding of the system before these details
can be documented. Scenario-based elicitation can be useful in these circumstances
or when more traditional modelling techniques have failed (Weidenhaupt,
Pohl, Jarke, & Haumer, 1998). A scenario is defined as "a description
denoting similar parts of possible behaviours limited to a subset of purposeful
state components, actions and communications taking place among two or
several agents" ( Plihon, Ralyté, Benjamen, Maiden, Sutcliffe, Dubois
et al., 1998, p.13). The analyst elicits these details as they walk through
a particular process with the end user to understand its operations, agents
and the event that triggers the process. Scenarios can be expressed formally
using grammar-based modelling languages (Glinz, 1995). Semi-formal (Potts
C., Takahashi, & Antòn, 1994) and informal approaches (Rolland & Ben Achour,
1998) can also be used based on structured and natural language notations,
respectively.
Object-Orientated (OO) Approach
OO analysis combines
a number of semi-formal techniques for capturing data (Class diagram,
Object diagram) behaviour (Statechart diagram, Activity diagram) and interaction
properties (Sequence and Collaboration diagram), which are now tending
towards a standard set of notations (Rumbaugh, Jacobson, & Booch, 1999).
The wide variety of techniques OO incorporates, allows it to be used from
the modelling of requirements through to design activities. Improvements
in the data structuring constructs available within Class diagrams over
earlier data modelling techniques, allow more details to be represented
including the constraints on data. However, these rules must be added
as textual annotations to the model rather than symbolising these details
graphically.
Since these techniques
represent an abstraction of OO programming concepts (Mylopoulos, Chung,
& Yu, 1999), implementation details are often present within models. This
suggests that such models can be difficult for domain experts to conceptualise
because the mechanisms and concepts underpinning the technique are unfamiliar
to them (Halpin & Bloesch, 1999).
Finally, unlike several
of the other approaches discussed above, OO focuses on addressing What
type questions and ignores important Why type concerns associated with
the early stages of R.E. (Mumford, 1981).
Conclusions Regarding RE Approaches
A number of conclusions
can be drawn from the examination above. There has been a trend towards
more expressive modelling techniques that can represent subtle data structuring
features such as sub-typing and generalisation. Other, more dynamic facets
of the system such as behaviour and constraints can now be modelled in
addition to simply static, structural details. However, where such details
are considered, they tend to be expressed formally within a requirements
language based on first order logic, such as ALBERT. While this adds rigour
and precision, requirements expressed in this form could be difficult
to articulate and validate with domain experts.
There has also been
increasing recognition of the importance of domain knowledge such as organisational
goals and the mechanisms used to achieve them. Approaches have been developed
to elicit that knowledge more effectively using scenarios and other informal
techniques like natural language. However, it is equally recognised that
formality is required in order to produce a complete, precise and unambiguous
specification.
Requirements are
represented in varying degrees of formality, depending on the approach
adopted. The next section briefly identifies these and the raises the
problem of how requirements are to be accurately translated between each
of these representations.
The Representation and Translation
of Requirements
According to Pohl
(1993, p.4) the aim of R.E. "is to transform an operational need into
a complete system specification through an iterative process of definition
and validation." The representation of requirements should reflect this
transformation in a process that begins informally and ends as a formal
specification (Pohl, 1993).
Informal specifications
tend to involve natural language or simple graphics, such as rich pictures
(Checkland, 1981), which are user-orientated and expressive, but often
contradictory and imprecise. Despite their imprecision, informal techniques
can provide a mechanism for exploring system properties that need be understood
first before they can be represented more formally.
Semi-formal techniques
include Structured Systems Analysis and OO. They are popular techniques
and provide useful graphical representations of system requirements. Since
they possess a mathematical foundation, requirements expressed semi-formally
are more precise and less prone to ambiguity than requirements expressed
informally. Despite this, requirements expressed using semi-formal approaches
cannot be proved correct to the same degree as more formal approaches.
Formal specification
languages e.g. Z (Potter, Sinclair, & Till, 1996) and VDM (Jones, 1990)
and knowledge representation languages e.g. RML (Greenspan, Mylopoulos,
& Borgida, 1986) provide a much more rigorous and precise mechanism for
representing requirements but are more difficult to use than less formal
approaches. The mathematical framework, based on first order logic that
underpins formal languages does, however, allow deductive reasoning on
requirements to prove their validity and completeness (Manna & Pnueli,
1992).
Unfortunately, there
is little in literature that actually describes how analysts should translate
requirements between these levels of formality. As Pohl, K. concedes that,
although the knowledge expressed in different representation formats should
be integrated to achieve consistency, "The relationship between formal
and informal is much less understood" (1993, p. 10). Even techniques within
the same methodology do not have a defined mechanism that facilitates
the translation process. For example, how does the analyst transform a
series of Use Cases into a Class Diagram? Certainly, no automated tool
support is currently available to achieve this task.
Requirements specified
using formal languages often have no informal precursor. However, since
formal specifications simply prove that the program produced from such
a specification will work correctly, this approach cannot guarantee that
the program specified is in fact the required program (Le Charlier & Flener,
1998). Further, since the fundamental purpose of a specification is to
transmit information, the specification "must be comprehensible in itself
and therefore must be written in the only language adapted to this purpose:
natural language." (Le Charlier& Flener, 1998, p. 281). But how can requirements
specified in natural language be translated into more formal descriptions
of what the system will do?
The next section
of this review examines two similar but distinct approaches to RE that
support this transition from natural language to a formal representation
of requirements. In addition, their method of exploiting natural language
demonstrates that requirements expressed in this form are not necessarily
informal.
Conceptual Approaches to RE
using Natural Language
Natural language
(NL) is a valuable tool for communicating with domain experts (Nijssen
& Halpin, 1989; Hoppenbrouwers, Hoppenbrouwers, & Vos, 1996; Mazza, Fairclough,
& Melton, 1994). However, NL is currently not widely used in industry
for two major reasons. Firstly, NL does not lend itself for the expression
of implementation concepts such as data retrieval and storage (Kristen,
1994). Secondly, NL possesses an inherent tendency towards informality
and imprecision (Gamut, 1991). Despite these apparent shortcomings, a
number of NL approaches to RE have been developed as a mechanism for defining
a conceptual model of a system. Two NL approaches are discussed and how
they attempt overcome the two problems highlighted above are explained.
The KISS Approach
The KISS approach
begins with the collection of textual descriptions of the organisation
domain. Grammatical analysis is then performed upon these with a view
of extracting specifications that will be used in lower level modelling
(Kristen, 1994). Throughout this process, NL is extensively employed as
the means of communication with domain experts.
Originally, experienced
analysts performed grammatical analysis manually. However, since heuristics
were the only guide for analysts conducting this analysis, differences
in approaches were bound to occur (Hoppenbrouwers, van der Vos, & Hoppenbrouwers,
1997). This reflects the problem of translation between informal and formal
specifications previously identified. In addition, the textual descriptions
elicited from domain experts often-contained details that were not pertinent
in the context of conceptual modelling or were semantically inaccurate.
These problems highlight the misconceptions and omissions concerning domain
knowledge that even domain experts possess (Hoppenbrouwers et al., 1997).
These problems have
been alleviated to some extent by the introduction of CASE tool support
in the form of the Grammarlizer (Grammatical Analyser) (Hoppenbrouwers,
van den Heuvel, Hoppenbrouwers, Weigand, & de Troyer, 1997). This tool
supports semantic tagging; a process that facilitates the partial interpretation
of text from which a set of elementary sentences are generated. From these
elementary sentences, the CASE tool constructs 'KISS-structured sentences'
that only contain information relevant for the generation of KISS conceptual
models. The analyst must still examine each KISS sentence to determine
its relevance within a conceptual model of the domain, but once performed,
the CASE tool will create a Subject Communication (SC) and Object Interaction
(OI) Model.
The SC model focuses
on subjects, human or machine, that exchange messages providing a useful
mechanism for depicting data flow. A typical SC model sentence would be
'The bank forwards a statement to the customer.' The details captured
in SC models are dynamic in nature and therefore need to change as the
business evolves.
The OI model defines
the action types that can be applied to a particular object type and the
synchronisation of those actions. A typical OI sentence would be, 'The
reservation of a seat from a booking agency.' In this example, the action
'to reserve' is applied to both the seat and the booking agency concurrently.
OI models capture more static components of the domain and tend to remain
stable even after significant changes in the organisation.
An important component
of the Grammarlizer architecture is the lexicon that allows both lexical
and semantic knowledge to be captured and used for paraphrasing in NL.
Currently, the Grammarlizer uses WordNet; a generic lexicon developed
by Princeton University (Fellbaum, 1998), as a repository of all domain
terminology and related linguistic elements. The lexicon contains the
concepts and their relationship to other concepts in the domain and is
therefore much more than a simple thesaurus or list of terms. Using NL
paraphrasing as a validation technique, which exploits the domain knowledge
captured within the lexicon, assists analysts to overcome two conflicting
concerns; developing a formal model of requirements and communicating
these requirements in the language of the domain expert (Dalianis, 1995).
The ORM Approach
Object Role Modelling
(ORM) is a well-established approach for conceptual modelling and is associated
with a methodology known as Natural language Information Analysis Methodology
(NIAM), (Nijssen & Halpin, 1989) and Formal Object Role Modelling Language
FORML (Halpin & Orlowska, 1992). A central concept within ORM is the idea
of objects (entities or values) playing roles (parts in relationships).
Unlike ER and OO modelling, ORM makes no initial use of the attribute
construct and this approach tends make conceptual models more stable (Halpin,
1996). Instead, what would have been represented as attributes in other
modelling approaches, are expressed as relationship types in ORM. As new
facts are discovered, these details are simply added to the model as an
additional role that is played by that object. Using an ER modelling approach,
new discoveries concerning the application domain can mean that, concepts
originally represented as attributes, need to be re-modelled as entity
types (Halpin, 1996).
The application domain
is modelled at a high conceptual level using terms familiar to domain
experts in the form of elementary facts, constraints and derivation rules.
Implementation issues, both logical and physical are ignored, allowing
analysts to focus on the problem domain and to communicate effectively
with domain experts.
Elementary sentences
are constructed from discussions with domain experts that describe the
roles played by objects e.g. 'Customer confirms Order'. In this example,
there are two objects; 'Customer' and 'Order' that are associated via
the role 'confirms'.
Natural language,
in the form of elementary sentences, is often too ambiguous for further
manipulation and therefore needs to be transformed into a notation with
a formal mathematical framework. FORML (Formal Object Role Modelling Language)
(Halpin, 2001) is the mechanism used to express elementary sentences formally
in a process called verbalisation. Despite the mathematical foundations
of this language, sentences constructed within this framework are still
recognisable to domain experts. Using the above example, the equivalent
FORML statement would be; 'Customer with CustNr 123 confirms Order with
OrderNr 456.' The only significant difference between these two forms
in this example is the use of a reference scheme for each object. The
reference scheme gives a value that represents a unique instance of an
object and provides a useful mechanism for validation against an actual
population of such objects.
In the above example,
the elementary fact is binary. However, ORM will support the expression
of any type of arity. This allows facts to be expressed in more naturally,
e.g. 'Customer with CustNr 789 at Time '9am' rents a Car with RegNr 'AB1234',
represents a ternary fact type since it involves 3 objects.
Although a conceptual
data model of the domain can be represented entirely within FORML statements,
the ORM approach includes a step that allows analysts to symbolise elementary
facts graphically. This is a useful mechanism since diagrammatical representation
has the advantage of conveying domain knowledge much more succinctly than
simple verbalisation. This conciseness is bought at the expense of clarity,
however. A graphical ORM representation would probably not be the appropriate
tool with which to conduct validation by domain experts. In fact, as the
number of requirements increases, the clarity of these graphical models
diminishes rapidly (Feldman & Miller, 1986). This problem is known as
the Database Comprehension Problem (Carlson, Ji, & Arora, 1990) and affects
all 'flat' data models in which objects are viewed at a single level of
abstraction (Campbell & Halpin, 1994). Since ORM explicitly represents
concepts that would be modelled as attributes in an ER diagram, however,
this Database Comprehension problem affects ORM more than most other graphical
modelling techniques. To reduce complexity, it has been suggested that
ORM models should be constructed using a number of levels of abstraction
(Campbell, Halpin, & Proper, 1996). At the highest level of abstraction,
a model would contain only the most important application details. These
details are then successively decomposed into lower level diagrams in
much the same way as data flow diagrams are levelled when using a structured
approach.
ORM allows analysts
to capture many more constraints, enforcing data integrity, than is possible
is most other modelling approaches (Halpin, 2002). This ability allows
analysts to explicitly represent these details at a conceptual level,
not only facilitating validation by domain experts, but also allowing
automatic code generation of these rules. Uniqueness and role constraints
have a parallel in all other data modelling approaches, but ORM allows
many others to be expressed, such as:
- Subset - where
the population of one role is a subset of another
- Equality - equivalent
to a subset constraint, but in both directions
- Exclusion - where
the populations of two roles are mutually exclusive
- Ring - applied
to roles played by the same object i.e. recursive relationships. Includes
asymmetric, intransitivity and acyclicity
- Subtype - ORM
also supports multiple inheritance
These constraints
are added to the model as graphical annotations to structural details
previously captured. As such, ORM appears to support the expression of
many of the constraints that affect the behaviour of organisations. Details
that are typically weakly supported, if at all, by many other modelling
techniques (Halpin, 2002).
Details captured
within ORM are mapped into table structures by using an algorithm incorporated
into Visio Modeller, ORM's automated tool support. The algorithm transforms
the conceptual model into Optimal Normal Form, which is equivalent to
fifth normal form (Halpin, 2001). After mapping, the database can be generated
into a number of target database formats including Oracle, Ingress and
Access. Data integrity details, as specified by the constraints annotating
the conceptual model, are also implemented in the target database. However,
the degree to which these details appear as features within the target
database are dictated by the limitations associated with the DBMS employed.
Conclusions Regarding Natural
Language Approaches
Both KISS and ORM
rely heavily on natural language paraphrasing techniques to communicate
domain knowledge to domain experts. This is a useful approach in that
knowledge is expressed in terms more familiar to those experts. The analyst's
perceptions can then be actively challenged and thus validated by these
people. Each approach resolves one of the major difficulties usually associated
with the use of natural language: the inherent tendency towards informality
and imprecision (Gamut, 1991). In both cases, this is achieved by adopting
a restrictive grammar whose syntax and structure have a formal mathematical
foundation. The KISS approach differs however, in the use of an automated
tool (the Grammarlizer) that attempts to partially interpret textual information
and transform these informal descriptions into formal expressions. By
contrast, the ORM approach allows analysts to create graphical models,
provide sample populations and facts, or to enter FORML statements directly
into Visio Modeller. In this sense, precision and formality is achieved
immediately, although still in a form comprehensible to domain experts,
rather than being preceded by a phase where requirements are expressed
informally.
The second problem
associated with the use of natural language concerns its weakness for
expressing implementation concepts (Kristen, 1994). In both the ORM and
KISS approach, the domain is modelled at a high conceptual level in a
fact-finding process. Implementation concepts, both logical and physical
are simply not present within the models associated with each approach.
However, Visio Modeller is still capable of generating databases from
ORM models. Implementation issues are addressed internally, out of sight
of even the analyst, by using algorithms to normalise ORM models and to
implement them as relational tables and constraints (where supported by
the target DBMS). The KISS approach lacks the tool support to deal with
these implementation issues and is primarily a technique for representing
domain knowledge within a series of conceptual models.
Of the two approaches,
only KISS attempts to capture semantic and linguistic knowledge using
WordNet. WordNet can provide a mechanism that allows analysts to seek
agreement amongst domain experts as to the particular meaning of domain
specific terminology. Since these terms appear as the names of objects
or roles within ORM models, it seems reasonable that capturing their meaning,
as in the KISS approach, would add to completeness and consistency of
these models (Hoppenbrouwers et al., 1997).
Neither approach
addresses why type concerns by explicitly relating requirements to higher-level
organisational goals. Both techniques could benefit by adopting mechanisms
that address this issue, thereby improving the completeness of requirements
they capture. Using goal and scenario-based approaches to augment these
techniques could provide such a mechanism.
Modelling Business Rules
Conceptual modelling
techniques such as ORM and KISS distinguish themselves from many other
modelling approaches in the degree of separation from technological aspects
in which the application domain is described. Most other popular techniques,
such ER and OO modelling define requirements that incorporate implementation
concepts (Mylopoulos, Chung, & Nixon, 1992) not familiar to domain experts.
By modelling the domain at a high conceptual level and using natural language
to describe that domain, both KISS and ORM approaches allows people within
these organisations to comprehend and challenge the analyst's understanding.
The business rules
approach for defining organisations and their behaviour is possibly complementary
to these conceptual modelling techniques. This approach describes the
organisation in terms of 'the rules that define the structure and control
the operation of an enterprise' (GUIDE, 1995, p.1). Since many of these
business rules originate as policies implemented by organisations to achieve
higher-level goals, the approach views the organisation from a similar
conceptual perspective, independent of any technological considerations.
A project initiated
by the Business Rules Group (formerly known as GUIDE), consisting of E.F.
Codd, Charles Bachman and John Zachman amongst others, had as its major
objective the goal of "formalising an approach for identifying and articulating
business rules", (GUIDE, 1995, p.1). They see these rules falling into
one of four major categories; definitions of business terms, facts relating
terms to one another (which they call structural assertions), constraints
that limit the behaviour of organisations (referred to as action assertions)
and derivations (calculations). As such, the business rules approach does
not present any new concepts unfamiliar to system developers. However,
by defining the organisation and its behaviour as a collection of atomic
business rules, the approach provides a framework for describing the organisation
that is meaningful to both analysts and domain experts.
The group achieved
two main goals: to define and describe business rules and their related
concepts and to define a conceptual model of business rules (see Appendix
One). Within this framework it is now possible to 'express what is, and
is not, a business rule' (GUIDE, 1995, p.1) guiding analysts to seek appropriate
and complete information from domain experts.
Business rules themselves
are declarative in nature, rather than procedural. They define states
that are required or prohibited, which maybe conditional, rather than
the steps taken to move from one state to another. As such, other, process-orientated
techniques, are required to the define sequence in which they are executed.
The group argue that
many techniques are available for representing the rules that define the
structure of organisations (structural assertions), for example ER and
OO approaches, but very few are able to describe how the behaviour of
organisations are constrained (action assertions) (GUIDE, 1995). This
argument is reflected in this review with only a few notable exceptions
such as ORM, KISS and to a limited extent, UML. Consequently, action assertions
are often neglected, but important requirements. These details may not
be discovered until an attempt is made to implement these requirements
as program code (GUIDE, 1995).
Recent industry surveys,
such as that conducted by the Standish Group (1995), have identified inadequately
specified requirements as the cause of 40% of all I.T. project failures.
These surveys do not explicitly identify constraints as the source of
these missing requirements. However, if analysts do not possess the tools
to formally articulate them, it seems reasonable to suggest that this
inability could contribute to at least some of the problems encountered.
This raises an interesting
possibility. ORM or KISS constructs could be used as the language to formally
articulate the constraints (action assertions) on organisations, or indeed,
any other types of business rule. Further, since these conceptual modelling
techniques employ natural language, it suggests that these business rules
can be expressed in terms familiar to domain experts. This would allow
them to become actively involved in their validation. Therefore, by synthesising
these two approaches into a single conceptual framework, analysts may
have a mechanism for capturing requirements more completely and with greater
accuracy. That ability could help to reduce the risk of project failure.
Conclusions and Future Research
This review has highlighted
that the IT industry faces a number of challenges that must be overcome
if the current high level of project failure is to be addressed. Central
to this problem is the inability of many popular techniques to represent
important categories of system requirements and to express those requirements
in a form meaningful to domain experts. It has been argued that unless
business people can actively participate in the validation process, a
common understanding of the system and its requirements would be difficult
to achieve.
The business rules
model provides a conceptual framework for understanding the structure
and behaviour of systems within a paradigm meaningful to both analysts
and domain experts. To apply the concepts contained within the model,
this approach requires a language to accurately express business rules.
Conceptual modelling
approaches such as ORM and KISS exploit the expressiveness of natural
language within the formality of an underlying mathematical framework.
Either of these conceptual approaches could be synthesised with the concepts
and definitions within the BRG report. In doing so, they should provide
a rigorous mechanism for expressing business rules. It will be focus of
future research to make such an attempt with ORM. The attempt will be
limited to the examination of Action Assertions (constraints) to determine
whether ORM can be used for the expression of this rule type. Future research
will also suggest how linguistic knowledge in the form of semantic analysis
could be used to further promote data model quality.
Appendix One
Sourced
from GUIDE - The Business Rules Project, Final Report, 1995 (44K GIF)
Reference List
- Alavi, M., & Carlson,
P. (1992). A review of MIS research and disciplinary development. Journal
of Management Information Systems, 8(4), 45-62.
- Bell, T. E., &
Thayer T.A. (1976). Software Requirements: Are They Really a Problem?
Second International Conference on Software Enginering, San Francisco,
pp. 61-68.
- Campbell, L. J.,
& Halpin, T. A. (1994). Abstraction Techniques for Conceptual Schemas.
Proceedings of the 5th Australasian Database Conference, Christchurch,
16, 374-388.
- Campbell, L. J.,
Halpin, T. A., & Proper H.A. (1996). Conceptual Schemas with Abstractions
- Making flat conceptual schemas more comprehensible. Data & Knowledge
Engineering, 20(1), 39-85.
- Carlson, C. R.,
Ji, W., & Arora, A. K. (1990). The Nested Entity-Relationship Model.
Proceedings of the Eighth International Conference on Entity-Relationship
Approach, Toronto, pp. 43-57.
- Checkland, P.
(1981). Systems Thinking, Systems Practice. Chichester: John Wiley.
- Chen, P. 1. (1976).
The Entity Relationship Model - Towards a Unified View of Data. ACM
Transactions on Database Systems, 1(1), 9-36.
- Conference Board
Survey. (2001). ERP Trends Research Report (Report No. R-1292-01-RR).
New York: ERP Trends.
- Dalianis, H. (1995).
Aggregation, formal specification and natural language generation. First
International Workshop on the Application of Natural Language to Data
Bases Versailles, pp. 39-49.
- Date, C. J. (2000).
What, Not How: The Business Rules Approach to Application Development.
Reading, Massachusetts: Addison-Wesley.
- DeMarco, T. (1978).
Structured Analysis and System Specification. New Jersey: Yourdon Press.
- Feather, M. (1987).
Language Support for the Specification and Development of Composite
Systems. ACM Transactions on Programming Languages and Systems, 9(2),
198-234.
- Feldman, P., &
Miller, D. (1986). Entity Model Clustering: Structuring a Data Model
by Abstractions. The Computer Journal, 29(4), 348-360.
- Fellbaum, C. Ed.
(1998). WordNet: An Electronic Lexical Database. Cambridge, Massachusetts:
MIT Press.
- Gamut, L. (1991).
Logic, Language, and Meaning. Chicago: University of Chicago Press.
- Glass, R. L. (1997).
Software Runaways. New Jersey: Prentice Hall.
- Glinz, M. (1995).
An Integrated Formal Model of Scenarios Based on Statecharts. The Fifth
European Software Engineering Conference, Barcelona, pp. 254-271.
- Greenspan, S.
J., Mylopoulos, J., & Borgida, A. (1982). Capturing More World Knowledge
in the Requirements Specification. Sixth International Conference on
Software Enginering, Tokyo, pp. 225-234.
- Greenspan, S.
J., Mylopoulos, J., & Borgida, A. (1986). A Requirements Modelling Language
and its Logic. Information Systems, 11(1), 9-23.
- GUIDE Business
Rules Project. (1995) Defining Business Rules ~ What Are They Really?
Retrieved March 14th, 2003 from http://www.businessrulesgroup.org/first_paper/br01c0.htm.
- Halpin, T. A.
(1996, October). Business rules and object role modelling. Database
Programming and Design, pp. 16-22.
- Halpin, T. A.
(2001). Information modeling and relational databases. San Diego: Academic
Press.
- Halpin, T. A.
(2002). Join Constraints. Seventh International Workshop on Evaluation
of Modeling Methods in Systems Analysis and Design, Toronto, pp. 121-131
- Halpin, T. A.,
& Bloesch, A. C. (1999). Data modeling in UML and ORM: a comparison.
Journal of Database Management, 10(4), 4-13.
- Halpin, T. A.,
& Orlowska, M. E. (1992). Fact-orientated modelling for data analysis.
Journal of Information Systems, 2(2), 97-119.
- Hirschheim, R.,
& Newman, M. (1991). Symbolism and Information Systems Development:
Myth, Metaphor and Magic. Information Systems Research, 2(1), 29-62.
- Hoppenbrouwers,
J., van den Heuvel, W. J., Hoppenbrouwers, S., Weigand, H., & de Troyer,
O. (1997) The grammalizer: A case tool based on textual analysis. Retrieved
March 2nd, 2003, from http://citeseer.nj.nec.com/article/hoppenbrouwers97grammalizer.html.
- Hoppenbrouwers,
J., van der Vos, B., & Hoppenbrouwers, S. (1997). NL Structures and
Conceptual Modelling: Grammalizing for KISS. Data & Knowledge Engineering,
23(1), 79-82.
- Hoppenbrouwers,
J. J., Hoppenbrouwers, S. J., & Vos, J. v. d. (1996). NL structures
and conceptual modelling: The KISS case. In Riet, R.P. van de, Burg,
J.F., Vos, A.J. van der (Ed.). Applications of Natural Language to Information
Systems, pp. 197-209.
- Jones, C. B. (1990).
Systematic Software using VDM. (2nd ed.). New York: Prentice Hall.
- Kristen, G. (1994).
Object-Orientation: The Kiss Method : From Information Architecture
to Information System. Boston: Addison-Wesley Longman.
- Le Charlier, B.,
& Flener, P. (1998). Specifications are necessarily informal, or: Some
more myths of formal methods. Journal of Systems and Software, 40(3),
275-296.
- Leffingwell, D.
(1997). Calculating the return on investment from more effective requirements
management. American Programmer, 10(4), 13-16.
- Manna, Z., & Pnueli,
A. (1992). The Temporal Logic of Reactive and Concurrent Systems. Heidelberg:
Springer-Verlag.
- Martin, P. Y.,
& Turner, B. A. (1986). Grounded Theory and Organizational Research.
The Journal of Applied Behavioral Science, 22(2), 141-157.
- Mazza, C., Fairclough,
J., & Melton, B. (1994). Software engineering standards. New York: Prentice
Hall.
- Meyer, B. (1985).
On Formalism in Specifications. IEEE Software, 2(1), 6-26.
- Mumford, E. (1981).
Systems, Objectives, Solutions. Participative Systems Design: Structure
and Method, 1(1), 5-19.
- Mylopoulos, J.,
Chung, L., & Nixon, B. (1992). Representing and using non functional
requirements: A process-orientated approach. IEEE Transactions on Software
Enineering, 18(6), 483-497.
- Mylopoulos, J.,
Chung, L., & Yu, E. (1999). From Object-Oriented to Goal-Oriented Requirements
Analysis. Communications of the ACM, 42(1), 31-37.
- National Audit
Office. (2001). Why IT Projects Fail. UK National Audit Review of IT
Projects. Retrieved April 25th, 2003 from http://www.nao.gov.uk/intosai/edp/pas/010105ukpaperv2.1.pdf.
- Nijssen, G. M.,
& Halpin, T. A. (1989). Conceptual Schema and Relational Database Design:
A fact oriented approach. Sydney: Prentice-Hall.
- OASIG. (1996).
The performance of Information Technology and the role of human and
organisational factors. Sheffield: Institute of Work Psychology, Sheffield
University.
- Plihon, V., Ralyté,
J., Benjamen, A., Maiden, N., Sutcliffe, A., Dubois, E., & Heymans,
P. (1998). A Reuse-Oriented Approach for the Construction of Scenario
Based Methods. International Software Process Association's Fifth International
Conference on Software Process, Chicago.
- Pohl, K. (1993).
The Three Dimensions of Requirements Engineering. Fifth International
Conference of Advanced Information Systems Engineering, Paris, pp. 275-292.
- Potter, B., Sinclair,
J., & Till, D. (1996). An Introduction to Formal Specification and Z
(2nd ed.). London, New York: Prentice Hall.
- Potts C., Takahashi,
K., & Antnn, A. I. (1994). Inquiry-based Requirements Analysis. IEEE
Software, 11(2), 21-32.
- Rolland, C., &
Ben Achour, C. (1998). Guiding the Construction of Textual Use Case
Specifications. Data and Knowledge Engineering, 25(1), 125-150.
- Rumbaugh, J. ,
Jacobson, I., & Booch, G. (1999). The Unified Modeling Language Reference
Manual. Reading, M.A.: Addison-Wesley.
- Ryan, K. (1993).
The Role of Natural Language in Requirements Engineering. IEEE International
Symposium on Requirements Engineering, San Diego, pp. 240-242.
- ter Hofstede,
A. H., Proper, A. H., & van der Weide, Th. P. (1994). A conceptual language
for the description and manipulation of complex information models.
Seventeenth Annual Computer Science Conference, Australia, 16, 157-167.
- The Standish Group.
(1995). The CHAOS Report. Dennis, MA: The Standish Group International.
- Walsham, G. (1993).
Interpreting Information Systems in Organisations. Chichester: Wiley.
- Wasserman, A.
(1979). A Specification Method for Interactive Information Systems.
Proceedings of the Specification of Reliable Software Conference, New
York, pp. 68-79.
- Weidenhaupt, K.,
Pohl, K., Jarke, M., & Haumer, P. (1998). Scenario Usage in System Development:
A Report on Current Practice. Third IEEE International Conference on
Requirements Engineering, Colorado, 15, 34-45.
- Whittaker, B.
(1999). What Went Wrong? Unsuccessful Information Technology Projects.
Information Management & Computer Security, 7(1), 23-30.
- Yu, E., Du Bois,
P., Dubois, E., & Mylopoulos, J. (1995). From organization models to
system requirements: a 'cooperating agents' approach. Third International
Conference on Cooperative Information Systems, Vienna, pp. 293-312.
- Yue, K. (1987).
What Does It Mean to Say that a Specification is Complete? Fourth International
Workshop on Software Specification and Design, Monterey, pp. 34-41.
|