2013 PhD Thesis by Daniel Davis (RMIT University)

Page 98

Meyer identifies as being crucial to software quality and I use them as a structure for qualitative evaluations of parametric models. In particular, I make reference to Meyer’s concepts of correctness [1], extendability [3], reusability [4], efficiency [6], ease of use [8], and functionality [9], which I will now briefly explain in more detail. Correctness Correctness concerns whether software does what is expected. In some circumstances correctness is obvious; if you create a parametric model to draw a cube, the model is correct if it draws one. But in most circumstances correctness is non-trivial since it can be difficult to determine what is expected and to ensure this happens through a range of input parameter values. Software engineers have developed a range of methods for ascertaining whether software is correct – unit testing being one notable example. While I suspect architects would benefit from adopting these practices, this is a large area of research outside the scope of my thesis (as discussed in chapter 3). For the remainder of this thesis I have used correctness to denote that a parametric model is free from any major defects; it is not creating spheres when it should be creating cubes. Extendability Extendability is essentially a synonym for flexibility; the ease with which software adapts to changes. Meyer (1997, 7) says extendability correlates with size, since “for small programs change is usually not a difficult issue; but as software grows bigger, it becomes harder and harder to adapt.” This notion corresponds to what other authors have written about the software crisis (see chap. 3.1) and it corresponds to the relationships between software size and cyclomatic complexity that I have empirically shown. Meyer (1997, 7) goes on to argue that extendability can be improved by ensuring the code has a “simple architecture,” which can be achieved by structuring the code with “autonomous modules.” While I explore extendability throughout this thesis, I pay particular attention to the structure of parametric models in chapter 6. Reusability Reusability pertains to how easily code can be shared, either in part or in whole. Meyer (1997, 7) notes that “reusability has become a pressing concern” of software engineers. As I have shown in chapter 2.3, the reusability of parametric models is also a concern of many architects. 89


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.