By Khansa Saleem: Software Design & Architecture
By Khansa Saleem: Software Design & Architecture
By
Khansa Saleem
Software Design and Architecture
Books
Software architecture in practice (3rd Edition) By Len Bass,
Paul Clements, Rick Kazman
Software architecture in practice (2nd Edition) By Len Bass,
Paul Clements, Rick Kazman
Chapter 1
What is software architecture?
1. System Architecture:
A system’s architecture is a representation of a system in which
there is a mapping of functionality onto hardware and software
components, a mapping of the software architecture onto the
hardware architecture, and a concern for the human interaction
with these components. That is, system architecture is concerned
with a total system, including hardware, software, and humans.
A system architecture will determine, for example, the
functionality that is assigned to different processors and the type
of network that connects those processors. The software
architecture on each of those processors will determine how this
functionality is implemented and how the various processors
interact through the exchange of messages on the network
System and Enterprise Architecture
2. Enterprise Architecture:
Enterprise architecture is a description of the structure and behavior of
an organization’s processes, information flow, personnel, and
organizational subunits, aligned with the organization’s core goals and
strategic direction.
A modern enterprise architecture is concerned with how an enterprise’s
software systems support the business processes and goals of the
enterprise.
Typically included in this set of concerns is a process for deciding which
systems with which functionality should be supported by an enterprise.
An enterprise architecture will specify the data model that various
systems use to interact, for example. It will specify rules for how the
enterprise’s systems interact with external systems.
Architectural Structures and Views
1. Module Structure
2. Component-and-connector structure
3. Allocation structures
1. Module Structure
i. Decomposition structure
ii. Uses structure
iii. Layer structure
iv. Class (or generalization) structure
v. Data model
i. Decomposition structure
i. Deployment structure
ii. Implementation structure
iii. Work assignment structure
i. Deployment structure