Architecture & Design
There is no difference between them. none at all.
However if we have to put the meaning to the word. "Architecture" focuses on overall design or structure of something, while "design" zooms in on the specific elements and decisions within that plan.
For eg.
Architecture encompasses the overall design and layout of a building, including its appearance and room layout. However, it also involves detailed decisions like where to place outlets, light switches, and heating systems, as well as how walls and roofs will be constructed. So, while architecture deals with the big picture, it also involves attention to these smaller details.
Goal of good software architecture
Minimize the human resources
to minimize the human resources required to build and maintain the required system.
Easy to change
architecture must change because of new requirement rather than new technology
Time proof
the way the code is organized and structured should make it clear to developers and users what it is intended to do and how it achieves its goals. This clarity helps in understanding, maintaining, and evolving the software system over time.
Being flexible in wrong places is bad example of software architecture
In software architecture, being overly flexible in the wrong areas can lead to problems. It means not every part of the system needs to be adaptable, and trying to make them so can make things more complicated than necessary.
Good architecture let's defer major decisions
Important decisions are postponed or delayed until more information or understanding is available. It implies that rushing into major decisions without sufficient consideration or information could lead to less effective or inefficient outcomes in the design process.
It requires a level of discipline and dedication that most programmers
never dreamed they’d need. Mostly, it takes a passion for the craft and the desire
to be a professional.
Every software system provides two different values to the stakeholders:
behavior and structure.
Behaviour
Value in Behavior: Software's main purpose is how it acts. It needs to do what stakeholders want, like making or saving money.
What Programmers Do: Programmers make machines follow the rules set by stakeholders. They do this by writing code based on what stakeholders need.
Fixing Mistakes: If machines don't follow the rules, programmers find and fix the problems using debugging tools.
Misunderstanding: Some programmers think their only job is to make machines work right and fix any problems. But that's not the whole picture.
Full Job: Programmers actually have a bigger job than just fixing bugs. They're also involved in many other parts of making software work well.
CASE STUDY
Self wing it i guess. (haha)
Software paradigm
Structure Progamming
OOP
Functional Progamming