190 likes | 324 Views
Maintaining Business Rules. With Function Hierarchy Diagrammer. Overview. Business rules: Restrictions that apply to the data set and changes in it or Specific automatic actions that must take place after some change in the set of data. Business Rules in the Repository.
E N D
Maintaining Business Rules With Function Hierarchy Diagrammer
Overview Business rules: • Restrictionsthat apply to the data set and changes in it or • Specific automatic actionsthat must take place after some change in the set of data
Business Rules in the Repository • Not a single Repository object • Part of the data model • Uniqueness constraint • Mandatory relationship • Part of the descriptive text of functions • Price Paid may not exceed default price.
Declaring Business Rules as Relational Constraints • Uniqueness constraint • Referential constraint • Integrity constraint • Non-transferability constraint • Exclusivity constraint (arc)
Business Rules That Cannot Be Expressed as Relational Constraints • Members may not rent more than two ‘hot’ MOVIES at the same time. • Terminated MEMBERSHIPS cannot take out new RENTALS. • MEMBERSHIPS cannot be terminated when they have open RENTALS.
Documenting More Complex Business Rules • Pure text • Related to specific entities or business functions • Coding during build
Business Rule as Business Function • Separate business rule hierarchy • Can be associated with entities • Can be associated with other business functions
BusinessRules Static Data Data Operation Change Event Authorization Business Rule Classification
...Duration of Movie must be positive... ... Date Lost of Copy must be after Acquire Date... Attribute Multiple Attr …no more than 250 Bookings... Entity …cannot rent more than two hot Movies simultaneously... Multiple Entity Static Data Rule Examples BusinessRules Static Data Attribute Multiple Attr Entity Multiple Entity
...no new Rentals allowed for terminated Memberships... Create …Memberships can not be terminated when there are still open Rentals... Update Delete ...Price History may not be deleted when Effective Date is in the past... Data Operation Rule Examples Data Operation Create Update Delete Change Event Authorization
...when Rental Items are overdue a reminder must be printed and mailed... ChangeEvent Authorization ...only managers may terminate Memberships with reason ‘Expelled’... Change Event Rule and Authorization Rule Examples Change Event Authorization
Using the Business Rule Hierarchy + - Update Rules Delete Rules + - Other Delete Rules Relationship Delete Delete of Membership only permitted a year after termination Price History may not be deleted when Effective Date is past
Creating the Rules Use FHD or RON
Implementing Rules • At analysis level, by setting constraints: Ranges, Allowable Values, FKs • At DB design level, check constraints. • At App design level, code modules or packages.
Auditing Rules • Single place to start checking • Add notes to rules and objects where implemented. • Use existing or new reports to check.
Summary • Capturing business rules is an important analysis task. • Business rules are modeled: • Within the entity relationship model • Descriptive texts • Functions in the Business Rule hierarchy