business rules and requirements © ed green penn state university all rights reserved

111
Business Rules Business Rules and and Requirements Requirements © Ed Green Penn State University All Rights Reserved

Post on 18-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules Business Rules and Requirementsand Requirements

© Ed Green Penn State University All Rights Reserved

Page 2: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 204/18/23

Stating the ChallengeStating the Challenge

Provide information solutions of Provide information solutions of exceptional qualityexceptional quality

Meet the changing needs of the enterpriseMeet the changing needs of the enterprise Respond to organizational culture and its Respond to organizational culture and its

changing naturechanging nature Reduce costsReduce costs Improve productivity and profitabilityImprove productivity and profitability

Page 3: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 304/18/23

Concept of Business RulesConcept of Business Rules

Set of underlying principles that provide Set of underlying principles that provide enterprise governance and guidanceenterprise governance and guidance

Allows for variations across enterprisesAllows for variations across enterprises Many points of similarityMany points of similarity

External forcesExternal forcesCommon goalsCommon goals

Page 4: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 404/18/23

Critical IssuesCritical Issues Normal performance level of IT would be appalling Normal performance level of IT would be appalling

and sub-standard in every other major industryand sub-standard in every other major industry Inability to produce software in a well-ordered way Inability to produce software in a well-ordered way

costs several billion dollars (US) annuallycosts several billion dollars (US) annually Current culture emphasizes programmingCurrent culture emphasizes programming Majority of software problems emanate for Majority of software problems emanate for

specification errorsspecification errors Often a communications problemOften a communications problem Programmers programming the wrong thingProgrammers programming the wrong thing

Good design may save poor programming, but Good design may save poor programming, but exceptional programming will never save bad designexceptional programming will never save bad design

Page 5: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 504/18/23

What Is A Business RuleWhat Is A Business Rule

Compact statement about some aspect of a Compact statement about some aspect of a businessbusiness Expressed in terms directly related to the businessExpressed in terms directly related to the business Simple, unambiguous language that is common to all Simple, unambiguous language that is common to all

stakeholdersstakeholders

GUIDEGUIDE“a statement that defines or constrains some aspect “a statement that defines or constrains some aspect of the business. It is intended to assert business of the business. It is intended to assert business structure or to control or influence the behavior of structure or to control or influence the behavior of the business.the business.

Page 6: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 604/18/23

Building Software – Current ProcessBuilding Software – Current Process

Business OwnerBusiness Owner

OperationalSystem

BusinessDescriptions

AnalystAnalyst

DeploymentConstraints

DeveloperDeveloper

Evaluate, Use

(Redefine

Interpret

Inte

ract

StructuredSystem

Descriptions

Test

GenerateSource CodeSource Code

TesterTester

Define

Inte

rpre

t

Interact Inte

ract

Code

Errors

SoftwareModules

SoftwareModules

Create, RefineCreate, Refine

Define

System Development

System AdministratorSystem AdministratorIntegrate

Integrate

DeployDeploy

(Redefine

Page 7: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 704/18/23

Issues With Current Development Issues With Current Development ProcessProcess

Business owner – person who needs software, is underwriting Business owner – person who needs software, is underwriting the costs, has business but not technical acumenthe costs, has business but not technical acumen

Process contains implicit acceptance of frailtyProcess contains implicit acceptance of frailty Process relies on descriptive materials requiring interpretationProcess relies on descriptive materials requiring interpretation

Exacerbates communications gap between end users and Exacerbates communications gap between end users and developers producing adevelopers producing a““I heard what you said but not what you meant!!”I heard what you said but not what you meant!!”mentalitymentality

Process is labor intensiveProcess is labor intensive Process is slowProcess is slow Process does not address risk management/mitigation Process does not address risk management/mitigation

naturallynaturally

Developing software is risky, slow, and expensiveDeveloping software is risky, slow, and expensive

Page 8: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 804/18/23

System Development VisionSystem Development Vision

Business OwnerBusiness Owner

OperationalSystem

GenerateGenerate

Generate

SoftwareModules

SoftwareModules

Evaluate, Use

StructuredBusiness

Descriptions

StructuredBusiness

Descriptions

HumanReadable

Views

HumanReadable

Views

MachineReadable

Views

MachineReadable

Views

StructuredDeploymentcomponents

StructuredDeploymentcomponents

System Development

Review

(Red

efine

(Redefine

Manage

Deploy

Page 9: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 904/18/23

Implications of the VisionImplications of the Vision

Reduced system development time following Reduced system development time following requirements stabilizationrequirements stabilization

Staffing profile shift Staffing profile shift Fewer programmers and testersFewer programmers and testers More software analysts and software engineersMore software analysts and software engineers

Significantly improved software qualitySignificantly improved software quality Somewhat lowered software performance Somewhat lowered software performance

efficiencyefficiency

Page 10: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 1004/18/23

Practicality of the VisionPracticality of the Vision Software code generation is an inhibited technologySoftware code generation is an inhibited technology

Perception – subservient to manual programmingPerception – subservient to manual programming Current modeling technology do not provide for requisite information richness Current modeling technology do not provide for requisite information richness

needed for automationneeded for automation Lack of standardized approach to expressing business and technical Lack of standardized approach to expressing business and technical

architecture needsarchitecture needs The problem is difficultThe problem is difficult

Realistic stepsRealistic steps1.1. Increase structure for describing business needsIncrease structure for describing business needs2.2. Improve structure for describing computing environmentImprove structure for describing computing environment3.3. Generate code fragments from enhanced business descriptionsGenerate code fragments from enhanced business descriptions4.4. Focus development on refinement/extension of generated code vis a vis Focus development on refinement/extension of generated code vis a vis

creation. Accept, within limits, some degree of inefficiencycreation. Accept, within limits, some degree of inefficiency5.5. Package developed software in component form; simplify subsequent Package developed software in component form; simplify subsequent

management/deployment; focus on interfaces; hide implementation detailsmanagement/deployment; focus on interfaces; hide implementation details6.6. Emphasize process improvement; use the best people; quantify, measure and Emphasize process improvement; use the best people; quantify, measure and

continually review the process.continually review the process.7.7. Reduce common system elements to manageable/reusable templates. Reduce common system elements to manageable/reusable templates.

Increase levels of commonality. Move differentiators into rule sets.Increase levels of commonality. Move differentiators into rule sets.

Page 11: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 1104/18/23

Defining Business RulesDefining Business Rules

Page 12: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 1204/18/23

Defining Business RulesDefining Business Rules

Rule statementsRule statements Forming rule statementsForming rule statements Construction rulesConstruction rules

Page 13: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 1304/18/23

Rule StatementsRule Statements

CharacteristicsCharacteristics Business Aspects of Rule StatementsBusiness Aspects of Rule Statements Rule ContentsRule Contents Expression LevelsExpression Levels Rule Definition OptionsRule Definition Options Culture Impacts Culture Impacts

Page 14: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 1404/18/23

Characteristics of RulesCharacteristics of Rules Constraints –Constraints –

Define conditions that Define conditions that MUSTMUST hold true in specified situations hold true in specified situations WHATWHAT must be the case rather than must be the case rather than HOWHOW it came to be it came to be

Define the desired logic of the businessDefine the desired logic of the business Conditions to be detectedConditions to be detected Actions required to establish a state of “Actions required to establish a state of “TRUETRUE””

CharacteristicsCharacteristics Atomic – elementary and essential; beyond (further) decompositionAtomic – elementary and essential; beyond (further) decomposition Unambiguous – single, clear meaning not subject to interpretationUnambiguous – single, clear meaning not subject to interpretation Compact – tightly worded without fluff or flourishCompact – tightly worded without fluff or flourish Consistent – logically connected to others of its kindConsistent – logically connected to others of its kind Compatible – common language with the business model and the Compatible – common language with the business model and the

environmentenvironment Power of business rulesPower of business rules

Business-level statements translatable into requirements for an operational Business-level statements translatable into requirements for an operational systemsystem

Combinational so that the value of the whole is greater than the sum of the Combinational so that the value of the whole is greater than the sum of the individual requirementsindividual requirements

Page 15: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 1504/18/23

Business Aspects of Rule StatementsBusiness Aspects of Rule Statements ConcernsConcerns

Reducing/minimizing risksReducing/minimizing risks Improving customer serviceImproving customer service Optimizing utilization of (corporate) resourcesOptimizing utilization of (corporate) resources Controlling/managing workflowControlling/managing workflow

AspectAspect ExamplesExamples

Information Information consistencyconsistency

Dates, modes of address, corporate styles. Establish so that such Dates, modes of address, corporate styles. Establish so that such there is consistency of use throughout the enterprise.there is consistency of use throughout the enterprise.

Entity Entity relationshipsrelationships

Relationships that must between entities that are relevant to the Relationships that must between entities that are relevant to the enterprise. Relationships may depend on particular conditions.enterprise. Relationships may depend on particular conditions.

Situation Situation identificationidentification

Recognition of common situations to allow standardized, Recognition of common situations to allow standardized, predictable, and well-managed responses.predictable, and well-managed responses.

Data integrityData integrity Default values, computational algorithms, value and range Default values, computational algorithms, value and range validation, editing prior to capture.validation, editing prior to capture.

Page 16: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 1604/18/23

Rule ContentRule Content

Defines what the case should beDefines what the case should be Does not prescribeDoes not prescribe

Who invokes the ruleWho invokes the rule When the rule is executedWhen the rule is executed Where the rule executesWhere the rule executes How the rule is implementedHow the rule is implemented

Two issuesTwo issues Why is a rule importantWhy is a rule important When failure occurs, why did it happen?When failure occurs, why did it happen?

Page 17: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 1704/18/23

Levels of Expression (Rules)Levels of Expression (Rules)

Informal – colloquial or natural languageInformal – colloquial or natural language TechnicalTechnical

Structured data referencesStructured data references OperatorsOperators Constrained natural languageConstrained natural language

Formal – statements conforming to a more Formal – statements conforming to a more closely defined syntax with mathematical closely defined syntax with mathematical propertiesproperties

Page 18: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 1804/18/23

Low-technology Rule Low-technology Rule DefinitionDefinition

FactModel

RuleText

AnalystAnalyst RuleStructure

DesignerDesigner DeveloperDeveloper

Business SignoffBusiness Signoff

ImplementationImplementation

Page 19: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 1904/18/23

Controlled Rule DefinitionControlled Rule Definition

FactModel

RuleText

AnalystAnalyst

RuleStructure

DesignerDesigner DeveloperDeveloper

Business SignoffBusiness Signoff

FactDefiner

CodeGenerator

FactDefiner

ImplementationImplementation

RuleTemplate

TestTest

Page 20: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 2004/18/23

Long Term Objective For Long Term Objective For Business Rule DefinitionBusiness Rule Definition

FactModel

RuleText

RuleStructure

Business Business DefinitionDefinition

FactDefiner

CodeGenerator

RuleDefiner

ImplementationImplementation

RuleTemplate

OtherOthermodelmodel

elementselements

Page 21: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 2104/18/23

Cultural ImpactsCultural Impacts

Nature of work will changeNature of work will change Increased computer and technology literacyIncreased computer and technology literacy Increased business knowledgeIncreased business knowledge

Evolution of the information technology Evolution of the information technology workforceworkforce From guildsman and artisansFrom guildsman and artisans To engineers using commonly accepted To engineers using commonly accepted

standards and processesstandards and processes Changing job descriptionsChanging job descriptions

Increasing job challenges and opportunitiesIncreasing job challenges and opportunities

Page 22: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 2204/18/23

Forming Rule StatementsForming Rule Statements

OverviewOverview Pattern conventionsPattern conventions Rule patternsRule patterns

Page 23: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 2304/18/23

Rule Statements and Rule Statements and RelationshipsRelationships

Fact Model

UML Classes

Rule Template

Business RuleStatement

RuleDatabase

FormalExpression

Implementation

View ofDefines

terms for Equates to

Translates to

Stored in

Stored inDefines structure for

Page 24: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 2404/18/23

Pattern Conventions (1)Pattern Conventions (1)ElementElement MeaningMeaning

<det><det> The determiner of the subject taken from the following list: A, An, The, Each, Every, (nothingThe determiner of the subject taken from the following list: A, An, The, Each, Every, (nothing

<subject><subject> A recognizable le business entity such as a business object visible in the fact model, a role name, or A recognizable le business entity such as a business object visible in the fact model, a role name, or property of an object. The entity may be qualified by other descriptive elements (existence in a particular property of an object. The entity may be qualified by other descriptive elements (existence in a particular state) to specify the rule with necessary and sufficient precision.state) to specify the rule with necessary and sufficient precision.

<characteristic><characteristic> The business behavior that must occur to enforce the relationship.The business behavior that must occur to enforce the relationship.

<fact><fact> A relationship between terms identifiable in the fact model along with defined constants. The relationship A relationship between terms identifiable in the fact model along with defined constants. The relationship may be qualified by other descriptive elements in order to precisely specify the applicability of the rule.may be qualified by other descriptive elements in order to precisely specify the applicability of the rule.

<fact-list><fact-list> A list of <fact> items.A list of <fact> items.

<m>, <n><m>, <n> Numeric parameters.Numeric parameters.

<result><result> A value (numeric or non-numeric) that has some business meaning. The result is often the value of the A value (numeric or non-numeric) that has some business meaning. The result is often the value of the attribute of a business object.attribute of a business object.

<algorithm><algorithm> A definition of the technique to be used to derive the value of a result. This element is normally expressed A definition of the technique to be used to derive the value of a result. This element is normally expressed using combinations of variable terms identifiable in the facto model along with available appropriate using combinations of variable terms identifiable in the facto model along with available appropriate constraints.constraints.

<classification><classification> A definition of a term in the fact model. This typically defines either the value of an attribute, perhaps called A definition of a term in the fact model. This typically defines either the value of an attribute, perhaps called “state”, or a subset of objects in existing classes.“state”, or a subset of objects in existing classes.

<enum-list><enum-list> A list of enumerated values. A list of enumerated values. Open Open enumeration indicates that the list may be modified in the light of future enumeration indicates that the list may be modified in the light of future requirements. requirements. ClosedClosed enumeration indicates that changes to the list are not anticipated. enumeration indicates that changes to the list are not anticipated.

Page 25: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 2504/18/23

Pattern Conventions (2)Pattern Conventions (2) Language elementsLanguage elements Taken together, with rules for usage, create a grammarTaken together, with rules for usage, create a grammar Rule patternsRule patterns

Basic constraint – direct statement of conditionBasic constraint – direct statement of condition List constraint – use one or more items from a listList constraint – use one or more items from a list Classification – establishing a definition for using elements of Classification – establishing a definition for using elements of

the fact modelthe fact model Computation – establishes a relationship between terms in the Computation – establishes a relationship between terms in the

fact model to allow determination or establishment of a valuefact model to allow determination or establishment of a value Enumeration – establishes a range or set of values that can be Enumeration – establishes a range or set of values that can be

taken by an element in the fact modeltaken by an element in the fact model

Page 26: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 2604/18/23

Fact ModelsFact Models

Shows artifacts with persistent valuesShows artifacts with persistent values Business objectsBusiness objects Relationships among business objectsRelationships among business objects Attributes of business objectsAttributes of business objects

Differentiate between items of business Differentiate between items of business record versus operational artifacts with record versus operational artifacts with transient valuestransient values

Page 27: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 2704/18/23

Rule ConstructionRule Construction

Using factsUsing facts Simple constraintsSimple constraints Quantification and qualificationQuantification and qualification States and eventsStates and events ActorsActors Verb utilizationVerb utilization Structure and consistencyStructure and consistency

Page 28: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 2804/18/23

Using FactsUsing Facts

Utilize a fact modelUtilize a fact model Visible elementsVisible elements

Relate rule to elements in the business modelRelate rule to elements in the business model Question basic assumptions; simplify by reducing Question basic assumptions; simplify by reducing

any associated qualificationsany associated qualifications Question terminology; be specific; do not generalizeQuestion terminology; be specific; do not generalize Establish explicit relationships so that constraints Establish explicit relationships so that constraints

are clearly definedare clearly defined Avoid facts and terms not adequately qualifiedAvoid facts and terms not adequately qualified

Use the “necessary and sufficient” standardUse the “necessary and sufficient” standard Avoid vague termsAvoid vague terms

Page 29: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 2904/18/23

Simple ConstraintsSimple Constraints

Avoid unqualified terms that explicitly or implicitly grant permissionsAvoid unqualified terms that explicitly or implicitly grant permissions Remember that the purpose of a rule is to define mandatory and/or Remember that the purpose of a rule is to define mandatory and/or

prohibited conditionsprohibited conditions Do not elaborateDo not elaborate

Keep rules succinct and conciseKeep rules succinct and concise Make every word countMake every word count

Do not use an ‘OR’ constructDo not use an ‘OR’ construct Decompose into multiple atomic rulesDecompose into multiple atomic rules

Use an ‘AND’ construct if and only if BOTH conditions must define Use an ‘AND’ construct if and only if BOTH conditions must define truthtruth

Avoid complexity and emphasize simplicityAvoid complexity and emphasize simplicity Every rule should be atomic and elementaryEvery rule should be atomic and elementary Never use an ‘IF THEN ELSE’ construct in a business ruleNever use an ‘IF THEN ELSE’ construct in a business rule

Page 30: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 3004/18/23

Quantification and QualificationQuantification and Qualification

Ask assessment questionsAsk assessment questions NecessaryNecessary AppropriateAppropriate Correctness of rangesCorrectness of ranges Correctness of specific valuesCorrectness of specific values Specified elsewhereSpecified elsewhere

Avoid using plurals of terms in rulesAvoid using plurals of terms in rules Use ‘EACH’ and/or ‘EVERY’ where Use ‘EACH’ and/or ‘EVERY’ where

appropriateappropriate

Page 31: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 3104/18/23

States and EventsStates and Events

A business event is a stateA business event is a state Not a business actionNot a business action Cause rules to be evaluatedCause rules to be evaluated Not subject of a ruleNot subject of a rule

Be clear and unambiguousBe clear and unambiguous TerminologyTerminology Time frames and time linesTime frames and time lines

Avoid conditionals statementsAvoid conditionals statements ‘‘IF’ constructsIF’ constructs ‘‘WHEN’ constructsWHEN’ constructs

Page 32: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 3204/18/23

ActorsActors

Be certain that actors are needed and Be certain that actors are needed and clearly defined and describedclearly defined and described

Do not make actors the subject of rulesDo not make actors the subject of rules

Page 33: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 3304/18/23

Dangerous VerbsDangerous Verbs

Command verb formsCommand verb forms Action verbsAction verbs

Create unclear definitionsCreate unclear definitions CRUD wordsCRUD words

CreateCreate ReadRead UpdateUpdate Delete Delete

Page 34: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 3404/18/23

ComputationComputation

Make the computational result the Make the computational result the subject of the rulesubject of the rule

Avoid embedded computationsAvoid embedded computations

Page 35: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 3504/18/23

Structure and ConsistencyStructure and Consistency

Identify missing rulesIdentify missing rules Are all situations covered?Are all situations covered?

Check for overlapCheck for overlap Boolean intersection Boolean intersection

Identify duplicate rulesIdentify duplicate rules Multiple rules saying the same thingsMultiple rules saying the same things

Be wary of inverted expressionBe wary of inverted expression Use straight forward wordingUse straight forward wording

Validate that rules do not conflictValidate that rules do not conflict Multiple rules producing contradictory resultsMultiple rules producing contradictory results

Verify references among rule statementsVerify references among rule statements

Page 36: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 3604/18/23

Discovering Business RulesDiscovering Business Rules

Page 37: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 3704/18/23

Discovering Business RulesDiscovering Business Rules

Sources of RulesSources of Rules Kinds of RulesKinds of Rules Information SourcesInformation Sources IndicatorsIndicators

State Transition TheoryState Transition Theory Decision TreesDecision Trees Finding RulesFinding Rules

Static AnalysisStatic Analysis Interactive SourcesInteractive Sources Automated DiscoveryAutomated Discovery

Page 38: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 3804/18/23

Sources of RulesSources of Rules Anywhere in the enterprise or extended Anywhere in the enterprise or extended

enterpriseenterprise Anyone in the enterprise or extended Anyone in the enterprise or extended

enterpriseenterprise Any time something is happeningAny time something is happening Any place something is happeningAny place something is happening

Discovery can happen without warning . . .Discovery can happen without warning . . .. . . never, ever be surprised. . . never, ever be surprised

Page 39: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 3904/18/23

Kinds of RulesKinds of Rules Structural Structural

Describe constraints and/or relationships among the Describe constraints and/or relationships among the elements of the enterpriseelements of the enterprise

BehavioralBehavioral Define a course of action to be followed or process to be Define a course of action to be followed or process to be

executedexecuted Add detail to the process model (process architecture)Add detail to the process model (process architecture) Common features in workflow and information flow Common features in workflow and information flow

environmentsenvironments Define recognition of and response to business eventsDefine recognition of and response to business events

DefinitionalDefinitional Provide a (set of) value(s) that explain terminology and/or Provide a (set of) value(s) that explain terminology and/or

relationships associated with elements of the enterpriserelationships associated with elements of the enterprise

Page 40: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 4004/18/23

Information SourcesInformation Sources

DocumentationDocumentation Causal elements/agentsCausal elements/agents Explanatory/supportive materialsExplanatory/supportive materials History and relevancyHistory and relevancy

Tacit know-how Tacit know-how Intellectual propertyIntellectual property

Automation systemsAutomation systems Program source codeProgram source code

Business recordsBusiness records Due diligenceDue diligence

Page 41: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 4104/18/23

Indicators in the Discovery Indicators in the Discovery ProcessProcess Externally-defined Externally-defined

features and/or features and/or mandatesmandates

Systematic variations Systematic variations among organizational among organizational unitsunits

Entities with multiple Entities with multiple statesstates

SpecializationsSpecializations Subclasses Subclasses

Automated decision Automated decision makingmaking

Boundary definitionsBoundary definitions Time-centricityTime-centricity Quality standards and Quality standards and

specifications specifications ISO 9000ISO 9000

Significant Significant discriminatorsdiscriminators

Event-based activitiesEvent-based activities Definitions, derivations, Definitions, derivations,

and calculationsand calculations

Page 42: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 4204/18/23

State Transition TheoryState Transition Theory

Describes conditions and outcomesDescribes conditions and outcomes IdentifiesIdentifies

Prior statePrior state ActionAction Succeeding stateSucceeding state

State Transition Diagram documents flows State Transition Diagram documents flows across an environmentacross an environment EnterpriseEnterprise Information systemInformation system

Page 43: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 4304/18/23

State Transition DiagramState Transition Diagram

CurrentCurrentStateState

Next StateNext State(Alternative 3)(Alternative 3)

Next StateNext State(Alternative 2)(Alternative 2)

Nest StateNest State(Alternative 1)(Alternative 1)

Action 1Action 1

Action 3Action 3

Action 2Action 2

Page 44: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 4404/18/23

State TransitionsState Transitions

CurrentCurrentStateStatePrior State 2Prior State 2

Prior State 3Prior State 3

Prior State 1Prior State 1

ActiActionon

ActionAction

ActionAction

•Current state can be reachedCurrent state can be reached from multiple prior states from multiple prior states•Actions on prior states likelyActions on prior states likely to be dissimilar to be dissimilar•Transition from current stateTransition from current state to next state not usually to next state not usually dependent on arrival from dependent on arrival from prior state prior state

Page 45: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 4504/18/23

Decision TreesDecision Trees

Pictorial depiction of thought processingPictorial depiction of thought processing Network based on decisions and uncertainty Network based on decisions and uncertainty

analysisanalysis ProbabilisticProbabilistic Risk-associativeRisk-associative

Howard Raiffa, Howard Raiffa, Decision Analysis: Decision Analysis: Introductory Lectures on Choices under Introductory Lectures on Choices under UncertaintyUncertainty, 1970, Addison-Wesley, Library , 1970, Addison-Wesley, Library of Congress Catalog 68-31436of Congress Catalog 68-31436

Page 46: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 4604/18/23

Decision Tree SchematicDecision Tree Schematic

pp

pp

pp

Given this stateGiven this state

Any of these statesAny of these statesare possibleare possible

Probability of each state is pp

Following stateFollowing statedetermined bydetermined bypreceding eventspreceding eventsand decisionsand decisions

Page 47: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 4704/18/23

Finding RulesFinding Rules Organizing ApproachesOrganizing Approaches

Static analysisStatic analysis Interactive sessionsInteractive sessionsAutomated rule discoveryAutomated rule discovery

SourceSource Static AnalysisStatic Analysis Interactive Interactive SessionsSessions

Automated Automated DiscoveryDiscovery

DocumentationDocumentation HighHigh ModerateModerate UnreliableUnreliable

Tacit know-howTacit know-how Not ApplicableNot Applicable HighHigh Not ApplicableNot Applicable

Automation systemsAutomation systems LowLow ModerateModerate HighHigh

Business RecordsBusiness Records Depends on SourceDepends on Source LowLow Depends on SourceDepends on Source

Page 48: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 4804/18/23

Static AnalysisStatic Analysis Types of source documentsTypes of source documents

Internal Internal ExternalExternal

Analyzing documentsAnalyzing documents1.1. Get an electronic copyGet an electronic copy2.2. Develop a system and follow itDevelop a system and follow it3.3. Read carefully (usually between the lines)Read carefully (usually between the lines)4.4. Focus on early correctness; worry structure, traceability, Focus on early correctness; worry structure, traceability,

and cross-referencing later.and cross-referencing later.5.5. Align with current business model; identify conflicts and Align with current business model; identify conflicts and

disconnects; demand claritydisconnects; demand clarity6.6. Focus on stakeholder understanding; keep political Focus on stakeholder understanding; keep political

constraints in sightconstraints in sight7.7. Identify open issues; assign action itemsIdentify open issues; assign action items

Page 49: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 4904/18/23

Interactive SessionsInteractive Sessions Participatory session involving Participatory session involving bothboth technical and technical and

business practionersbusiness practioners Involves dialog and sharingInvolves dialog and sharing Two formsTwo forms

Structured interviewsStructured interviews Analysis workshopsAnalysis workshops

CharacteristicsCharacteristics

FeatureFeature

Session TypeSession Type

InterviewInterview WorkshopWorkshop

Typical number of participantsTypical number of participants 2 or 32 or 3 6 to 106 to 10

Typical DurationTypical Duration .5 <= .5 <= xx <= several hours <= several hours Several daysSeveral days

Area of business expertise Area of business expertise exploredexplored

SingleSingle MultipleMultiple

LogisticsLogistics SimpleSimple ComplexComplex

Typical venueTypical venue Personal officePersonal office Conference roomConference room

Page 50: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 5004/18/23

Interactive SessionsInteractive Sessions Structured Structured

InterviewsInterviews1.1. Research and Research and

understand understand intervieweeinterviewee

2.2. Observe usual Observe usual courtesiescourtesies

3.3. Keep careful notesKeep careful notes

4.4. Make recordsMake records

5.5. Provide feedbackProvide feedback

Analysis Analysis WorkshopsWorkshops

1.1. Define the goal and Define the goal and the approachthe approach

2.2. Prepare, prepare, Prepare, prepare, prepare!prepare!

3.3. Facilitate the Facilitate the workshop sessionworkshop session

4.4. Execute follow-up Execute follow-up actions and actions and requirementsrequirements

5.5. ReviewReview

Page 51: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 5104/18/23

Workshop Activity CycleWorkshop Activity Cycle

ReviewReview

Workshop Workshop PreparationPreparation

Define AnalysisDefine AnalysisTopic & ApproachTopic & Approach

Next Project StateNext Project State

WorkshopWorkshopSessionSession

ImmediateImmediateFollow-upFollow-upActivitiesActivities

ConsolidationConsolidation& Research& Research

Review Review Appropriate?Appropriate?

NoNo

YesYes

Page 52: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 5204/18/23

Automated DiscoveryAutomated Discovery

Data miningData mining Code analysisCode analysis

ManualManualAutomated Automated

Page 53: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 5304/18/23

Automated Code Analysis*Automated Code Analysis*

Texas Instruments, Texas Instruments, A Guide to Information Engineering Using the IEFA Guide to Information Engineering Using the IEF, 1988, TI Part Number 2739756-0001, 1988, TI Part Number 2739756-0001

INFORMATIONINFORMATIONENGINEERINGENGINEERING

FACILITYFACILITY(IEF)(IEF)

SOURCESOURCEPROGRAMSPROGRAMS

DATADATADEFINITIONSDEFINITIONS

DATA FLOWDATA FLOWDIAGRAMSDIAGRAMS

ENTITY ENTITY RELATIONSHIPRELATIONSHIP

DIAGRAMSDIAGRAMS

USE CASESUSE CASESDIAGRAMSDIAGRAMS

ASSOCIATEDASSOCIATEDDOCUMENTSDOCUMENTS

Page 54: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 5404/18/23

Automated Code Analysis*Automated Code Analysis*

Texas Instruments, Texas Instruments, A Guide to Information Engineering Using the IEFA Guide to Information Engineering Using the IEF, 1988, TI Part Number 2739756-0001, 1988, TI Part Number 2739756-0001

INFORMATIONINFORMATIONENGINEERINGENGINEERING

FACILITYFACILITY(IEF)(IEF)

SOURCESOURCEPROGRAMSPROGRAMS

DATADATADEFINITIONSDEFINITIONS

DATA FLOWDATA FLOWDIAGRAMSDIAGRAMS

ENTITY ENTITY RELATIONSHIPRELATIONSHIP

DIAGRAMSDIAGRAMS

USE CASESUSE CASESDIAGRAMSDIAGRAMS

ASSOCIATEDASSOCIATEDDOCUMENTSDOCUMENTS

Repository Repository

INFORMATIONINFORMATIONENGINEERINGENGINEERING

FACILITYFACILITY

(IEF)(IEF)

DATABASEDATABASESCHEMASCHEMA

PROGRAMPROGRAM‘‘SOURCESOURCE

CODECODE

EDITSEDITS

Page 55: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 5504/18/23

Rule QualityRule Quality

Page 56: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 5604/18/23

Rule QualityRule Quality MechanismsMechanisms

Workshop-style review sessionsWorkshop-style review sessions Group consideration Group consideration

Step-by-step analysis Step-by-step analysis Business scenario contextBusiness scenario context

ReviewsReviews More formalMore formal Examining a rule population in business domain contextExamining a rule population in business domain context

Walkthroughs/testingWalkthroughs/testing InspectionsInspections Metrics Metrics

Measurands for evaluating results and managing actionsMeasurands for evaluating results and managing actions

Page 57: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 5704/18/23

Assessment Activity PatternAssessment Activity Pattern

timetime

AnalysisAnalysis

WalkthroughWalkthrough

TestingTesting

InspectionInspection

Project Life Cycle PhasesProject Life Cycle Phases

Page 58: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 5804/18/23

Considerations - Reviewing RulesConsiderations - Reviewing Rules

AssessmentAssessment ContentContent RolesRoles Context Context ToneTone Outcomes Outcomes

Page 59: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 5904/18/23

Reviewing Rules - ContextReviewing Rules - Context

MalformationMalformation Nonconformance with local standardsNonconformance with local standards Nonconformance with preferred rule patterns, Nonconformance with preferred rule patterns,

including semantic structureincluding semantic structure

Incomplete statementIncomplete statement InconsistencyInconsistency AmbiguityAmbiguity Disconnect with supporting fact modelDisconnect with supporting fact model

Page 60: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 6004/18/23

Reviewing Rules - RolesReviewing Rules - Roles

RuleRuleStatements Statements

ContextContext

BusinessBusinessModel Model

Review Review Rules Rules

Review Review Rules Rules

ActionActionList List

ActionActionList List

RuleRuleRepository Repository

RuleRuleRepository Repository

Acti

on

s A

cti

on

s

SelectSelect

Sele

ct

Sele

ct

EvaluateEvaluate

ReviewersReviewers

AuthorsAuthors

GuideGuide

ModeratorModerator

ScribeScribeReviewReview

Page 61: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 6104/18/23

Reviewing Rules - ContextReviewing Rules - Context

Frame of reference groupingFrame of reference grouping Defines which rules are in scopeDefines which rules are in scope Identifies viewpoint of the reviewIdentifies viewpoint of the review

Page 62: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 6204/18/23

Reviewing Rules - ToneReviewing Rules - Tone

InformalInformal OpenOpen Value all opinions and inputsValue all opinions and inputs

Page 63: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 6304/18/23

Reviewing Rules - OutcomesReviewing Rules - Outcomes

Possible review statuses Possible review statuses AcceptanceAcceptance CorrectionCorrection Problems with supporting information, Problems with supporting information,

including fact modelincluding fact model Clarity of statementClarity of statement

AbsenceAbsence Needed rules not presentNeeded rules not present

Review documentationReview documentation Action item listAction item list

Page 64: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 6404/18/23

Considerations – WalkthroughsConsiderations – Walkthroughs

Planning and preparationPlanning and preparation Business objectivesBusiness objectives Standards and guidelinesStandards and guidelines Status of related elements (in the business model)Status of related elements (in the business model) Rule population boundaryRule population boundary Session conduct boundarySession conduct boundary

Conducting a walkthroughConducting a walkthrough Low-fidelity prototypeLow-fidelity prototype

Page 65: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 6504/18/23

Considerations – Inspections (1)Considerations – Inspections (1)

Planning and preparationPlanning and preparation Clear statement of session’s objective, scope, and agendaClear statement of session’s objective, scope, and agenda Publish rules repository, including definitionsPublish rules repository, including definitions

Identify rules to be reviewedIdentify rules to be reviewed Identify rules needed for amplificationIdentify rules needed for amplification Identify rules out of scopeIdentify rules out of scope

Identify source business descriptions and other business Identify source business descriptions and other business model elementsmodel elements

Class diagramsClass diagrams Sequence diagramsSequence diagrams State transition diagramsState transition diagrams Decision treesDecision trees

Vision, mission, and goals statements (of the enterprise)Vision, mission, and goals statements (of the enterprise) Prior resultsPrior results

Page 66: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 6604/18/23

Considerations – Inspections (2)Considerations – Inspections (2)

Managing an inspectionManaging an inspectionFocus Focus business function business functionFocus Focus organizational units organizational unitsFocus Focus business objects business objectsFocus Focus geographical locations geographical locationsFocus Focus business perspective business perspectiveFocus Focus market offerings market offeringsFocus Focus business partners business partners

Page 67: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 6704/18/23

Considerations – Inspections (3)Considerations – Inspections (3) Analyzing/assessment toolAnalyzing/assessment tool

Rule Rule

StatementStatement

Focus AreaFocus Area

Business Business FunctionFunction

Business Business UnitsUnits

Business Business ObjectsObjects

Business Business LocationsLocations

Business Business ViewView

Market Market OfferingsOfferings

Business Business PartnersPartners

Identify

Identify where

where

the rule applies

the rule applies Iden

tify

Iden

tify

howhow

the

rule

the

rule

appl

ies

appl

ies

Page 68: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 6804/18/23

Considerations – Testing (1)Considerations – Testing (1)

RuleRuleCode Code

RuleRuleCode Code

TestTestCases Cases

TestTestCases Cases

ErrorErrorReport Report

ErrorErrorReport Report

RuleRuleStatementsStatements

RuleRuleStatementsStatements

AuthorsAuthors

Developer Developer

Tester Tester

TestTestTool Tool

Discussion Discussion

Define/redefineDefine/redefine

InterpretInterpret

Compare Compare

Create Create

Load Load

Input Input

Actual Results Actual Results

ExpectedExpectedResults Results

Test HarnessTest Harness

Page 69: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 6904/18/23

Considerations – Testing (2)Considerations – Testing (2) ImplementationImplementation

Spreadsheet/tableSpreadsheet/table Record of test caseRecord of test case

Input valuesInput values Expected resultsExpected results

Documentation of resultsDocumentation of results Intermediate valuesIntermediate values Actual resultsActual results

Custom programCustom program Automated logic accessed via a simple HCI/GUIAutomated logic accessed via a simple HCI/GUI Tests the implementationTests the implementation

Rules engineRules engine External values accepted at run timeExternal values accepted at run time

Page 70: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 7004/18/23

Considerations – Testing (3)Considerations – Testing (3)

Dependency relationshipsDependency relationshipsWhat comes firstWhat comes firstDecision treesDecision trees

What comes next . . .What comes next . . .. . . depending on what else. . . depending on what else

AA

BBEE

CC

DD

FF

GG HH

Page 71: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 7104/18/23

Considerations – Testing (4)Considerations – Testing (4) Setting upSetting up

DataData Test casesTest cases

Processes to be testedProcesses to be tested Expected resultsExpected results

Evaluating resultsEvaluating results Nominal [actual = expected] resultsNominal [actual = expected] results ErrorsErrors

Business logic statementBusiness logic statement Realization of rulesRealization of rules Predicting test resultsPredicting test results

ResponseResponse Make changes at the sourceMake changes at the source Assess the unexpectedAssess the unexpected Keep records; capture metrics; save tests and resultsKeep records; capture metrics; save tests and results

Page 72: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 7204/18/23

MetricsMetrics Measurements used to evaluate and manageMeasurements used to evaluate and manage

Development/testing statusDevelopment/testing status Risk exposureRisk exposure Estimating productivityEstimating productivity Assessing ROIAssessing ROI

GuidelinesGuidelines Understand the cost of failureUnderstand the cost of failure

Adopt the adage “Failure is not an option!”Adopt the adage “Failure is not an option!” Consider physical costsConsider physical costs

Establish a quality baselineEstablish a quality baseline Establish a quality policyEstablish a quality policy Know where you areKnow where you are

Page 73: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 7304/18/23

Quality PoliciesQuality Policies Problem rate Problem rate high high

Rectify underlying problem before going onRectify underlying problem before going on Verify understanding of problem domainVerify understanding of problem domain Further clarify project scopeFurther clarify project scope Improve skill baseImprove skill base

Problem rate Problem rate medium medium Little in common as Little in common as f f (context, type)(context, type) Continue testingContinue testing

Problem rate Problem rate low low Adequate quality controls have been appliedAdequate quality controls have been applied Problem identification rate Problem identification rate zero zero Continue monitoring and assessmentContinue monitoring and assessment

Page 74: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 7404/18/23

Minimum MetricsMinimum MetricsMetricMetric Total AnticipatedTotal Anticipated Total to DateTotal to Date

Rules definedRules defined

Individual rules checkedIndividual rules checked

Rules covered by reviewRules covered by review

Problems identified via reviewProblems identified via review

Staff hours expended (in reviews)Staff hours expended (in reviews)

Rule sets definedRule sets defined

Rule sets testedRule sets tested

Problems identified (via testing)Problems identified (via testing)

Staff hours expended (in testing)Staff hours expended (in testing)

Page 75: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 7504/18/23

Quality Quality ControlsControlsFeatureFeature ReviewsReviews TestingTesting

WalkthroughsWalkthroughs Inspection Inspection

What is examined?What is examined? Rule population; may Rule population; may be incompletebe incomplete

Complete rule Complete rule populationpopulation

Rule setRule set

When used?When used? As often as practicalAs often as practical Near end of project Near end of project phasephase

Complex rule setComplex rule set

What checked?What checked? Rule clarityRule clarity

Business relevanceBusiness relevance

Rule clarityRule clarity

Business relevanceBusiness relevance

Rule consistencyRule consistency

Logic of rule setLogic of rule set

Focus defined byFocus defined by Selected business Selected business scenariosscenarios

Business scope if Business scope if rule populationrule population

Facts constrained by Facts constrained by rule setrule set

PurposePurpose Work through rules; Work through rules; raise actionsraise actions

Work through Work through prepared comments; prepared comments; raise actionsraise actions

Work through test Work through test results; raise actionsresults; raise actions

Results on fileResults on file Observations and Observations and actions; monitoredactions; monitored

Observations and Observations and actions; monitoredactions; monitored

Test harness, data, Test harness, data, results, actions results, actions managedmanaged

Page 76: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 7604/18/23

Realizing Business RulesRealizing Business Rules

Page 77: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 7704/18/23

Realizing Business RulesRealizing Business Rules

Considerations for implementationConsiderations for implementation Distributing rulesDistributing rules Realization and recognitionRealization and recognition Rule enginesRule engines WorkflowWorkflow Look-up techniquesLook-up techniques System rulesSystem rules

Page 78: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 7804/18/23

Considerations for ImplementationConsiderations for Implementation

ReferencingReferencing How rules are related How rules are related

Logic withinLogic within Logic acrossLogic across

How rules are applied/implementedHow rules are applied/implemented PreservationPreservation

Retention of intentRetention of intent Retention of logicRetention of logic

Technology neutralityTechnology neutrality Tool specificityTool specificity Supplementary and complementary technologiesSupplementary and complementary technologies Technology directionTechnology direction

Sensitivity to “natural placement”Sensitivity to “natural placement” Alternatives considerationsAlternatives considerations

AdvantagesAdvantages Disadvantages Disadvantages

WHERE should rules be placed?

HOW should rules be constructed?

Page 79: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 7904/18/23

Distributing RulesDistributing Rules

Placement in evolved environmentPlacement in evolved environment From a single mainframe computerFrom a single mainframe computer To a few mid-sized (mid-range) computers narrowly distributeTo a few mid-sized (mid-range) computers narrowly distribute To many processors widely distributedTo many processors widely distributed

Expert system shellsExpert system shells 1980’s technology environment1980’s technology environment Single, complete environment for building and implementing rule-Single, complete environment for building and implementing rule-

base systemsbase systems Rules engineRules engine

Physical implementationPhysical implementation Logical implementationLogical implementation

Page 80: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 8004/18/23

Realization and Recognition (of Rules)Realization and Recognition (of Rules)

Essential considerationsEssential considerations Program statementsProgram statements

Compiler languagesCompiler languages Integrated languagesIntegrated languages

ScriptsScripts Rules enginesRules engines Database mechanismsDatabase mechanisms

Page 81: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 8104/18/23

Rules and Recognition - Rules and Recognition - Essential ConsiderationsEssential Considerations

Strategy viabilityStrategy viability Short term?Short term? Long term?Long term?

Runtime performanceRuntime performance Scalability Scalability

Degree of rule enforcementDegree of rule enforcement FlexibilityFlexibility

Responsiveness to natural change and evolutionResponsiveness to natural change and evolution Sustainability Sustainability

Page 82: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 8204/18/23

Rule ComponentsRule Components System element dedicated to implementing one or more rule setsSystem element dedicated to implementing one or more rule sets ““Halfway House” between in-line code and standalone rules engineHalfway House” between in-line code and standalone rules engine Focused rule setFocused rule set

Satisfies limited set of objectivesSatisfies limited set of objectives AdvantagesAdvantages

Internal processing problem specific Internal processing problem specific improved performance improved performance Leverage existing investmentsLeverage existing investments

Avoid identifying and committing to a specific rule engine productAvoid identifying and committing to a specific rule engine product

DisadvantagesDisadvantages Interactions managed via (encapsulated or abstracted) interfaceInteractions managed via (encapsulated or abstracted) interface

Danger of losing flexibilityDanger of losing flexibility May increase application development costsMay increase application development costs May increase application development complexityMay increase application development complexity

Page 83: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 8304/18/23

Rule ComponentsRule Components

Rules ??•Develop a diagram that explains Develop a diagram that explains how a set of rules will be how a set of rules will be implemented into a Rule implemented into a Rule ComponentComponent

•Develop a diagram that Develop a diagram that describes how that Rule describes how that Rule Component will be employed by Component will be employed by an applicationan application

Page 84: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 8404/18/23

Rule EnginesRule Engines

Rule engines – what are they?Rule engines – what are they? Rule expressionRule expression Inference mechanismsInference mechanisms Rule engine developmentRule engine development Typical rule engines (examples)Typical rule engines (examples) Middleware Middleware

Page 85: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 8504/18/23

Rule Engines – What Are They?Rule Engines – What Are They? DefinitionDefinition

Specialized component designed to handle rulesSpecialized component designed to handle rules Acronym – logic serverAcronym – logic server Provides a Provides a genericgeneric set of capabilities set of capabilities

Defining rulesDefining rules Storing rulesStoring rules Applying rulesApplying rules

Does notDoes not solve a specific functional problem solve a specific functional problem Features/characteristicsFeatures/characteristics

Resilience – increase system availabilityResilience – increase system availability Data caching – reduce system response timesData caching – reduce system response times Enhanced security featuresEnhanced security features Improved application scalability features (e.g., resource pooling)Improved application scalability features (e.g., resource pooling) Ready-to-use connectivity to data sourcesReady-to-use connectivity to data sources Transaction management features, including record lockingTransaction management features, including record locking

Page 86: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 8604/18/23

Rule Engine ExpressionRule Engine Expression Source rulesSource rules

Defined in protected space using rule-definition Defined in protected space using rule-definition languagelanguage

Processed into internal representation formatProcessed into internal representation format Compiled or interpretedCompiled or interpreted Stored in a private data structureStored in a private data structure

Available for use by an inference mechanism at Available for use by an inference mechanism at runtime runtime

Control mechanismControl mechanism Mediates between outside world and internal activityMediates between outside world and internal activity Determines what rules are applied in which orderDetermines what rules are applied in which order

Page 87: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 8704/18/23

Elements of a Rule EngineElements of a Rule Engine

SourceRules

Compiler

CompiledRules

ControlMechanism

InterfaceMechanism

WorkingMemory

Interfaces Other

Processes

Page 88: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 8804/18/23

Exercise: Utilizing a Rules Exercise: Utilizing a Rules EngineEngine Given the preceding chart, explain Given the preceding chart, explain howhow

a rules engine (that has been a rules engine (that has been implemented as a compiled program) implemented as a compiled program) would be utilizedwould be utilized

Develop a process flow diagram that Develop a process flow diagram that explains the utilization of the rules explains the utilization of the rules engineengine

Page 89: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 8904/18/23

Inference MechanismsInference Mechanisms

Ability to use rules in combinationsAbility to use rules in combinationsAlternative processing caused by rule-Alternative processing caused by rule-

based decisionsbased decisionsDecision Tree considerationsDecision Tree considerations

Inference typesInference typesData-drivenData-drivenGoal-drivenGoal-driven

Page 90: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 9004/18/23

Exercise: Inference MechanismsExercise: Inference Mechanisms

Recall the earlier discussions that described the Recall the earlier discussions that described the delinquent debt collection process. Within that delinquent debt collection process. Within that process,process,

a)a) Develop a set of rules for assessing late charge feesDevelop a set of rules for assessing late charge fees

b)b) Develop a set of rules for calculating interest penaltiesDevelop a set of rules for calculating interest penalties

c)c) Develop the decision tree that describes the inference Develop the decision tree that describes the inference mechanism/mechanismsmechanism/mechanisms

d)d) Illustrate how your rule set will be utilized by the application Illustrate how your rule set will be utilized by the application program responsible for contacting the debtorprogram responsible for contacting the debtor

You may assume that all debts delinquent more than You may assume that all debts delinquent more than 90 days are sent to a collection agency for goods 90 days are sent to a collection agency for goods repossession.repossession.

Page 91: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 9104/18/23

Rules Engine DeploymentRules Engine Deployment Single serverSingle server

Single point of failureSingle point of failure Bottleneck potentialBottleneck potential

Scalability suspectScalability suspect Performance inhibitorPerformance inhibitor

Significant cross platform trafficSignificant cross platform traffic Performance degradationPerformance degradation

Multiple serversMultiple servers Automatic load balancingAutomatic load balancing Redirection in the event of failureRedirection in the event of failure Caching of values to reduce (minimize?) latencyCaching of values to reduce (minimize?) latency

Library functionsLibrary functions

Page 92: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 9204/18/23

Rules Engines versus Expert SystemsRules Engines versus Expert Systems

Rule enginesRule engines Support large Support large

numbers of relatively numbers of relatively simple problemssimple problems

Operate continuouslyOperate continuously No clearly defined end No clearly defined end

pointpoint Represent shallow and Represent shallow and

wide knowledge of wide knowledge of many peoplemany people

Expert systemsExpert systems Directed at solving a Directed at solving a

single problemsingle problem Have a defined Have a defined

conclusion or end conclusion or end pointpoint

Represent narrow Represent narrow and deep specialist and deep specialist knowledgeknowledge

Page 93: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 9304/18/23

Rules Engines: Pro and ConRules Engines: Pro and Con

ProPro Complex technical Complex technical

mechanisms are mechanisms are providedprovided

Centralized repositoryCentralized repository Encourages adoption of Encourages adoption of

standardsstandards Imposed style for Imposed style for

expressing business expressing business logic at a technical levellogic at a technical level

Some additional Some additional functionality availablefunctionality available

ConCon Significant financial Significant financial

investment necessaryinvestment necessary Vendor dependencyVendor dependency Single location for Single location for

business rulesbusiness rules Middle tierMiddle tier Data services tierData services tier

Degree of difficulty to Degree of difficulty to link rules engine and link rules engine and business analysis resultsbusiness analysis results

Page 94: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 9404/18/23

Exercise: Rules Engines Exercise: Rules Engines Pro/ConPro/Con Prepare an argument and develop Prepare an argument and develop

materials to support the assigned materials to support the assigned position (pro or con) on rules engines. position (pro or con) on rules engines. Use this preparation to engage in a Use this preparation to engage in a debate on this topic.debate on this topic.

Teams will be assigned in class by Teams will be assigned in class by Professor GreenProfessor Green

Page 95: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 9504/18/23

System RulesSystem Rules Concerned with operation of technical Concerned with operation of technical

artifactsartifacts Similar to business rulesSimilar to business rules Key differencesKey differences

Technology based; may require specialized Technology based; may require specialized templatestemplates

Rules developed by technologistsRules developed by technologists Part of the technology rather than separate from itPart of the technology rather than separate from it Nature of problem may constrain implementation Nature of problem may constrain implementation

technology alternativestechnology alternatives

Page 96: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 9604/18/23

Establishing and Stating Establishing and Stating Requirements for Requirements for

Information Technology Information Technology ProjectsProjects

Page 97: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 9704/18/23

What Are Requirements?What Are Requirements?

Establish the capabilities and/or facilities that must Establish the capabilities and/or facilities that must be included in a solution space in order to meet the be included in a solution space in order to meet the needs of the user and solve the user’s problemneeds of the user and solve the user’s problem

Two kinds of requirementsTwo kinds of requirements FunctionalFunctional – the set of technology independent capabilities – the set of technology independent capabilities

that must be included in order to provide a solutionthat must be included in order to provide a solution TechnicalTechnical – the set of computer-related functions and – the set of computer-related functions and

capabilities that must be provided in order to implement the capabilities that must be provided in order to implement the solution required by the functional requirementssolution required by the functional requirements

Page 98: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 9804/18/23

Evolution of RequirementsEvolution of Requirements Requirements are derived from the user’s Requirements are derived from the user’s

problem statementproblem statement Many iterations involving review and detailingMany iterations involving review and detailing

Decomposition to an atomic levelDecomposition to an atomic level Each requirement stipulates one single thingEach requirement stipulates one single thing

Separation of functional requirements from Separation of functional requirements from technical requirementstechnical requirements

Connected and inter-relatedConnected and inter-related Different familiesDifferent families

Differentiate between “have to have” and “like to Differentiate between “have to have” and “like to havehave

The issue of affordabilityThe issue of affordability

Much like the plantMuch like the plantand animal kingdomsand animal kingdoms

Page 99: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 9904/18/23

Components of RequirementsComponents of Requirements Problem statement – one or two sentences in user Problem statement – one or two sentences in user

terminology that outlines the user’s problemterminology that outlines the user’s problem NOT technical problems – from a user’s perspective, these NOT technical problems – from a user’s perspective, these

are CAUSESare CAUSES

Solution statement – one or two sentences in user Solution statement – one or two sentences in user terminology that describes the new (set of) processes terminology that describes the new (set of) processes that will be implemented to provide a solution to the that will be implemented to provide a solution to the user’s problemuser’s problem NOT technical items – these are things that are used to help NOT technical items – these are things that are used to help

implement the solutionimplement the solution

Functional requirementsFunctional requirements Technical requirementsTechnical requirements

Page 100: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 10004/18/23

Language of Requirements (1)Language of Requirements (1)

Some requirements are mandatory and have to be Some requirements are mandatory and have to be satisfied if the solution is to be complete. These are satisfied if the solution is to be complete. These are indicated by the verbsindicated by the verbs SHALLSHALL MUSTMUST

Some requirements are desirable and are to be Some requirements are desirable and are to be implemented based on the user’s affordability. These implemented based on the user’s affordability. These are indicated by the verbsare indicated by the verbs CANCAN WILLWILL MAYMAY SHOULDSHOULD

Page 101: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 10104/18/23

Language of Requirements (2)Language of Requirements (2) Requirements are to be numbered to provide for Requirements are to be numbered to provide for

traceability during decomposition and derivationtraceability during decomposition and derivation Format: 1.1.1.1.1 etc. allows for upward and downward Format: 1.1.1.1.1 etc. allows for upward and downward

tracing (establishes requirement relationshipstracing (establishes requirement relationships Requirements shall be expressed in a single Requirements shall be expressed in a single

sentence. sentence. Explanatory text is permitted when further description Explanatory text is permitted when further description

is needed.is needed. When multiple items are addressed, use a bulleted list When multiple items are addressed, use a bulleted list

format preceded by an introductory phrase such asformat preceded by an introductory phrase such as ““at a minimum”at a minimum” ““including but not limited to”including but not limited to”

Do not use phrases such as “at least”Do not use phrases such as “at least”

Page 102: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 10204/18/23

Language of Requirements (3)Language of Requirements (3)

Keep the language simple yet exactKeep the language simple yet exact Clarity and detail are criticalClarity and detail are critical

Requirements shall be boundedRequirements shall be bounded Ensure that all upper and lower limits are established definedEnsure that all upper and lower limits are established defined Ensure that quantitative requirements are specifiedEnsure that quantitative requirements are specified

Use terminology to indicate that further analysis is Use terminology to indicate that further analysis is neededneeded (TBD) – indicates an open item that is “to be determined”(TBD) – indicates an open item that is “to be determined” (TBR) – is associated with a value that is not final and is “to (TBR) – is associated with a value that is not final and is “to

be resolved”be resolved” (TBA) – indicates an open item that is “to be assigned”(TBA) – indicates an open item that is “to be assigned” (TBS) – indicates an open item that is “to be supplied”(TBS) – indicates an open item that is “to be supplied”

Page 103: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 10304/18/23

Atomic Nature of RequirementsAtomic Nature of Requirements Requirements must address one single needRequirements must address one single need

Functional or UserFunctional or User TechnicalTechnical

Atomic requirements evolve from complex Atomic requirements evolve from complex requirementsrequirements Process know as “derivation”Process know as “derivation”

Analyze a stated requirementsAnalyze a stated requirements Does it have multiple elementsDoes it have multiple elements

Separate into new, subordinate requirementsSeparate into new, subordinate requirements Determine if mandatory or desirableDetermine if mandatory or desirable Establish the statement of the requirementEstablish the statement of the requirement

Iterative process that happens many times in Iterative process that happens many times in complex systemscomplex systems

Page 104: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 10404/18/23

Example (1 of 5)Example (1 of 5)

Problem StatementProblem StatementOur company is not attracting the right Our company is not attracting the right

candidates for employment opportunities. candidates for employment opportunities. Further, our employee attrition is Further, our employee attrition is significant because our employees are significant because our employees are unaware of promotional opportunities. In unaware of promotional opportunities. In short, we, as a corporation, are short, we, as a corporation, are communicating badly.communicating badly.

Page 105: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 10504/18/23

Example (2 of 5)Example (2 of 5)

Solution StatementSolution Statement In order to reach the audience we seek, we In order to reach the audience we seek, we

have to communicate more effectively. To have to communicate more effectively. To do this, we must move from advertising do this, we must move from advertising using only traditional means to using more using only traditional means to using more modern means, including electronic modern means, including electronic media.media.

Page 106: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 10604/18/23

Example (3 of 5)Example (3 of 5)

The new system shall provide for a means to The new system shall provide for a means to advertise jobs in all available media, including at a advertise jobs in all available media, including at a minimum:minimum: NewspapersNewspapers RadioRadio TelevisionTelevision Internet sitesInternet sites

The new system shall contain all pertinent The new system shall contain all pertinent information about open positionsinformation about open positions

Open positions shall remain advertised until the Open positions shall remain advertised until the position is filled.position is filled.

Page 107: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 10704/18/23

Example (4 of 5)Example (4 of 5) The new system shall contain all pertinent information about open The new system shall contain all pertinent information about open

positionspositions The new system shall differentiate between internal and external The new system shall differentiate between internal and external

advertisementsadvertisements External advertisements shall identify the title of an open External advertisements shall identify the title of an open

position.position. External advertisements shall identify the location of an open External advertisements shall identify the location of an open

position.position. External advertisements shall indicate the salary range of an External advertisements shall indicate the salary range of an

open positionopen position Internal advertisements shall contain the following information Internal advertisements shall contain the following information

in addition to that required for external advertisementsin addition to that required for external advertisements Labor gradeLabor grade Work hoursWork hours Supervisor’s nameSupervisor’s name

Page 108: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 10804/18/23

Example (5 of 5)Example (5 of 5)

The new system shall be implemented The new system shall be implemented using web technologyusing web technology

Open positions shall be created using a Open positions shall be created using a web interface.web interface.

Open positions shall be stored in a Open positions shall be stored in a databasedatabase

Page 109: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 10904/18/23

Testability of RequirementsTestability of Requirements Requirements must be testableRequirements must be testable

Ask “How will I know that I have satisfied this Ask “How will I know that I have satisfied this requirement?”requirement?”

Means and methodsMeans and methods TestTest AnalysisAnalysis InspectionInspection DocumentationDocumentation

Make sure you know how the requirement will Make sure you know how the requirement will be tested and understand how you will test it be tested and understand how you will test it if askedif asked

Page 110: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 11004/18/23

Technical Categorization of Technical Categorization of RequirementsRequirements SoftwareSoftware HardwareHardware DatabaseDatabase OperationsOperations DocumentationDocumentation

All functional requirements are All functional requirements are mapped to these categoriesmapped to these categories

Page 111: Business Rules and Requirements © Ed Green Penn State University All Rights Reserved

Business Rules and Requirements 11104/18/23

Technical Categorization of Technical Categorization of RequirementsRequirements

Categories of RequirementsCategories of RequirementsR

eq

uir

em

en

tsR

eq

uir

em

en

ts •SatisfySatisfy•Partially satisfyPartially satisfy•InfluenceInfluence•Does not satisfyDoes not satisfy

Now, detail your technical specificationsNow, detail your technical specifications