So software architecture deals with how we go from requirements to code right there has to be something in between. And often, it seems like magic, pulling a rabbit out of your hat.
So software architecture and design deals exactly
what that how the software is to be structured
what its components are what its pieces are
and how those pieces are related to each other.
And for large systems of particular. It usually makes sense to divine. This does that whole design activity into two parts architecture and
architecture dealing more with a high level
and design dealing more with the low level
Domain = Whatever is the real world context in which you’re building this. So if you’re building a tax software. The architect has to have a deep understanding of tax laws and processes for filing taxes and all that, if you’re building a system for
Limitation of analogy
Define software architecture
What is "principal"
It says a software systems architecture is a set of principles design decisions about the system so principle being most important and what is most important for a particular system just has to do on that particular system what the stakeholders defined as most important
Not all parts of desgins are architecture but the most important one
SEE PPT (textbook)
not only about funcitonal funcitonality but also about non-functional functionality
Why software architecture
cannot understand the whole application through a piece of code
Elements of software architecture
components are the ones that have to do with data and processing. These are like the boxes in the architectural diagrams.
connectors, have to do with the interaction between the different parts in the architecture, the interactions between components.
those are arranged into configurations in a specific way such that they can accomplish the functional and non functional requirements of the system.
prescriptive – > WHAT written before coding
plan to be built
the descriptive – > WHAT it was actually implemented.