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:
The Role of the IT Business Analyst
Concepts of Object-Orientation
What it means for the IT-BA
The UML and the IT Business Analyst
Object-Oriented Analysis
Identify Analysis Classes
Identify Candidate Entities
Challenge the Candidate Entities
Construct the Domain Model
Responsibility-Driven Analysis
Construct Responsibility Specifications
Construct CRC Representations
CRC Cards
Simulation Sequence Diagram
UML Overview – The 13 Diagrams
The UML Structural Model
UML Relationships
Association
Aggregation & Composition
Association Class
Inheritance
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
Evolving the Class Diagram
The UML Behavioral Model
Developing The Sequence Diagram
Sequence Diagram Structure
Interaction Frames & Operators
Special Tips for Analysis Sequence Diagrams
Modeling Exercise: Sequence Diagram
Updating the Class Diagram
The Communication Diagram
Developing The State Machine Diagram
Defining State
State Machine Diagram Structure
States, Events, Actions, Activities & Transitions
Updating the Class Diagram
Developing The Activity Diagram
Activity Diagram Structure
Putting It All Together
What Have We Accomplished?
Wrapup
References
UML 2 Notation
Appendix A: Class Diagramming Tips & Challenges
Appendix B: UML Interaction Frames
Appendix C: Advanced States