Course Overview | Course Objectives | Course Contents | Workshop Benefits

Who Should Attend | Delivery Method | Trainers Profile

Requirement Analysis & Modeling - using Enterprise Architect (Earn 18 PDUs)

July 04 - 05, 2008 @ Bangalore, INDIA


Course Overview

The primary measure of success of a software system is the degree to which it meets the purpose for which it was intended. Broadly speaking, software systems requirements engineering (RE) is the process of discovering that purpose, by identifying stakeholders and their requirements, and documenting these in a form that is amenable to analysis, communication to project team, and subsequent implementation. There are a number of inherent difficulties in this process. Stakeholders (including paying customers, users and developers) may be numerous and distributed. Their goals may vary and conflict, depending on their perspectives of the environment in which they work and the tasks they wish to accomplish. Their goals may not be explicit or may be difficult to articulate, and, inevitably, satisfaction of these goals may be constrained by a variety of factors outside their control. Due to these factors, requirements may not be very clear initially. Hence as the project progresses, requirements change control becomes a key factor for project success.

Enterprise Architect - a UML compliant tool for modeling, will be used in the workshop

This course focuses on how best to identify and represent project and product requirements using the following steps:

  • Eliciting requirements
  • Analyzing and Modeling requirements

This course is a mix of instructor-led and case study driven learning, designed to enable participants to learn, experiment and implement the concepts. To enable a better understanding of the concepts, the course is structured around formal case studies.


Course Objectives

The objective of this workshop is to enable participants to

  • Understand the role of a Business Analyst
  • Understand the Models and Methodologies used for Requirements Analysis
  • Understand Business Process Modeling techniques
  • Understand Data Modeling techniques
  • Understand Use Case Modeling technique
  • Get a hands-on experience in applying the techniques

Course Contents:

Day 1 (Forenoon) : Requirements Gathering process and methods

  • Introduction to Business Analysis
  1. The Role of a Business Analyst
  • Requirement Development
    • Requirements Elicitation
      1. Flow of Information
      2. Types and Levels of Information
      3. Standard Documents and Sources of Information
      4. Information Gathering / Interview Techniques
    • Documenting Requirements
      1. Analysis Checklist
      2. Customer participation
      3. Dialog Maps
      4. Prototypes
    • Requirements Validation
      1. Reviewing Requirements
      2. Testing Requirements
      3. Requirement Prioritization
        1. Prioritization Scales
        2. Prioritization Based on Value, Cost, and Risk
  • Requirement Definition – User perspective
    • Functional Requirements
    • Non-Functional Requirements
    • Process Requirements
  • Requirements Modeling – The link to system design
    • Business Process Modeling
    • Data Flow Modeling
    • Data Modeling
    • Use Case Modeling
  • Requirements Management
    • Requirements Clarification Document
    • Requirement Baseline and Version Control
    • Change Control Policy and Process
    • Requirement Traceability Matrix
    • Requirement Related Risk Tracking
  • Case Study – Typical requirements specification document

Day 1 (Afternoon) : Process Modeling

  • Popular Methodologies
    • The SSADM Methodology
    • The DSDM/RAD Methodology
    • The UML Methodology
  • Business Process Modeling using Business Process Modeling Notation
    • Overview of Business Process Modeling
    • Business Process Modeling Notation
    • Workflows
      • Flow Objects
      • Connecting Objects
      • Swim-lanes
      • Artifacts
      • Other Elements
      • Flow Object Connection Rules
      • Attributes
      • Business Processes
  • Case Study – Business Process Modeling using BPNM notation

Day 2 (Forenoon) : Data Modeling

  • Introduction to Data Modeling
    • What is a Data Model?
    • When do we start Data Modeling?
    • Why is Data Modeling important?
  • Logical Data Model
    • Data Flow Diagrams
      • DFD Principles
      • Basic DFD Notations
      • Components of DFD’s
      • DFD Levels
      • Constructing DFD’s
    • E-R Diagram
      • Identifying Entities
      • Entity Relationships
      • Relationship between DFD’s and LDS’s
  • Building the Data Model
    • Identifying Data Objects and Relationships
    • Developing the Basic Schema
  • Refining the Data Model
    • Refining the E-R Diagram
    • Primary and Foreign Keys
    • Adding attributes to the Model
    • Generalization Hierarchies
    • Adding Data Integrity Rules
  • Meeting Performance Objectives
    • Impact of Reports on the Data Model
    • Normalization
    • Denormalization
  • Case Study – Building the Data Model
  • Entity / Event Model
    • Entity Life Histories
    • Effect Correspondence Diagrams
    • Relationship between DFD’s, LDS’s and ELH’s
  • Case Study – Building the Event Model

Day 2 (Afternoon) : Use Case Modeling

Overview of Use Case Modeling

  • What is Use Case Modeling?
  • Why Use Case Modeling?

• Actors

  • Characteristics of Actors
  • Types of Actors
    • Generalized and Specialized Actors
    • Concrete and Abstract Actors
  • Case Study - Identifying Actors

Use Cases

  • Characteristics of Use Cases
  • Types of Use Cases
    • Primary and secondary Use Cases
    • Includes and Extends Use Cases
    • Concrete and Abstract Use Cases
  • Use Case Specification
    • Actors and User Goal
    • Pre-conditions, Post-conditions
    • Alternate Flows, Error Flows, Extension Points
    • Special requirements – Usability, Performance, Reliability etc.
  • Case Study - Identifying Use Cases and developing Use Case Specifications
  • Relationship between Use Cases
    • Use Case Diagram
    • Optimizing the Use Case Model
    • Case Study – Developing a Use Case Diagram
  • Deriving the Static Model
    • Business entities /objects/classes
    • Association between the entities
    • Attributes and functions of the entities
    • Class Diagram – Realization of Use Cases through a class model
    • Case Study – Static Model
  • Deriving the Dynamic Model
  • Activity Diagram
    • Representing relationships between Actors and business activities within a Business Process
  • Sequence Diagram
    • Representing interaction between business entities / objects using Sequence Diagram when an actor initiates an activity with the system
    • Representing Data flow between entities during an Actor-Use Case interaction
  • State Change Diagram
    • Representing change in state of entities / objects based on user actions
  • Other UML Diagrams
    • Collaboration Diagram
    • Package Diagram
    • Deployment Diagram
  • Case Study – Dynamic Mode

Benefits/Takeaways / Workshop Motivation

  • Requirements Management personnel will benefit from learning how to gather and represent the requirements so that projects are well executed.
  • Project Delivery personnel will benefit from being able to carry the requirements into design and implementation.
  • Developing clear requirements using formal and appropriate techniques will
    • Improve accuracy of representation of requirements; hence result in mutual understanding between customers and project teams about the requirements of the software o Improve accuracy of design
    • Help in handling project risks and assumptions
    • Improve team communication due to use of a formal language for representing and interpreting system requirements
    • Improved overall project management
    • Improved customer satisfaction and overall quality
    • Cost savings due to reduced requirements related rework

Who Should Attend

  • Business Analysts
  • Requirements Management personnel
  • Project Delivery personnel   

 


Delivery Method - Delivery Method –The course is a mix of case driven, instructor-led, and self-paced learning, designed to enable participants learn, experiment and implement the concepts involving techniques for software size estimation. To enable a thorough hands-on of the concepts taught in the class room, the course is structured around a formal case study.

Enterprise Architect - a UML compliant tool for modeling, will be used in the workshop


Trainers Profile:

Shobha Ramesh has a career spanning 20 years in the IT industry in organizations such as Satyam, SLK Software, Kirloskar Computer Services Ltd and BFL Software Ltd.

She has over 12 years of experience as a Project / Program Manager and has handled projects of sizes ranging from 1 – 100 person-years on UNIX, J2EE, Microsoft, TIBCO and Livelink platforms in various types of client engagement models like offshore model, onsite-offshore model, multi-site / multi-vendor model, staff augmentation model etc.

She has managed large ODCs containing development, maintenance and production-support activities.

As part of her project management activities, she has specialized in product development and in Release & Configuration Management for large projects with multiple teams.

She has managed projects for a wide variety of customers including domestic, US, Japanese, Chinese and Australian customers in the Retail, Automotive, Banking, Manufacturing and Business Performance Measurement domains.

Shobha’s analysis and design skills include OOAD, SSAD, Database Modeling and UML.

Shobha has completed her M.Sc in Mathematics in 1985 from IIT Chennai.

Some of the organizations where Shobha has trained:

  • HCL Shipara Technologies
  • IBM
  • Intellinet
  • Microsoft
  • Misys
  • Satyam Computers