You are reading the article Architectural Design In Software Engineering updated in September 2023 on the website Cersearch.com. We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested October 2023 Architectural Design In Software Engineering
Introduction to Architectural Design in Software EngineeringStart Your Free Software Development Course
Web development, programming languages, Software testing & others
System properties of Architectural Design
Security: The system is secured against malicious users by encryption or any other security measures. The architectural design process uses a layered architecture with critical assets in the innermost layers.
Performance: It is nothing but a meantime taken between request and response of the page. The performance of a system can be improved by avoiding critical operations and reducing communication between components. This is possible by using large components instead of small and fine-grained components.
Maintainability: Architectural design process uses easily modifiable and replaceable components. Consider the components in a manner so that it is easy to change them over time according to the new requirements and build the software with the flexibility to change or maintain.
Safety: Avoid critical functionalities in small components of the system.
Availability: Architectural design process includes redundant components and corresponding functions for handling the occurrence of any type of errors.
Decisions for Architectural DesignIn software engineering, the architectural design process differs as the system differs depending upon the type of system being developed. But still, there are some common decisions that should be taken care of in any design process are as follows
How can the system be distributed across the network?
Which approach can be used to structure the system?
Is there a generic application architecture procedure that can be used which can act as a template for the proposed system that is being designed and developed?
Which architectural styles are suitable for the proposed system?
How can software architecture be documented?
How can the system be decomposed into modules?
What control strategy must be used to control the operation of the components in the system?
How can architectural design be analyzed?
Software Architectural ModelsTo document the architectural design process, architectural models are used
Static type of architectural structural model represents the major system components.
Dynamic type of architectural process model represents the process structure of the system.
Distribution type of architectural model represents how the component is distributed across various computers.
Interface type of architectural model represents the interface of the components.
Relationships type of architectural model represent models such as data flow diagram to represent the component interrelationship.
Generic model: These models are abstractions derived from a number of real systems and encapsulated the characteristics of these systems. This type of model usually follows a bottom-up approach.
Reference models: These models provide information regarding the class of the system. They are derived from the application domain rather than from existing systems. It usually follows the top-down approach. It provides a comparison between different Software architecture.
Advantages of Architectural Design in Software Engineering
Architectural design works as a tool for stakeholder communication. It is used as a support or roadmap in the discussion with system stakeholders
It is used for system analysis. Architectural design is used to analyze whether the system will be able to meet its non-functional requirements or not.
It facilitates large-scale re-use. The software architecture that is the output of the architectural design process can be reused across a range of the system.
Architectural design re-use the components, the use of redundant components improves the availability but makes the security of the system difficult to handle.
Use of large components may improve the performance as large components include all the related properties and function into one component but it reduces the maintainability as it becomes difficult to modify and replace the large component. It involves a very tiresome task.
Conclusion Recommended ArticlesYou're reading Architectural Design In Software Engineering
Update the detailed information about Architectural Design In Software Engineering on the Cersearch.com website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!