A Software Architecture Design Method that Matches Problem Frames and Architectural Patterns

2015 ◽  
Vol 42 (3) ◽  
pp. 341-360
Author(s):  
Jungmin Kim ◽  
Sungwon Kang ◽  
Jihyun Lee
Author(s):  
Yongrui Xu ◽  
Peng Liang

To reuse successful experience in software architecture design, architects use architectural patterns as reusable architectural knowledge for architectural synthesis. However, it has been observed that the resulting architecture does not always conform to the initial architectural patterns employed. Architectural synthesis using architectural patterns is also recognized as a challenging task, especially for novice architects due to lack of experience. In this paper, we propose a cooperative coevolution approach to automate architectural synthesis using architectural patterns. We first analyze several common architectural patterns and the constraints when using them. We then extend existing architectural synthesis activity with patterns based on the results of this analysis. Finally, we map the extended architectural synthesis to a cooperative coevolution model, which can optimize the resulting architectural solutions and avoid the violations to the pattern constraints automatically. We evaluate the proposed approach through a case study: architecture design of a cinema booking system. The results show that the proposed approach can generate architectural solutions which are closer to the expert design.


2010 ◽  
Vol 21 (6) ◽  
pp. 1196-1207
Author(s):  
Xiao-Feng CUI ◽  
Yan-Chun SUN ◽  
Hong MEI

2019 ◽  
Vol 46 (11) ◽  
pp. 1113-1121
Author(s):  
Sungwon Lee ◽  
Jonghwan Shin ◽  
Taehyung Kim

2021 ◽  
Vol 2074 (1) ◽  
pp. 012008
Author(s):  
Ding Yong

Abstract Software architecture design is a very critical part of the software development process. In order to be able to respond to changes in user requirements in software development in a timely manner, a convenient and lightweight development model should be adopted. Agile development adopts a human-oriented, step-by-step development process that can quickly respond to changes in software requirements, adjust the design of software architecture in a timely manner and adapt to software development in a dynamic environment. Based on the analysis and comparison of traditional development process and agile development process, this paper analyzes the key technologies in agile architecture design and proposes a software architecture design method based on agile development mode.


Sign in / Sign up

Export Citation Format

Share Document