business rules and requirements © ed green penn state university all rights reserved
Post on 18-Dec-2015
214 views
TRANSCRIPT
Business Rules Business Rules and Requirementsand 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
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
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
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.
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
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
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
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
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.
Business Rules and Requirements 1104/18/23
Defining Business RulesDefining Business Rules
Business Rules and Requirements 1204/18/23
Defining Business RulesDefining Business Rules
Rule statementsRule statements Forming rule statementsForming rule statements Construction rulesConstruction rules
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
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
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.
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?
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
Business Rules and Requirements 1804/18/23
Low-technology Rule Low-technology Rule DefinitionDefinition
FactModel
RuleText
AnalystAnalyst RuleStructure
DesignerDesigner DeveloperDeveloper
Business SignoffBusiness Signoff
ImplementationImplementation
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
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
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
Business Rules and Requirements 2204/18/23
Forming Rule StatementsForming Rule Statements
OverviewOverview Pattern conventionsPattern conventions Rule patternsRule patterns
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
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.
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
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
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
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
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
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
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
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
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
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
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
Business Rules and Requirements 3604/18/23
Discovering Business RulesDiscovering Business Rules
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Business Rules and Requirements 5204/18/23
Automated DiscoveryAutomated Discovery
Data miningData mining Code analysisCode analysis
ManualManualAutomated Automated
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
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
Business Rules and Requirements 5504/18/23
Rule QualityRule Quality
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
Business Rules and Requirements 5704/18/23
Assessment Activity PatternAssessment Activity Pattern
timetime
AnalysisAnalysis
WalkthroughWalkthrough
TestingTesting
InspectionInspection
Project Life Cycle PhasesProject Life Cycle Phases
Business Rules and Requirements 5804/18/23
Considerations - Reviewing RulesConsiderations - Reviewing Rules
AssessmentAssessment ContentContent RolesRoles Context Context ToneTone Outcomes Outcomes
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
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
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
Business Rules and Requirements 6204/18/23
Reviewing Rules - ToneReviewing Rules - Tone
InformalInformal OpenOpen Value all opinions and inputsValue all opinions and inputs
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
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
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
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
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
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
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
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
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
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
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
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)
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
Business Rules and Requirements 7604/18/23
Realizing Business RulesRealizing Business Rules
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
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?
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
Business Rules and Requirements 9604/18/23
Establishing and Stating Establishing and Stating Requirements for Requirements for
Information Technology Information Technology ProjectsProjects
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
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
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
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
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”
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”
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
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.
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.
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.
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
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
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
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
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