• No se han encontrado resultados

Freud, la sociedad, la historia*

In document Castoriadis Insignif > (página 85-110)

2.3.1

Establishing a Fuzzy Inference System

Fuzzy inference is a calculation process that obtains new fuzzy propositions as a conclusion under the condition of a given fuzzy proposition by the fuzzy logic method, also known as fuzzy logic inference. It simulates the human ability to make reasonable decisions in an uncertain and imprecise environment. It can map a given input space to a specific output space. Fuzzy inference has a unique advantage in solving fuzzy and uncertainty problems whose inference process is similar to the thinking process of humans. It can perform nonlinear mapping from input to output and has a strong inference explanation function.

Fuzzy inference can be divided into fuzzification, fuzzy logic inference, and defuzzification [10]. The fuzzy variety is the basis for establishing a fuzzy system, which analyzes problems using the complexity weight of use cases. As shown in the case that follows, considering the transactions of a use case as the input variable and the complexity weight of the use case as the output variable, a fuzzy inference system was constructed, as shown in Fig.2.1.

This fuzzy inference system uses the Mamdani Controller and defines the input variable as small, medium, large, or extra large and defines the output variable as low, average, high, or extra high. For example, if only one transaction is in the use case, the transaction of the use case is considered to be low. With Gaussian Function as the membership function for the input and output variables, the mathematical description form of the Gaussian membership function is shown in Eq. (2.1):

Fig. 2.1 Fuzzy inference system of use case complexity weight

f xð ;σ;cÞ ¼exp ðxcÞ 2 2σ2

!

: ð2:1Þ

To determine the parameters in membership functions in real-world situations, there is a kind of description form of use case transaction with an input membership function (transactions) (Fig. 2.2) and output membership function (complexity weight) (Fig.2.3).

2.3.2

Fuzzy Rules for Analyzing Complexity

As the core of a fuzzy system, fuzzy rules reflect the causality of input and output, similar to the conditional expression in common human language use:if. . .then. Fuzzy systems with a single input and a single output have fuzzy rules such as: IFx is AThen y is B, where x is input, yis output, and A and B comprise a fuzzy collection of input and output. In general, the more fuzzy subsets there are, the higher the output precision will be, but the corresponding calculation costs will increase. In practice, we select the appropriate size of fuzzy rule based on the Fig. 2.2 Membership function of transaction

Fig. 2.3 Membership function of complexity weight

requirements for precision. Based on the relation of complexity weight to use case transactions in the traditional UCP method, fuzzy rules are set for the purpose of analyzing the complexity weight, as shown in Table2.2.

Using the fuzzy rules in Table2.3, we can obtain fuzzy rules for the complexity weight, as shown in Fig.2.4, which displays a typical case (the number of input transactions is 3, and the output complexity weight is 5.21). The curve graph of the fuzzy system is shown in Fig.2.5.

2.3.3

Performance Comparison of Improved UCP

With the fuzzy system constructed here, we analyze the special circumstances in Table2.1and obtain the adjusted complexity weight (Table2.3).

Table 2.2 Fuzzy rules Rule Transaction (input) Complexity weight (output)

1 Small Low

2 Medium Average

3 Large High

4 Extra large Extra high

Table 2.3 Comparison of complexity weight determined using the two methods

Use Case_1 Use Case_2 Use Case_3

Transaction 3 4 6

Complexity Low Medium Medium

Weight (traditional) 5 10 10

Weight (improved) 5.21 5.96 9.12

Fig. 2.4 Fuzzy rules observer of use case

As we can see in Table2.3, using the improved UCP the adjusted weight of Use Case_1 is 5.21, the adjusted weight of Use Case_2 is 5.96, and the adjusted weight of Use Case_3 is 9.12. Compared with the traditional UCP method, the improved UCP method is more reasonable for determining the complexity weight. As a result, the problem of discontinuous division has been effectively solved, and the estima- tion of software size is much closer to the actual situation using the improved UCP method. Because the fuzzy inference structure can compute the unadjusted weight of a use case, the adjusted use case point of software projects can be computed.

2.3.4

Improved UCP Application

To reflect the effectiveness of the proposed method, the following specific software programs are shown as an example. We apply the improved UCP method established on the basis of fuzzy inference to estimate the scale of actual software. The algorithm flow is shown in Fig.2.6(see [3] for detailed calculation steps); the analysis results are shown in Table2.4.

We can see from the data in the table that, in general, the UCP method is an effective method of estimation. It has an accuracy similar to that of the Expert Fig. 2.5 Complexity

weight fuzzy curve

Identify use case Classify actor Classify use case Calculate unadjusted actor weight Calculate unadjusted use case weight

Calculate unadjusted use case Environmental factors Technical factors Calculate use case points

Calculate effort

Fig. 2.6 Algorithm flow of UCP

method and can be used in combination with that method. If the estimation error in these two methods is large, recalculation is possible.

The estimation is very similar using the improved UCP and the traditional UCP methods because the improved UCP method stems from the traditional UCP. Three out of four projects have smaller errors using the improved UCP method compared with the traditional UCP method. As is clear from the four projects, the improved UCP method has a higher accuracy than the traditional UCP method; therefore, we can use the improved UCP method, which is based on fuzzy inference, to determine the complexity weight of use cases in situations where UCP can be used so as to obtain greater accuracy.

Conclusion

Because UCP is a novel method for measuring size in software costs and release schedule estimation, especially with respect to object-oriented design in software engineering, it offers some great advantages. Nowadays, with more and more software using object-oriented design, the use and study of UCP will show a rising trend. In this paper, to solve the problems of complexity dividing discontinuons complexity in the traditional UCP method, an improved method was proposed for calculating the complexity weight using fuzzy theory. First, a fuzzy inference system was constructed with use case transaction as the input and complexity weight as the output. Then fuzzy inference rules were established based on the relation of com- plexity to the number of transactions in order to analyze the complexity weight applying the rules. The research results show that the improved method can effectively overcome the deficiency of the traditional UCP method with respect to analyzing the complexity weight and avoid faulty classification; in addition, its estimation results are much closer to real-world situations.

Table 2.4 Comparison estimation of software projects Software project Actual (man-hours) Expert method (man-hours)/error Traditional UCP (man-hours)/error Improved UCP (man-hours)/error Office automation 6,688 8,088/20.81 % 6,240/6.7 % 6,452/3.53 % Lucky ERP system 10,336 8,816/14.7 % 8,642/16.39 % 9,178/11.2 % Realty trans- fer system 2,972 3,800/27.86 4,428/49 % 3,418/15.01 % Enxel accounting system 4,702 3,496/25.65 % 3,280/30.24 % 3,194/32.07 % 2 Use Case Points Method of Software Size Measurement Based on Fuzzy Inference 17

References

1. Al-Hajri MA, Ghani AA, Sulaiman MN, et al. Modification of standard function point complexity weights system. J Syst Softw. 2005;74(2):195–206.

2. Anda B. Improving estimation practices by applying use case models. Proceedings of the 4th International Conference, PROFES; Rovaniemi, Finland; 2002. pp. 383–97.

3. Ashman R. Project estimation: a simple use-case-based model. IEEE Comput Soc IT PRO. 2004;4(6):40–4.

4. Anda B, Dreiem H, Sjoberg DIK, et al. Estimating software development effort based on use cases experiences from industry. Proceedings of the 4th International Conference on the Unified Modeling Language, Modeling Languages, Concepts, and Tools; Springer, Toronto, Canada; 2001. pp. 487–502.

5. Arnold M, Pedross P. Software size measurement and productivity rating in a large-scale sofrware development deparment. Proceedings of the 20th International Conference on Soft- ware Engineering; IEEE Computer Society, Los Alamitos; 1998. pp. 490–93.

6. Robiolo G, Orosco R. Employing use cases to early estimate effort with simpler metrics. Innov Syst Softw Eng. 2008;4(1):31–43.

7. Robiolo G, Badano C, Orosco R. Transactions and paths: two use case based metrics which improve the early effort estimation. Proceedings of the International Symosium on Empirical Software Engineering and Measurement; IEEE, NJ, USA; 2009. pp. 422–25.

8. Ochodek M, Nawrocki J. Automatic transactions identification in use case. Balancing Agility Formalism Softw Eng. 2008;5082(1):55–68.

9. Moataz A, Moshood O, Jarallah A. Adaptive fuzzy logic-based framework for software development effort prediction. Inf Softw Technol. 2005;47(1):31–48.

10. Zhou Y. Method of progress metrics in software development based on use case. Shanghai: Shanghai Normal University; 2006 (in Chinese).

Chapter 3

ATPG Algorithm for Crosstalk Delay Faults

In document Castoriadis Insignif > (página 85-110)