(microsoft powerpoint - arch.ppt [s\363lo lectura])
TRANSCRIPT
![Page 1: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/1.jpg)
Software Architecture
and the UML
Grady Booch
![Page 2: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/2.jpg)
2
Architecting a dog house
Can be built by one person
Requires
Minimal modeling
Simple process
Simple tools
![Page 3: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/3.jpg)
3
Architecting a house
Built most efficiently and timely by a team
Requires
Modeling
Well-defined process
Power tools
![Page 4: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/4.jpg)
4
Architecting a high rise
![Page 5: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/5.jpg)
5
Early architecture
Progress- Limited knowledge of theory
![Page 6: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/6.jpg)
6
Modern architecture
Progress- Advances in materials- Advances in analysis
Scale- 5 times the span of the Pantheon- 3 times the height of Cheops
![Page 7: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/7.jpg)
7
Modeling a house
![Page 8: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/8.jpg)
8
Movements in civil architecture
� Bronze age/Egyptian (Imhotep)
� Grecian/Roman (Vitruvius)
� Byzantine/Romanesque
� Gothic
� Mannerism (Michelangelo, Palladio)
� Baroque
� Engineering/Rational/National/Romantic
� Art noveau
� Modern movement (Wright, LeCorbusier)
Progress- Imitation of previous efforts- Learning from failure- Integration of other forces- Experimentation
![Page 9: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/9.jpg)
9
Kinds of civil architecture
� Community
- houses, flats and apartments, gardens,
education, hospitals, religion
� Commerce
- shops and stores, restaurants, hotels, office
buildings, banks, airports
� Industry
- industrial buildings, laboratories, farm buildings
� Leisure
- sport, theaters and cinemas, museums
Neufert Architect’s Data
The Handbook of Building Types
![Page 10: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/10.jpg)
10
Forces in civil architecture
Avoiding failure- Safety factors- Redundancy- Equilibrium
Compression
Load
Tension
Load
Kinds of loads- Dead loads- Live loads- Dynamic loads
Any time you depart from established practice, make ten times theeffort, ten times the investigation. Especially on a very large project.- LeMessuier
![Page 11: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/11.jpg)
11
Shearing layers of change
Site
Skin
Structure
Services
Space plan
Stuff
Brand, How Buildings Learn
![Page 12: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/12.jpg)
12
Dimensions of software complexity
Higher technical complexity- Embedded, real-time, distributed, fault-tolerant- Custom, unprecedented, architecture reengineering- High performance
Lower technical complexity- Mostly 4GL, or component-based- Application reengineering- Interactive performance
Highermanagement complexity- Large scale- Contractual- Many stake holders- “Projects”
Lowermanagement complexity- Small scale- Informal- Single stakeholder- “Products”
DefenseMIS System
Defense Weapon SystemTelecom
Switch
CASE Tool
National Air TrafficControl System
Enterprise IS(Family of ISApplications)
CommercialCompiler
BusinessSpreadsheet
IS ApplicationDistributed Objects
(Order Entry)
Small ScientificSimulation
Large-ScaleOrganization/Entity
Simulation
An average software project:- 5-10 people- 10-15 month duration- 3-5 external interfaces- Some unknowns & risks
EmbeddedAutomotive Software
IS ApplicationGUI/RDB
(Order Entry)
Walker Royce
![Page 13: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/13.jpg)
13
Forces in Software
Technology churn
Our enemy is complexity, and it’s our goal to kill it.Jan Baan
Performance Throughput
Capacity
Availability
Fail safe
Fault tolerance
Functionality
Cost Compatibility
Resilience
The challenge over the next 20 years will not be speed or cost or performance;it will be a question of complexity.Bill Raduchel, Chief Strategy Officer, Sun Microsystems
![Page 14: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/14.jpg)
14
The domain of architecting
ArchitectureQualities
Process
Architecture Representation
The “what” The “why”
The “how”The “who”
SystemFeatures
Architecture S/W Requirements
SystemQuality Attributes
Satisfies
Constrain
Organization
Architect
Skills
Stakeholders
Defines role
Produces
Follows
DefinesTechnology
Wojtek Kozaczynski
![Page 15: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/15.jpg)
15
We all know that ...
Architecture and design are the same thing
Architecture and infrastructure are the same thing
<my favorite technology> is the architecture
A good architecture is the work of a single architect
Architecture is flat, one blueprint is enough
Architecture is just structure
System architecture precedes software architecture
Architecture cannot be measured and validated
Architecture is a Science
Architecture is an Art
Philippe Kruchten
![Page 16: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/16.jpg)
16
Architecture defined (again)
Architecture n (1555) 1: the art of science of
building, specifically, the art or practice of
designing and building structures and esp.
habitable ones 2 a: formation or
construction as or as if as the result of
conscious act <the ~ of the garden> b: a
unifying or coherent form or structure <the
novel lacks ~>
Merriam Webster’s Collegiate Dictionary
10th edition
![Page 17: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/17.jpg)
17
Architecture defined (yet again)
� Software architecture encompasses the set
of significant decisions about the
organization of a software system
- selection of the structural elements and their
interfaces by which a system is composed
- behavior as specified in collaborations among
those elements
- composition of these structural and behavioral
elements into larger subsystem
- architectural style that guides this organization
Mary Shaw, CMU
Grady Booch,
Philippe Kruchten,
Rich Reitman
Kurt Bittner, Rational
![Page 18: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/18.jpg)
18
Architecture defined (continued)
� Software architecture also involves
- usage
- functionality
- performance
- resilience
- reuse
- comprehensibility
- economic and technology constraints and
tradeoffs
- aesthetic concerns
Mary Shaw, CMU
Grady Booch,
Philippe Kruchten,
Rich Reitman
Kurt Bittner, Rational
![Page 19: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/19.jpg)
19
Architectural style
� An architecture style defines a family of
systems in terms of a pattern of structural
organization.
� An architectural style defines
- a vocabulary of components and connector
types
- a set of constraints on how they can be
combined
- one or more semantic models that specify how
a system’s overall properties can be
determined from the properties of its parts
Mary Shaw, CMU
![Page 20: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/20.jpg)
20
Architecture metamodel
Software
Architecture
Software
Architecture
Description
Architectural
view
is made of
is represented by
Architecture
Design Process
produces
Form
Component
Connection
Architectural
Pattern
is a
is made of
Software
Architects
are actors in
Logical view
Process
view
Implemen-
tation view
Deployment
view
Requirements
satisfies
Architectural style
has
has
has
is a
System
architecture
is part
of
Architecture
Style guide
Constraints
constrains
constrains
Use case
view
relates to
Architectural
Blueprint
depicts
![Page 21: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/21.jpg)
21
Models
� Models are the language of designer, in many disciplines
� Models are representations of the system to-be-built or as-built
� Models are vehicle for communications with various stakeholders
� Visual models, blueprints
� Scale
� Models allow reasoning about some characteristic of the real system
![Page 22: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/22.jpg)
22
Many stakeholders, many views
� Architecture is many things to many different interested parties- end-user- customer- project manager- system engineer- developer- architect- maintainer- other developers
� Multidimensional reality
� Multiple stakeholders
multiple views, multiple blueprints
![Page 23: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/23.jpg)
23
Architectural view
� An architectural view is a simplified
description (an abstraction) of a system
from a particular perspective or vantage
point, covering particular concerns, and
omitting entities that are not relevant to this
perspective
![Page 24: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/24.jpg)
24
Architecturally significant elements
� Not all design is architecture
� Main “business” classes
� Important mechanisms
� Processors and processes
� Layers and subsystems
� Architectural views = slices through models
![Page 25: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/25.jpg)
25
Characteristics of a Good Architecture
� Resilient
� Simple
� Approachable
� Clear separation of concerns
� Balanced distribution of responsibilities
� Balances economic and technology
constraints
![Page 26: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/26.jpg)
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
![Page 27: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/27.jpg)
27
Relation Between Views
αααα
ββββ
Logical view Component view
Process view
Deployment view
![Page 28: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/28.jpg)
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 29: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/29.jpg)
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 30: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/30.jpg)
30
Creating the UML
Booch method OMT
Unified Method 0.8OOPSLA ´95
OOSEOther methods
UML 0.9Web - June ´96
public
feedback
Final submission to OMG, Sep ‘97
First submission to OMG, Jan ´97
UML 1.1
OMG Acceptance, Nov 1997
UML 1.3
UML 1.0UML partners
![Page 31: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/31.jpg)
31
UML Partners
� Rational Software Corporation
� Hewlett-Packard
� I-Logix
� IBM
� ICON Computing
� Intellicorp
� MCI Systemhouse
� Microsoft
� ObjecTime
� Oracle
� Platinum Technology
� Taskon
� Texas Instruments/Sterling Software
� Unisys
![Page 32: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/32.jpg)
32
Meyer
Before and after
conditions
Harel
Statecharts
Gamma, et al
Frameworks and patterns,
HP Fusion
Operation descriptions and
message numbering
Embley
Singleton classes and
high-level view
Wirfs-Brock
Responsibilities
Odell
Classification
Shlaer - Mellor
Object lifecycles
Rumbaugh
OMT
Booch
Booch method
Jacobson
OOSE
Contributions to the UML
![Page 33: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/33.jpg)
33
Overview of the UML
� The UML is a language for
- visualizing
- specifying
- constructing
- documenting
the artifacts of a software-intensive system
![Page 34: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/34.jpg)
34
Overview of the UML
� Modeling elements
� Relationships
� Extensibility Mechanisms
� Diagrams
![Page 35: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/35.jpg)
35
Modeling Elements
� Structural elements
- class, interface, collaboration, use case,
active class, component, node
� Behavioral elements
- interaction, state machine
� Grouping elements
- package, subsystem
� Other elements
- note
![Page 36: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/36.jpg)
36
Relationships
� Dependency
� Association
� Generalization
� Realization
![Page 37: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/37.jpg)
37
Extensibility Mechanisms
� Stereotype
� Tagged value
� Constraint
![Page 38: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/38.jpg)
38
Models, Views, and Diagrams
Use CaseDiagramsUse CaseDiagramsUse CaseDiagrams
ScenarioDiagramsScenarioDiagramsCollaborationDiagrams
StateDiagramsStateDiagramsComponentDiagrams
ComponentDiagramsComponentDiagramsDeploymentDiagrams
StateDiagramsStateDiagramsObjectDiagrams
ScenarioDiagramsScenarioDiagramsStatechartDiagrams
Use CaseDiagramsUse CaseDiagramsSequenceDiagrams
StateDiagramsStateDiagramsClassDiagrams
ActivityDiagrams
A model is a complete
description of a system
from a particular
perspective
Models
![Page 39: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/39.jpg)
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 40: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/40.jpg)
40
Use Case Diagram
� Captures system functionality as seen by
users
![Page 41: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/41.jpg)
41
Use Case Diagram
� Captures 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 42: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/42.jpg)
42
Class Diagram
� Captures the vocabulary of a system
![Page 43: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/43.jpg)
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 44: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/44.jpg)
44
Object Diagram
� Captures instances and links
![Page 45: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/45.jpg)
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 46: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/46.jpg)
46
Component Diagram
� Captures the physical structure of the
implementation
![Page 47: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/47.jpg)
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 48: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/48.jpg)
48
Deployment Diagram
� Captures the topology of a system’s
hardware
![Page 49: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/49.jpg)
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 50: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/50.jpg)
50
Sequence Diagram
� Captures dynamic behavior (time-oriented)
![Page 51: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/51.jpg)
51
Sequence Diagram
� Captures dynamic behavior (time-oriented)
� Purpose
- Model flow of control
- Illustrate typical scenarios
![Page 52: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/52.jpg)
52
Collaboration Diagram
� Captures dynamic behavior (message-
oriented)
![Page 53: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/53.jpg)
53
Collaboration Diagram
� Captures dynamic behavior (message-
oriented)
� Purpose
- Model flow of control
- Illustrate coordination of object structure and
control
![Page 54: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/54.jpg)
54
Statechart Diagram
� Captures dynamic behavior (event-
oriented)
![Page 55: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/55.jpg)
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 56: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/56.jpg)
56
Activity Diagram
� Captures dynamic behavior (activity-oriented)
![Page 57: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/57.jpg)
57
Activity Diagram
� Captures dynamic behavior (activity-oriented)
� Purpose
- Model business workflows
- Model operations
![Page 58: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/58.jpg)
58
Architecture and the UML
Organization
Package, subsystem
Dynamics
Interaction
State machine
Design View Implementation View
Process View
ComponentsClasses, interfaces,
collaborations
Active classes
Deployment View
Nodes
Use Case View
Use cases
![Page 59: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/59.jpg)
59
Software engineering process
A set of partially ordered steps intended to
reach a goal. In software engineering the
goal is to build a software product or to
enhance an existing one.
� Architectural process
- Sequence of activities that lead to the
production of architectural artifacts: A software architecture description
An architectural prototype
![Page 60: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/60.jpg)
60
Rational Unified Process
� Iterative
� Architecture-centric
� Use-case driven
� Risk confronting
![Page 61: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/61.jpg)
61
Focus over time
Discovery Invention
Focus
Implementation
![Page 62: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/62.jpg)
62
Key concepts
� Phase, Iterations
� Process Workflows
- Activity, steps
� Artifacts
- models
- reports, documents
� Worker: Architect
What does What does happen?happen?
What is What is produced?produced?
Who does Who does it?it?
When does When does architecture happen?architecture happen?
![Page 63: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/63.jpg)
63
Lifecycle Phases
time
Inception Elaboration Construction Transition
� Inception Define the scope of the project and
develop business case
� Elaboration Plan project, specify features, and
baseline the architecture
� Construction Build the product
� Transition Transition the product to its users
![Page 64: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/64.jpg)
64
Major Milestones
time
Vision Baseline
Architecture
Initial
Capability
Product
Release
Inception Elaboration Construction Transition
![Page 65: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/65.jpg)
65
Phases and Iterations
An iteration is a sequence of activities with an established plan and
evaluation criteria, resulting in an executable release
Arch
Iteration
... Dev
Iteration
Dev
Iteration
... Trans
Iteration
...
Release Release Release Release Release Release Release Release
Prelim
Iteration
...
Inception Elaboration Construction Transition
![Page 66: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/66.jpg)
66
Architecture-Centric
� Models are vehicles for visualizing, specifying,
constructing, and documenting architecture
� The Unified Process prescribes the
successive refinement of an executable
architecture
time
Architecture
Inception Elaboration Construction Transition
![Page 67: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/67.jpg)
67
Unified Process structure
Management
Environment
Business Modeling
Implementation
Test
Analysis & Design
Preliminary Iteration(s)
Iter.#1
Phases
Process Workflows
Iterations
Supporting Workflows
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Configuration Mgmt
Requirements
Elaboration TransitionInception Construction
![Page 68: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/68.jpg)
68
Architecture and Iterations
Use caseModel
DesignModel
DeploymentModel
TestModel
ImplementationModel
Content
![Page 69: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/69.jpg)
69
Architectural design
� Identify, select, and validate
“architecturally significant” elements
� Not everything is architecture
- Main “business” classes
- Important mechanisms
- Processors and processes
- Layers and subsystems
- Interfaces
� Produce a Software Architecture Documen
![Page 70: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/70.jpg)
70
Architectural design workflow
� Select scenarios: criticality and risk
� Identify main classes and their responsibility
� Distribute behavior on classes
� Structure in subsystems, layers, define interfaces
� Define distribution and concurrency
� Implement architectural prototype
� Derive tests from use cases
� Evaluate architectureIterate
Use case view
Logical view
Deployment view
Implementation view
Process view
![Page 71: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/71.jpg)
71
Sources of architecture
Theft
Method
Intuition
Classical system Unprecedented system
Theft
Method
Intuition
![Page 72: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/72.jpg)
72
Patterns
� A pattern is a solution to a problem in a
context
� A pattern codifies specific knowledge
collected from experience in a domain
� All well-structured systems are full of
patterns
- Idioms
- Design patterns
- Architectural patterns
![Page 73: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/73.jpg)
73
Mechanisms
� Screws •••• Brakes
� Keys •••• Pipes
� Rivets •••• Valves
� Bearings •••• Springs
� Pins, axles, shafts •••• Cranks and rods
� Couplings •••• Cams
� Ropes, belts, and chains •••• Pulleys
� Friction wheels •••• Engaging gears
� Toothed wheels
� Flywheels
� Levers and connecting rods
� Click wheels and gears
� Ratchets
daVinci
![Page 74: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/74.jpg)
74
Design patterns
� Creational patterns- Abstract factory
- Prototype
� Structural patterns- Adapter
- Bridge
- Proxy
� Behavioral patterns- Chain of responsibility
- Mediator
- Visitor
� Mechanisms are the soul of an architecture
Design Patterns
Gamma et al
![Page 75: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/75.jpg)
75
Modeling a design pattern
![Page 76: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/76.jpg)
76
Modeling a design pattern (cont.)
![Page 77: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/77.jpg)
77
Modeling a design pattern (cont.)
![Page 78: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/78.jpg)
78
Architectural patterns
� Distributed •••• Layered
� Event-driven •••• MVC
� Frame-based •••• IR-centric
� Batch •••• Subsumption
� Pipes and filters •••• Disposable
� Repository-centric
� Blackboard
� Interpreter
� Rule-based
Software Architecture
Shaw and Garlan
Buschmann et al
A System of Patterns
Buschman et al
Booch
![Page 79: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/79.jpg)
79
Complex business systemReal-Life Object-oriented Systems
Soren Lauesen
SQL Database
Middle layer
GUI layer
S erviceAgent
purchase(customer, product, items)
Customer
name : String
Address : String
save()
Customer
name : Str ing
Address : Str ing
save()
get Name()
updateName()
Customer Order Line
**
Product
**
O rder L ine
items : Product
get Name()
updateName()
Observer
update()
Order
date : Date
Product
name : Str ing
pr ice : Currency
ge tName()
updateName()
Sales
product : Product
![Page 80: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/80.jpg)
80
Logical application architecture
Relational
Database
Graphical
User
Interface
Relational
Database
Graphical
User
Interface
Business
Object
Model
Graphical
User
Interface
Business
Object
Model
Relational
Database
![Page 81: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/81.jpg)
81
Physical application architecture
Relational Database Server(s)
Client C
WWW Browser
Web
ServerHTML
CGIASP Java
Business Object
Services
Business Object
Engine
Application
Business Object
Services
Client A
Business Object
Engine
Thinner client, thicker server
Client BApplication
Business Object
Services
Business Object
Engine
Business
Object Server
DCOM
ADO/RCORBA Beans
COM
MTS
Beans
ETS
![Page 82: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/82.jpg)
82
Complex Internet systemThe Second Wave
Paul Dreyfus, Netscape
Client
Server
ApplicationServer
FulfillmentSystem
FinancialSystem
InventorySystem
RDBMSServer
Dynamic HTML, JavaScript, Javaplug-ins, source code enhancements
Java, C, C++, JavaScript, CGI
Java, C, C++, JavaBeans, CORBA, DCOM
Native languages
![Page 83: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/83.jpg)
83
Who are the architects?
� Experience
- software development
- domain
� Pro-active, goal oriented
� Leadership, authority
� Architecture team
- balance
![Page 84: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/84.jpg)
84
Architect
� Not just a top level designer Need to ensure feasibility
� Not the project manager But “joined at the hip”
� Not a technology expert Purpose of the system, “fit”,
� Not a lone scientist Communicator
![Page 85: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/85.jpg)
85
Software architecture team charter
� Defining the architecture of the software
� Maintaining the architectural integrity of the software
� Assessing technical risks related to the software design
� Proposing the order and contents of the successive iterations
� Consulting services
� Assisting marketing for future product definition
� Facilitating communications between project teams
![Page 86: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/86.jpg)
86
Architecture is making decisions
The life of a software architect is a long
(and sometimes painful) succession of
suboptimal decisions made partly in the
dark.
![Page 87: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/87.jpg)
87
Futures
� ADL: Architecture Description Languages
- UML, UniCon, LILEAnna, P++, LEAP, Wright,
µRapid
� Standardization of concepts
- IEEE Working Group on Architecture
- INCOSE Working Group on System
Architecture
� Systematic capture of architectural patterns
![Page 88: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/88.jpg)
88
References (Architecture)
� Len Bass, Paul Clements & Rick Kazman, Software Architecture in
Practice, Addison-Wesley, 1998.
� Frank Buschmann, Régine Meunier, Hans Rohnert, Peter Sommerlad,
and Michael Stahl, Pattern-Oriented Software Architecture - A
System of Patterns, Wiley and Sons, 1996.
� Christine Hofmeister, Robert Nord, Dilip Soni, Applied Software
Architecture, Addison-Wesley 1999.
� Eric Gamma, John Vlissides, Richard Helm, Ralph Johnson, Design
Patterns, Addison-Wesley 1995.
� Philippe Kruchten, “The 4+1 View Model of Architecture,” IEEE
Software, 12 (6), November 1995, IEEE. - http://www.rational.com/support/techpapers/ieee/
� Eberhardt Rechtin, Systems Architecting: Creating and Building
Complex Systems, Englewood Cliffs NJ, Prentice-Hall, 1991.
![Page 89: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/89.jpg)
89
References (Architecture)
� Eberhardt Rechtin & Mark Maier, The Art of System
Architecting, CRC Press, 1997.
� Recommended Practice for Architectural Description, Draft 2.0 of
IEEE P1471, May 1998
- http://www.pithecanthropus.com/~awg/
� Mary Shaw, and David Garlan, Software Architecture—
Perspectives on an Emerging Discipline, Upper Saddle River,
NJ, Prentice-Hall, 1996.
� Bernard I. Witt, F. Terry Baker, and Everett W. Merritt, Software
Architecture and Design—Principles, Models, and Methods,
New York NY, Van Nostrand Reinhold, 1995.
� The World-wide Institute of Software Architects
- http://www.wwisa.org
![Page 90: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/90.jpg)
90
References (UML)
� Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified
Modeling Language User Guide, Addison-Wesley, 1999.
![Page 91: (Microsoft PowerPoint - arch.ppt [S\363lo lectura])](https://reader031.vdocuments.us/reader031/viewer/2022030319/5868c0501a28ab917d8b5d4d/html5/thumbnails/91.jpg)
91
References (Process)
� Barry Boehm, “A spiral model of software development and
enhancement,” IEEE Computer, May 1998.
� Barry Boehm, “Anchoring the software process,” IEEE
Software, July 1996.
� Grady Booch, Object Solutions, Addison-Wesley, 1995.
� Philippe Kruchten, “A Rational Development Process,”
CrossTalk, July 1996.- http://www.rational.com/support/techpapers/devprcs/
� Philippe Kruchten, The Rational Unified Process - An
Introduction, Addison-Wesley, 1999.
� Rational Unified Process 5.0, Rational, Cupertino, CA, 1998
� Walker Royce, Software Project Management: a Unified
Framework, Addison-Wesley, 1998
� The Software Program Manager’s Network
- http://www.spmn.com