The key to effective business analysis is to provide specification of “what” functionality a software system will provide its users, rather than “how” the software will be designed. But too often traditional business analysis produces artifacts and specifications that do not align with the concepts of object-oriented design and development. This course focuses on how business analysts and business systems analysts can provide object-oriented developers with concise specifications of the problem domain within which a software solution will be constructed. Students will learn the power of the Unified Modeling Language version 2 (UML 2) for expressing business concepts and project goals using object-oriented models, to prepare for either in-house, or out-sourced, technical design and implementation. Extensive hands-on exercises using two complete, and parallel, case studies assure that students see how a concept is modeled, and then have the opportunity to immediately apply and test their understanding.
Audience:
Business analysts and project managers who need a common, practical technique for constructing business analysis specifications of object-oriented systems.
Prerequisites
Experience in analysis is desirable, but not mandatory.
Course duration:
3 days
Course outline:
1. The Role of the IT Business Analyst
- Context of IT Business Analyst
- The IT-BA’s Responsibilities
- What the IT-BA Delivers
- Types of System Requirements
- The Requirements Flow
- IT Business Analyst as Enabler
- What the IT-BA Does Not Do
2. Concepts of Object-Orientation
- Why is Object Thinking Important to
You?
- Concept: Object
- Concept: Object Operations
- Concept: Class
- Concept: Objects from a Class
- Concept: Relationships
- Concept: Abstraction
3. The UML and the IT Business Analyst
- Business Domain Modeling
- Structural Domain Models
- Behavioral Domain Models
- Functional Models
- Data Models
- The Unified Modeling Language
- Structure Analysis Diagrams vs. UML
- Why IT-Bas Should Develop
UML Models
4. Object-Oriented Analysis
- The ‘Big’ Picture of a Project for
the IT-BA
- Goals of the IT-BA’s Analysis
Activities
- Inputs to the Analysis Activities
- Analysis Activities for the IT-BA
- Outputs from the Analysis
Activities
- What are the Analysis Models?
5. Identify Analysis Classes
- Identify Candidate Entities
- Challenge the Candidate Entities
- Construct the Domain Model
6. Responsibility-Driven Analysis
- Construct Responsibility
- Specifications
- Construct CRC Representations
- CRC Defined
- CRC Cards
- Simulation Sequence Diagram
7. UML Overview – The 13
Diagrams
- The Unified Modeling Language
- UML Version 2
- The 13 Diagrams
- UML and Us
8. The UML Structural Model
- Definition of the UML Structural Model
9. UML Relationships
- Association
- Aggregation & Composition
- Association Class
- Inheritance
10. Developing The Analysis Class
Diagram
- UML Classes, Objects & Stereotypes
- Responsibility-Driven Class Definition
- Step 1: Identify the Analysis Classes
- Step 2: Identify Classes with
Relationships
- Step 3: Identify Relationship Semantics
- Step 4: Identify Relationship
Multiplicity
11. The UML Behavioral Model
- Analysis Behavioral Models
- The 7 Behavioral Models in UML
12. Developing The Sequence Diagram
- Sequence Diagram Structure
- Interaction Frames & Operators
- Special Tips for Analysis Sequence
Diagrams
- Modeling Exercise: Sequence Diagram
- Updating the Class Diagram
13. The Communication Diagram
- Communication / Sequence Diagram
Isomorphism
14. Developing The State Machine
Diagram
- Defining State
- State Machine Diagram Structure
- States, Events, Actions, Activities &
Transitions
- Updating the Class Diagram
15. Developing The Activity Diagram
- Activity Diagram Structure
16. Putting It All Together
- What Have We Accomplished?
17. UML 2 Notation
18. Appendix A: Class
Diagramming Tips &
Challenges
19. Appendix B: UML Interaction
Frames
20. Appendix C: Advanced States