440 likes | 546 Views
Data Modeling for the BA February 12th, 2014. Presented by Steve Strohl. About Steve. It’s a B.A. “Thing” …. What does the business want ?. Have I captured “all” of the business requirements (even those they don’t know about) ?. It’s the Question that Drives Us ….
E N D
Data Modeling for the BAFebruary 12th, 2014 Presented by Steve Strohl
It’s a B.A. “Thing” … What does the business want ? Have I captured “all” of the business requirements (even those they don’t know about) ? It’s the Question that Drives Us … Have I found all of the hidden complexities ? How can I represent or relate those needs effectively to my developers ? Did I take the trash out this morning ? 3
A Simple Business Problem • The Client • Diversified 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 Problem • System 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 Summary • After 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) What are the problems with this solution ?
The Two Major Issues • Difficult to trace solution back to the business requirements • Impossible to establish and enforce business rules to support those requirements
BA’s Dilema • 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
In the end …it’s all about ??? Address Customer Order Product Organization Person
The Modeling Methodology Very High Level Model (VHDM) (Scope) High Level (Conceptual) Model (HDM) (Business Need) Business Analyst Stakeholders Logical Model (LDM) Business Solution Business Analyst Subject Matter Experts Physical Data Model (PDM) Technical Solution Business Analyst Architect Architect Developer
The Modeling Methodology Very High Level Model (VHDM) (Scope) High Level (Conceptual) Model (HDM) (Business Need) Business Analyst Stakeholders Logical Model (LDM) (Business Solution) Business Analyst Subject Matter Experts Physical Data Model (PDM) (Technical Solution) Business Analyst Architect Architect Developer 11
Very High Level Model – Tool Box Identify Subjects and Links Symbols Subject Area or Business Area Title • Highest Level View of Business Area or Subject Area • Contains Title and Definition of Business or Subject area • Can be any shape Description 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)
Very High Level Model – How it Works Identify “Subject” or “Business” Area and “Link (optional)” Symbols Sales and Service Marketing HR Facilities R&D Engineering Department responsible for marketing material and marketing campaigns Department responsible for all research and development of new products Department responsible for all aspects of the sales and service process Department responsible for all design and development of new products Department responsible for all internal employee and benefits matters Department responsible for all keeping the lights on
Very High Level Model – Our Context Can be used to describe the “scope” of your project. Customer Product Address Order A person or organization who purchases products from our company A sellable product that is manufactured by our company for sale A contract to purchase one or more of our products. A mailing or shipping address for our customers
Very High Level Model – How It’s Useful 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 Methodology Very High Level Model (VHDM) (Scope) High Level (Conceptual) Model (HDM) (Business Need) Business Analyst Stakeholders Logical Model (LDM) (Business Solution) Business Analyst Subject Matter Experts Physical Data Model (PDM) (Technical Solution) Business Analyst Architect Architect Developer 16
High Level (Conceptual) Model – Tool Box 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. Relationship Line • A line that indicates some type of relationship between two entities Action Verb Verb • A description of the type of relationship between two entities. Cardinality Indicators • An indicator of the number of “instances” the relationship has • 3 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 Sub Class • A symbol that indicates that two or more entities are grouped.
High Level (Conceptual) Model – How it Works • Start with the Business Requirement • Need 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 … Identify your entities Identify your relationship lines Identify the verb phrases Identify the cardinality Identify any super type/sub type groupings
High Level Model – Define Entities • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types 1. Identify the Entities (Find the nouns in the phrase)
High Level Model – Define Entities • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types Order Customer 1. Identify the Entities (Find the nouns in the phrase)
High Level Model – Establish Relationship • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types Order Customer 2. Establish Relationship Line
High Level Model – Establish Relationship • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types Order Customer 2. Establish Relationship Line
High Level Model – Define Verbs • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types Order Customer 3. Identify the Verb Phrase for both directions
High Level Model – Define Verbs • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types places Order Customer 3. Identify the Verb Phrase from left to right
High Level Model – Define Verbs • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types places Order Customer 3. Identify the Verb Phrase from right to left
High Level Model – Define Verbs • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types places Order Customer placed by 3. Identify the Verb Phrase from right to left
High Level Model – Define Verbs • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types places Order Customer placed by 3. Identify the Verb Phrase for both directions
High Level Model – Define Cardinality • Turn a business rule into a model … • A customermayplace one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types places Order Customer placed by 4. Identify the cardinality from left to right
High Level Model – Define Cardinality • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types places Order Customer placed by 4. Identify the cardinality from left to right
High Level Model – Define Cardinality • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types places Order Customer placed by 4. Identify the cardinality from right to left
High Level Model – Define Cardinality • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types places Order Customer placed by 4. Identify the cardinality from right to left
High Level Model – Define Cardinality • Turn a business rule into a model … • A customer may place one or more orders. • An order must be placed by only one customer. Entities Relationship Verbs Cardinality Sub Types places Order Customer placed by 4. Identify the cardinality from right to left
How are we doing so far Entities Relationship Verbs Cardinality Sub Types
1st Quiz: Customer and Address Establish the cardinality … Define the business requirement … Entities Relationship Verbs Cardinality Sub Types has Address Customer had by Identify the cardinality between these two entities
1st Quiz: Customer and Address • What is the business rule … • A customer may have more than one address. Entities Relationship Verbs Cardinality Sub Types has Address Customer had by Identify the cardinality between these two entities
1st Quiz: Customer and Address • 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 ? Entities Relationship Verbs Cardinality Sub Types has Address Customer had by Identify the cardinality between these two entities
2nd Quiz: More Abstract • Turn the phrase into a model … • A dog may eat several treats • If he does eat any treats he won’t share. Entities Relationship Verbs Cardinality Sub Types Treat Dog
2nd Quiz: More Abstract • Turn the phrase into a model … • A dog may eat several treats • If he does eat any treats he won’t share. Entities Relationship Verbs Cardinality Sub Types eats Treat Dog eaten by
High Level Model - Super Type/Sub Types • A Customer is a person or organization … • A sub type/super type is where you have a natural grouping of two or more entities Entities Relationship Verbs Cardinality Sub Types Customer is is Organization Person
High Level Model - Sub Types • A Customer is a person or organization … • A sub type/super type is where you have a natural grouping of two or more entities Entities Relationship Verbs Cardinality Sub Types Super Type Customer Exclusive One or the other but not both. is is Sub Type Sub Type Organization Person
High Level Model - Sub Types • 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 Entities Relationship Verbs Cardinality Sub Types Super Type Product Non Exclusive Can be one or more. (No “X” in the symbol) is is is Ebay Product Store Product Amazon Product Sub Type Sub Type Sub Type
High Level Model – How It’s Useful • 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 ! Entities Relationship Verbs Cardinality Sub Types
High Level Model– Putting it All Together places had by Address Customer Order has placed by contains contained by is is Product Organization Person
Questions places had by Address Customer Order has placed by contains contained by is is Product Organization Person