# «VOLUM E 1 1, N UM B E R 1 I S SN 2 1 6 8 - 0 6 1 2 F L ASH DR I V E I S SN 1 9 4 1 - 9 5 8 9 ON L I N E T h e In s t it ut e f o r Bu s i n e s s an ...»

The development activity consists of the developer's attempt to define how data structure and software architecture are to be designed, how procedural details are to be implemented, how the design will be translated into a programming/nonprocedural language, and how testing will be performed. The development activity is evaluated by examining the design, the code, and the testing using four size-based metrics: quality, cost, productivity, and documentation (Christensen & Thayer (2002)). The maintenance activity is concerned with change to the software due to the evolution of the software environment. This activity is evaluated by examining four types of change; correction, adaptation, enhancement, and reengineering. For more detailed information about SE activities, one may refer to Boehm (1981) and Christensen & Thayer (2002). SMEP efficiency analysis measures the company's ability, in the short and long terms, to provide reliable and timely software products as needed by the company's diverse business activities. The SMEP efficiency analysis consists of separate quality, cost, productivity, and documentation evaluations. The process of evaluating the efficiency of a company's SMEP consists, in addition to general trend analysis, of three independent separate analyses of the definition, development, and maintenance activities. Figure 1 provides a partial illustration of the SMEP evaluation scheme.

Software quality was defined by Christensen & Thayer (2002) as the conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of the software. This is usually measured in terms of the number of defects detected in the final software product. Software cost consists of two cost components, engineering cost, prior to delivery, and support cost, after delivery. Software documentation consists of all documents associated to the definition, the development, or the maintenance of the software project. Productivity analysis measures the company's ability to keep pace with the demand for the company's products, services, and for all other business activities.

GCBF ♦ Vol. 11 ♦ No. 1 ♦ 2016 ♦ ISSN 1941-9589 ONLINE & ISSN 2168-0612 USB Flash Drive 344 Global Conference on Business and Finance Proceedings ♦ Volume 11 ♦ Number 1 Figure 1: A Partial Illustration of SMEP Evaluation

Fuzzy Sets Fuzzy sets introduced by Zadeh (1978) are sets whose elements have degrees of membership. Fuzzy sets based on fuzzy sets theory, which is a generalization of the classical set theory admits gradation such as all shades between black and white, by using a membership function valued in the real unit interval [0, 1].

Fuzzy sets theory aims to decrease complexity by allowing the use of imperfect information in sensible way. Zadeh (1978) writes: “The notion of a fuzzy set provides a convenient point of departure for the construction of a conceptual framework which parallels in many respects the framework used in the case of ordinary sets, but is more general than the latter and, potentially, may prove to have a much wider scope of applicability, particularly in the fields of pattern classification and information processing. Essentially, such a framework provides a natural way of dealing with problems in which the source of imprecision is the absence of sharply defined criteria of class membership rather than the presence of random variables”.

‘Imprecision’ means fuzziness and can be viewed in a sense of vagueness rather than the lack of knowledge about the value of a parameter (as in tolerance analysis). As in Zadeh (1975, 1983), the inference procedures constituting approximative reasoning are based on fuzzy production rules that are presented, in this article, each as a two-part construct: antecedent and consequent of the rule. For example, if X1 and Y1 are fuzzy sets of the linguistic variables x and y, then "If x is X1, then y is Y1" is a production rule where "x is X1" is its antecedent and "y is Y1" is its consequent.

The inference mechanism is characterized by fuzzy modus ponens since subjective judgment associated with SMEP knowledge can only produce imprecise conclusions. That is reasoning from fuzzy data δ(X1) about x that only approximates X1 to some extent, fuzzy logic will infer from the production rule a fuzzy conclusion δ (Y1) of y that is also approximate to Yl. Thus, "y is Yl" may be only partially true. In contrast, Yl traditional sets, the conclusion "y is Yl" is inferred as fully true.Let , i=1,4 denote respectively the in the traditional modus ponens, two true propositions "If x is Xl, then y is Yl" and "x is Xl" with X1 and Quality, Cost, Productivity, and Documentation of a software application. A fifth input variable, x5 represents the trend analysis, aggregating all base variables selected by senior SE managers. The output variable, y, is SMEP Efficiency. All variables are assumed to have three linguistic terms, "low", "fair", and "high". Linguistic terms, "low", "fair", and "high", for x, are denoted L_, F_, and H_, where the underscore character is replaced by the first letter of the fuzzy variable name.

GCBF ♦ Vol. 11 ♦ No. 1 ♦ 2016 ♦ ISSN 1941-9589 ONLINE & ISSN 2168-0612 USB Flash Drive 345 Global Conference on Business and Finance Proceedings ♦ Volume 11 ♦ Number 1 The universes of discourse, Ui i=1,5, and V, in which the fuzzy sets , i=1,5 and y will have inexact boundaries are defined first. These fuzzy sets are associated with two properties, vagueness, characterized different sets with two different grades of membership. Each fuzzy set , in a universe Ui, is coupled with by the grade membership; and ambiguity, interpreted by the fact that two elements can belong to two a membership or compatibility function ∶ → [0,1]. That is, a fuzzy set x, is the set of ordered pairs, ��, ()�� �. An element u shows a partial membership in xi, when 0 () 1 or nonmembership when () = 0 (full membership when () = 1). Fuzzy set operations are expressed in terms of membership functions. Let Cl and C2 be 2 fuzzy sets in U.

The complement ¬C1 of Cl, corresponds to the Boolean NOT function and is given by the subset {u ϵ U|u¬ ϵ} with a membership function m¬C1 () = 1 − mC1 (). The fuzzy intersection of C1 and C2, C1∩C2 will have as a membership function 1∩2 () = {1 (), 2 ()}. The fuzzy set union of C1 and C2, C1∪C2 will have as a membership function 1∪2(u)={1 (), 2 ()}.

Membership functions are constructed to represent subjectivity of fuzziness as faithfully as possible, and to promote computational facility. As in Levy et al. (1991) and Barua et al. (2013), our system uses trapezoidal

**real numbers −∞ a ≤ b ≤ c ≤ d ∞ by:**

functions to represent all fuzzy sets pertinent to the SMEP evaluation. A trapezoid t(a,b,c,d) is defined for

where t(a)=1 if a=b and t(d)=1 if c=d. Figure 2 shows t(u) graphically Figure 2: Trapezoid T(1,2,3,4) Fuzzy Evaluation System The fuzzy evaluation system, illustrated in Figure 3, consists mainly of a fuzzy knowledge base, SMEP database, a fuzzy database, and an inference mechanism. The knowledge base stores all production rules used in the fuzzy evaluation of SMEP efficiency. The SMEP database is useful to provide necessary information for the construction of compatibility functions of fuzzy sets which are stored in the fuzzy database. The inference mechanism will process managerial input vectors containing their quantitative judgment. The SMEP database contains the company's rudimentary data concerning past software projects, useful for the human expert to estimate several size-oriented metrics. The database contains information GCBF ♦ Vol. 11 ♦ No. 1 ♦ 2016 ♦ ISSN 1941-9589 ONLINE & ISSN 2168-0612 USB Flash Drive 346 Global Conference on Business and Finance Proceedings ♦ Volume 11 ♦ Number 1 about the size of a project in Kilo Lines of Code (kloc), Development cost (in k$/kloc), the number of defects per kloc, the documentation of the project (in pages/kloc), and the number of project staff. The system knowledge base (KB) consists of 4 rule bases, one for every software type: information systems (RTRB), and human-rated applications rule base (HRRB). Each rule base bk, k=1,4 consists of three rule base (ISRB), systems applications rule base (SARK), embedded real-time applications rule base knowledge segments Skj of size nkj, = 1,3, identified with every linguistic variables Low (L), Fair (F),

**and High (H) constituting the consequent SMEP Efficiency. That is:**

KB= {{ISRB1, ISRB2, ISRB3}, {SARB1, SARB2, SARB3}, {RTRB1, RTRB2, RTRB3}, {HRRB1, HRRB2, HRRB3}}.

Figure 3: Fuzzy Logic System for SMEP Efficiency

The structure of the knowledge base is displayed in Table 1. There will be a maximum of 33x4=972 between , = 1,5 and y will hopefully reduce the size of the rule base to a manageable one.

production rules in the knowledge base. However, knowledge acquisition concerning the relationship The organization of the fuzzy rule base ISRB is based on the fundamental analyses conducted by SE experts.

Every fuzzy subset participating in the definition of the main linguistic variable, SMEP Efficiency (y1), is as a consequent. The rule base will therefore include three knowledge segments identified with y1 =LE, identified with a knowledge segment made of a collection of production rules which have this fuzzy subset y1 =FE and y1 =HE. A production rule consists of a five-part antecedent {xi,i=1,5} and a consequent yi. The rule base ISBR will include 35=243 productions rules. The expert's knowledge will significantly reduce the portion of the rule base identified with y1 =HE is displayed in Figure 4. The remaining rule bases, SARB, total number of combinatorial possibilities to a considerably smaller number of production rules. The RTRB and HRRB are constructed the same way.

GCBF ♦ Vol. 11 ♦ No. 1 ♦ 2016 ♦ ISSN 1941-9589 ONLINE & ISSN 2168-0612 USB Flash Drive 347 Global Conference on Business and Finance Proceedings ♦ Volume 11 ♦ Number 1 Table 1: Structure of the Knowledge Base

As illustrated in Figure 3, management first submit the input vector e=(u1, u2, u3, u4, u5) expressing quantitative estimates for Quality, Productivity, Cost, and Documentation describing the current software application, and a score of 1, 2, or 3 expressing the trend of the overall base variable. The input vector is then fuzzified using the database and the rule base associated with the current type of the software application. The fuzzification process produces a fuzzy matrix that will be processed by the inference function to produce the certainty factors associated with the recommendations generated by various segments of the rule base. New fuzzy variables are then obtained by combining, in a multiplicative fashion, those certainty factors and respective membership functions of various linguistic variables identified with SMEP Efficiency. Those new fuzzy sets are then aggregated in a new fuzzy variable z, which will indicate the current evaluation of SMEP Efficiency. The defuzzification of the new variable will produce a scalar that best represents the current status of SMEP Efficiency.

**Fuzzy Database**

Knowledge of the application domain should be obtained and used to assess membership functions associated with the retained fuzzy terms. The domain expert will help sketching the shape of each function over an appropriate scale of values. The parameters a, b, c, and d, defining the trapezoidal functions, are then determined accordingly. size-oriented metrics, but most of them remain too unrealistic to use. As an example, the industrial norm for an acceptable software quality is defined by literature (Boehm (1981), Fenton & Bieman (2015), Pfleeger et al. (2005), and Christensen & Thayer (2002)) as the software quality baseline and has been set at 2 defects/kloc. Unfortunately, this baseline software quality figure is rarely attained. For instance, the minimum software quality of IS applications has been set to 5 defects/kloc, a number considerably larger than the baseline. Also, the maximum software quality of human-rated systems has been set to.1 defects/kloc, extremely smaller than the baseline.

Therefore, a historical investigation of past software projects is obviously needed. For the purpose of the study, we use separate data sources for different types of software applications (Christensen & Thayer (2002), Boehm (1981) and Pfleeger et al. (2005)). Table 2 shows the minima and maxima of software quality as observed in real world applications. Using Table 2, software quality is considered residing in the range [.01 30].

GCBF ♦ Vol. 11 ♦ No. 1 ♦ 2016 ♦ ISSN 1941-9589 ONLINE & ISSN 2168-0612 USB Flash Drive 348 Global Conference on Business and Finance Proceedings ♦ Volume 11 ♦ Number 1 Table 2: Minimum and Maximum Averages of the Quality and Productivity For Various Types of Software

The universe of discourse of the linguistic variable, software Quality, is therefore the domain U1=[.01 30].

The software Quality variable is associated, in a first step, with three fuzzy subsets HQ expressed by the linguistic term, "high quality", LQ expressed by the linguistic term, "low quality", and FQ expressed by () = t(5,5,10,15) "fair quality".

**The membership functions for HQ, FQ, and LQ are defined, respectively, as:**