[go: up one dir, main page]

0% found this document useful (0 votes)
38 views11 pages

Lec 01 - Introduction

This document introduces software architecture, including architectural design decisions, views, patterns, and application architectures. It discusses that architectural design organizes a system's structure and is the link between design and requirements. The output is an architectural model describing how a system is organized as communicating components. It also covers abstraction levels in architecture, advantages of explicit architecture, and using multiple views like logical, process, development, and physical views to design and document an architecture.

Uploaded by

Lazba Sheikh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views11 pages

Lec 01 - Introduction

This document introduces software architecture, including architectural design decisions, views, patterns, and application architectures. It discusses that architectural design organizes a system's structure and is the link between design and requirements. The output is an architectural model describing how a system is organized as communicating components. It also covers abstraction levels in architecture, advantages of explicit architecture, and using multiple views like logical, process, development, and physical views to design and document an architecture.

Uploaded by

Lazba Sheikh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Software Architecture - Introduction

21/03/2023 SW Architecture 1
Topics covered

 Architectural design decisions


 Architectural views
 Architectural patterns
 Application architectures

21/03/2023 SW Architecture 2
Architectural design

 Architectural design is concerned with understanding


how a software system should be organized and
designing the overall structure of that system.
 Architectural design is the critical link between design
and requirements engineering, as it identifies the main
structural components in a system and the relationships
between them.
 The output of the architectural design process is an
architectural model that describes how the system is
organized as a set of communicating components.

21/03/2023 SW Architecture 3
Agility and architecture

 It is generally accepted that an early stage of agile


processes is to design an overall systems architecture.
 Refactoring the system architecture is usually
expensive because it affects so many components in the
system

21/03/2023 SW Architecture 4
The architecture of a packing robot control
system

21/03/2023 SW Architecture 5
Architectural abstraction

 Architecture in the small is concerned with the


architecture of individual programs. At this level, we are
concerned with the way that an individual program is
decomposed into components.
 Architecture in the large is concerned with the
architecture of complex enterprise systems that include
other systems, programs, and program components.
These enterprise systems are distributed over different
computers, which may be owned and managed by
different companies.

21/03/2023 SW Architecture 6
Advantages of explicit architecture

 Stakeholder communication
 Architecture may be used as a focus of discussion by system
stakeholders.
 System analysis
 Means that analysis of whether the system can meet its non-
functional requirements is possible.
 Large-scale reuse
 The architecture may be reusable across a range of systems
 Product-line architectures may be developed.

21/03/2023 SW Architecture 7
Architectural views

21/03/2023 SW Architecture 8
Architectural views

 What views or perspectives are useful when designing


and documenting a system’s architecture?
 What notations should be used for describing
architectural models?
 Each architectural model only shows one view or
perspective of the system.
 It might show how a system is decomposed into modules, how
the run-time processes interact or the different ways in which
system components are distributed across a network. For both
design and documentation, you usually need to present multiple
views of the software architecture.

21/03/2023 SW Architecture 9
Architectural views

21/03/2023 SW Architecture 10
4 + 1 view model of software architecture

 A logical view, which shows the key abstractions in the


system as objects or object classes.
 A process view, which shows how, at run-time, the
system is composed of interacting processes.
 A development view, which shows how the software is
decomposed for development.
 A physical view, which shows the system hardware and
how software components are distributed across the
processors in the system.
 Related using use cases or scenarios (+1)

21/03/2023 SW Architecture 11

You might also like