ARCH-05 Application Prophecy UML 101

31
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager

description

ARCH-05 Application Prophecy UML 101. Peter Varhol Principal Product Manager. Agenda. History and goals of UML Why learn UML Types of diagrams Diagramming in detail Applying use cases Summary and conclusions. History of UML. Diagrams became a part of software engineering practice - PowerPoint PPT Presentation

Transcript of ARCH-05 Application Prophecy UML 101

Page 1: ARCH-05 Application Prophecy UML 101

ARCH-05Application Prophecy

UML 101

Peter VarholPrincipal Product Manager

Page 2: ARCH-05 Application Prophecy UML 101

2 ARCH-05 UML 101© 2005 Progress Software Corporation

Agenda

History and goals of UML

Why learn UML

Types of diagrams

Diagramming in detail

Applying use cases

Summary and conclusions

Page 3: ARCH-05 Application Prophecy UML 101

3 ARCH-05 UML 101© 2005 Progress Software Corporation

History of UML

Diagrams became a part of software engineering practice– Flow charts– Data flow diagrams– State transition diagrams

Modern languages and design emerge (1980s) More formal and structured modeling techniques

(early 1990s)– OMT, Booch, State Charts

UML– Booch + OMT + Others

Page 4: ARCH-05 Application Prophecy UML 101

4 ARCH-05 UML 101© 2005 Progress Software Corporation

The Result

Full view of application– Fundamental views

Architecture, behavior, collaboration

– System/application states State chart, activity diagram

– Interactions and physical structures Sequence, component, deployment

– Why multiple diagrams?

Page 5: ARCH-05 Application Prophecy UML 101

5 ARCH-05 UML 101© 2005 Progress Software Corporation

Goals of UML

Provide a visual way of building and exchanging models

Provide ways to extend the core concepts Be independent of programming language

and development processes Provide a formal basis for working with

models Support higher-level development concepts

– Frameworks, patterns and components Integrate best practices

Page 6: ARCH-05 Application Prophecy UML 101

6 ARCH-05 UML 101© 2005 Progress Software Corporation

Agenda Slide

History and goals of UML

Why learn UML

Types of diagrams

Diagramming in detail

Applying use cases

Summary and conclusions

Page 7: ARCH-05 Application Prophecy UML 101

7 ARCH-05 UML 101© 2005 Progress Software Corporation

Why Learn About Modeling?

Promotes better communication earlier– Within the development team

– With customers Enables architects and designers to think

about solving the business problem– Implementation details don’t impede solution

Can produce software that better meets customers’ needs

Page 8: ARCH-05 Application Prophecy UML 101

8 ARCH-05 UML 101© 2005 Progress Software Corporation

Why Learn UML in Particular?

Becoming the de facto standard for modeling

Provides for formal modeling– Models can be proven consistent and

correct

– Models can be tested

– Accurate code generation is possible Can connect the business problem to the

technology solution

Page 9: ARCH-05 Application Prophecy UML 101

9 ARCH-05 UML 101© 2005 Progress Software Corporation

Agenda Slide

History and goals of UML

Why learn UML

Types of diagrams

Diagramming in detail

Applying use cases

Summary and conclusions

Page 10: ARCH-05 Application Prophecy UML 101

10 ARCH-05 UML 101© 2005 Progress Software Corporation

Types of Diagrams

Use case diagrams– Shows the relationship among actors and cases

Class diagrams– Show class structure and contents

Interaction diagrams– Sequence diagrams

display the time sequence of component interactions

– Collaboration diagrams display components and their links to one another

Page 11: ARCH-05 Application Prophecy UML 101

11 ARCH-05 UML 101© 2005 Progress Software Corporation

Types of Diagrams

State diagrams– Shows the sequences of states an application

goes through Activity diagrams

– Focuses on flows driven by processing Physical diagrams

– Component diagrams shows the high level structure of the code itself

– Deployment diagrams shows the configuration of elements at runtime

Page 12: ARCH-05 Application Prophecy UML 101

12 ARCH-05 UML 101© 2005 Progress Software Corporation

Agenda Slide

History and goals of UML

Why learn UML

Types of diagrams

Diagramming in detail

Applying use cases

Summary and conclusions

Page 13: ARCH-05 Application Prophecy UML 101

13 ARCH-05 UML 101© 2005 Progress Software Corporation

Use Case Diagrams

Using use case diagrams– Visualizing functional

requirements How to draw use case

diagrams– Actors and cases

Sam Service

Receive order

Check inventory

Accept order

Send confirmation

Page 14: ARCH-05 Application Prophecy UML 101

14 ARCH-05 UML 101© 2005 Progress Software Corporation

Class Diagrams

Class diagrams – describe types of components in a system and their relationships – Consist of a name,

attributes, and operations

+EnterOrder()

-Item Ordered : String-When Ordered : Date-Quantity Ordered : Integer-Ordered By : String

Receive Order

+Available() : Boolean

-Item Type : String-Quantity Available : Integer-Shipment Date : Date

Check Inventory

+DebitInventory() : Integer+ShipProduct()

-Available : Boolean

Accept Order

-Receive

-Check

-Check

-Accept

+ShipProduct() : String

-Available : Boolean-ShipDate : Date

SendConfirmation

-Accept-Confirm

Page 15: ARCH-05 Application Prophecy UML 101

15 ARCH-05 UML 101© 2005 Progress Software Corporation

Interaction Diagrams

Sequence diagrams and collaboration diagrams are used to demonstrate the interaction of components in a use case

Sequence diagrams– Components and messages/data

Customer1 Item1 Confirmation1

Message1

Inventory1

Message2 Message3

Page 16: ARCH-05 Application Prophecy UML 101

16 ARCH-05 UML 101© 2005 Progress Software Corporation

Interaction Diagrams

Collaboration diagram– Relationships

between components

– Ordering of messages

regForm : RegistrationFormapplicant : Applicant

application : Application

2: Application()

as : AppStatus

3: AppStatus()

1: registrationform()

psc : PermittedStatusChange

4: Per m

itte dSt atus C

ha nge ()

Page 17: ARCH-05 Application Prophecy UML 101

17 ARCH-05 UML 101© 2005 Progress Software Corporation

State Diagrams

State diagrams – notes changes of state in the system– Adds state, activity, and transition

CustomerCall OrderPlaced CheckInventory/ InStock

AcceptOrder SendConfirmation

RejectOrder

OrderCancelled

/ NotInStock

Page 18: ARCH-05 Application Prophecy UML 101

18 ARCH-05 UML 101© 2005 Progress Software Corporation

Activity Diagrams

Activity diagrams– Workflow and behavior

– Think of the old dataflow diagram

CustomerOrder CheckInventory

[] / NotInStock

[] / InStock

OrderCancelled

ConfirmOrder

Page 19: ARCH-05 Application Prophecy UML 101

19 ARCH-05 UML 101© 2005 Progress Software Corporation

Physical Diagrams

Physical diagrams are used when development is complete– Descriptions of physical information

– Component and deployment diagrams Component diagrams

– Dependencies among code components

Page 20: ARCH-05 Application Prophecy UML 101

20 ARCH-05 UML 101© 2005 Progress Software Corporation

Physical Diagrams

Deployment diagram– Contains nodes and connections

The two diagrams are often combined

CustomerServiceSystem

OrderComponent

InventorySystem

InventoryCheck

TCP/IP

Page 21: ARCH-05 Application Prophecy UML 101

21 ARCH-05 UML 101© 2005 Progress Software Corporation

Common Questions on UML

Why multiple diagram types?– Different views into the same application

– Mostly orthogonal

– Needed to represent very different systems Are they all necessary?

– Not for most applications

– Concentrate on the ABCs Architecture, Behavior, Collaboration

Page 22: ARCH-05 Application Prophecy UML 101

22 ARCH-05 UML 101© 2005 Progress Software Corporation

Agenda Slide

History and goals of UML

Why learn UML

Types of diagrams

Diagramming in detail

Applying use cases

Summary and conclusions

Page 23: ARCH-05 Application Prophecy UML 101

23 ARCH-05 UML 101© 2005 Progress Software Corporation

Applying UML

Always start with your use cases– Help you determine

what to build

– Establish effective communication with users

An auto dealership application

ud Business Process Model

External User

(from Actors)

Manage TestDriv e Requests

Manage Inv entory

Manage Customers

Manager

(from Actors)

Salesrep

(from Actors)

Manage Customers

Manage Inventory

Manage TestDrives

Page 24: ARCH-05 Application Prophecy UML 101

24 ARCH-05 UML 101© 2005 Progress Software Corporation

Define the Architecture

Class diagrams – How will the application be structured?– The data structure of the auto customer

Business Entities::Customer

- FirstName: CHARACTER- LastName: CHARACTER- PhoneNumber: CHARACTER- BirthDate: DATE- LicenseDate: DATE- email: CHARACTER

+ createCustomer() : LOGICAL+ deleteCustomer() : LOGICAL+ updateCustomer() : LOGICAL+ getCustomerList() : CHARACTER+ findCustomer() : CHARACTER+ validateCustomer() : LOGICAL

Architecture Entities::Language

- Language: CHARACTER- Description: CHARACTER

Page 25: ARCH-05 Application Prophecy UML 101

25 ARCH-05 UML 101© 2005 Progress Software Corporation

Look at Application Behavior

Activity diagram– Steps in requesting a

test drive

Start Create Testdrive Request

Enter Customer Details

Select Car

Select Requested Date

Finish Create Testdrive Request

Brwose Inventory

Page 26: ARCH-05 Application Prophecy UML 101

26 ARCH-05 UML 101© 2005 Progress Software Corporation

Study Collaboration Between Components

Collaboration diagrams show interactions– How the auto dealer

application components work together

Presentation

+ UI Components

+ UI Controllers

+ UI Model

Enterprise Services

+ Enterprise Service Bus

+ Integration Adapters

Business Services Layer

+ Business Entities

+ Business Service Interface

+ Business Task

+ Business Workflow

DataAccess Layer

+ DataAccess Services

+ Persistent Storage Services

DataStore

+ Managed DataStore

+ UnManaged DataStore

Page 27: ARCH-05 Application Prophecy UML 101

27 ARCH-05 UML 101© 2005 Progress Software Corporation

Applying UML

You have enough to get started coding– Involve other diagrams when different

views are needed

– Don’t hesitate to modify or add a view if the situation requires

These are living diagrams The purpose is to communicate

Page 28: ARCH-05 Application Prophecy UML 101

28 ARCH-05 UML 101© 2005 Progress Software Corporation

In Summary

Using UML helps create applications that achieve important business goals– Better meet customer needs

– Higher quality application

– Better communication between designers, developers, and customers

Page 29: ARCH-05 Application Prophecy UML 101

29 ARCH-05 UML 101© 2005 Progress Software Corporation

Questions?

Page 30: ARCH-05 Application Prophecy UML 101

30 ARCH-05 UML 101© 2005 Progress Software Corporation

Thank you for your time!

Page 31: ARCH-05 Application Prophecy UML 101

31 ARCH-05 UML 101© 2005 Progress Software Corporation