Types of Software Architecture
Types of Software Architecture
- Software Architecture Design considers the system structure and requirements to get a successful system architecture.
- It is important to focus on those things which will help you to create an architecture.
The important features of a good architecture are as follows:
- An architecture should try to address the requirements of several stakeholders.
- It should handle both the functional and quality requirements.
- It should realize all of the use cases, scenarios and hide implementation details.
Following are the types of software architecture.
1. Business Architecture
2. Application Architecture
3. Information Architecture
4. Information Technology Architecture
1. Business Architecture
- Business architecture defines the strategy of business, governance, organization and key business processes within an enterprise.
- This type of architecture focuses on the analysis and design of business processes.
2. Application Architecture
Application architecture serves as the blueprint for individual application system, their interactions and relationships to the business processes of the organization.
3. Information Architecture
Information Architecture defines the logical and physical data assets and data management resources.
4. Information Technology Architecture
IT architecture defines the hardware and software building blocks that make up the overall information system of the organization.
Software Architecture Design Process
- A good system should be designed with proper consideration for the user, IT infrastructure and business goals.
- Identifying important quality attributes for these areas helps to increase the reliability and scalability.
- A good design is focused on the user experience which supports user empowerment is flexible and configurable.
Following are the steps to compose the basic architecture design process.
A. Recognize the Problem
B. Estimate the Architecture Design
C. Modify the Architecture Design
A. Recognize the Problem
- Recognizing the problem is the most critical step of software architectural design process, because it affects the quality of the design that follows.
- Without recognizing the problem, it is not possible to clear the doubts or to create an effective solution.
B. Estimate the Architecture Design
- In this step, it evaluates the architecture correspondence to quality attribute requirements.
- If all the quality attributes are estimated as per the required standard then architectural design process is finished.
C. Transform the Architecture Design
- If all the quality attributes are not estimated as per the required standard then the third phase of software architecture design is entered that is transformation of architecture design.
- This phase is performed after an estimation of the architectural design.
- Transformation of architecture design is concerned with selecting design solutions to improve the quality attributes while preserving the domain functionality.