0% found this document useful (0 votes)
17 views12 pages

Architectural Design in Software Systems

software engineering notes

Uploaded by

Seema Kolagi
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)
17 views12 pages

Architectural Design in Software Systems

software engineering notes

Uploaded by

Seema Kolagi
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

Chapter 3 – Architectural

Design

Chapter 6 Architectural design 3


Topics covered
 Architectural design decisions
 Architectural views
 Architectural patterns
 Application architectures

Chapter 6 Architectural design 4


Software architecture Definition

 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


software architecture.

Chapter 6 Architectural design 5


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.
Architectural design decisions

• Architectural design is a creative process so the process differs


depending on the type of system being developed.

• However, a number of common decisions span all design


processes and these decisions affect the non-functional
characteristics of the system.
The architecture of a packing robot control system – Box
and Line Diagram

Chapter 6 Architectural design 8


Architectural design decisions – common
questions (though a creative process)
 Is there a generic application architecture that can be used?
 How will the system be distributed?
 What architectural styles are appropriate?
 What approach will be used to structure the system?
 How will the system be decomposed into modules?
 What control strategy should be used?
 How will the architectural design be evaluated?
 How should the architecture be documented?

Chapter 6 Architectural design 9


Architecture and system characteristics

 Performance
 Localise critical operations and minimise communications. Use
large rather than fine-grain components or replicate.
 Security
 Use a layered architecture with critical assets in the inner layers.
 Safety
 Localise safety-critical features in a small number of sub-systems.
 Availability
 Include redundant components and mechanisms for fault
tolerance.
 Maintainability
 Use fine-grain, replaceable components.

Chapter 6 Architectural design 10


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.
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)

Chapter 6 Architectural design 12

You might also like