Empirically Validated Software Efficiency Estimation Model: Product Operation Perspective ()
1. Introduction
Nowadays software and application programs are being used increasingly in an extensive variety of applications and areas. Therefore, their correct operations and proper working are very crucial and important for the growth and success of businesses. One of the major concerns of the software and application development industry is to produce and deliver high efficient quality software. Therefore, proper evaluation and estimation of software efficiency has always been a primely important and highly prioritized task for software industry professionals as highlighted [1] [2] .
Designing a successful project required up-front, program ongoing financial costs, and indicated end-use needs. Moreover, to be effective in operation, efficient and well organized approaches to designing and developing large-scale program software are required and demanded to an entire software community. Subsequently, performance and utility―, every software development and making project are focused by very common internal factors and related criteria:
・ It is must be required from them to provide appropriate product to the users and customers with all listed and required functionalities of program at a minimum condition.
・ It is also required product to be delivered on schedule and within financial plan because of urgency and balancing the rate level to be first to demand in market in order to sustain in a competitive edge.
・ Moreover, it is also expected from them to meet customer’s expectations by delivering product’s performance to end users.
Therefore, the performance and efficiency of the program has many influences on the criteria that directly or indirectly affect software and program quality. Enormous code size and complex design of software may lead to poor efficiency index and performance, and in turn series of event result in ineffectual testing and challenging the maintenance process, which may finally result in bad consequences given in program [3] [4] . It is an understood fact that defects of software structures and designs have a strong adverse effect on quality attributes and related criteria. Structuring and developing a high quality complex design endures to be an inefficiently initially defined requirement and process. Therefore, software and program design must be simple and minimally complex; this minimizes the required effort for the unforeseen future functional extensions. Moreover, the design is alienated into functionally separated and less interdependent modules of reasonable program size [5] . The main objective of this research work is to propose a complete model for efficiency estimation of the program performance that computes efficiency indices at the design time of the product development life cycle process. In view of this fact, research work proposes an “efficiency estimation framework”, for object oriented program design in product operation perspective, which is well explained and summarized in Figure 1.
Proposed framework for efficiency estimation is structured in such a way that it primarily describes the efficiency as an important quality factor of any software program. Then lists and describes program’s design properties and related design metrics for the object oriented paradigm. For efficiency estimation of program, process tries to develop a model to find efficiency indices. Subsequently, check and compare all calculated measures to commercial programs and product design. For statistical significance of gained values and better acceptability of developed model, research is showing and highlights all information accordingly.
2. Software Design Efficiency: A Quality Factor
The Institute of Electrical and Electronics Engineers (IEEE) defines software efficiency as the performance and intuitive capability of a program to must perform its designated and expected functions under its stated condition. A software is efficient then the whole component and module of a product design do expected operation within a specified condition [6] [7] . Efficiency is well recognized as an important attribute to quality index evaluation of software, which gives privilege to the inclusion and insertion of performance. In a product and layout design, it notifies an early emphasis to developed good quality and high performance software in the early phase and process of the development life cycle [8] . The given table in this manuscript is tries to explain, the efficiency as an important measure and quality element in different standard program quality model [9] [10] [11] .
In general, the measure of efficiency estimation of a program by developed model is to deliver a good quality and high efficient software that is effective in function. Moreover, it also gives an attention about performance at early step in the program or module development cycle. Additionally, supports to deliver required software within specified condition by the users that is mapped time and confined estimate. Because high performance and on time delivery of a good quality software is product’s essential factor that finally increases their project success rate.
3. Related Work
Several past studies defined software efficiency as an important factor of the quality. In this segment, study discusses the contents of the efficiency in given some well-known software quality models like, McCall quality model, Boehm quality model, FURPS quality model, Dromey quality model, ISO 9000 Quality-Model and ISO/IEC 25010 Quality Model. All experts in their quality model and work defined it, as the measures to which the software product design provides appropriate product performance, related to the mentioned amount of resources used, under customized or stated conditions.
3.1. McCall’s Quality Assurance Model Area
In this model, program efficiency shows a level of product’s performance to describe a process that uses the least inputs to create the maximum output. Subsequently, the McCall’s quality model of software has focus on three main quality of software given as follow. First, Product Transition: That is used for interoperability and adaptability nature of the program, when migrating to new environment or new platform. Second, Product Revision: The module and program ability to undergo required changes whenever the basic requirement of users have been changed. Third is Product Operations: It is an operational characteristic of the program. In proposed model efficiency taken as the key part of product operations along with Correctness, Reliability, Integrity and Usability.
Subsequently, model contains eleven software quality factors with twenty-three related quality criteria. Where the used quality factors of the program describe different types of software properties and quality criteria of that module are valuable characteristics to one or more than one quality factors [12] . Table 1, is represented as the efficiency quality factor of the program and related criteria of program efficiency in the McCall software quality assurance model.
3.2. Boehm Quality Model
Barry W. Boehm, American software engineer produces Boehm quality model. His developed model for the program quality, attempts to hypothetically evaluation of the quality of whole software. Boehm defines “if efficiency index estimated at the software development time it will be helped to enhance the quality.” Further in his claims, he pointed, the product high level factor efficiency; addresses and explains three classification; accountability, device efficiency, accessibility [13] [14] . Table 2, is presented as the efficiency quality factor and efficiency quality criteria of Boehm quality model.
Table 1. McCall’s quality assurance model.
Table 2. The efficiency quality factor and its quality criteria in Boehm quality model.
3.3. Dromey’s Quality Model
Dromey’s program quality model proposed a theoretical framework to evaluate quality at requirement, design step and implementation step. He claims internal product design depends on efficiency measures along with maintainability and reliability. In his proposed model efficiency showing as an important criteria of the high level internal design properties for the implementation of the product quality model [15] . Table 3 presented efficiency as a quality criterion along with maintainability and reliability of internal product design model in Dromey’s quality model factors. Further, in his study efficiency of the design supports resource utilization and accountability.
3.4. FURPS Quality Model
FURPS software quality model formerly presented by quality expert Grady R.B and extended by IBM Software Rational into FURPS+. Where the plus “+” indicates, the desired requirements as the form of design characteristics and constraints, requirements, implementation and execution in the form of interface requirement and physical requirement. Model claims about efficiency, how well is the software doing the work it is supposed to do? In this model efficiency showing as the measure of product’s performance along with some others criteria as follows response time, throughput, resource usage, recovery time, availability, accuracy [5] . Table 4 presented FURPS’s quality model where efficiency selected as the criteria of the product performance.
3.5. ISO/IEC 25010 Quality Model
The ISO 25010 is the widely used quality standard model in present time. ISO 25010 uses efficiency as one of the main quality factor along with nine others quality factors namely as operability, functional, suitability, reliability, security, performance, compatibility, maintainability, and portability. Moreover, 28 quality criteria are arranged in this model for all ten-quality factors given in [16] [17] [18] . Table 5 presented efficiency as the quality factor and its related quality criteria given in ISO/IEC 2510 quality model.
3.6. Critical Findings on Efficiency
From study on the above quality models and ISO/IEC 25010 standard, research could define, efficiency as an important factor of the product performance and would be well defined by the listed criteria like reliability, resource utilization, time behavior, accuracy given in Table 6. It is advisable that quality criteria are the internal characteristics, which properly define the modules and programs quality factors and associated properties. The high-level software efficiency characteristic addresses five important classifications; Execution, Accountability, Design efficiency, Performance of the product and Resource utilization. Table 7 is denoted as a comparison of the efficiency’s criteria in four quality model and ISO/IEC 25010.
Table 3. Efficiency showing as quality criteria in Dromey quality model.
Table 4. Efficiency as a quality measure of the software in FURPS quality model.
Table 5. Efficiency and its measures in ISO/IEC 25010 quality model.
Table 6. The definition of efficiency’s finalized criteria.
Table 7. Efficiency’s criteria in four quality model and ISO/IEC 25010.
4. Object Oriented Design Properties Factor
In software designing and developments process, object-oriented concept is becoming highly preferred and ideal approach for commercial software design and development process. This paradigm allows for producing quality-oriented software product with high reliability and lesser product maintenance costs [19] [20] . Classes in a program of the object-oriented software development system provide a complete structuring standard that gives good performance in a design to be separated into proper designed small modules. One of the foremost and prime benefit of having object orientation concept in the development process of a program is its support for software maintainability.
Object oriented principles direct the program’s developers and the software designers what to evade and what to care. Numerous guidelines have been mentioned in this approach or we can say techniques so far to design and evaluate object oriented concepts. These thoughts meaningfully comprise program’s design artifacts viz. inheritance, polymorphism, encapsulation, coupling and cohesion. Encapsulation properties is a technique to use for understand data abstraction and design details hiding from modules. Moreover, it skins inner description of objects. Coupling applies more to classes as a major aspect of a design that decreased support and change costs. Cohesion metrics measure bolsters how well the strategies for a class are related with each other. Polymorphism supports easily assess and enhance the nature of the software product.
Object Oriented Design Metrics
In software design and development process, a metric is the measurement of a particular characteristic of an object oriented properties that useful for program’s desired performance as well as efficiency. Several conceptual research work in the object oriented design metrics field were completed in past years [21] . Most of the design or implementation metrics are recognized by researchers and practitioners on highly practices, claim and acceptance given in [22] [23] [24] [25] . This ran to the explanation of five novel metrics, Design level Encapsulation Metrics (ENM), Design level Coupling Metrics (DCC), Design level Cohesion Metrics (COM), Design level Inheritance Metrics (MFA), and Design level Polymorphism (POL) [26] , which might be evaluated from design level information only. A significant group of design metrics used for casing all the product design level characteristics. Chosen metrics have been given and explained in Table 8.
5. Mapping between Design Properties and Efficiency’s Criteria
McCall’s quality model for product operation has been considered as a basis to develop the efficiency estimation model for software at the design time of the development process. In this module, study is establishing the relationship and linking between program or software design properties and its efficiency’s criteria as shown in the following Figure 2, which involves following steps:
1) Identification of object oriented design properties.
2) Identification of object oriented design Metrics.
3) A means of linking of design properties to design Metrics.
6. Model Development for Software Design Efficiency Factor
For development of the software efficiency mode, research uses the concept of multiple linear correlation technique. Used multivariate linear correlation model between dependent and independent values is given as. For development of the software efficiency mode, research uses the concept of multiple linear correlation technique and the used multivariate linear correlation model between dependent and independent values is given as follows.
Figure 2. Mapping between design properties and efficiency’s criteria.
Table 8. Selected metrics description.
(1)
Moreover, when put the values of design properties in the above equation, the equation appears like
The Model development data is taken from [27] that have been collected through the class diagrams. It includes a set of twenty class diagrams (denoted as Project 1 to Project 20) and the metrics value of every class diagram. A group of ten software experts having 10 to 12 years’ experience in commercial software development have devolved software-using C++. Furthermore, the class diagram’s mean values rating of efficiency given by the quality experts are also used in this research paper. The relationship among efficiency criteria’s viz. Reliability, Resource utilization, Time behaviour, Accuracy, Performance and Object Oriented design properties have been established, as illustrated in Figure 1. Using Statistical Package for the Social Sciences (SPSS) and matrix laboratory (MATLAB), values of model’s coefficient for dependent and independent variables are calculated and finally, efficiency model is formulated as given below.
(2)
Table 9 shows the coefficient parts for Efficiency estimation quality model. The Unstandardized coefficients component of the Table 8 gives us the coefficient values that study require in order to develop above efficiency Equation (2). The experimental assessment of efficiency is very hopeful to get efficiency index of object oriented software (Figure 3).
Efficiency Model Summary
The Model Summary Table 10 result is most helpful when performing dependent and independent multiple regressions approach. Here, capital R is the determinant’s coefficient that tells how powerfully the multiple selected independent variables are associated to the proposed dependent variable. Moreover, R Square is a model’s supportive value as it gives the very important coefficient of selected determination. Subsequently, adjusted R-square provides prospects to adjust number of independents in this model. In addition, the standard error of the estimate is a value of the model accuracy of predictions made with a regression model.
7. Empirical Validation of the Developed Model
The No matter, how influential a hypothetical outcome may be, it has to be scientifically authenticated if it is working to be of any real-world use. This is factual in all Industrial disciplines, including Software Engineering. Consequently, in adding to the hypothetical or we can say hypothetical validation, an investigational tryout validation is similarly significant in order to make the claim higher adaptable. In assessment of this important truth, a rigorous investigational authentication process of the developed efficiency model given in equation no. 2 has been performed with the support of design level metrics specified in the data set. As per the association among object oriented features and efficiency key factors represented in Figure 1, and the efficiency Model, the given metrics values were used to compute the efficiency of design level diagrams. Summary of the values calculated by the developed model against the given values of efficiency by the commercial software developers, are given in Table 11.
Figure 3. Graphical representation of model’s coefficients.
Table 9. Coefficients for efficiency evaluation model.
a. Dependent Variable: Efficiency.
Table 10. Efficiency estimation model summary.
a. Predictors: (Constant), Polymorphism, Cohesion, Inheritance, Coupling.
Table 11. Efficiency measures estimated by developed model.
Efficiency measures for ten projects given by the experts for common selected design metrics are as follows: Project 1: 9.30, Project 2: 8.5, Project 3: 7.4, Project 4: 8.6, Project 5: 9.6, Project 6: 7.9, Project 7: 8.3, Project 8: 6.9, Project 9: 7, Project 10: 6.8.
Spearman’s Rank Correlation coefficient rs was used to test the efficiency model’s significance of correlation between calculated values by developed model of efficiency and given indices for the program efficiency as given values. The Correlation coefficient “rs” was calculated using the below given formula: under: Spearman’s Coefficient of Correlation (rs)
(3)
where, small “d” is the difference between calculated efficiency rank and expert’s known rank of efficiency quality factor and “n” is the number of total software projects used in the experimentation. The validation data used for model validation is taken from [27] that have been collected through the class diagrams. It includes a set of twenty class diagrams (denoted as Project 1 to Project 20) and the metrics value of every class diagram. A group of ten software experts having 10 to 12 years’ experience in commercial software development have devolved software-using C++ (Figure 4).
Spearman’s Rank Correlation Coefficient rs = 0.84242 is calculated for the proposed model is more than the threshold value for 10 projects. Results show that the calculated values of efficiency quality factor using developed model
Figure 4. Graphical representation of index comparisons.
(given in Equation (2)) are highly correlated with the given values. Thus, the correlation between variables in the proposed model is acceptable with the high degree of confidence level, i.e. at the 0.05. The correlation is up to standard with high level of relation confidence i.e. at the 95%. Therefore, without any further loss of generality, we can conclude that presented efficiency model (Equation (2)) estimates and indices are reliable and valid in the context. However, the research study needs a larger set of experimental tryout on developed efficiency model for better model acceptability and utility.
8. Conclusion and Future Work
Model’s equation in this research work shows the significance of efficiency and its correlations with design characteristics namely, encapsulation, coupling, inheritance and design polymorphism. Further, study developed an efficiency estimation model with the support of multiple linear regression method on object-oriented design properties. Arithmetical results confirm that efficiency model is extremely significant and up to standard. Software efficiency is dynamic and one of the substantial components of the program and system development nowadays. Above described five quality attributes, have many highlighted possessions in shared, counting low level module coupling, modularity and high level module cohesion. Design efficiency is directly increased reusability, flexibility, changeability, maintainability and scalability and denotes to system elements’ capability to design for numerous type software product, which is used by the software design and development. Efficiency composed with quality attributes permits a technology to be moved to another software project with fewer design and development cost and time, as well as improved performance and reliability of the software. The realistic validation on the efficiency model will be completed in future on live industrial software projects for improved and broad acceptability and high-level utility.