arch-05 application prophecy uml 101 peter varhol principal product manager

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

Upload: savanah-kinsey

Post on 14-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

ARCH-05Application Prophecy

UML 101

Peter VarholPrincipal Product Manager

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

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

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?

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

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

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

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

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

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

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

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

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

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

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

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 ()

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

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

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

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

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

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

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

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

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

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

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

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

29 ARCH-05 UML 101© 2005 Progress Software Corporation

Questions?

30 ARCH-05 UML 101© 2005 Progress Software Corporation

Thank you for your time!

31 ARCH-05 UML 101© 2005 Progress Software Corporation