SlideShare a Scribd company logo
1
1. Introduction
2. IEEE Recommended Practice for Architecture
Modeling
3. Architecture Description Language: the UML
4. The Rational Unified Process (RUP)
Chap 1. Introduction to Software
Architecture
2
1. Introduction
Preamble
“Conventional wisdom has been to use terms like ‘software architecture’,
‘software architectural design’, or ‘coarse-grained design’ for the high-level
structural subdivision of a system, and ‘design’ or ‘detailed design’ for more
detailed planning… we denote the whole activity of constructing a software
system as ‘software design’ and the resulting artifacts as ‘software architecture’.”
“Many developers nowadays prefer the term ‘software architecture’ to ‘software
design’ for denoting all the artifacts that result from design activities.”
“In doing so, they want to express the fact that they do not just decompose the
functionality of a system into a set of cooperating components, but rather that
they construct a software architecture… They no longer agree that high-level
design decisions can be made independently of lower-level decisions.”
From “Pattern-Oriented Software Architecture, A System of Patterns”
By F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal
3
Software Architecture as a Design Plan
Software architecture provides a design plan, a blueprint of a system,
an abstraction to help manage the complexity of a system, and also a
communication medium between stakeholders.
Critical factor for a product’s success: good software architecture
that is understood by the stakeholders and by the developers.
Structural plan that describes the elements of the system, how they
fit together, and how they work together to fulfill the system’s
requirements.
•Used to negotiate system requirements, and to set expectations
with customers, marketing and management personnel.
•Used as a blueprint during the development process
•Guides the implementation tasks, including detailed design,
coding, integration, and testing.
4
Domain Analysis,
Requirements Analysis,
Risk Analysis
Software
Architecture
Design
Hardware
Architecture
Design
Detailed Design,
Coding,
Integration,
Testing
requirements,
desired qualities
modifications to
requirements
software
architecture
implementation
constraints
hardware
architecture
modifications to
hardware architecture
feed forward
feedback
Key inputs to software architecture design:
•The requirements produced by the analysis tasks
•The hardware architecture (the software architect in turn provides
requirements to the system architect, who configures the hardware
architecture)
Comes after the domain analysis, requirements analysis, and risk
analysis, and before detailed design, coding, integration and testing.
5
2. IEEE Recommended Practice
Unfortunately, software architecture is still an emerging discipline
within software engineering; limitations:
•lack of standardized ways to represent architecture
•lack of analysis methods to predict whether an architecture will
result in an implementation that meets the requirements.
So far, the most advanced efforts towards the development of
a standard have been made by the IEEE Working Group on
Software Architecture, giving rise to the IEEE Recommended
Practice for Software Architecture Development.
The IEEE Recommended practice for Software Architecture
Development:
÷Define a conceptual framework for architecture development.
÷Goal: evolve into a standard
6
Conceptual Framework
-An architectural description consists of a collection of views:
÷each view describes one or more concerns involved in the system.
-A viewpoint defines the modeling and analysis techniques and
conventions used to create a view that describes the concerns addressed
by the viewpoint.
÷Viewpoint definitions may be provided either as starting point of the
AD or by reusing existing viewpoints also referred to as library viewpoints.
÷A view may be associated to exactly one viewpoint within the same
AD, and consists of one or more architectural models.
-Every stakeholder's concerns must be addressed by at least one
viewpoint
÷Viewpoints may be overlapping, in which case potential inconsistencies must be
analyzed and recorded.
-Every system has an inherent architecture.
÷The concrete document that is associated with the architecture actually provides a
specific description of the architecture, also referred to as an architectural description (AD).
7
Examples:
÷Viewpoints and Views in Structured Analysis (SA)
÷Viewpoints and Views in Object-Oriented Analysis (OOA)
Note:
-DFD: Data Flow Diagram
-ERD: Entity-Relation Diagram
-STD: State Transition Diagram
8
Conceptual Model
of Architectural Description
9
Conformance
An architecture description that conforms to the IEEE guidelines
encompasses at least six different kinds of information:
-Architectural documentation
÷provides reference and overview information about the AD: version number, issue date,
issuing organization, summary, scope and context of the AD etc.
-Identification of system stakeholders and their concerns.
-Specification of the viewpoints selected to represent the AD and the
motivation for the choice of these viewpoints.
-Architectural views derived from the viewpoints. A view is associated
to exactly one viewpoint, to which it must conform.
-Potential inconsistencies among the views and the underlying models
must be analyzed, recorded and if necessary resolved.
-The rationale behind the architectural concepts selected.
10
Booch method OMT
Unified Method 0.8
OOPSLA ´95
OOSE
Other methods
UML 0.9
Web - 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.0
UML partners
-Creating the UML
-The UML is a language for visualizing, specifying, constructing and
documenting the artifacts of a software-intensive system.
3. Architect. Description Language: the UML
UML 1.4
UML 2.0
11
Views, Models, and Diagrams
-A diagram is a model in a view; a view consists of one or more models
-A view is an instance of a viewpoint for a particular system:
•presented from the aspect of particular stakeholders
•provides a partial representation of the system
•is semantically consistent with other views
-In the UML, there are thirteen standard diagrams:
•Structure diagrams: class, object, component, deployment, composite structure, package diagrams
•Behavior diagrams: activity, state machine, use case, and interaction diagrams
- Interaction diagrams: sequence, communication, interaction overview, and timing diagrams
Use Case
Diagrams
Use Case
Diagrams
Timing
Diagrams
Use Case
Diagrams
Use Case
Diagrams
Package
Diagrams
Scenario
Diagrams
Scenario
Diagrams
Use Case
Diagrams
State
Diagrams
State
Diagrams
Component
Diagrams
Component
Diagrams
Component
Diagrams
Deployment
Diagrams
State
Diagrams
State
Diagrams
Object
Diagrams
Scenario
Diagrams
Scenario
Diagrams
Statechart
Diagrams
Use Case
Diagrams
Use Case
Diagrams
Sequence
Diagrams
State
Diagrams
State
Diagrams
Class
Diagrams
Activity
Diagrams
Use Case
Diagrams
Use Case
Diagrams
Composite Structure
Diagrams
Use Case
Diagrams
Use Case
Diagrams
Communication
Diagrams
Use Case
Diagrams
Use Case
Diagrams
Interaction Overview
Diagrams
Models
12
4. The Rational Unified Process (RUP)
Process
-Software engineering process:
•A set of partially ordered steps intended to reach a goal, which is
to build a software product or to enhance an existing one.
The Rational Unified Process
-Extensive set of guidelines supporting an iterative and incremental
life cycle and focusing on requirements analysis and design.
•Development proceeds as a series of iterations that evolve into
the final system.
•Each iteration consists of one or more of the following steps:
requirements capture, analysis, design, implementation, and test.
13
Iteration N
Define iteration to address
the highest risks
Plan and develop the
iteration
Assess the iteration
Risks eliminated
Revise risk assessment
Revise project
plan
Initial risks
Initial project scope
•Risk-mitigating process: technical risks are assessed and prioritized
early in the life cycle and are revised during each iteration.
•Releases are scheduled to ensure that the highest risks are tackled first.
14
Phases of the Rational Unified Process
-Structured along two dimensions:
•time division of the life cycle into phases and iterations
•process components consisting of the production of a specific set
of artifacts with well-defined activities
-Each activity of the process component dimension typically is
applied to each phase of time-based dimension, but at a varying
degree dependent upon the specific phase.
15
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
Lifecycle Phases (Time Dimension)
÷ Transition Transition the product to its users
16
Arch
Iteration
... Dev
Iteration
Dev
Iteration
... Trans
Iteration
...
Release Release Release Release Release Release Release Release
Prelim
Iteration
...
Inception Elaboration Construction Transition
The process component dimension includes:
• Requirements capture: a narration of what the system should do
• Analysis and design: a description of how the system will be realized
in the implementation phase
• Implementation: the production of the code that will result in an
executable system
• Test: the verification of the entire system
Phases and Iterations (Process Component Dimension)
17
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 Transition
Inception Construction
Unified Process Structure
18
Architecture Modeling
The “4+1” Views of Architecture
-RUP advocates the use of multiple perspectives to describe the various concerns.
RUP suggests a five views approach:
Organization
Package, subsystem
Dynamics
Interaction, State machine
Logical View Process View
Implementation
View
Process,Threads
Classes, interfaces,
collaborations
Source, binary, executable components
Deployment View
Nodes
Use Case View
Use cases
19
-Use case view:
÷consists of a set of key use cases or scenarios, which guide the design of the architecture
during the inception and elaboration phases and are used later to validate the other views.
-Logical view:
÷addresses the functional requirements of the system; provides an abstraction of the design
model and defines main design subsystems and classes.
-Process view:
÷defines the system’s concurrency and synchronization mechanisms at
run-time (tasks, threads, processes etc.).
-Deployment view:
÷defines the hardware topology on which the system is executed.
-Implementation view:
÷defines the parts used to assemble and release the physical system (source code, data files,
executables etc.).
20
Simple Monolithic App.
Use Case View
•Use case diagrams
Logical View
•Class diagrams
•Interaction diagrams
Process View
•None required
Implementation View
•None required
Deployment View
•None required
Complex Distributed App.
Use Case View
•Use case diagrams
•Activity diagrams
Logical View
•Class diagrams
•Interaction diagrams
•Statechart diagrams
Process View
•Class diagrams
•Interaction diagrams
Implementation View
•Component diagrams
Deployment View
•Deployment diagrams

More Related Content

What's hot

An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence Diagrams
Mohammed Misbhauddin
 
Modeling software architecture with uml
Modeling software architecture with umlModeling software architecture with uml
Modeling software architecture with uml
International Journal of Science and Research (IJSR)
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
Gobinath Subramaniam
 
Uml2
Uml2Uml2
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Dang Tuan
 
Uml
UmlUml
Uml Diagrams
Uml DiagramsUml Diagrams
Uml Diagrams
Nirmal Sharma
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
Prof. Erwin Globio
 
What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?
Eliza Wright
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
sabin kafle
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
Raval Chirag
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
Jitendra s Rathore
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
Dang Tuan
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and design
naveed428
 
Uml with detail
Uml with detailUml with detail
Uml with detail
Hamza Khan
 
Intro to UML 2
Intro to UML 2Intro to UML 2
Intro to UML 2
rchakra
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
madhavi patil
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
ganesh12july
 
UML (Unified Modeling Language)
UML (Unified Modeling Language)UML (Unified Modeling Language)
UML (Unified Modeling Language)
Nguyen Tuan
 
Uml 9
Uml 9Uml 9

What's hot (20)

An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence Diagrams
 
Modeling software architecture with uml
Modeling software architecture with umlModeling software architecture with uml
Modeling software architecture with uml
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
Uml2
Uml2Uml2
Uml2
 
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 
Uml
UmlUml
Uml
 
Uml Diagrams
Uml DiagramsUml Diagrams
Uml Diagrams
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and design
 
Uml with detail
Uml with detailUml with detail
Uml with detail
 
Intro to UML 2
Intro to UML 2Intro to UML 2
Intro to UML 2
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
 
UML (Unified Modeling Language)
UML (Unified Modeling Language)UML (Unified Modeling Language)
UML (Unified Modeling Language)
 
Uml 9
Uml 9Uml 9
Uml 9
 

Similar to Arch06 1

Architectural design
Architectural designArchitectural design
Architectural design
SHREEHARI WADAWADAGI
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
bashcode
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
malathijanapati1
 
software architecture
software architecturesoftware architecture
software architecture
Manidheer Babu
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
SMD.pptx
SMD.pptxSMD.pptx
SMD.pptx
kirtisatpute4
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
madhavi patil
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
Bisrat Girma
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplified
Prasad Chitta
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
Arun Nair
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
ShwetaGajbhiye12
 
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptChapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Bule Hora University
 
UNIT 01 SMD.pptx
UNIT 01 SMD.pptxUNIT 01 SMD.pptx
UNIT 01 SMD.pptx
Kalpna Saharan
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and Viewpoints
Henry Muccini
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
Sudarshan Dhondaley
 
HelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.pptHelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.ppt
19526YuvaKumarIrigi
 
Introduction to Modern Software Architecture
Introduction to Modern Software ArchitectureIntroduction to Modern Software Architecture
Introduction to Modern Software Architecture
Jérôme Kehrli
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
Gobinath Subramaniam
 
Software design
Software designSoftware design
Software design
Benazir Fathima
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
Dr VISU P
 

Similar to Arch06 1 (20)

Architectural design
Architectural designArchitectural design
Architectural design
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
 
software architecture
software architecturesoftware architecture
software architecture
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
SMD.pptx
SMD.pptxSMD.pptx
SMD.pptx
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplified
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.pptChapter 3_Software Design sunorganisedASE_BW_finalised.ppt
Chapter 3_Software Design sunorganisedASE_BW_finalised.ppt
 
UNIT 01 SMD.pptx
UNIT 01 SMD.pptxUNIT 01 SMD.pptx
UNIT 01 SMD.pptx
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and Viewpoints
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
HelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.pptHelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.ppt
 
Introduction to Modern Software Architecture
Introduction to Modern Software ArchitectureIntroduction to Modern Software Architecture
Introduction to Modern Software Architecture
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
Software design
Software designSoftware design
Software design
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 

Recently uploaded

Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
kgyxske
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
sandeepmenon62
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
vaishalijagtap12
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
Severalnines
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
Pedro J. Molina
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 

Recently uploaded (20)

Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 

Arch06 1

  • 1. 1 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP) Chap 1. Introduction to Software Architecture
  • 2. 2 1. Introduction Preamble “Conventional wisdom has been to use terms like ‘software architecture’, ‘software architectural design’, or ‘coarse-grained design’ for the high-level structural subdivision of a system, and ‘design’ or ‘detailed design’ for more detailed planning… we denote the whole activity of constructing a software system as ‘software design’ and the resulting artifacts as ‘software architecture’.” “Many developers nowadays prefer the term ‘software architecture’ to ‘software design’ for denoting all the artifacts that result from design activities.” “In doing so, they want to express the fact that they do not just decompose the functionality of a system into a set of cooperating components, but rather that they construct a software architecture… They no longer agree that high-level design decisions can be made independently of lower-level decisions.” From “Pattern-Oriented Software Architecture, A System of Patterns” By F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal
  • 3. 3 Software Architecture as a Design Plan Software architecture provides a design plan, a blueprint of a system, an abstraction to help manage the complexity of a system, and also a communication medium between stakeholders. Critical factor for a product’s success: good software architecture that is understood by the stakeholders and by the developers. Structural plan that describes the elements of the system, how they fit together, and how they work together to fulfill the system’s requirements. •Used to negotiate system requirements, and to set expectations with customers, marketing and management personnel. •Used as a blueprint during the development process •Guides the implementation tasks, including detailed design, coding, integration, and testing.
  • 4. 4 Domain Analysis, Requirements Analysis, Risk Analysis Software Architecture Design Hardware Architecture Design Detailed Design, Coding, Integration, Testing requirements, desired qualities modifications to requirements software architecture implementation constraints hardware architecture modifications to hardware architecture feed forward feedback Key inputs to software architecture design: •The requirements produced by the analysis tasks •The hardware architecture (the software architect in turn provides requirements to the system architect, who configures the hardware architecture) Comes after the domain analysis, requirements analysis, and risk analysis, and before detailed design, coding, integration and testing.
  • 5. 5 2. IEEE Recommended Practice Unfortunately, software architecture is still an emerging discipline within software engineering; limitations: •lack of standardized ways to represent architecture •lack of analysis methods to predict whether an architecture will result in an implementation that meets the requirements. So far, the most advanced efforts towards the development of a standard have been made by the IEEE Working Group on Software Architecture, giving rise to the IEEE Recommended Practice for Software Architecture Development. The IEEE Recommended practice for Software Architecture Development: ÷Define a conceptual framework for architecture development. ÷Goal: evolve into a standard
  • 6. 6 Conceptual Framework -An architectural description consists of a collection of views: ÷each view describes one or more concerns involved in the system. -A viewpoint defines the modeling and analysis techniques and conventions used to create a view that describes the concerns addressed by the viewpoint. ÷Viewpoint definitions may be provided either as starting point of the AD or by reusing existing viewpoints also referred to as library viewpoints. ÷A view may be associated to exactly one viewpoint within the same AD, and consists of one or more architectural models. -Every stakeholder's concerns must be addressed by at least one viewpoint ÷Viewpoints may be overlapping, in which case potential inconsistencies must be analyzed and recorded. -Every system has an inherent architecture. ÷The concrete document that is associated with the architecture actually provides a specific description of the architecture, also referred to as an architectural description (AD).
  • 7. 7 Examples: ÷Viewpoints and Views in Structured Analysis (SA) ÷Viewpoints and Views in Object-Oriented Analysis (OOA) Note: -DFD: Data Flow Diagram -ERD: Entity-Relation Diagram -STD: State Transition Diagram
  • 9. 9 Conformance An architecture description that conforms to the IEEE guidelines encompasses at least six different kinds of information: -Architectural documentation ÷provides reference and overview information about the AD: version number, issue date, issuing organization, summary, scope and context of the AD etc. -Identification of system stakeholders and their concerns. -Specification of the viewpoints selected to represent the AD and the motivation for the choice of these viewpoints. -Architectural views derived from the viewpoints. A view is associated to exactly one viewpoint, to which it must conform. -Potential inconsistencies among the views and the underlying models must be analyzed, recorded and if necessary resolved. -The rationale behind the architectural concepts selected.
  • 10. 10 Booch method OMT Unified Method 0.8 OOPSLA ´95 OOSE Other methods UML 0.9 Web - 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.0 UML partners -Creating the UML -The UML is a language for visualizing, specifying, constructing and documenting the artifacts of a software-intensive system. 3. Architect. Description Language: the UML UML 1.4 UML 2.0
  • 11. 11 Views, Models, and Diagrams -A diagram is a model in a view; a view consists of one or more models -A view is an instance of a viewpoint for a particular system: •presented from the aspect of particular stakeholders •provides a partial representation of the system •is semantically consistent with other views -In the UML, there are thirteen standard diagrams: •Structure diagrams: class, object, component, deployment, composite structure, package diagrams •Behavior diagrams: activity, state machine, use case, and interaction diagrams - Interaction diagrams: sequence, communication, interaction overview, and timing diagrams Use Case Diagrams Use Case Diagrams Timing Diagrams Use Case Diagrams Use Case Diagrams Package Diagrams Scenario Diagrams Scenario Diagrams Use Case Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Deployment Diagrams State Diagrams State Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Statechart Diagrams Use Case Diagrams Use Case Diagrams Sequence Diagrams State Diagrams State Diagrams Class Diagrams Activity Diagrams Use Case Diagrams Use Case Diagrams Composite Structure Diagrams Use Case Diagrams Use Case Diagrams Communication Diagrams Use Case Diagrams Use Case Diagrams Interaction Overview Diagrams Models
  • 12. 12 4. The Rational Unified Process (RUP) Process -Software engineering process: •A set of partially ordered steps intended to reach a goal, which is to build a software product or to enhance an existing one. The Rational Unified Process -Extensive set of guidelines supporting an iterative and incremental life cycle and focusing on requirements analysis and design. •Development proceeds as a series of iterations that evolve into the final system. •Each iteration consists of one or more of the following steps: requirements capture, analysis, design, implementation, and test.
  • 13. 13 Iteration N Define iteration to address the highest risks Plan and develop the iteration Assess the iteration Risks eliminated Revise risk assessment Revise project plan Initial risks Initial project scope •Risk-mitigating process: technical risks are assessed and prioritized early in the life cycle and are revised during each iteration. •Releases are scheduled to ensure that the highest risks are tackled first.
  • 14. 14 Phases of the Rational Unified Process -Structured along two dimensions: •time division of the life cycle into phases and iterations •process components consisting of the production of a specific set of artifacts with well-defined activities -Each activity of the process component dimension typically is applied to each phase of time-based dimension, but at a varying degree dependent upon the specific phase.
  • 15. 15 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 Lifecycle Phases (Time Dimension) ÷ Transition Transition the product to its users
  • 16. 16 Arch Iteration ... Dev Iteration Dev Iteration ... Trans Iteration ... Release Release Release Release Release Release Release Release Prelim Iteration ... Inception Elaboration Construction Transition The process component dimension includes: • Requirements capture: a narration of what the system should do • Analysis and design: a description of how the system will be realized in the implementation phase • Implementation: the production of the code that will result in an executable system • Test: the verification of the entire system Phases and Iterations (Process Component Dimension)
  • 17. 17 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 Transition Inception Construction Unified Process Structure
  • 18. 18 Architecture Modeling The “4+1” Views of Architecture -RUP advocates the use of multiple perspectives to describe the various concerns. RUP suggests a five views approach: Organization Package, subsystem Dynamics Interaction, State machine Logical View Process View Implementation View Process,Threads Classes, interfaces, collaborations Source, binary, executable components Deployment View Nodes Use Case View Use cases
  • 19. 19 -Use case view: ÷consists of a set of key use cases or scenarios, which guide the design of the architecture during the inception and elaboration phases and are used later to validate the other views. -Logical view: ÷addresses the functional requirements of the system; provides an abstraction of the design model and defines main design subsystems and classes. -Process view: ÷defines the system’s concurrency and synchronization mechanisms at run-time (tasks, threads, processes etc.). -Deployment view: ÷defines the hardware topology on which the system is executed. -Implementation view: ÷defines the parts used to assemble and release the physical system (source code, data files, executables etc.).
  • 20. 20 Simple Monolithic App. Use Case View •Use case diagrams Logical View •Class diagrams •Interaction diagrams Process View •None required Implementation View •None required Deployment View •None required Complex Distributed App. Use Case View •Use case diagrams •Activity diagrams Logical View •Class diagrams •Interaction diagrams •Statechart diagrams Process View •Class diagrams •Interaction diagrams Implementation View •Component diagrams Deployment View •Deployment diagrams