Engineering system architectures for complex systems involves the tasks of analyzing architectural drivers, identifying architectural concerns, identifying valid architecture candidates, and evaluation of alternatives. One problem to overcome when architecting a system is the identification of valid of architectural candidates. We have developed a step-wise method for performing system architecture analysis and tested it on a sub-system in a project developing a drive system for heavy automotive applications. In this paper we present the complete method of nine steps for engineering an architecture and we elaborate in detail on the procedure to identify architectural candidates based on previously identified architectural drivers. We present a diagram depicting the proposed information model, its concepts and their relationships. In addition, the expectations on such a method as expressed by practitioners have been elicited, and we elaborate on the validity by examining how well the method indicate fulfillment. Our conclusion is that the proposed method does not fail to deliver on any of the needs and this gives an indication of usefulness. When identifying architectural candidates it is important to use proper criteria in the process. Our conclusion is that the practitioners should focus on candidates that affect the system at hand (within system boundaries), and on the candidates that address the architecturally significant system use. This is reflected in our method where we prescribe evaluation of the design candidates by validating that they solve only the right problem and by ensuring that they address the system at hand.
[1]
DeWitt Latimer,et al.
The Method Framework for Engineering System Architectures
,
2008
.
[2]
Alistair Cockburn,et al.
Writing Effective Use Cases
,
2000
.
[3]
Stig Larsson,et al.
A method for analyzing architectural drivers when engineering a system architecture
,
2013,
2013 IEEE International Systems Conference (SysCon).
[4]
Gerrit Muller,et al.
Systems Architecting: a Business Perspective
,
2011
.
[5]
Rick Kazman,et al.
Evaluating Software Architectures: Methods and Case Studies
,
2001
.
[6]
Regine Freitag,et al.
Modeling Usage: Techniques and Tools
,
2009,
IEEE Software.
[7]
David D. Walden,et al.
Systems engineering handbook : a guide for system life cycle processes and activities
,
2015
.
[8]
Paul Clements,et al.
ATAM: Method for Architecture Evaluation
,
2000
.
[9]
I. Alexander,et al.
Scenarios, stories, and use cases: the modern basis for system development
,
2004
.
[10]
Mario R. Barbacci,et al.
Quality Attribute Workshops (QAWs), Third Edition
,
2003
.