Course Title: OO/DM Static Object-Oriented and Data Modeling Workshop for the BA with UML 2 (optional: IBM Rational ROSE)
Course#: BAN06
Duration: 2 days
Overview:
A practical guide in static object and data modeling focused on the BA perspective. Learn to use static modeling as an effective tool for conducting interviews and documenting results for the development team. The techniques taught in this course are applicable whether the BA uses manual or automated tools to model the business. (The workshops in this course may be delivered with or without the use of modeling tools, such as IBM Rational Rose.)
Description:
This is a hands-on practical workshop in using class diagrams, data models and other static modeling diagrams to describe business requirements for an IT system. Trainees step through a complex real-life case study, learning at what points to develop and verify portions of the model. Particular emphasis is placed on how to link the static model to use cases.
Why:
- Project failures or cost overruns can often be traced to Business Requirements documentation that is incomplete, inconsistent or ambiguous.
- Object and data modeling address all three issues:
- Complete documentation is ensured through model-driven interview techniques that ensure that all the right questions get asked.
- Consistent documentation is obtained through techniques that centralize common business rules in one set of diagrams
- Unambiguous documentation is produced by conforming to the UML guidelines widely accepted and understood by developers.
What makes this course stand out from the competition?
- Focus on Business Analysis: Unlike many other courses in object and data modeling, this is not a course in design for developers. Our course is focused squarely on the needs of the Business Analyst, clearly explaining where and how object and data modeling benefits the gathering and documenting of business requirements by the BA. Developers looking to expand into the BA role will also gain value from this course, as they learn how to apply UML techniques to the requirements gathering “front-end” of a project.
- Scenario-based training: Rather than present this discipline academically, by subject area, we walk the trainee through the modeling of a practical case study. The trainee learns not only what to do, but when to use each technique during the course of a project. We find this approach greatly enhances the ability of trainees to apply what they’ve learned in the workplace.
- Integration with use cases: We teach the trainee exactly how to integrate these modeling techniques with use-case analysis.Trainees learn at what steps during use case analysis to create models and how the models fit into use case documentation.
- Hands-on tool experience (when requested): Trainees gain hands-on experience with an object-oriented modeling tool (Rational Rose, etc.), with the kind of BA perspective on the tool’s use that can only be provided by an organization devoted to BA training.
Audience:
- Business Analysts
- Data Base Administrators, Systems Analysts, Data Modelers expanding their role into the Business Analysis area
Prerequisites: None
Objectives:
Upon completion of this course, you will be able to:
- Use object modeling to help guide questions during interviews
- Integrate object modeling with use-case analysis
- Create UML class diagrams that centralize business rules that apply across multiple use cases and business contexts.
- Create links from static modeling diagrams to the textual requirements, and vice-versa: from the use case text to the diagrams.
- Know how much modeling to do (and why) when creating a frontend to an existing legacy system.
- Convert class diagrams to entity relationship diagrams (ERD) for use with Relational Data Base Management Systems (RDBMS).
- Understand the BA role on a Data Warehousing project and how to transition from relational transaction databases to a data warehouse.
- Optionally: Use a modeling tool (IBM Rational ROSE, etc.) to model business requirements.
Content:
- Principles of Object Oriented Analysis
- Benefit of Object Oriented Analysis
- Determining how much modeling to do when the project is for a front-end to an existing legacy system
- Objects, classes, inheritance, aggregation, polymorphism
- Creating the essential business class model
- Creating a common frame of reference of business concepts (classes) at the start of a project
- Defining key entity (business) classes
- Defining key associations during interviews with the client
- Defining multiplicity during interviews with the client
- Documenting entity classes with UML and Rational ROSE
- Modeling roles in the class diagram: How to model people who interact in numerous ways with the business system (e.g., a beneficiary who is also a policy owner)
- Creating the detailed business class model
- Converting the essential business model into a detailed model by adding attributes and operations
- Defining business data rules in the “Attributes” documentation of a class
- Defining business procedural rules in the “Operations” documentation of a class
- Distributing attributes and operations amongst classes when inheritance and aggregation are present in the model
- Developing the class model during use-case iterations
- Identifying business classes referred to by a use case
- Verifying the use case against the existing class model
- Updating the class model based on the use case
- Linking the use case to the class model
- Developing the data model
- Reasons for converting the class model into a data model
- Creating Entity Relationship Diagrams (ERDs) from class diagrams
- Drawing Entities, Entity Relationships, Cardinalities
- Converting inheritance and aggregation relationships to data model
- How inheritance is implemented in a Relational Data Base Management System (RDBMS) such as ORACLE or DB2
- Introduction to Data Warehouses
- Mapping the Object Model to the Data Warehouse
- Advanced topics
- How the developer uses the business class model to design the software
- Interfaces, Patterns
- Introduction to IDEF1
- Introduction to new technologies: DSLs (Domain Specific Languages), MDA (Model Driven Architecture), the metapattern
Daily Schedule:
Day 1:
- Lesson 1: Static Analysis and the BA
- What is static analysis?
- How does it relate to dynamic analysis?
- Quick tour of business static analysis over the lifecycle of a project
- Lesson 2: Analyzing Business Classes
- UML
- Identifying entity classes
- Classes and objects
- Defining Packages
- Interview tips for discovering entity classes
- Questions for the stakeholders
- Challenge questions
- Follow-up questions
- Documenting a class:
- UML documentation
- Textual documentation
Lesson 3: Analyzing Sub-types (Generalizations and transient roles)
- Full-time sub-types
- Generalization in the class diagram
- Generalization: what to ask stakeholders
- Part-time sub-types/ transient roles
- Transient roles: what to ask stakeholders
Lesson 4: Analyzing Aggregations, Associations and Multiplicities
- Whole-part relationships
- Aggregation in the class diagram
- Composite structure diagram
- Aggregation: what to ask stakeholders
- Association in the class diagram
- Associations: What to ask stakeholders
- Mulitiplicities
Day 2:
- Lesson 5: Discovering attributes and operations
- Attributes:
- What to ask stakeholders
- Documenting attributes in class diagrams and in text
- Analyzing Look-up tables
- Operations:
- What to ask stakeholders
- Documenting operations in the UML
- Documenting operation in the text:
- Pre-conditions
- Post-conditions
- Method
Revising the static model
Lesson 6: Static Modeling during Initiation
- BA static modeling activities performed during the Initiation phase of a project
- Keeping the static and dynamic models in synch with each other.
- Identifying static modeling elements from a use case diagram
Lesson 7: Static Modeling during Analysis
- Deriving static modeling elements from use case flows
- Identifying and resolving discrepancies between use cases and the static model
- Documenting the link from a use case to the static model
- Static object diagrams
Lesson 8: Data Modeling and Data Warehouses
- What is data modeling?
- Relational approach to data modeling
- Converting a class diagram to an Entity relationship Diagram (ERD)
- Data Warehouses
- Dimensional databases
- Fact tables
Supplement:
- Introduction to IDEF1
- Converting an ERD to an IDEF1 diagram
Patterns
Interfaces
DSLs (Domain Specific Languages)
MDA (Model-Driven Architecture)
Beyond OO: the metapattern
Class Format:
The course content is presented:
- Through lectures and mentoring.
On-site requirements:
Room set-up:
Set up tables (e.g., round tables) so that trainees are sitting in groups of 3-5. Each group should have 1 flipchart. Each trainee requires 1 pad or paper + pen + 1 copy of the course material. The course material comes in one binder and contains:
- Detailed course notes (printed PowerPoint presentation)
- Workshop and Job Aids (Word document) with:
- Full workshop solutions
- Job Aids booklet containing:
- Templates
- Examples
- Glossary of technical terms
- If a modeling tool is used: Allocate 1 PC for every group of trainees (1 per trainee for in-house classes where the tool is essential to employees; 1 per 2-4 trainees in other cases). Each PC must be loaded with:
- Windows XP Professional
- Modeling tool: e.g., IBM Rational ROSE Enterprise Edition (Evaluation or other)
- Case study software. (ROSE .mdl files)
For the instructor:
- Whiteboard
- Overhead screen projector or large colour monitor, connected to instructor’s PC
- PC loaded with:
- Windows XP Professional
- MS PowerPoint
- Modeling tool: e.g., IBM Rational ROSE Enterprise Edition (Evaluation or other)
- PowerPoint presentation (1 ppt file)
- Workshops and Job Aids file (1 Word doc)
- Case study software. (ROSE .mdl files)
Included in each trainee’s kit:
- Detailed course notes
- Full workshop solutions
- Job Aids booklet containing:
- Templates
- Examples
- Glossary of technical terms