SIA_Module_1&2

0.0(0)
studied byStudied by 1 person
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/30

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

31 Terms

1
New cards

Architectural Design Principles

Fundamental guidelines and concepts that help make informed decisions when creating a system or structure. They guide the overall design approach shape the system's structure and ensure that the resulting architecture is coherent efficient and meets goals and requirements

2
New cards

Separation of Concerns

An important concept in architectural design that promotes dividing a system into distinct components or modules each addressing a specific responsibility. This improves clarity maintainability and flexibility by isolating aspects and minimizing interdependencies

3
New cards

Key Aspects of Separation of Concerns

Modularity single responsibility principle (SRP) encapsulation information hiding layered architecture loose coupling

4
New cards

Modularity and Reusability

Building systems by dividing functionality into independent modules and reusing these modules across different contexts

5
New cards

Modularity

Dividing a system into smaller self-contained modules that encapsulate specific functionalities to simplify development testing and maintenance

6
New cards

Reusability

Reusing components modules or design patterns in different projects or contexts

7
New cards

Modularity Benefits

Clear organization encapsulated behavior code reuse maintainability

8
New cards

Reusability Benefits

Time and cost efficiency consistency and quality scalability standardization and best practices

9
New cards

Scalability and Performance Considerations

Design approaches that ensure systems can handle growing workloads and remain responsive and efficient

10
New cards

Scalability

The ability to handle growing workloads user traffic or data volume without sacrificing performance

11
New cards

Performance

Optimizing responsiveness and efficiency to deliver fast and reliable experiences

12
New cards

Scalability Key Aspects

Horizontal scaling vertical scaling load balancing caching

13
New cards

Performance Key Aspects

Bottleneck identification efficient algorithms and data structures database optimization caching and in-memory processing optimized network communication asynchronous and parallel processing

14
New cards

Security and Privacy Concerns

Safeguarding sensitive information protecting user privacy and mitigating vulnerabilities

15
New cards

Security and Privacy Key Aspects

Defense in depth authentication and authorization data encryption secure communication least privilege principle secure storage and data protection privacy by design security testing and auditing compliance with regulations

16
New cards

How to Draw an Architectural Diagram

Step 1 Define the purpose Step 2 Identify the components Step 3 Establish relationships Step 4 Choose the right diagram type Step 5 Select a tool Step 6 Draft the diagram Step 7 Add details Step 8 Validate the diagram Step 9 Iterate and refine Step 10 Finalize and share

17
New cards

Systems Integration

The process of combining different subsystems components or applications within an organization to work together as a unified system. It enables seamless data exchange communication and interoperability

18
New cards

Importance of Systems Integration

Seamless data flow process automation improved decision-making enhanced collaboration improved customer experience cost efficiency innovation and agility

19
New cards

Architectural Style Patterns

Standardized approaches and guidelines for designing software systems and applications that help define structure organization and interactions

20
New cards

Layered Architecture

Divides the system into hierarchical layers each with specific functionalities like presentation business logic and data access promoting modularity and separation of concerns

21
New cards

Client-Server Architecture

Involves clients requesting services from servers. Promotes scalability as multiple clients can interact with the same server

22
New cards

Microservices Architecture

Decomposes a system into small independent services that focus on specific business capabilities and communicate through lightweight protocols

23
New cards

Event-Driven Architecture

Based on producing and consuming events or messages. Enables loose coupling and asynchronous communication ideal for real-time systems

24
New cards

Service-Oriented Architecture (SOA)

Organizes software systems as a collection of self-contained loosely coupled services that encapsulate specific functionalities and expose well-defined interfaces

25
New cards

Repository Pattern

Provides a layer of abstraction between the application and the data layer. Simplifies data access by encapsulating logic and offering a consistent interface

26
New cards

Publish-Subscribe Pattern

Enables components to communicate by broadcasting messages. Publishers generate messages and subscribers receive those of interest enabling decoupling

27
New cards

Model-View-Controller (MVC)

Separates an application into model (data) view (UI) and controller (input logic). The controller updates the model and the view presents the data

28
New cards

Event Sourcing

Stores events that represent state changes rather than the current state itself. Replaying these events reconstructs the system's state supporting auditability and scalability

29
New cards

Hexagonal Architecture (Ports and Adapters)

Separates core business logic from external dependencies through an inner core and outer layers (ports and adapters) for handling I/O and integration

30
New cards

Integration Challenges

Complexity data mapping and transformation system compatibility scalability and performance security and data privacy legacy system integration

31
New cards

Integration Benefits

Improved data accuracy and consistency enhanced business efficiency increased productivity improved decision-making enhanced customer experience scalability and flexibility cost savings business agility