
Software Technological Roles, Usability, and Reusability M. Burgin H. K. Lee N. Debnath Department of Department of Science Department of Mathematics and Mathematics Computer Science University of California, . University of Texas of the Winona State University Los Angeles Permian Basin Winona, MN 55987 Los Angeles, CA 90095 Odessa, TX 79 762 Abstract That is why it is so important to have efficient reuse metrics that quickly tell us the relative ease of using a Software reuse is an important and relatively nav given software component in new environment and for approach to sofiare engineering. The aim of this paper another sohare system [22, 231. Many problems with is &rther development of a methodolo# and reuse metrics are also considered in [24]. mathematical theo y of software metrics for evaluation of In this paper, we develop methodological and software reusabilig. In the second section, going after theoretical foundations for building effective reuse Introduction, it is demomstraied that reusability is U form metrics. In the second section, going after Introduction, it of usabiliv. This allows one io use experience in the is demonstrated that reusability is a form of usability. This development and utilization of sofiare usabilig metria allows one to use experience in the development and for the development and utilization of sofhvare reuse utilization of software usability metrics for the metria. In the third section, different opes and classes of development and utilization of software reuse metrics. For softwore metrics are explicated and compared, while in instance, in the extended IS0 model of software quality, the fourth section, sofware metrics and their properties these are nine characteristics (understandability, in a formalized coniexf are studied The research is learnability, operability, explicitness, customisability, oriented at the advancement of softWnre engineering and, attractivity, user-friendliness, clarity, and helpfulness) for in particular, at creation of more efficient reuse metrics. usability and only two characteristics (the ratio of reusable parts and the ratio of reused parts) for reusability. Our approach makes it possible to use usability characteristics 1. Introduction for building new useful software metric for reusability. In addition, this approach provides for utilization of some According to [ 161 the idea of software reuse appeared important types of software reusability metrics for in 1968, opening new horizons for software design. A measuring software usability. good sohare reuse process is able to facilitate the In the third section, different types and classes of increase of productivity of program design and software metrics are explicated and compared, while in development, reliability of software product, and the the fourth section, software metrics and their properties decrease of costs and implementation time, That is why, are studied in a formal context. as Devanbu, Peny, and Poulin [14] write, increasing levels of software reuse constitute one of the most 2. Reusability as a form of usability pervasive and profound influences in software engineering today and there is actually now a reuse marketplace. To compare usability and reusability, let us look at However, a direct application of the reusability idea definitions of these two software properties. has been hindered by many obstacles and most of the Definition 1. Usability is a property of software expectations have not been met. One of the problems characterizing its (potency for) utilization. encountered is the selection of the right software This definition has two consequences. First, usability component for reuse. This is related not only to the is characterized by a set of attributes that bear on the similarity between the desired functionality and the effort needed for use, and on the individual assessment of hnction delivered by the retrieved software component, such use, by a stated or implied set of users. Second, there but also to the effort needed to modify the chosen are two types of reusability metrics - potential and actual. component to accommodate the desired functionality. 0-7803-8819-4/04/$20.00 02004 IEEE. 210 Usability is formalized in [8] as a kind of program building a system by writing code is replaced with hardship, which consists of three components: DC- building a system by assembling and integrating existing complexity, C-complexity, and P-complexity. software components. By enhancing the flexibility and Definition 2. Software reuse is the process of maintainability of systems, this approach can potentially implementing or updating software systems using existing be used to reduce software development costs, assemble software assets [ 11 1, systems rapidly, and reduce the spiraling maintenance This implies the foliowing deJnition. burden associated with the support and upgrade of large Definition 3. Reusability is a property of software systems. In addition, software testing and validation are characterizing its (potency for) reuse. also simplified [ZO]. At the foundation of this approach is In other words [ 191, reusability is the degree to which the assumption that certain parts of large software systems a software module or other work product can be or is used reappear with sufficient regularity that common parts in more than one computing program or software system. should be written once, rather than many times, and that Thus, we have two types of reusability metrics - potential common systems should be assembled through reuse and actual. rather than rewritten over and over. Taking the extended IS0 model of sohare quality It is necessary to remark that programming Ianguages 1301, we see that such indicator of reusability as the ratio constitute an important factor for reusability. Modularity of reusable parts that compares the number of reusable of the utilized programming language orients software parts of the software product to the total number of parts developers, who now are not only programmers but also of the same software product is a potential software end users [lo], to use the component-based approach in metric. At the same time, such indicator of reusability as building software. Some languages provide better the ratio of reused parts that compares the number of modularity than others. For instance, programming reused parts of the software product to the total number of languages formed on the base of such programming parts of the same software product is an actual software metalanguage as BS-language [3] are oriented to achieve metric. high modularity of programs. The same is true for object To explicate relations between usability and oriented programming languages. As a result such reusability, we consider technological roles of objects languages would provides better facilities for software involved in a technological process, in our case, the reuse. process is information processing. According to the Comparing Definitions 4-6, we come to a natural mathematical theory of technology [4, 51, the main roles conclusion that reusability is also a kind of usability as of objects in astechnological process are: materials, tools, reuse is a kind (constructive type) of software utilization. and executors/perfonners. This correlates with the empirical understanding of This implies types of software utilization: reusability in some cases. For instance, Tracz observed 1. Functional utilization. that for programmers to reuse software, they must first 2. Processual utilization. find it use~W[28].At the same time, Poulin indicates [22] 3. Constructive utilization. that the usefulness of a component depends as much on Definition 4. When a program is used to compute the framework in which it fits as it does on intemal (realize) some function, it is calledfunctionol utilization. characteristics of the component. We consider these Functional utiiization appeared as the first function of aspects in the next Section. computers and is the most conventional mode of their functioning. Definition 5; When a program is used to realize some 3. Types of Software Metrics process, it is calledprocessuai utilization. Operating programs and educational software give The traditional software metrics, such as the LOC examples of processual utilization. Operating programs (lines of code), length of the program, volume of the organize the process of computer hnctioning. Educational program, cyclomatic number, and software science effort software organizes learning processes. depend completely on the properties of the evaluated Definition 6. When a program is used as material for program [3 11, construction, it is called constructive utilization. As Poulin writes [22], the ability to reuse software Thus, program reuse is a constructive utilization when depends on environmental factors that fall completely out another program is constructed. Such construction of of the scope of individual software modules or programs from components of other programs is called components. The search for a general reusability metric component-based software development (CBSD). must consider these environmental factors as well as Component-based software development focuses on factors derived from the software. We conclude that building large software systems by integrating previously- although we can determine empirical values for reusability existing sofhare components [I, 2, 271. The notion of 21 1 awibutes of software, we cannot establish a general Definition 10. Any function m: A + L , or n: I + L, reusability metric.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages5 Page
-
File Size-