Software Architecture Design by Stepwise Model Transformations - A Comparative Case Study
Fabian Gilson, Vincent Englebert
2015
Abstract
Software architecture design is a critical task as lots of requirements can be taken into account on which many decisions can be made. The maintenance and evolution of resulting models often become tricky, even impracticable when their rationale is lost. In a previous work, we introduced a set of languages used in a transformation-centric design method meant to tackle this scattering of requirements and to facilitate further model evolutions. But, we did not provided a formal validation of our proposal yet. The present work depicts a comparative case study we conducted on a group of students. The participants were asked to develop an online book store in two phases, the second one simulating an evolution of the system. We evaluated the functional completeness of the created software as well as the traceability of design decisions and rationale. The participants were also asked to criticize the design method and language they used in a textual report and through a questionnaire. Even if the size of the case study is rather limited, it clearly highlighs the advantages of our approach regarding, among others, its expressiveness and decisions traceability.
References
- Basili, V. R. (1992). Software modeling and measurement: The goal/question/metric paradigm. Technical report, University of Maryland at College Park, College Park, MD, USA.
- Bosch, J. and Molin, P. (1999). Software architecture design: Evaluation and transformation. IEEE Int. Conf. on the Engineering of Computer-based Systems, pages 4-10.
- Chen, L., Ali Babar, M., and Nuseibeh, B. (2013). Characterizing architecturally significant requirements. Software, IEEE, 30(2):38-45.
- Cook, T. D. and Campbell, D. T. (1979). QuasiExperimentation: Design & Analysis Issues for Field Settings. Houghton Mifflin Company.
- Dyba°, T. and Dingsøyr, T. (2008). Empirical studies of agile software development: A systematic review. Information and Software Technology, 50(910):833 - 859.
- Ehrig, K., Guerra, E., Lara, J. D., Lengyel, L., Prange, U., Taentzer, G., Varro, D., and Varro-Gyapay, S. (2005). Model transformation by graph transformation: A comparative study. In Proc. of Model Transformation in Practice Workshop, MoDELS 7805, pages 71-80.
- Garlan, D., Monroe, R. T., and Wile, D. (1997). Acme: An architecture description interchange language. In Conference of the Centre for Advanced Studies on Collaborative research (CASCON 97), pages 169- 183, Toronto, Ontario.
- Gilson, F. and Englebert, V. (2011a). Rationale, decisions and alternatives traceability for architecture design. In Proc. of the 5th European Conf. on Software Architecture (Comp. Vol.). ACM.
- Gilson, F. and Englebert, V. (2011b). Towards handling architecture design, variability and evolution with model transformations. In Proc. of the 5th Workshop on Variability Modeling of Software-Intensive Systems, pages 39-48. ACM.
- Gilson, F. and Englebert, V. (2014). A domain specific language for stepwise design of software architectures. In Proc. of the 2nd Int'l Conf. on Model-Driven Engineering and Software Development, pages 67-78. SciTePress.
- Hofmeister, C., Kruchten, P., Nord, R. L., Obbink, H., Ran, A., and America, P. (2007). A general model of software architecture design derived from five industrial approaches. J. Sys. Softw., 80(1):106-126.
- ISO/IEC/IEEE (2011). Systems and software engineering - architecture description. ISO/IEC/IEEE 42010:2011(E) (Revision of ISO/IEC 42010:2007 and IEEE Std 1471-2000).
- Jansen, A. and Bosch, J. (2005). Software architecture as a set of architectural design decisions. In Proc. of the 5th Working Conf. on Software Architecture, pages 109-120, Washington, DC, USA. IEEE Computer Society.
- Jones, S. (1983). Stereotypy in pictograms of abstract concepts. Ergonomics, 26(6):605-611.
- Jouault, F. and Kurtev, I. (2005). Transforming models with ATL. In Model Transformations in Practice (MTIP) Workshop at ACM/IEEE 8th Int'l Conference on Model Driven Engineering Languages and Systems.
- Krosnick, J. A. and Presser, S. (2010). Question and questionnaire design. In Marsdenand, P. V. and Wright, J. D., editors, Handbook of Survey Research, Second Edition, pages 263-313. Emerald Group Publishing Limited.
- Malavolta, I., Lago, P., Muccini, H., Pelliccione, P., and Tang, A. (2013). What industry needs from architectural languages: A survey. IEEE Trans. Softw. Eng., 39(6):869-891.
- Object Management Group (2012). OMG Systems Modeling Language (OMG SysMLTM), version 1.3. OMG document formal/2012-06-01.
- Parnas, D. L. and Clements, P. C. (1986). A rational design process: How and why to fake it. IEEE Trans. Software Eng., 12:251-257.
- Perry, D. E. and Wolf, A. L. (1992). Foundations for the study of software architecture. SIGSOFT Software Engineering Notes, 17(4):40-52.
- Pfleeger, S. L. (1995). Experimental design and analysis in software engineering. Ann. Softw. Eng., 1:219-253.
- Potts, C. and Bruns, G. (1988). Recording the reasons for design decisions. In Proc. of the 10th Int. Conf. on Software Engineering, pages 418 -427.
- Runeson, P. and Höst, M. (2009). Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng., 14(2):131-164.
- Schwaber, K. and Beedle, M. (2001). Agile Software Development with Scrum. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1st edition.
- Society of Automotive Engineers (2012). Architecture Analysis & Design Language (AADL). Standard number AS5506 Revision: B.
- Tang, A., Ali Babar, M., Gorton, I., and Han, J. (2006). A survey of architecture design rationale. J. Syst. Softw., 79(12):1792 - 1804.
- van Heesch, U., Avgeriou, P., and Hilliard, R. (2012). A documentation framework for architecture decisions. J. Syst. Softw., 85(4):795 - 820.
- van Heesch, U., Avgeriou, P., and Tang, A. (2013). Does decision documentation help junior designers rationalize their decisions? a comparative multiple-case study. J. Syst. Softw., 86(6):1545 - 1565.
- Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. (2012). Experimentation in Software Engineering. Springer-Verlag.
Paper Citation
in Harvard Style
Gilson F. and Englebert V. (2015). Software Architecture Design by Stepwise Model Transformations - A Comparative Case Study . In Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-083-3, pages 134-145. DOI: 10.5220/0005266101340145
in Bibtex Style
@conference{modelsward15,
author={Fabian Gilson and Vincent Englebert},
title={Software Architecture Design by Stepwise Model Transformations - A Comparative Case Study},
booktitle={Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2015},
pages={134-145},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005266101340145},
isbn={978-989-758-083-3},
}
in EndNote Style
TY - CONF
JO - Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Software Architecture Design by Stepwise Model Transformations - A Comparative Case Study
SN - 978-989-758-083-3
AU - Gilson F.
AU - Englebert V.
PY - 2015
SP - 134
EP - 145
DO - 10.5220/0005266101340145