Software Architecture Flashcards
What is software architecture?
A common way that we have organized our software as a big design. Knowing the architecture tells you a bit about what to expect of the design and the behaviour of the program.
What is a structure architecture?
Im running a single program. How do I make it make sense?
Shared memory architecture?
Multiple programs all running to solve the same problem, but they’re sharing memory
Messaging architecture?
I have a couple programs that might need to trade information. Think synchronous
What is synchronous communication?
Reacting and copying
Asynchronous communication example?
Send out an email. Wait for someone to check email.
ADaptable system architectures?
UI related
What is a component based structure architecture?
Tightly coupled and cohesive modules interact via interfaces.
Tightly coupled is when the vars are related and require each other.
What is a monolithic application?
Single layer application that is a coupled together.
What is a layered structure architecture?
Division of functionality into individual layers. Each layer only interacts with the layer directly above or below it.
Each one of the layers (elements) has it’s own responsibility.
Example: IOS
OS on the bottom
Interaction on the top
etc