SlideShare una empresa de Scribd logo
1 de 32
Software Architecture 
Henry Muccini 
henry.muccini@univaq.it, @muccinihenry, henrymuccini.com 
DISIM 
Dep.nt of Information Engineering, Computer Science and Mathematics 
University of L’Aquila, Italy
The material in these slides may be freely reproduced 
and distributed, partially or totally, as far as an explicit 
reference or acknowledge to the material author is 
preserved. 
SEA Group
Software Architecture 
The Software Architecture is the earliest model 
of the whole software system created along the 
software lifecycle 
“Traditional” definition: 
→A set of components and connectors communicating through 
interfaces 
“More Recent” understanding 
“Other facets” 
SEA Group 
→A set of architecture design decisions taken to generate the 
architecture artifact 
→Focus on set of Views and Viewpoints, looking at 
stakeholders and their concern
SEA Group
Software Architecture definitions 
Perry and Wolf, ’92 (aspects): 
→“Architecture is concerned with the selection of architectural elements, their 
interactions, and the constraints on those elements and their interactions necessary 
to provide a framework in which to satisfy the requirements and serve as a basis for 
the design.” 
→Elements are divided into processing elements, data elements and connection 
elements 
Garlan and Shaw, ’93 (elements): 
→ Architecture for a specific system may be captured as “a collection of 
computational components - or simply components - together with a description of 
the interactions between these components - the connectors -” 
Sommerville, 7th edition, ’04 (process): 
→ The design process for identifying the sub-systems making up a system and the 
framework for sub-system control and communication is architectural design. The output 
of this design process is a description of the SA. 
SEA Group
In general terms… 
SA describes (in a more or less “formal” notation) how a system is 
structured into components and connectors… 
SEA Group 
→Components 
→Connectors 
→Channels and Ports 
… and how these components interact 
→ Scenarios 
→State Diagrams 
→… 
SA Structure (topology) 
SA Dynamics (behavior)
Process (1) 
SEA Group 
SofStwofatrwea Arerc Shyitsetcetmure 
Architectural 
components 
SofStwofatrwea Arerc Shyitsetcetmure 
Composition 
Rules 
Constraints 
Ideal World Real World Requirements
Process (2) 
SEA Group 
Architectural constraints 
and requirements 
Ideas 
Constraints 
Req1:.. 
Req2:.. 
Req3:.. 
……… 
Architectural 
requirements 
C2 
C3 
C1 
C4 
Software 
Architecture 
Software 
Architecture 
synthesis 
C2 
C3 
C1 
Software C4 
Architecture 
Evaluation and prototype 
Decisions making
STATIC DESCRIPTION 
Components 
Connectors 
Interfaces 
SEA Group
Components 
A component is a building block that is … 
→A unit of computation or a data store, with an interface 
SEA Group 
specifying the services it provides and requires 
→A unit of deployment 
→A unit of reuse 
─ e.g., client, server, database, filters, ... 
C1 
S1 
S2 
S3 
S’x 
S’Y 
provided 
services 
required 
services
Component: Example 
Supply manager: 
This module task is to 
automatically satisfy the request 
of supplies by the TLs, 
it forwards the request of supplies 
to the military warehouse in order 
to automatically set up the 
shipping of supplies for whose that 
requested it. 
It will not always send all the 
supplies requested since it 
depends on the warehouse 
resources availability and, more 
important, on the rules that has 
been set by the HQ user. 
SEA Group
Components vs Objects 
The level of abstraction is usually different 
Size 
SEA Group 
→Objects tend to be small 
→Components can be small (one object) or large (a library of 
objects or a complete application) 
An architectural component may be implemented by 
several objects 
Lifecycle 
→Objects are created and destroyed constantly 
→Components are created and destroyed infrequently
Connectors 
A connector is a building block that enables interaction among 
components 
→Events 
→Client/server middleware 
→Messages and message buses 
→Shared variables 
→Procedure calls (local or remote) 
→Pipes 
Connectors may be implicit or explicit 
→Connectors sometimes are just channels 
→Connectors sometimes have their own logic and complexity 
Connectors may be endogenous or exogenous 
SEA Group
Components and Connectors 
A component is (or should be) independent of the 
context in which it is used to provide services 
A connector is (or should be) dependent on the 
context in which it is used to connect components 
Connectors sometimes are modeled as special kinds of 
components 
SEA Group
Interfaces 
An interface is the external connection of a 
component (or connector) that describes how to 
interact with it 
Provided and required interfaces are important 
Spectrum of interface specification 
SEA Group 
→ Loosely specified (events go in, events go out) 
→ API style (list of functions) 
→Very highly specified (event protocols across the interface 
in CSP)
Architecting: example 
SEA Group 
GUI 
FeedService 
Common FeedService 
Action 
NewsFeeder 
Action 
Admin 
Action 
Factory 
FeedDelegate 
POJOs 
NewsFeeder 
DAO 
FeedDAO 
NewsFeederDAO 
FeedDAO 
FeedDelegate 
Transfer 
Object 
ValidatorService 
NewsFeederDelegate 
NewsFeeder 
DelegatePOJOs 
Browser 
(html 
javascript) 
Web 
Services 
DATABASE 
Trasformation 
Validation 
BusinessFactory 
Validation 
Service
Architecting: example 
SEA Group 
GUI 
FeedService 
FeedService 
Common 
Action 
NewsFeeder 
Action 
Admin 
Action 
Factory 
FeedDelegate 
PresentationExtensionOut 
PresentationExtensionIn 
BusinessExtensionOut 
FeedDelegate 
POJOs 
NewsFeederDelegate 
NewsFeeder 
DAO 
FeedDAO 
NewsFeederDAO FeedDAO 
Transfer 
Object 
ValidatorService 
NewsFeeder 
DelegatePOJOs 
Browser 
(html 
javascript) 
Web 
Services 
DATABASE 
Trasformation 
Validation 
BusinessFactory 
Validation 
Service 
BusinessExtensionIn
Architectural Elements vs Design Elements 
“Architecture is concerned with the selection of 
architectural elements, their interactions, and the 
constraints on those elements and their interactions 
necessary to provide a framework in which to satisfy 
the requirements and serve as a basis for the 
design.” 
“Design is concerned with the modularization and 
detailed interfaces of the design elements, their 
algorithms and procedures, and the data types 
needed to support the architecture and to satisfy the 
requirements.” 
(Perry & Wolf 92) 
SEA Group
Architectural Elements vs Design Elements 
“The architecture of a software system defines that 
system in terms of computational components and 
interactions among those components. … In addition 
to specifying the structure and topology of the 
system, the architecture shows the correspondence 
between the requirements and elements of the 
constructed system, thereby providing some 
rationale for the design decisions.” 
(Shaw & Garlan 96) 
SEA Group
DYNAMIC DESCRIPTION 
Behavioral models 
SEA Group
SA dynamics 
The SA dynamics is expressed in terms of component 
interactions via connectors 
•Labeled Transition Systems 
•Automata 
•UML StateCharts, Sequence Diagrams, Activity Diagrams 
•State Diagrams 
•Message Sequence Charts 
•… 
SEA Group
SEA Group 
AN EXAMPLE : E-COMMERCE SYSTEM 
Customer Interface 
Customer Process 
Web Server 
Customer Server 
Cart Server 
Order Server 
Catalog Server 
Delivery Order 
Process 
SA Static Description
SEA Group 
AN EXAMPLE : E-COMMERCE SYSTEM 
CustomerInterface 
CustomerProcess CatalogServer 
BrowseCatalog 
BrowseCatalog 
ReadStatus 
Catalog Page 
Output Page 
Catalog Info 
SA Dynamic Description : 
Registered Customer 
Catalog DB 
Involved 
Browse Catalogue Sequence Diagram
SEA Group 
AN EXAMPLE : E-COMMERCE SYSTEM 
CustomerInterface 
Registered Customer 
CustomerProcess CartServer 
PlaceOrderReq 
PlaceOrder 
ReadStatus 
Cart DB 
Involved 
pageOrder 
OutputPage 
OrderServer 
Order DB 
Involved 
EmptyCart 
Cart DB 
Involved 
CustomerServer 
ReadInfo 
Customer 
DB Involved 
DeliveryOrderProcess 
createNewOrder 
OrderInfo 
newOrder 
CartInfo 
CustomerInfo 
OrderInfo 
SA Dynamic Description : 
Place Order Sequence Diagram (success)
SEA Group 
AN EXAMPLE : E-COMMERCE SYSTEM 
CustomerInterface 
CustomerProcess CartServer 
PlaceOrderReq 
PlaceOrder 
ReadStatus 
errorPage 
emptyCart 
SA Dynamic Description : 
Registered Customer 
Cart DB 
Involved 
OutputPage 
Place Order Sequence Diagram (empty cart)
MORE RECENT UNDERSTANDING 
SEA Group
Architecture Is a Set of Software 
Structures 
“The software architecture of a system is the set of 
structures needed to reason about the system, which 
comprise software elements, relations among them, 
and properties of both.” [SAinPractice_book] 
SEA Group
Architecture Is a Set of Software 
Structures 
Three categories of structures: 
1. Structure = implementation units = modules 
2. Dynamic structures 
3. mapping from software structures to the system’s 
SEA Group 
organizational, developmental, installation, and 
execution environments. 
implications
EXAMPLE (FOR DISCUSSION) 
SEA Group
Application Example: Voting System 
“We want to build a software system that allows 
people to vote electronically. 
SEA Group 
→ The citizen goes to the electoral place, and she votes using 
a hw/sw device. 
→ The vote is stored locally and automatically sent to other 
computers. 
→ The citizen identity must be validated by the system 
→ …”
Basic Requirement Example 
The voting system must satisfy the following 
requirements: 
SEA Group 
→ One voter – one vote (no more than one vote for voter) 
→ The voter can vote in only one previous designated voting 
place 
→ The voter must be identified by the election officials at the 
voting place 
─ The citizen identity must be validated by the system 
→ It is not possible to trace the votes back to the voters 
→ The election officials can’t read the results, guarantying that 
the results are unknown until the end of the voting process
Example 
SEA Group 
Terminal 
Activate

Más contenido relacionado

La actualidad más candente

DoDAF Overview Using Innoslate Webinar
DoDAF Overview Using Innoslate WebinarDoDAF Overview Using Innoslate Webinar
DoDAF Overview Using Innoslate WebinarElizabeth Steiner
 
Practical DoDAF Presentation to INCOSE WMA
Practical DoDAF Presentation to INCOSE WMA Practical DoDAF Presentation to INCOSE WMA
Practical DoDAF Presentation to INCOSE WMA Elizabeth Steiner
 
Business Intelligence Portfolio
Business Intelligence PortfolioBusiness Intelligence Portfolio
Business Intelligence Portfoliogaryt1953
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaLucas Jellema
 
Service Oriented Architecture Design Pattern
Service Oriented Architecture Design PatternService Oriented Architecture Design Pattern
Service Oriented Architecture Design PatternShanto Rahman
 
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"..."A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...Prem Gurbani
 
Practical DoD Architecture Framework (DoDAF) with Innoslate
Practical DoD Architecture Framework (DoDAF) with InnoslatePractical DoD Architecture Framework (DoDAF) with Innoslate
Practical DoD Architecture Framework (DoDAF) with InnoslateElizabeth Steiner
 
Secerno SQLagile datasheet
Secerno SQLagile datasheetSecerno SQLagile datasheet
Secerno SQLagile datasheetPaul Tompsett
 
Experiences with Oracle WebCenter 11g: Implementing SOA with a User Interface
Experiences with Oracle WebCenter 11g: Implementing SOA with a User InterfaceExperiences with Oracle WebCenter 11g: Implementing SOA with a User Interface
Experiences with Oracle WebCenter 11g: Implementing SOA with a User InterfaceLucas Jellema
 
DOD EA conference DoDAF in Action
DOD EA conference DoDAF in ActionDOD EA conference DoDAF in Action
DOD EA conference DoDAF in ActionPaul W. Johnson
 
Overview of DoDAF with Innoslate
Overview of DoDAF with InnoslateOverview of DoDAF with Innoslate
Overview of DoDAF with InnoslateElizabeth Steiner
 

La actualidad más candente (12)

Overview Of RBAC
Overview Of RBACOverview Of RBAC
Overview Of RBAC
 
DoDAF Overview Using Innoslate Webinar
DoDAF Overview Using Innoslate WebinarDoDAF Overview Using Innoslate Webinar
DoDAF Overview Using Innoslate Webinar
 
Practical DoDAF Presentation to INCOSE WMA
Practical DoDAF Presentation to INCOSE WMA Practical DoDAF Presentation to INCOSE WMA
Practical DoDAF Presentation to INCOSE WMA
 
Business Intelligence Portfolio
Business Intelligence PortfolioBusiness Intelligence Portfolio
Business Intelligence Portfolio
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas Jellema
 
Service Oriented Architecture Design Pattern
Service Oriented Architecture Design PatternService Oriented Architecture Design Pattern
Service Oriented Architecture Design Pattern
 
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"..."A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
 
Practical DoD Architecture Framework (DoDAF) with Innoslate
Practical DoD Architecture Framework (DoDAF) with InnoslatePractical DoD Architecture Framework (DoDAF) with Innoslate
Practical DoD Architecture Framework (DoDAF) with Innoslate
 
Secerno SQLagile datasheet
Secerno SQLagile datasheetSecerno SQLagile datasheet
Secerno SQLagile datasheet
 
Experiences with Oracle WebCenter 11g: Implementing SOA with a User Interface
Experiences with Oracle WebCenter 11g: Implementing SOA with a User InterfaceExperiences with Oracle WebCenter 11g: Implementing SOA with a User Interface
Experiences with Oracle WebCenter 11g: Implementing SOA with a User Interface
 
DOD EA conference DoDAF in Action
DOD EA conference DoDAF in ActionDOD EA conference DoDAF in Action
DOD EA conference DoDAF in Action
 
Overview of DoDAF with Innoslate
Overview of DoDAF with InnoslateOverview of DoDAF with Innoslate
Overview of DoDAF with Innoslate
 

Similar a Software Architecture

Software Architecture: Introduction
Software Architecture: IntroductionSoftware Architecture: Introduction
Software Architecture: IntroductionHenry Muccini
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIvano Malavolta
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architectureIvano Malavolta
 
Software Architecture in Architecture design .ppt
Software Architecture in Architecture design .pptSoftware Architecture in Architecture design .ppt
Software Architecture in Architecture design .pptguruswamyd785
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1stanbridge
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1stanbridge
 
[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software ArchitectureIvano Malavolta
 
Visualizing Software Architecture Effectively in Service Description
Visualizing Software Architecture Effectively in Service DescriptionVisualizing Software Architecture Effectively in Service Description
Visualizing Software Architecture Effectively in Service DescriptionSanjoy Kumar Roy
 
Crafted Design - Sandro Mancuso
Crafted Design - Sandro MancusoCrafted Design - Sandro Mancuso
Crafted Design - Sandro MancusoJAXLondon2014
 
Exploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliExploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliCarl Steinbach
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
 
MicroServices-Part-1.pdf
MicroServices-Part-1.pdfMicroServices-Part-1.pdf
MicroServices-Part-1.pdfchanhluc2112
 
16 & 2 marks in i unit for PG PAWSN
16 & 2 marks in i unit for PG PAWSN16 & 2 marks in i unit for PG PAWSN
16 & 2 marks in i unit for PG PAWSNDhaya kanthavel
 
Crafted Design - LJC World Tour Mash Up 2014
Crafted Design - LJC World Tour Mash Up 2014Crafted Design - LJC World Tour Mash Up 2014
Crafted Design - LJC World Tour Mash Up 2014Sandro Mancuso
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 
VSTS Architecture Edition Overview
VSTS Architecture Edition OverviewVSTS Architecture Edition Overview
VSTS Architecture Edition OverviewSteve Lange
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Mozaic Works
 

Similar a Software Architecture (20)

Software Architecture: Introduction
Software Architecture: IntroductionSoftware Architecture: Introduction
Software Architecture: Introduction
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture
 
Software Architecture in Architecture design .ppt
Software Architecture in Architecture design .pptSoftware Architecture in Architecture design .ppt
Software Architecture in Architecture design .ppt
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture[2016/2017] Introduction to Software Architecture
[2016/2017] Introduction to Software Architecture
 
Visualizing Software Architecture Effectively in Service Description
Visualizing Software Architecture Effectively in Service DescriptionVisualizing Software Architecture Effectively in Service Description
Visualizing Software Architecture Effectively in Service Description
 
Crafted Design - Sandro Mancuso
Crafted Design - Sandro MancusoCrafted Design - Sandro Mancuso
Crafted Design - Sandro Mancuso
 
Exploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliExploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with Dali
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
MicroServices-Part-1.pdf
MicroServices-Part-1.pdfMicroServices-Part-1.pdf
MicroServices-Part-1.pdf
 
16 & 2 marks in i unit for PG PAWSN
16 & 2 marks in i unit for PG PAWSN16 & 2 marks in i unit for PG PAWSN
16 & 2 marks in i unit for PG PAWSN
 
Crafted Design - LJC World Tour Mash Up 2014
Crafted Design - LJC World Tour Mash Up 2014Crafted Design - LJC World Tour Mash Up 2014
Crafted Design - LJC World Tour Mash Up 2014
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
VSTS Architecture Edition Overview
VSTS Architecture Edition OverviewVSTS Architecture Edition Overview
VSTS Architecture Edition Overview
 
Aspmvc
AspmvcAspmvc
Aspmvc
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 

Más de Henry Muccini

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design Henry Muccini
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...Henry Muccini
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieHenry Muccini
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileHenry Muccini
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementHenry Muccini
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsHenry Muccini
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsHenry Muccini
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureHenry Muccini
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Henry Muccini
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Henry Muccini
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Henry Muccini
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Henry Muccini
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Henry Muccini
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Henry Muccini
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Henry Muccini
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Henry Muccini
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityHenry Muccini
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical SpacesHenry Muccini
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISHenry Muccini
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureHenry Muccini
 

Más de Henry Muccini (20)

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibile
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd management
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of Things
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design Decisions
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building Architecture
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on Sustainability
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software Architecture
 

Último

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdfssuserdda66b
 

Último (20)

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 

Software Architecture

  • 1. Software Architecture Henry Muccini henry.muccini@univaq.it, @muccinihenry, henrymuccini.com DISIM Dep.nt of Information Engineering, Computer Science and Mathematics University of L’Aquila, Italy
  • 2. The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved. SEA Group
  • 3. Software Architecture The Software Architecture is the earliest model of the whole software system created along the software lifecycle “Traditional” definition: →A set of components and connectors communicating through interfaces “More Recent” understanding “Other facets” SEA Group →A set of architecture design decisions taken to generate the architecture artifact →Focus on set of Views and Viewpoints, looking at stakeholders and their concern
  • 5. Software Architecture definitions Perry and Wolf, ’92 (aspects): →“Architecture is concerned with the selection of architectural elements, their interactions, and the constraints on those elements and their interactions necessary to provide a framework in which to satisfy the requirements and serve as a basis for the design.” →Elements are divided into processing elements, data elements and connection elements Garlan and Shaw, ’93 (elements): → Architecture for a specific system may be captured as “a collection of computational components - or simply components - together with a description of the interactions between these components - the connectors -” Sommerville, 7th edition, ’04 (process): → The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural design. The output of this design process is a description of the SA. SEA Group
  • 6. In general terms… SA describes (in a more or less “formal” notation) how a system is structured into components and connectors… SEA Group →Components →Connectors →Channels and Ports … and how these components interact → Scenarios →State Diagrams →… SA Structure (topology) SA Dynamics (behavior)
  • 7. Process (1) SEA Group SofStwofatrwea Arerc Shyitsetcetmure Architectural components SofStwofatrwea Arerc Shyitsetcetmure Composition Rules Constraints Ideal World Real World Requirements
  • 8. Process (2) SEA Group Architectural constraints and requirements Ideas Constraints Req1:.. Req2:.. Req3:.. ……… Architectural requirements C2 C3 C1 C4 Software Architecture Software Architecture synthesis C2 C3 C1 Software C4 Architecture Evaluation and prototype Decisions making
  • 9. STATIC DESCRIPTION Components Connectors Interfaces SEA Group
  • 10. Components A component is a building block that is … →A unit of computation or a data store, with an interface SEA Group specifying the services it provides and requires →A unit of deployment →A unit of reuse ─ e.g., client, server, database, filters, ... C1 S1 S2 S3 S’x S’Y provided services required services
  • 11. Component: Example Supply manager: This module task is to automatically satisfy the request of supplies by the TLs, it forwards the request of supplies to the military warehouse in order to automatically set up the shipping of supplies for whose that requested it. It will not always send all the supplies requested since it depends on the warehouse resources availability and, more important, on the rules that has been set by the HQ user. SEA Group
  • 12. Components vs Objects The level of abstraction is usually different Size SEA Group →Objects tend to be small →Components can be small (one object) or large (a library of objects or a complete application) An architectural component may be implemented by several objects Lifecycle →Objects are created and destroyed constantly →Components are created and destroyed infrequently
  • 13. Connectors A connector is a building block that enables interaction among components →Events →Client/server middleware →Messages and message buses →Shared variables →Procedure calls (local or remote) →Pipes Connectors may be implicit or explicit →Connectors sometimes are just channels →Connectors sometimes have their own logic and complexity Connectors may be endogenous or exogenous SEA Group
  • 14. Components and Connectors A component is (or should be) independent of the context in which it is used to provide services A connector is (or should be) dependent on the context in which it is used to connect components Connectors sometimes are modeled as special kinds of components SEA Group
  • 15. Interfaces An interface is the external connection of a component (or connector) that describes how to interact with it Provided and required interfaces are important Spectrum of interface specification SEA Group → Loosely specified (events go in, events go out) → API style (list of functions) →Very highly specified (event protocols across the interface in CSP)
  • 16. Architecting: example SEA Group GUI FeedService Common FeedService Action NewsFeeder Action Admin Action Factory FeedDelegate POJOs NewsFeeder DAO FeedDAO NewsFeederDAO FeedDAO FeedDelegate Transfer Object ValidatorService NewsFeederDelegate NewsFeeder DelegatePOJOs Browser (html javascript) Web Services DATABASE Trasformation Validation BusinessFactory Validation Service
  • 17. Architecting: example SEA Group GUI FeedService FeedService Common Action NewsFeeder Action Admin Action Factory FeedDelegate PresentationExtensionOut PresentationExtensionIn BusinessExtensionOut FeedDelegate POJOs NewsFeederDelegate NewsFeeder DAO FeedDAO NewsFeederDAO FeedDAO Transfer Object ValidatorService NewsFeeder DelegatePOJOs Browser (html javascript) Web Services DATABASE Trasformation Validation BusinessFactory Validation Service BusinessExtensionIn
  • 18. Architectural Elements vs Design Elements “Architecture is concerned with the selection of architectural elements, their interactions, and the constraints on those elements and their interactions necessary to provide a framework in which to satisfy the requirements and serve as a basis for the design.” “Design is concerned with the modularization and detailed interfaces of the design elements, their algorithms and procedures, and the data types needed to support the architecture and to satisfy the requirements.” (Perry & Wolf 92) SEA Group
  • 19. Architectural Elements vs Design Elements “The architecture of a software system defines that system in terms of computational components and interactions among those components. … In addition to specifying the structure and topology of the system, the architecture shows the correspondence between the requirements and elements of the constructed system, thereby providing some rationale for the design decisions.” (Shaw & Garlan 96) SEA Group
  • 20. DYNAMIC DESCRIPTION Behavioral models SEA Group
  • 21. SA dynamics The SA dynamics is expressed in terms of component interactions via connectors •Labeled Transition Systems •Automata •UML StateCharts, Sequence Diagrams, Activity Diagrams •State Diagrams •Message Sequence Charts •… SEA Group
  • 22. SEA Group AN EXAMPLE : E-COMMERCE SYSTEM Customer Interface Customer Process Web Server Customer Server Cart Server Order Server Catalog Server Delivery Order Process SA Static Description
  • 23. SEA Group AN EXAMPLE : E-COMMERCE SYSTEM CustomerInterface CustomerProcess CatalogServer BrowseCatalog BrowseCatalog ReadStatus Catalog Page Output Page Catalog Info SA Dynamic Description : Registered Customer Catalog DB Involved Browse Catalogue Sequence Diagram
  • 24. SEA Group AN EXAMPLE : E-COMMERCE SYSTEM CustomerInterface Registered Customer CustomerProcess CartServer PlaceOrderReq PlaceOrder ReadStatus Cart DB Involved pageOrder OutputPage OrderServer Order DB Involved EmptyCart Cart DB Involved CustomerServer ReadInfo Customer DB Involved DeliveryOrderProcess createNewOrder OrderInfo newOrder CartInfo CustomerInfo OrderInfo SA Dynamic Description : Place Order Sequence Diagram (success)
  • 25. SEA Group AN EXAMPLE : E-COMMERCE SYSTEM CustomerInterface CustomerProcess CartServer PlaceOrderReq PlaceOrder ReadStatus errorPage emptyCart SA Dynamic Description : Registered Customer Cart DB Involved OutputPage Place Order Sequence Diagram (empty cart)
  • 27. Architecture Is a Set of Software Structures “The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both.” [SAinPractice_book] SEA Group
  • 28. Architecture Is a Set of Software Structures Three categories of structures: 1. Structure = implementation units = modules 2. Dynamic structures 3. mapping from software structures to the system’s SEA Group organizational, developmental, installation, and execution environments. implications
  • 30. Application Example: Voting System “We want to build a software system that allows people to vote electronically. SEA Group → The citizen goes to the electoral place, and she votes using a hw/sw device. → The vote is stored locally and automatically sent to other computers. → The citizen identity must be validated by the system → …”
  • 31. Basic Requirement Example The voting system must satisfy the following requirements: SEA Group → One voter – one vote (no more than one vote for voter) → The voter can vote in only one previous designated voting place → The voter must be identified by the election officials at the voting place ─ The citizen identity must be validated by the system → It is not possible to trace the votes back to the voters → The election officials can’t read the results, guarantying that the results are unknown until the end of the voting process
  • 32. Example SEA Group Terminal Activate