Introduction to RUP and Visual Modeling

Download Report

Transcript Introduction to RUP and Visual Modeling

Introduction to RUP and Visual Modeling

Month Day, Year

RUP is Use Case-Driven

Discipline Use Case Usage Project Management Basis for iteration planning Business Modeling Requirements Analysis & Design Implementation Test Deployment Business use cases used to define and structure the business processes Where system use cases are formally defined and structured Use cases are “realized” – define how use cases are performed by interacting objects in design model Use cases implemented by design classes Basis for Test Cases and Test Procedures – system verified by performing each use case Foundation for Users Guide

Use Cases Assigned to Iterations

Iteration 1 Iteration 2 Iteration 3 Product A Use Case 1 Use Case 2 Use Case 3 All scenarios “Happy Day” scenario All scenarios Alternative Flow 1 Alternative Flow 2 Product B Use Case 4 Use Case 5 Use Case 6 All scenarios “Happy Day” scenario All Alternative Flows All scenarios

Use Case 3 Implementation

Iteration 1 Iteration 2 Iteration 3 Iteration 4

Business Modeling Requirements Analysis & Design Implementation Test Deployment Configuration & Change Management

Iteration 5

RUP – Model Overview

Who?

What?

Business Modeling Business Process Analyst Business Model System Use Case Modeling System Analyst Design Modeling Designer/Developer System Use Case Model Design Model Where? Rose and ReqPro Rose and ReqPro Rose/XDE When?

Why?

First 3 iterations  Define business processes  Identify points of automation First 4 iterations  Define functional requirements  Start transition to design All iterations  Define Components  Integrate With Code

RUP – Basic Steps

Create Software Development Plan Create Project Model Test • Create visual sub-models Model – Business Use-Case Model – System Use-Case Model – Design Model – Implementation Model • Create requirements sub-model Knowledge Acquisition Develop Code

Software Development Plan

Create Vision and Features Identify Business/System Use-Cases Prioritize Business/System Use-Cases Create Iteration Plan and Schedule Create Supporting Process Plans and Guidelines

Create Business Use-Case Model

Identify Business Use-Cases Brainstorming major business processes Decompose using activity diagrams For each Business Use-Case create: Business Activity Diagrams Business Use-Case Diagrams Business Sequence/Collaboration Diagrams Business Statechart Diagrams Business Class Diagrams Create Business Use-Case Requirements

Create System Use-Case Model

Identify points of automation For each System Use-Case create: System Use-Case Diagrams System Activity Diagrams System Sequence/Collaboration Diagrams System State Transition Diagram System Statechart Diagrams Analysis Class Diagrams UI Design Diagrams/Mockups/Prototype Create Use-Case Requirements

Create Design Model

Import Rose Requirements Model into XDE Create Sequence/Collaboration Diagrams Transform Objects into Classes Create Action-level Activity Diagrams Create Design Class Diagrams Create Data Model/Database

Create Implementation Model

Integrate Code with XDE Model Forward engineer Implementation Classes Reverse engineer existing code and frameworks Write Code Unit Test

Test

Define Evaluation Mission Test Ideas Verify Test Approach Test & Evaluate Achieve Acceptable Mission Improve Test Assets

Artifact Review

Development Case Software Development Plan • Iteration 1 Plan – Plan – Schedule Business Modeling Guidelines Knowledge Acquisition Worksheet

The Models

Business Use-Case Model Identify the tasks, activities, roles and entities that accomplish business goals Identify Automation Points • Use-Cases (Automatable/ed Business Use-Cases) – Actors (Business Workers) – Entities (Business Entity) Use-Case Model Models User – System Interaction Clear, concise overview of the purpose and functionality of the system • All functional and non-functional requirements are mapped to at least one use-case and visa-versa

The Model

Design Model Use-Case Analysis • Objects Design Classes • Object Evolution • Identify Mechanisms and Elements Architectural Analysis • Assess Viability of Architectural Proof-of-Concepts Implementation Model Construct Architectural Proof of Concepts Prototype User-Interface Implement Classes

The Models

Deployment Model What where Test Model Test Cases • Test Classes • Test Scripts • Test Data • Test Results

Model Evolution

A process of working out or developing A process of change in a certain direction A process of continuous change from a lower, simpler, or worse to a higher, more complex, or better state

Model Evolution

Modeling Diagrams • Activity • Sequence • Collaboration • Statechart • Class – Use-Case – Object – Class Requirements • Multimedia

Model Evolution

Model Lineage Business Use-Case (BUCM) • Use-Case (UCm) – Design (DM) – Implementation (IM) – Deployment (DM) – Test ™

Activity Diagram – BUCM

Primary Diagram for Requirements Specification Elements Activities • Actions Transitions Decisions Synchronizations States

Activity Diagram – BUCM

Activity Diagrams – BUCM

Activity Diagrams – BUCM

Swimlanes Integration of the division of activity between business actors / actors into the Business Use Case / Use-case activity Recognition of collaborating objects

Activity Diagrams – BUCM

Activity Diagrams – BUCM

Activity Diagrams – BUCM

Object Flows Integration of Business Entities / Entities into the Business Use-Case / Use-case activity Recognition of collaborating objects

Sequence Diagrams - BUCM

Show object interaction in a time based sequence Establish the roles of objects Provide essential information to determine class responsibilities and interfaces

Sequence Diagrams - BUCM

Simplicity • Plain English Shows interaction between • Business Actors – Workers • Business Entities

Sequence Diagrams - BUCM

Collaboration Diagrams - BUCM

Used to show how objects interact to perform a particular behavior Used to define and clarify the roles of the objects that perform a particular flow of events Better suited to depicting simpler interactions of smaller numbers of objects.

Collaboration Diagrams - BUCM

Collaboration Diagrams - BUCM

Statechart Diagrams - BUCM

Used To Model Dynamic Behavior Event-driven behavior • Are required for objects who call events and signal events to implement their operations State-dependent behavior • Are required for active objects whose behavior varies base on their state • Are not required for passive objects whose behavior does not vary with their state

Statechart Diagrams - BUCM

Statechart Diagrams - BUCM

Class Diagrams – BUCM

Models the static structure of the model Objects / Classes • Internal structure – Attributes – Operations Relationships to other classes

Class Diagrams – BUCM

Use–Case Diagram

Class Diagrams – BUCM

Object Diagram

Class Diagrams – BUCM

Activity Diagrams - UCM

Simple Plain English Details interaction activity between Actors (Business Workers) System (Computer)

Sequence Diagrams - UCM

Simple Plain English Shows interaction between Actors (Business Workers) System (Computer)

Other Diagrams - UCM

Collaboration Statechart Class Use-Case Object Simple Plain English

Activity Diagram – DM - Analysis

Defining division of actions between objects for obtaining a particular result from the system Detailed • Actions • Requirements – Preconditions – Postconditions

Sequence Diagram - DM - Analysis

Defining interaction of objects for obtaining a particular result from the system Simple messages • Synchronization • Period

Collaboration Diagrams - DM - Analysis

Shows collaboration of objects for obtaining a particular result from the system Simple Messages Easy to Create F6 Layout

Statechart Diagrams - DM - Analysis

Shows achievable states of the objects within the system Simple

Class Diagrams - DM - Analysis

Show the static state of objects Structure • Simple attributes • Simple operations Relationships

Activity Diagram – DM - Design

Defining internal actions of an object to produce a particular result

Sequence Diagram - DM - Design

Defining interaction of objects for obtaining a particular result from the system Assignment • Simple messages become detailed messages / procedure calls to specific object operations • Programming Notation

Collaboration Diagrams – DM - Design

Shows collaboration of objects for obtaining a particular result from the system Detailed Messages / Procedure Calls to specific object operations

Statechart Diagrams – DM - Design

Shows achievable states of the objects within the system Detailed Internal Sub-States

Class Diagrams - DM - Design

Show the static state of classes Structure • Detailed attributes • Detailed operations Relationships • Detailed

Traceability

The ability to trace a project element to other related project elements, especially those related to requirements