Course Content: Business Analysis using UML & URDAD
- Contextualization and Overview
- What is Business Analysis?
- Role and Responsibilities of a Business Analyst
- Stakeholders as sources of requirements: types of stakeholders
- Types of Requirements
- Functional requirements
- Non-Functional requirements
- Data requirements
- Constraints and business rules
- The importance of testable requirements and how to specify testable requirements
- Requirements and business process design across levels of granularity
- Implementation options
- Assigning service contracts to outsourcing partners
- Mapping business processes onto
- automated software processes
- manual processes
- Using UML and URDAD for requirements refinement and business process design
- Object oriented concepts
- Overview of the Unified Modeling Language (UML)
- Overview of Use-Case, Responsibility Driven Analysis and Design (URDAD)
- Course overview
- UML for Business Analysts
- Overview of the UML Language: UML diagrams versus UML model
- Use Case Diagrams
- Use cases as services
- Actors and actor types
- Communication channels
- Use case abstraction for scoping
- Other use case relationships
- Pre- and post-conditions
- Class Diagrams
- Objects and classes
- Attributes and services
- Relationships
- realization, specialization, composition, aggregation association, association, dependency and containment
- Deciding on the correct relationship
- Class diagrams for data structure specification
- Class diagrams for service contract specification
- Sequence Diagrams
- Roles. life-lines,. activity bars and messages
- Conditional flow, iteration and concurrency in sequence diagrams
- Timing constraints and triggers
- What to do about exceptions?
- Defining process across levels of granularity
- Activity diagrams
- Modern versus legacy activity diagrams – what are the benefits?
- Associating activities with services
- Conditional flow, iteration and concurrency in activity diagrams
- Exceptions – raising and handling
- Advantages of activity diagrams over sequence diagrams
- UML Summary
- URDAD for technology neutral analysis and business process design
- Aims of URDAD
- The URDAD UML profile
- Views used to populate an URDAD model
- Service contract view
- Data structure views
- Business process specification view
- The URDAD process
- Specifying scope
- Across levels of refinement
- Use case requirements as service contracts
- Business process design
- Transition to the next lower level of granularity and when to stop.
- The structure of an URDAD model
- Validating an URDAD model
- Generating a Requirements and Business Process Design Specification Document
- A complete case study