Software Architecture
TI3115TU -- 2024-10-10
Architecture
TU Delft EWI Building 1969
Guaranty Building 1891
Louis Sulivan: "Form follows function"
Rafael Viñoly
"A skyscraper under construction melted my Jag"
+ Wind tunnel effect
Carbuncle Award: "a daily reminder never to let such a planning disaster ever happen again."
Drive Jag away
Coat all windows
Alter building shape
Almost nothing
Very costly
Not affordable
How one function can be called
Enforce way to call functions
Introduce a design pattern
Convert to functional paradigm
Minutes
Hours
Weeks
Months
Architecture disasters are common!
https://youtu.be/gfh-VCTwMw8
Architecture represents the significant decisions that shape a system… where significant is measured by cost of change- Grady Booch (creator of UML)
The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.- IEEE
Responsiveness
Reliability
Availability
Security
Usability
Maintainability
Resilience
Mostly internal quality
Lifetime
Number of Users
SW Re-use
Compatibility
M. Fowler - Is quality worth cost?
M. Fowler - Is quality worth cost?Free and Open Software
Building on top of existing Software
Using established protocols
Integrate into business processes
M. Fowler - Bounded ContextThe fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.
Architecture is the important stuff.- Ralph Johnson and M. Fowler
Whatever that is.

Functions? Issues? Priorities?

Who is the audience?
Why is it published?
Architecture is the important stuff.
Whatever that is.
Important stuff: realtive to perspective and view!
Architecture is the important stuff.⬇
Whatever that is.
A good architecture addresses concerns of people.
Balances them in case of conflict.
Is acceptable for everyone.
What do you want to show?
Whom do you want to show it to?
Views of particular aspects
One View describes a separate structural aspect
Appropriately illustrate how concerns of people are addressed by architecture
Information Security:
How does the information view address security?
Development Usability:
How is the usability of technology for developers ensured?
Functional Evolution:
How can functions being added in the future?
Development Security:
How are contributions verified?


Solutions for subcomponents (specific views and perspectives)
Address specific concerns
Introduce trade-offs

Business Logic on Server
Multiple clients; One server
Connection via network
Clients "consume" services

+ Total control of server
+ Allows "thin" clients
- Network performance??
- Single point of failure

Distributed Logic
Connection via network
Clients also provide
Advantages??
Trade-offs??

Cloud and Cloud-native
Microservices
Event-Driven
DevOps
Open Source Contribution Pattern
📚 M. Keeling, Design it! 2017. Chapter 7Whether it be the sweeping eagle in his flight, or the open apple-blossom, the toiling work-horse, the blithe swan, the branching oak, the winding stream at its base, the drifting clouds, over all the coursing sun, form ever follows function, and this is the law. - Louis Sullivan (1896)Form follows function:
Applicable in SW architecture?
It's not that simple!
If ‘form follows function,’ it does not follow in a straight line, nor in accordance with a simple mathematical formula, but along the lines of curves whose elements are always changing and never alike; and if the lines of development and growth of the vegetable and animal organisms are infinitely differentiated, the process of untrammeled human thought and human emotions are even more subtle in the differences and shadings of their manifestations - Dankmar Adler (1896)Function and environment
"Form" of software is a result of environment
Available Technology, Social fabric, Communication structure
Organizations which design systems (in the broad sense used here) are constrained to produce designs which are copies of the communication structures of these organizations - Mel Conway (1986)
"Function follows Form"
Architecture emerges or disintegrates
Forced worflows/architectures will disintegrate
Facilitates and does not dictate
Understands needs of people involved
Is experienced with material/technologies
Knows a wide repertoire of patterns
Is able to use knowledge/experience of others