ibm poutanen 3 - jyväskylän yliopisto · rational software architect rational application...

19
1 ® IBM Software Group © 2004 IBM Corporation Rational Unified Process (RUP) in e-Business Development Jouko Poutanen/11.3.2005 IBM Software Group 2 Agenda Characteristics of e-Business Development Business Modeling with RUP and UML Rational Tools for e-Business Development

Upload: others

Post on 05-Apr-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

1

®

IBM Software Group

© 2004 IBM Corporation

Rational Unified Process (RUP) in e-Business Development

Jouko Poutanen/11.3.2005

IBM Software Group

2

Agenda

Characteristics of e-Business DevelopmentBusiness Modeling with RUP and UML

Rational Tools for e-Business Development

Page 2: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

2

IBM Software Group

3

Characteristics of e-business DevelopmentAn e-business development project has many characteristics in common withthe development of any complex information system. These characteristicstypically include: • Externally imposed rules and regulations, often of high complexity, such as business

rules.

• High complexity in data structures.

• Customer focus.

• Pressed time schedules.

• Performance and reliability of the final system is a primary concern.

Typical differences in an e-business development project are:• More emphasis on business modeling.

• More emphasis on user-interface design.

• Use of e-business enabling technologies to define the architecture.

• A greater focus on performance testing.

IBM Software Group

4

Agenda

Characteristics of e-Business Development

Business Modeling with RUP and UMLRational Tools for e-Business Development

Page 3: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

3

IBM Software Group

5

Business Modeling?

Encompasses all modeling techniques you can use to visually model a business.

These are an essential subset of the techniques you may use to perform business engineering.

Visualization is essential for understanding and contemplation.

IBM Software Group

6

Simulate real-worldphenomena

Object-Orientation

BoochOMT

OOSE /Objectory SE

ObjectoryBEBPR

Model largesystems

Origins

Book:The ObjectAdvantage

by IvarJacobson

Page 4: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

4

IBM Software Group

7

Business Modeling and RUP

Project ManagementEnvironment

Business Modeling

ImplementationTest

Analysis & Design

Preliminary Iteration(s)

Iter.#1

PhasesProcess Disciplines

Iterations

Supporting Disciplines

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Deployment

Configuration&Change Mgmt

Requirements

Elaboration TransitionInception Construction

IBM Software Group

8

Business Modeling Workflow

Page 5: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

5

IBM Software Group

9

What Should Business Models Show?

Customers

Business processes

Goals

Organizational structure

Roles and responsibilities

Products

Internal deliverables

Events

Two business models: Business use-case model Business analysis model

IBM Software Group

10

Core business processes for a generic software solution vendor

Support Customer

Customer

VendorDevelop Product

Market and Sell ProductRegulatory

Body

Business Use-Case ModelBusiness actor -

represents a role played in relation to the business by someone or something.

Business use case - a sequence of actions performed in a business that produces a result of observable value to an individual actor of the business.

Customer

Business process

Page 6: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

6

IBM Software Group

11

Business Use-Case Model – Business Goals

A requirement that must be satisfied by the business

Measurable, at least at the lowest level of the goal hierarchy

IBM Software Group

12

Business Analysis Model

Structural elementsBusiness entitiesBusiness workersBusiness rulesBusiness eventsRelationshipsBusiness use-case realizationsBusiness systems

Is visualized byDynamic diagrams – the activity diagram and statechart diagramStatic diagrams – the class diagramInteractive diagrams – the collaboration diagram or sequence diagram

Page 7: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

7

IBM Software Group

13

Product

Customer Profile

Service

Order Delivery Schedule

Business Analysis Model - Business Entities

Showing products, deliverables, consumables

A "thing" handled or used by business workers

IBM Software Group

14

Sales Person Product SpecialistSolution Owner

Business Analysis Model - Business Workers

Showing roles and responsibilities

A role or set of roles in the business

A business worker interacts with other workers and manipulates business entities to participate in the realization of a business use-case

Can be human or non-human

Page 8: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

8

IBM Software Group

15

Business Events

A significant occurrence in the activities of the business that requires immediate action

Publisher Subscriber

IBM Software Group

16

Business Analysis Model - Business Use-case Realizations

There are many business workers and business entities

Business use-case realizations help us find the right ones

Business use-case realizations help us organize them

Check-In

Collaboration

: Traveler : Check-In Agent : Baggage Coordinator

: Baggage

: Baggage Tag

Business use-case realization

Page 9: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

9

IBM Software Group

17

Activity Diagrams - Swimlanes

IBM Software Group

18

Activity Diagrams – Object Flows

Page 10: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

10

IBM Software Group

19

Business Analysis Model – Business Systems

Encapsulates a set of roles and resources that together fulfill a specific purpose

Represent an independent capability within a business

Have interfaces, which represent services that can be provided

Contains people, hardware, and software

IBM Software Group

20

What Is Different ?

Business modeling in the RUP does not prescribe functional decomposition or workflow breakdown

Uses the Unified Modeling Language

UML business modeling supports an iterative and incremental lifecycleNo other technique allows you to effectively model partial purpose,

process, structure and behavior all at the same time and yet still maintain a bird's eye-view

Functional decompositioning is the breaking down of a problem in to small parts. The context for one part is difficult to comprehend.

Page 11: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

11

IBM Software Group

21

The Advantage

A straightforward trace from business models to systems

Supports iterative business modeling

Emphasizes roles before workflow – a more intuitive way of defining business processes

Consistent terminology and approach to software development – a common language throughout the organization

OO gives small semantic gap between classes & objects in the model and phenomena in the real world

IBM Software Group

22

Example

Clerk Money Transaction 1 Money Transaction 2 Loan Spe cialis tUse-Case Model

Step 1

Business Use-Case Model

Business Object Model

Custom er Money Trans action

: Customer : Clerk

: Custom er P rofile : Account : Loan

: Loan Specialist

Use-Case ModelStep 2 Cus tomer Money Transaction 1.1 Loa n Spec ialis tMoney Transaction 2

AnalysisModel Customer P rofi le LoanAccount

Page 12: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

12

IBM Software Group

23

Business Models & System Architecture

Business Specific

Middleware

SystemSoftware

ApplicationSubsystems

Business Use Cases Business Workers

Business Entities

IBM Software Group

24

Sources of System Requirements

Business Specific

Middleware

System Software

Application Subsystems

Business Models

Analysis of Business Models

Existing ’legacy’ systemsStandards

Architecture issues

Business driversInnovation

Page 13: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

13

IBM Software Group

25

Establish Relationships

Shopping cart

Online ordering

Submit order UC

Traceability links related artifacts

Business Needsdrive

Product Featuresthat drive

Software Requirementsthat developers

Design and Codeand testers

Test

OrderForm, OrderValidatorEJB,...

InvalidAddress, BankSystemDown, etc...

IBM Software Group

26

Agenda

Characteristics of e-Business Development

Business Modeling with RUP and UML

Rational Tools for e-Business Development

Page 14: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

14

IBM Software Group

27

AnalystAnalyst ArchitectArchitect DeveloperDeveloper TesterTester

Rapidly construct, transform,integrate

and generate

code

Rapidly construct, transform,integrate

and generate

code

Design, create,

and execute

tests

Design, create,

and execute

tests

Model, simulate, assemble,

and monitor processes

Model, simulate, assemble,

and monitor processes

Visuallymodel

applications and data

Visuallymodel

applications and data

Provision, configure, tune and

troubleshoot applications

Provision, configure, tune and

troubleshoot applications

Follow a common processManage and measure projects and portfoliosManage requirements

Follow a common processManage and measure projects and portfoliosManage requirements

Manage changeand assetsManage quality

Manage changeand assetsManage qualityProject

ManagerProject

Manager

ExecutiveExecutiveAlign investments with business objectivesAnalyze and monitor project portfoliosAlign investments with business objectivesAnalyze and monitor project portfolios

Deployment Manager

Deployment Manager

The IBM Software Development PlatformA complete, open, modular, and proven solution

IBM Software Group

28

CustomerExtensions

3rd PartyISV Tools

Rational Software Architect

Rational Software Architect

Rational Application Developer

Rational Application Developer

Rational Functional & Manual

Tester

Rational Functional & Manual

Tester

Rational Performance

Tester

Rational Performance

Tester

Rational Team Unifying PlatformRational Team Unifying Platform

Tivoli Configuration

Manager

Tivoli Configuration

Manager

WebSphereBusiness

IntegrationModeler

& Monitor

WebSphereBusiness

IntegrationModeler

& MonitorTivoli

MonitoringTivoli

MonitoringRational

Web Developer

Rational Web

Developer

AnalystAnalyst ArchitectArchitect DeveloperDeveloper TesterTester Deployment Manager

Deployment Manager

Project ManagerProject

Manager

ExecutiveExecutive Rational Portfolio ManagerRational Portfolio Manager

Rational Software Modeler

Rational Software Modeler

The IBM Software Development PlatformA complete, open, modular, and proven solution

Page 15: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

15

IBM Software Group

29

Model the BusinessModel the Business Define

RequirementsDefine

Requirements

Analyze& DesignAnalyze

& Design

ImplementImplement

TestTestDeployDeploy

ManageManage

OptimizeOptimize

The business-driven development lifecycle

Executive

Application Support

ArchitectProject Manager

Tester

Deployment Manager

Developer

BusinessBusiness

DevelopmentDevelopmentOperationsOperations

Manage change& assets

Manage change& assets

Prioritize Plan Manage Measure

Optimize Iterate

End User

Operations Manager

AnalystGovernGovern

IBM Software Group

30

IBM WebSphere Business Integration ModelerIBM Rational Software Architect

Analyst models “as is”business process and explores alternative “to be”business processes

Analyst models “as is” and “to be” user interactions through use cases

Step one: Model the businessDocument business processes and user interactions

Page 16: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

16

IBM Software Group

31

Step two: Define business requirements

Analyst defines business requirements and refines them into software requirements and use cases

IBM Rational RequisitePro

IBM Software Group

32

Step three: Analyze and design applicationMinimize risks by understanding architectural dependencies

Architect imports business processes and refines application design, based on best practices, and existing assets

Architect models operational model

IBM Rational Software Architect

Page 17: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

17

IBM Software Group

33

Step four: Implement applicationBuild higher quality applications in less time

Developer leverages code analysis & unit testing to fix functional, performance, and security problems at the component level

IBM Rational Application Developer

Developer implements application leveraging highly productive J2EE capabilities (JSF, SDO)

IBM Software Group

34

Step five: Test applicationValidate functional requirements

Tester performs automated and manual functional testing based on use cases derived from business requirements

IBM Rational Functional TesterIBM Rational Manual Tester

Deployment Manager leverages operational model to provision the test lab

Page 18: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

18

IBM Software Group

35

Step six: DeployPlan capacity and ensure compliance with Service Level Agreements

Tester evaluates the scalability of the new application based on Service Level Agreements captured in business model

Deployment team builds capacity plans based on performance tests

IBM WebSphere Studio Application MonitorIBM Rational Performance Tester

IBM Software Group

36

Step seven: ManageMonitor service levels with a centralized view into your network, systems, middleware, and application performance

Operations Manager monitors application performance and is automatically notified of problems, enabling fast triage to the right stakeholders (application, DB, network, etc.)

IBM Tivoli Enterprise ConsoleIBM Tivoli Monitoring for Transaction Performance

Page 19: IBM Poutanen 3 - Jyväskylän yliopisto · Rational Software Architect Rational Application Developer Rational Functional & Manual Tester Rational Performance Tester Rational Team

19

IBM Software Group

37

Step eight: OptimizeVerify delivery of expected benefits; fine-tune business processes and iteratively improve business performance

Analyst compares projected to actual improvement in business performance, and fine-tunes business process to optimize results

IBM WebSphere Business Integration Monitor

IBM Software Group

38

Throughout: Prioritize, plan, and manageAlign priorities, projects and people

For executivesVisualize and balance portfoliosMake objective “save/kill” decisionsMove smoothly from initiatives to measurable programs and projects

For project and program managersQuickly ramp projects with reusable processes based on best practicesBalance workload and manage demandManage skills inventory and usageActively manage risks and issues

For team membersCommunicate, coordinate and collaborate globally

IBM Rational Portfolio Manager

Scope Management

Proposal Management

Portfolio Management

Resource Management

Project Management

Work Management

Time & Expense Tracking

Exception Management

Service Request Management

Issues Management

Rational Portfolio Manager