Upload
faith-willburn
View
215
Download
2
Tags:
Embed Size (px)
Citation preview
Data Modeling for the BA
February 12th, 2014
Data Modeling for the BA
February 12th, 2014
Presented by Steve Strohl
About SteveAbout Steve
22
Steve Strohl is a Senior Business Intelligence Architect with over 25 years of IT database experience and 15 years of BI experience. He has been with ICC for the past 5 years. He started his career at Battelle where he worked on defense systems overseas, manufacturing systems and environmental systems. He worked as a lead architect on the Exxon Oil Spill damage assessment database and subsequently lived in Alaska for the next 7 years. Steve worked for an environmental firm where he was able to marry his IT skills with actual field work in Prince William Sound
“Alaska is where I learned how to ask the question Why instead of just What”. Steve’s work as an adjunct professor at the University of Anchorage also taught him the importance of having a complete view of a problem in order to design an appropriate solution.Steve returned to Ohio where he began his consulting work in the Business Intelligence field specifically in the Information Delivery field where he designed numerous solutions using Business Objects, Microsoft Analysis Services, Cognos and Microstrategy. His work in the information delivery field led him very quickly to realize that data quality was a major problem in virtually all of the systems he had experienced. This knowledge has resulted in his move towards data governance, master data management and the key role that solid business analysis plays in a robust IT solution.He is currently consulting with Nationwide as the NF program architect for a large master data management initiative and is the Master Data Management Practice Lead @ ICC.
3333
It’s a B.A. “Thing” …It’s a B.A. “Thing” …
What does the business want ?
How can I represent or relate those needs effectively to my developers ?
Have I captured “all” of the business requirements (even those they don’t know about) ?
It’s the Question that Drives Us …
Did I take the trash out this morning ?
Have I found all of the hidden complexities ?
IntroductionIntroduction
44
• Establish a business modeling methodology• Interface more effectively with developers and tester• Create deliverables to use throughout the life cycle of the
project
The Goal
• Start with a Business Problem• Derive the Business Requirements• Derive the Business Rules• Generate a model that supports the business reqts and
rules
The Steps
• Common language• Better interaction and communication with developers• Better interaction and communication with testers• Better understanding and control over the project
The Outcome
A Simple Business ProblemA Simple Business Problem
55
The ClientDiversified Underwater Demolition Experts
• Very profitable privately owned company • Dutch Langston is the owner of the company• Getting a lot more orders and is outgrowing his original tracking system• Thinks that spreadsheets are the answer to everything
The ProblemSystem to track order entry and shipping
• Duplicate customer entry• Inconsistent representation of data• Huge problem with returned mail• Has tough time knowing what customers ordered in the past
Interview SummaryAfter interviews you have discovered that the client requirements are …
• to track customer orders more efficiently• to track where orders are shipped• to track mailing address of customer• to clean up as many data quality issues as possible.
Original Tracking System (Go Figure)Original Tracking System (Go Figure)
66
What are the problems with this solution ?
The Two Major IssuesThe Two Major Issues
77
1.Difficult to trace solution back to the business requirements
2. Impossible to establish and enforce business rules to support those requirements
BA’s DilemaBA’s Dilema
88
How do I …
Work with Dutch to discover the true business requirements
Derive the business rules that satisfy the business requirements
Vet my business requirements and business rules with the SME’s
Work with the developers to develop the right solution the first time
Work with the testers to accurately test the solution
Provide one set of documentation that can be used by all parties
99
CustomerAddress Order
Person Organization
Product
In the end …it’s all about ???In the end …it’s all about ???
The Modeling MethodologyThe Modeling Methodology
1010
Very High Level Model (VHDM)(Scope)
High Level (Conceptual) Model (HDM)(Business Need)
Logical Model (LDM)Business Solution
Physical Data Model (PDM)Technical Solution
Business AnalystStakeholders
Business AnalystSubject Matter Experts
Business AnalystArchitect
ArchitectDeveloper
The Modeling MethodologyThe Modeling Methodology
11111111
Very High Level Model (VHDM)(Scope)
High Level (Conceptual) Model (HDM)(Business Need)
Logical Model (LDM)(Business Solution)
Physical Data Model (PDM)(Technical Solution)
Business AnalystStakeholders
Business AnalystSubject Matter Experts
Business AnalystArchitect
ArchitectDeveloper
Very High Level Model – Tool BoxVery High Level Model – Tool Box
1212
Identify Subjects and Links Symbols
Subject Area or Business Area Highest Level View of Business Area or Subject Area Contains Title and Definition of Business or Subject area Can be any shape
Connection Line (optional) Highest Level View of connections or relationships Arrows indicate flow to and/or from subject area Dotted line indicates a “soft” relationship Relationships definitions can be defined in a table
(optional)
Title
Description
Very High Level Model – How it WorksVery High Level Model – How it Works
1313
Identify “Subject” or “Business” Area and “Link (optional)” Symbols
Sales and Service Marketing
HR Facilities
R&D
Engineering
Department responsible for all aspects of the sales and service process
Department responsible for marketing material and marketing campaigns
Department responsible for all research and development of new products
Department responsible for all internal employee and benefits matters
Department responsible for all keeping the lights on
Department responsible for all design and development of new products
Very High Level Model – Our ContextVery High Level Model – Our Context
1414
Can be used to describe the “scope” of your project.
Customer
A person or organization who purchases products from our company
Product
A sellable product that is manufactured by our company for sale
Address
A mailing or shipping address for our customers
Order
A contract to purchase one or more of our products.
Very High Level Model – How It’s UsefulVery High Level Model – How It’s Useful
1515
How is this useful to me as a Business Analyst ?
Quick glance at the big picture of the project
Good reference for high level discussions with stakeholders
Feeds the high level (Conceptual) model
Feeds the business glossary
Focuses the scope of the project
The Modeling MethodologyThe Modeling Methodology
16161616
Very High Level Model (VHDM)(Scope)
High Level (Conceptual) Model (HDM)(Business Need)
Logical Model (LDM)(Business Solution)
Physical Data Model (PDM)(Technical Solution)
Business AnalystStakeholders
Business AnalystSubject Matter Experts
Business AnalystArchitect
ArchitectDeveloper
High Level (Conceptual) Model – Tool BoxHigh Level (Conceptual) Model – Tool Box
1717
Verb
Entity Abstract object (Noun) that describes a unique business meaning Contains Title and Definition (optional) of that meaning Can be any shape, but a box is standard.
Cardinality Indicators An indicator of the number of “instances” the relationship has3 Types of cardinality
- 0: Indicated by a line with a circle- 1: Indicated by a line with a smaller perpendicular line- M: Indicated by a line with crows feet
Action Verb
A description of the type of relationship between two entities.
Sub Class A symbol that indicates that two or more entities are grouped.
Relationship Line A line that indicates some type of relationship between two entities
High Level (Conceptual) Model – How it WorksHigh Level (Conceptual) Model – How it Works
1818
Start with the Business RequirementNeed to track customer orders
Turn a business requirement into a model …A customer may place one or more orders.An order must be placed by only one customer.
5 Tasks to Complete …
1. Identify your entities2. Identify your relationship lines3. Identify the verb phrases4. Identify the cardinality5. Identify any super type/sub type groupings
High Level Model – Define EntitiesHigh Level Model – Define Entities
1919
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
1. Identify the Entities (Find the nouns in the phrase)
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model – Define EntitiesHigh Level Model – Define Entities
2020
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
Customer Order
1. Identify the Entities (Find the nouns in the phrase)
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model – Establish RelationshipHigh Level Model – Establish Relationship
2121
Customer Order
2. Establish Relationship Line
EntitiesRelationshipVerbsCardinalitySub Types
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
High Level Model – Establish RelationshipHigh Level Model – Establish Relationship
2222
Customer Order
2. Establish Relationship Line
EntitiesRelationshipVerbsCardinalitySub Types
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
High Level Model – Define VerbsHigh Level Model – Define Verbs
2323
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
Customer Order
3. Identify the Verb Phrase for both directions
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model – Define VerbsHigh Level Model – Define Verbs
2424
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
Customer Orderplaces
3. Identify the Verb Phrase from left to right
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model – Define VerbsHigh Level Model – Define Verbs
2525
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
Customer Order
3. Identify the Verb Phrase from right to left
EntitiesRelationshipVerbsCardinalitySub Types
places
High Level Model – Define VerbsHigh Level Model – Define Verbs
2626
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
Customer Orderplaces
placed by
3. Identify the Verb Phrase from right to left
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model – Define VerbsHigh Level Model – Define Verbs
2727
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
Customer Orderplaces
placed by
3. Identify the Verb Phrase for both directions
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model – Define CardinalityHigh Level Model – Define Cardinality
2828
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
Customer Orderplaces
placed by
4. Identify the cardinality from left to right
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model – Define CardinalityHigh Level Model – Define Cardinality
2929
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
Customer Orderplaces
placed by
4. Identify the cardinality from left to right
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model – Define CardinalityHigh Level Model – Define Cardinality
3030
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
Customer Orderplaces
placed by
4. Identify the cardinality from right to left
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model – Define CardinalityHigh Level Model – Define Cardinality
3131
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
Customer Orderplaces
placed by
4. Identify the cardinality from right to left
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model – Define CardinalityHigh Level Model – Define Cardinality
3232
Turn a business rule into a model …
A customer may place one or more orders.An order must be placed by only one customer.
Customer Orderplaces
placed by
4. Identify the cardinality from right to left
EntitiesRelationshipVerbsCardinalitySub Types
How are we doing so farHow are we doing so far
3333
EntitiesRelationshipVerbsCardinalitySub Types
1st Quiz: Customer and Address1st Quiz: Customer and Address
3434
Establish the cardinality …Define the business requirement …
Customer Addresshas
had by
Identify the cardinality between these two entities
EntitiesRelationshipVerbsCardinalitySub Types
1st Quiz: Customer and Address1st Quiz: Customer and Address
3535
What is the business rule …
A customer may have more than one address.
Customer Addresshas
had by
Identify the cardinality between these two entities
EntitiesRelationshipVerbsCardinalitySub Types
1st Quiz: Customer and Address1st Quiz: Customer and Address
3636
Customer Addresshas
had by
What is the business rule …
A customer may have more than one address.An address can be had by more than one customer.
Is this true ?
Identify the cardinality between these two entities
EntitiesRelationshipVerbsCardinalitySub Types
2nd Quiz: More Abstract2nd Quiz: More Abstract
3737
Dog Treat
EntitiesRelationshipVerbsCardinalitySub Types
Turn the phrase into a model …
A dog may eat several treats
If he does eat any treats he won’t share.
2nd Quiz: More Abstract2nd Quiz: More Abstract
3838
Dog Treateats
eaten by
Turn the phrase into a model …
A dog may eat several treats
If he does eat any treats he won’t share.
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model - Super Type/Sub Types High Level Model - Super Type/Sub Types
3939
A Customer is a person or organization …
A sub type/super type is where you have a natural grouping of two or more entities
Customer
Person Organization
EntitiesRelationshipVerbsCardinalitySub Types
is is
High Level Model - Sub Types High Level Model - Sub Types
4040
A Customer is a person or organization …
A sub type/super type is where you have a natural grouping of two or more entities
Customer
Sub Type Sub Type
Super Type
Exclusive One or the other but not both.
Person Organization
EntitiesRelationshipVerbsCardinalitySub Types
is is
High Level Model - Sub Types High Level Model - Sub Types
4141
A Customer is a person or organization …
A sub type/super type is where you have a natural grouping of two or more entities.A grouping of objects that share attributes, but also have different attributes
ProductSuper Type
Non Exclusive Can be one or more. (No “X” in the symbol)
Amazon Product Ebay ProductStore Product
Sub Ty
pe
Sub Ty
pe
Sub Ty
pe
EntitiesRelationshipVerbsCardinalitySub Types
isis
is
High Level Model – How It’s UsefulHigh Level Model – How It’s Useful
4242
How is this useful to me as a Business Analyst…
Identify potentially undiscovered business requirements
Implement business rules to support business requirements
Clear understanding of the relationships of each entity
A working model of the business problem to give to the architect
A lot less churn !
EntitiesRelationshipVerbsCardinalitySub Types
High Level Model– Putting it All TogetherHigh Level Model– Putting it All Together
4343
CustomerAddress Order
Person Organization
has
had by places
placed by
is is
Product
containscontained by
QuestionsQuestions
4444
CustomerAddress Order
Person Organization
has
had by places
placed by
is is
Product
containscontained by