Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Architecture - Coggle Diagram
Software Architecture
Patterns
Peer-to-peer pattern
components
Peers
Server
Client
Event-bus pattern
4 major components
event listener
channel
event source
event bus
Usage
Android development
Notification services
Broker pattern
Usage
Apache ActiveMQ
Apache Kafka
RabbitMQ
JBoss Messaging
Pipe-filter pattern
Model-view-controller pattern
Master-slave pattern
parties
Master
Slaves
Blackboard pattern
Client-server pattern
Parties
Client
Server
Usage
Online Applications
Gmail
Document sharing
Banking
Interpreter pattern
Usage
Database query languages such as SQL
Languages used to describe communication protocols
Layered pattern
4 common layers
Application layer(Service layer)
Business logic layer(Domain layer)
Presentation layer(UI layer)
Data access layer(Persistence layer)
Examples and Usage
OSI Model
TCP/IP Model
General desktop applications
E commerce web applications
Common Architectural Principles
YAGNI (You aren’t gonna need it)
SOLID Principles
I - Interface segregation principle
D - Dependency inversion principle
L - Liskov substitution principle
O - Open–closed principle
S - Single-responsibility principle
KISS (Keep it simple)
Opportunity Cost Principle
Don't repeat yourself (DRY)
Steps
Identify processor/modules to implement the use cases
Select operating system and hardware platform
Define use cases for the system
Define sequence diagrams
Analyze the requirements
Goals
improve quality
identify requirements
handle functional requirements
Job
Software Architect
Role
Domain Expertise
Technology Expertise
Design Expertise
Methodological Expertise
Why does it matter?
What is it?
Limitation
Advantages
Disadvantages