1/12
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
The Architect
distinctive role and character in a project
broad training
extensive experience
deep understanding of the domain
leads the team
good communicator
decision maker
deals with a higher level of abstraction than those performing construction
often serves as the interface to key business stakeholders/customers
Why architecture in software engineering?
intellectual control
conceptual integrity
effective project communication
reusability
maintainability (management of a set of variant systems)
What is Software Architecture (1)?
the set of principal design decisions about the system
What is Software Architecture (2)?
the blueprint for a software system’s construction and evolution
World Wide Web (WWW)
collection of resources, each with a unique name (URL)
URL is used to determine the identity of a machine on the Internet (origin server), from which the resource is obtained
clients (user agents / web browsers) make requests of servers for their resources
clients manipulate representations of resources
all communication between user agents and origin servers must be:
performed by a simple, generic protocol (HTTP)
fully self-contained
What Architecture Diagram is this?
Uber - ride apps
Software Architecture’s Elements
components (
connectors (interaction)
Components and Connectors are arranged into configurations
Prescriptive Architecture
as designed / as intended architecture
planned — neater
Descriptive Architecture
as implemented / as real architecture
sometimes messier
Linux Architecture: Prescriptive or Descriptive?
Prescriptive
Linux Architecture: Prescriptive or Descriptive
Descriptive
Architectural Erosion
when a system evolves, ideally the prescriptive architecture is modified first
in practice, the system (thus descriptive architecture) is often directly modified
Architectural Erosion Causes
developer sloppiness
short deadlines
lack of (documented) prescriptive architecture
code optimizations
inadequate techniques or tool support