We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 28
Software
Architecture and Architectural Views What is Software Architecture?
• The high-level structure of a software system,
encompassing elements, their interactions, and the rules governing their interactions • Defines the system’s structure and behavior, and impacts the system’s success and sustainability Characteristics of Software Architecture
● Organizes large-scale systems
● Facilitates communication between stakeholders ● Manages complexity through abstraction ● Supports system evolution and maintenance What are Architectural Styles?
● It is known as the common solutions for
recurring design problems. ● It provides a blueprint for system design, improving scalability and maintainability. Examples of Architectural Styles Layered Architecture This architecture consists of components are organized into layers, each with a specific role. Client-Server Architecture This architecture divides the system into clients and servers. Microservices This architecture is a collection of loosely coupled services. Structural Layers of Software Elements
● It is the elements of architecture that are
organized in layers. ● It provides a benefits in layering like: separation of concerns, modularity, flexibility. Examples of Structural Layers Presentation Layer This layer consists of user interface components. Business Logic Layer This layer consists of Application core functions. Data Layer This layer consists of data storage and management. Impact of Software Architecture
●Performance ●Scalability ●Security ●Flexibility What are Architectural Views?
● It is defined as different perspectives or
views that describe the system’s architecture. ● It provides a communication from architecture to various stakeholders with different concerns (e.g., developers, users, business analysts). 4+1 Architectural View Model It is developed by Philippe Kruchten to describe system architecture using 5 different views Logical View This view focuses on system functionality Process View This view addresses the system performance and concurrency. Development View This view organizes the software in modules for development and management. Physical View This view maps software onto hardware for system deployment. +1 Scenario View This view captures use cases to illustrate how different components interact. C4 View Model It is another method for documenting architecture using hierarchical views Context Diagram This diagram shows how the system interacts with external entities Container Diagram This diagram depicts major containers like databases, applications Component Diagram This diagram describes individual components within containers Code (Class) Diagram This diagram details the specific classes within a component Effective Development of Architectural Views
●Iterative development of views
●Incorporating feedback from stakeholders ●Keeping views consistent and updated Thank you!