Understanding the role of constraints on architecturally significant requirements

A key constraint on software development is reliance on tools, which we define as COTS products, software services, languages, frameworks and platforms. These tools may have significant architectural impacts that are not obvious when the requirements are elicited, tools selected, and architecture sketched out. In this paper, we report on a case study we conducted to identify architecturally significant requirements (ASRs) that were impacted by tool selection. We identified ASRs in an existing health IT project, CONNECT, and also identified the constraints on the project that were tool-related. We produce a mapping showing how the architectural risks identified in the initial architectural analysis were impacted by the tool choices made. We produce metrics showing how much time has been consumed when implementing ASRs that involve working around/with these constraints and the risks associated with them.

[1]  Robert L. Nord,et al.  A study of enabling factors for rapid fielding combined practices to balance speed and stability , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[2]  Arie van Deursen,et al.  Quantifying the Analyzability of Software Architectures , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[3]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[4]  Wei Hu,et al.  The build dependency perspective of Android's concrete architecture , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[5]  Ian Gorton Cyber Dumpster Diving: Creating New Software Systems for Less , 2013, IEEE Software.

[6]  Jeffrey V. Nickerson,et al.  Developing web services choreography standards - the case of REST vs. SOAP , 2005, Decis. Support Syst..

[7]  Michael W. Godfrey,et al.  Automated topic naming to support cross-project analysis of software maintenance activities , 2011, MSR '11.

[8]  Aldo Dagnino,et al.  Architectural requirements prioritization and analysis applied to software technology evaluation , 2009, SAC '09.

[9]  Audris Mockus,et al.  Using version control data to evaluate the impact of software tools , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[10]  John D. McGregor Ecosystem modeling and analysis , 2012, SPLC '12.

[11]  Paul Clements,et al.  Relating Business Goals to Architecturally Significant Requirements for Software Systems , 2010 .

[12]  Tim Menzies,et al.  Goldfish bowl panel: Software development analytics , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[13]  Gina Venolia,et al.  The secret life of bugs: Going past the errors and omissions in software repositories , 2009, 2009 IEEE 31st International Conference on Software Engineering.