Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Data Modeling for the BA February 12th, 2014 Presented by Steve Strohl About Steve 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. [email protected] 2 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 Introduction The Goal The Steps The Outcome • Establish a business modeling methodology • Interface more effectively with developers and tester • Create deliverables to use throughout the life cycle of the project • • • • Start with a Business Problem Derive the Business Requirements Derive the Business Rules Generate a model that supports the business reqts and rules • • • • Common language Better interaction and communication with developers Better interaction and communication with testers Better understanding and control over the project 4 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. 5 Original Tracking System (Go Figure) What are the problems with this solution ? 6 The Two Major Issues 1. Difficult to trace solution back to the business requirements 2. Impossible to establish and enforce business rules to support those requirements 7 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 8 In the end …it’s all about ??? Address Customer Order Product Person Organization 9 The Modeling Methodology Very High Level Model (VHDM) (Scope) Business Analyst Stakeholders High Level (Conceptual) Model (HDM) (Business Need) Business Analyst Subject Matter Experts Logical Model (LDM) Business Solution Physical Data Model (PDM) Business Analyst Architect Technical Solution Architect Developer 10 The Modeling Methodology Very High Level Model (VHDM) (Scope) Business Analyst Stakeholders High Level (Conceptual) Model (HDM) (Business Need) Business Analyst Subject Matter Experts Logical Model (LDM) (Business Solution) Physical Data Model (PDM) Business Analyst Architect (Technical Solution) Architect Developer 11 Very High Level Model – Tool Box Identify Subjects and Links Symbols Subject Area or Business Area Title Description 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) 12 Very High Level Model – How it Works Identify “Subject” or “Business” Area and “Link (optional)” Symbols Sales and Service Department responsible for all aspects of the sales and service process HR Department responsible for all internal employee and benefits matters Marketing Department responsible for marketing material and marketing campaigns Facilities Department responsible for all keeping the lights on R&D Department responsible for all research and development of new products Engineering Department responsible for all design and development of new products 13 Very High Level Model – Our Context Can be used to describe the “scope” of your project. Customer A person or organization who purchases products from our company Address A mailing or shipping address for our customers Product A sellable product that is manufactured by our company for sale Order A contract to purchase one or more of our products. 14 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 15 The Modeling Methodology Very High Level Model (VHDM) (Scope) Business Analyst Stakeholders High Level (Conceptual) Model (HDM) (Business Need) Business Analyst Subject Matter Experts Logical Model (LDM) (Business Solution) Physical Data Model (PDM) Business Analyst Architect (Technical Solution) 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 Verb Action 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. 17 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 … 1. 2. 3. 4. 5. Identify your entities Identify your relationship lines Identify the verb phrases Identify the cardinality Identify any super type/sub type groupings 18 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) 19 High Level Model – Define Entities Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types 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) 20 High Level Model – Establish Relationship Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types A customer may place one or more orders. An order must be placed by only one customer. Order Customer 2. Establish Relationship Line 21 High Level Model – Establish Relationship Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types A customer may place one or more orders. An order must be placed by only one customer. Order Customer 2. Establish Relationship Line 22 High Level Model – Define Verbs Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types 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 23 High Level Model – Define Verbs Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types A customer may place one or more orders. An order must be placed by only one customer. places Customer Order 3. Identify the Verb Phrase from left to right 24 High Level Model – Define Verbs Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types A customer may place one or more orders. An order must be placed by only one customer. places Customer Order 3. Identify the Verb Phrase from right to left 25 High Level Model – Define Verbs Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types A customer may place one or more orders. An order must be placed by only one customer. places Order Customer placed by 3. Identify the Verb Phrase from right to left 26 High Level Model – Define Verbs Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types A customer may place one or more orders. An order must be placed by only one customer. places Order Customer placed by 3. Identify the Verb Phrase for both directions 27 High Level Model – Define Cardinality Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types A customer may place one or more orders. An order must be placed by only one customer. places Order Customer placed by 4. Identify the cardinality from left to right 28 High Level Model – Define Cardinality Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types A customer may place one or more orders. An order must be placed by only one customer. places Order Customer placed by 4. Identify the cardinality from left to right 29 High Level Model – Define Cardinality Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types A customer may place one or more orders. An order must be placed by only one customer. places Order Customer placed by 4. Identify the cardinality from right to left 30 High Level Model – Define Cardinality Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types A customer may place one or more orders. An order must be placed by only one customer. places Order Customer placed by 4. Identify the cardinality from right to left 31 High Level Model – Define Cardinality Turn a business rule into a model … Entities Relationship Verbs Cardinality Sub Types A customer may place one or more orders. An order must be placed by only one customer. places Order Customer placed by 4. Identify the cardinality from right to left 32 How are we doing so far Entities Relationship Verbs Cardinality Sub Types 33 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 34 1st Quiz: Customer and Address What is the business rule … Entities Relationship Verbs Cardinality Sub Types A customer may have more than one address. has Address Customer had by Identify the cardinality between these two entities 35 1st Quiz: Customer and Address What is the business rule … Entities Relationship Verbs Cardinality Sub Types A customer may have more than one address. An address can be had by more than one customer. Is this true ? has Address Customer had by Identify the cardinality between these two entities 36 2nd Quiz: More Abstract Turn the phrase into a model … Entities Relationship Verbs Cardinality Sub Types A dog may eat several treats If he does eat any treats he won’t share. Dog Treat 37 2nd Quiz: More Abstract Turn the phrase into a model … Entities Relationship Verbs Cardinality Sub Types A dog may eat several treats If he does eat any treats he won’t share. eats Treat Dog eaten by 38 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 Person is Organization 39 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 Super Type Entities Relationship Verbs Cardinality Sub Types Customer Exclusive One or the other but not both. is Sub Type Person is Organization Sub Type 40 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 Super Type Entities Relationship Verbs Cardinality Sub Types Product Non Exclusive Can be one or more. (No “X” in the symbol) is is is Amazon Product Store Product Ebay Product 41 High Level Model – How It’s Useful How is this useful to me as a Business Analyst… Identify potentially undiscovered business requirements Entities Relationship Verbs Cardinality Sub Types 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 ! 42 High Level Model– Putting it All Together places had by Address Customer Order has placed by contained by is contains is Product Person Organization 43 Questions places had by Address Customer Order has placed by contained by is contains is Product Person Organization 44