0% found this document useful (0 votes)
269 views

Creating An Architectural Design

The document discusses software architecture and architectural design. It defines software architecture as the structure of components, relationships, and properties. Architectural design is important for analysis, considering alternatives, and risk reduction. Specific architectural styles described include data-centered, data flow, call and return, object-oriented, and layered. The document also covers architectural patterns, context diagrams, archetypes, and elaborating architectural components.

Uploaded by

lakshmilavanya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
269 views

Creating An Architectural Design

The document discusses software architecture and architectural design. It defines software architecture as the structure of components, relationships, and properties. Architectural design is important for analysis, considering alternatives, and risk reduction. Specific architectural styles described include data-centered, data flow, call and return, object-oriented, and layered. The document also covers architectural patterns, context diagrams, archetypes, and elaborating architectural components.

Uploaded by

lakshmilavanya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Chapter 10

Architectural Design

Software Engineering: A Practitioner’s Approach, 6th edition


by Roger S. Pressman

1
Software Architecture

 The software architecture of a program or


computing system is the structure or
structures of the system, which comprise the
software components, the externally visible
properties of those components, and the
relationships among them.
—Bass. et al.
2
Why Architecture?
 Architecture is a representation of a system
that enables the software engineer to:
1. analyze the effectiveness of the design in
meeting its stated requirements,
2. consider architectural alternatives at a stage
when making design changes is still relatively
easy, and
3. reduce the risks associated with the construction
of the software.
3
Data Design

 Architectural level → Database design


 data mining
 data warehousing
 Component level → Data structure
design

4
Architectural Styles
 Each style describes a system category that
encompasses:
i a set of components (e.g., a database, computational
modules) that perform a function required by a system,
r a set of connectors that enable “communication,
coordination, and cooperation” among components,
d constraints that define how components can be integrated
to form the system, and
e semantic models that enable a designer to understand the
overall properties of a system.

5
Specific Styles

 Data-centered architecture
 Data flow architecture
 Call and return architecture
 Object-oriented architecture
 Layered architecture

6
Data-Centered Architecture

7
Data-Flow Architecture

8
Call and Return Architecture

9
Object-Oriented Architecture

10
Layered Architecture

11
Architectural Patterns
 Concurrency
 operating system process management
 task scheduler
 Persistence
 database management system
 application level persistence
 Distribution
 broker
12
Architectural Design

 Architectural context diagrams model how


software interacts with external entities
 Archetypes are classes or patterns that
represent an abstraction critical to the system
 Architectural components are derived from
the application domain, the infrastructure, and
the interface.
13
Arch. Context Diagram

14
SafeHome ACD

15
SafeHome Archetype

16
Component Structure

17
Component Elaboration

18

You might also like