representing system architecture

32
26 Representing System Architecture Logical View End-user Functionality Implementation View Programmers Software management Process View Performance Scalability Throughput System integrators Deployment View System topology Delivery, installation Communication System engineering Conceptual Physical Use Case View

Upload: others

Post on 12-Sep-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Representing System Architecture

26

Representing System Architecture

Logical View

End-user Functionality

Implementation View

ProgrammersSoftware management

Process View

PerformanceScalabilityThroughput

System integrators

Deployment View

System topologyDelivery, installation

Communication

System engineering

Conceptual Physical

Use Case View

Page 2: Representing System Architecture

28

How many views?

Simplified models to fit the context

Not all systems require all views:

- Single processor: drop deployment view

- Single process: drop process view

- Very Small program: drop implementation view

Adding views:

- Data view, security view

Page 3: Representing System Architecture

29

The Value of the UML

Is an open standard

Supports the entire software development lifecycle

Supports diverse applications areas

Is based on experience and needs of the user community

Supported by many tools

Page 4: Representing System Architecture

30

Creating the UML

Booch method OMT

Unified Method 0.8OOPSLA ´95

OOSEOther methods

UML 0.9Web - June ´96

publicfeedback

Final submission to OMG, Sep ‘97

First submission to OMG, Jan ´97UML 1.1

OMG Acceptance, Nov 1997UML 1.3

UML 1.0UML partners

Page 5: Representing System Architecture

31

UML PartnersRational Software CorporationHewlett-PackardI-LogixIBMICON ComputingIntellicorpMCI SystemhouseMicrosoftObjecTimeOraclePlatinum TechnologyTaskonTexas Instruments/Sterling SoftwareUnisys

Page 6: Representing System Architecture

32

Meyer

Before and after conditions

Harel

StatechartsGamma, et al

Frameworks and patterns,

HP Fusion

Operation descriptions and message numbering

Embley

Singleton classes andhigh-level view

Wirfs-Brock

Responsibilities

Odell

Classification

Shlaer - Mellor

Object lifecycles

Rumbaugh

OMT

Booch

Booch method

Jacobson

OOSE

Contributions to the UML

Page 7: Representing System Architecture

33

Overview of the UML

The UML is a language for- visualizing- specifying- constructing- documenting

the artifacts of a software-intensive system

Page 8: Representing System Architecture

34

Overview of the UML

Modeling elements

Relationships

Extensibility Mechanisms

Diagrams

Page 9: Representing System Architecture

35

Modeling ElementsStructural elements- class, interface, collaboration, use case,

active class, component, node

Behavioral elements- interaction, state machine

Grouping elements- package, subsystem

Other elements- note

Page 10: Representing System Architecture

36

Relationships

Dependency

Association

Generalization

Realization

Page 11: Representing System Architecture

37

Extensibility MechanismsStereotypeTagged valueConstraint

Page 12: Representing System Architecture

38

Models, Views, and Diagrams

Use CaseDiagramsUse Case

DiagramsUse CaseDiagrams

ScenarioDiagramsScenario

DiagramsCollaborationDiagrams

StateDiagramsState

DiagramsComponentDiagrams

ComponentDiagramsComponent

DiagramsDeploymentDiagrams

StateDiagramsState

DiagramsObjectDiagrams

ScenarioDiagramsScenario

DiagramsStatechartDiagrams

Use CaseDiagramsUse Case

DiagramsSequenceDiagrams

StateDiagramsState

DiagramsClassDiagrams

ActivityDiagrams

A model is a completedescription of a systemfrom a particularperspective

Models

Page 13: Representing System Architecture

39

Diagrams

A diagram is a view into a model- Presented from the aspect of a particular

stakeholder- Provides a partial representation of the system- Is semantically consistent with other views

In the UML, there are nine standard diagrams- Static views: use case, class, object,

component, deployment- Dynamic views: sequence, collaboration,

statechart, activity

Page 14: Representing System Architecture

40

Use Case Diagram

Captures system functionality as seen by users

Page 15: Representing System Architecture

41

Use Case DiagramCaptures system functionality as seen by users

Built in early stages of development

Purpose- Specify the context of a system- Capture the requirements of a system- Validate a system’s architecture- Drive implementation and generate test cases

Developed by analysts and domain experts

Page 16: Representing System Architecture

42

Class Diagram

Captures the vocabulary of a system

Page 17: Representing System Architecture

43

Class Diagram

Captures the vocabulary of a system

Built and refined throughout development

Purpose- Name and model concepts in the system- Specify collaborations- Specify logical database schemas

Developed by analysts, designers, and implementers

Page 18: Representing System Architecture

44

Object Diagram

Captures instances and links

Page 19: Representing System Architecture

45

Object Diagram

Shows instances and links

Built during analysis and design

Purpose- Illustrate data/object structures- Specify snapshots

Developed by analysts, designers, and implementers

Page 20: Representing System Architecture

46

Component Diagram

Captures the physical structure of the implementation

Page 21: Representing System Architecture

47

Component Diagram

Captures the physical structure of the implementation

Built as part of architectural specification

Purpose- Organize source code- Construct an executable release- Specify a physical database

Developed by architects and programmers

Page 22: Representing System Architecture

48

Deployment Diagram

Captures the topology of a system’s hardware

Page 23: Representing System Architecture

49

Deployment Diagram

Captures the topology of a system’s hardware

Built as part of architectural specification

Purpose- Specify the distribution of components- Identify performance bottlenecks

Developed by architects, networking engineers, and system engineers

Page 24: Representing System Architecture

50

Sequence Diagram

Captures dynamic behavior (time-oriented)

Page 25: Representing System Architecture

51

Sequence Diagram

Captures dynamic behavior (time-oriented)

Purpose- Model flow of control- Illustrate typical scenarios

Page 26: Representing System Architecture

52

Collaboration Diagram

Captures dynamic behavior (message-oriented)

Page 27: Representing System Architecture

53

Collaboration Diagram

Captures dynamic behavior (message-oriented)

Purpose- Model flow of control- Illustrate coordination of object structure and

control

Page 28: Representing System Architecture

54

Statechart Diagram

Captures dynamic behavior (event-oriented)

Page 29: Representing System Architecture

55

Statechart Diagram

Captures dynamic behavior (event-oriented)

Purpose-- Model object lifecycleModel object lifecycle-- Model reactive objects (user interfaces, Model reactive objects (user interfaces,

devices, etc.)devices, etc.)

Page 30: Representing System Architecture

56

Activity Diagram

Captures dynamic behavior (activity-oriented)

Page 31: Representing System Architecture

57

Activity Diagram

Captures dynamic behavior (activity-oriented)

Purpose- Model business workflows- Model operations

Page 32: Representing System Architecture

58

Architecture and the UML

OrganizationPackage, subsystem

DynamicsInteractionState machine

Design View Implementation View

Process View

ComponentsClasses, interfaces,collaborations

Active classes

Deployment View

Nodes

Use Case ViewUse cases