• No results found

Software Reliability Index Reasonable Allocation Based on UML

N/A
N/A
Protected

Academic year: 2021

Share "Software Reliability Index Reasonable Allocation Based on UML"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Reliability Index Reasonable Allocation Based on UML

1

Wensheng Hu,

2

M.Zhao,

3

Jianfeng Yang,

4

Guorong Jia

1, First Author

College of Computer Science &Information, Guizhou University, Guiyang 550025,

Guizhou, China. [email protected]

*2,Corresponding Author

College of science Guizhou University, Guiyang 550025, Guizhou, China.

[email protected]

3

College of Computer Science &Information, Guizhou University, Guiyang 550025, Guizhou,

China. [email protected]

4

Commercial College of Guizhou, Guiyang 550004, Guizhou, China. [email protected]

Abstract

In this paper we introduce a methodology that starts with the analysis of the UML use case diagram for software reliability allocation with the probability of executing each use cases. We will utilize the executing probability of each use cases to measure the importance of the use case, then to determine weight factor of each use case. Finally, we can allocate the reliability index value to each class in accordance with sequence diagram and class diagram. Because class is the smallest unit in OOD, if the reliability index value allocated to each class is found out, we can determine that each developer should undertake how much reliability task during development process.

Keywords

: UML, Use Case, Sequence Diagram, Class Diagram, Software Reliability, Allocation

1. Introduction

The aim of software reliability allocation is that the software reliability index can be reasonably allocated to the corresponding software components or software units [1]. Software development resources can be reasonably utilized and developers can know that they must undertake the responsibility for software reliability by software reliability allocation. Currently, the software reliability allocation is mainly based on the importance or complexity of each unity of software [2][3][4][5]. Software reliability can be allocated by using qualitative method or quantitative method. The data of quantitative method is difficult to obtain. Generally, we use the qualitative method to allocate the reliability of software system. The qualitative method mainly measure importance and complexity of each module of software system. As complexity is related to connection relationship between modules, it is very difficult to calculate [2][3][4]. The popular method of software reliability allocation is based on the importance of each module, where modules are described as the smallest unit in the software development process. The class is the smallest unit in OOD. The basic idea about software reliability allocation is shown in Figure 1.

Figure 1. Software Reliability Allocation Process.

The process of software reliability allocation can be found from Figure 1. It is that the goal of software reliability can be proposed by system analyst. Then software reliability index can be reasonably allocated to each module by system architect. So it is very important that developers understand the architecture of software. UML is a very good way to understand the architecture of software. The UML models can comprehensively describe software system from a dynamic and static

(2)

perspective [6]. UML use case diagram belongs to static perspective of UML, which includes system boundary, all kinds of use cases, actors and the relationships between use cases and actors. To achieve a use case need a serial of objects to interact with each other, this situation can be described in sequence diagrams. UML class diagram can describe all classes of system and these classes interact with each other. So the reliability index allocation can be achieved by UML in OOD, as shown in Figure 2.

Figure 2. Reliability Allocation Based on UML

In this paper, we propose an effective method of reliability allocation based on UML. This method can allocate the reliability index of software system from each use case to each class by UML use case diagram, sequence diagram, class diagram. Finally, we can know each class of software system to undertake reliability task. The reliability index value of each class calculated by this method can become the basis of software quality management, and it is also the basis of reliability testing. The paper is organized as follows: Section 1 introduces some background knowledge. Section 2 discusses allocation strategy of software system reliability based on UML use case diagram. Section 3 discusses allocation strategy of software system reliability based on UML sequence diagram. Section 4 discusses allocation strategy of software system reliability based on UML class diagram. Conclusions and future directions are discussed in Section 5.

2. Reliability allocation based on UML use case diagram

2.1. Annotating UML use case diagram

The UML models can comprehensively describe software system from a dynamic and static perspective. A use case diagram includes system boundary, all kinds of use cases, actors and the relationships. The appearance probability of actors and the using probability of use cases can be annotated in UML use case diagrams(Readers interested in UML basics can refer to [7][8]),as shown in Figure 3.

(3)

In UML use case diagram, the probability

p UC

(

X

)

of executing the use case

x

can be figured out by [7][8]:

1

(

)

*

n X i ij i

p UC

p

p

(1) Where

p

i is the appearance probability of i-th actors (or groups of users, each sharing similar system usage patterns).

p

ij represents the using probability that the i-th actor requests the j-th use case.

n

is the number of user types.

2.2. Determining the importance of various use cases

The importance of various use case is determined by its executing probability. Generally, the use cases with higher executing probability are more significant for customers. Each use case has its own corresponding weight factor of the importance and is sorted in the weight factor confirmed by its executing probability. There are two ways to determine the weight factor: one way is that the software reliability is regarded as desired value of the software system, in this way, the weight factor of use case with the highest executing probability is defined as the maximum one, then we determine and descend the weight factor of other use cases in turn. Another way is that the software failure rate is regarded as desired value of the software system, the weight factor of use cases with the executing probability is defined as the minimum one, that is , the smaller the weight factor is, the higher the importance of use case is. And then we determine and ascend the weight factor of other use cases in turn.

According the executing probability of use cases, the experts can determine importance weight factor of each use case, and then we can sort them from small to large. The calculation process is the following:

 We assume that

w

i represents the importance weight factor of the i-th use case,

p UC

(

i

)

represents the executing probability of the i-th use case after sorting,

ratio

represents the difference between the executing probability of the first use case and the second use case after sorting, that is:

ratio

p UC

(

1

)

p UC

(

2

)

(2)  Assume that

w

1 is the importance weight factor of the use case with the highest executing probability (that is the first use case after sorting, Here it is

w

1

1

) and

w

2 is the importance weight factor of the use case with the second highest executing probability (Here it is

2

3

w

).The difference on importance weight factor between use cases is the following: 2 1 1

[(

) * ( (

)

(

))] /

i i i

w

w

w

p UC

p UC

ratio

 

(3)

 Importance weight factor of each use case from third use case is the following:

w

i

w

i1

 

w

i (4)

2.3. Determining the reliability index of each use case

At first, the reliability goal value of software must be determined, assumed it is R. Then to determine the total number of use cases, for example, we assume that there are n use cases in software

(4)

system,

w

k (k=1,2,…,n) is the importance weight factor of each use case. Finally, the reliability index value

R

k allocated to each use case can be calculated, as shown in formula (5).

1 * k k n i i W R R W  

(5)

If the reliability goal value of software system is the total failure rate f, then the failure rate allocated to each use case is

f

k, as shown in formula (6).

1 * k k n i i W f f W  

(6)

3. Reliability allocation based on UML sequence diagram

3.1. Annotating UML sequence diagram

UML sequence Diagram can describe that objects interact with each other to complete the function of use cases in use case diagram [6]. Sequence diagram describes this relation of interaction as a two-dimensional graph. The vertical direction is the timeline. The lifeline of the objects will extend down along the timeline. The horizontal direction represents the role of the independent objects, the role of the objects can be described as lifeline, when the object exists, this lifeline is described as dotted line, it represents that the role of object is not active, when the role of object is active. The lifeline is described as a dual-channel line. The arrows in sequence diagram can be described the message from the lifeline of one object to another object. These arrows arrange from top to bottom in chronological sequence in the sequence diagram. When the object accepts the service message that other object requests, we consider this object as busy. Each use case in use case diagram can achieve its function by mutual interaction between the objects in one or more of the sequence diagram. We assume that the number of sequence diagram for the j-th use case is

s j

( )

,

f k

j

( )

is the frequency of the k-th sequence diagram

referring to the j-th use case(where

( ) 1

( )

1

s j j k

f k

). Hence, we can obtain the following equation:

p k

(

j

)

p j

( ) *

f k

j

( )

(7)

Where

p k

(

j

)

is the probability of the k-th the sequence diagram referring to the j-th use case.

3.2. Determining the allocation reliability index of each sequence diagram referring to

the use case

The weight factor of each sequence diagram can be calculated in accordance with section 2.2. The allocation reliability index of j-th use case is

R

j that can be calculated by equation (5). Assume that

j

k

W

is the weight factor of the k-th sequence diagram referring to j-th use case. Hence, we can calculate the allocation reliability index of the k-th sequence diagram referring to j-th use case from the following equation:

(5)

1 * j j j k k n j i i W R R W  

(8)

If the reliability goal value of software system is the total failure rate, then we can calculate the allocation failure rate of k-th sequence diagram referring to j-th use case from the following equation:

1 * j j j k k n j i i W f f W  

(9)

3.3. Identify the execution probability of each component in sequence diagram

The executing probability of the components or objects in sequence diagram is ration between the number of its busy periods and the total number of busy periods referring to all components or objects [6]. The specific situation is shown in Figure 4.

Figure 4. Annotated Sequence Diagram.

j

k

N

: It represents the total number of busy periods of the all components or objects in the k-th sequence diagram referring to the j-th use case.

i j

c k

N

:It represents the number of busy periods of the only component

c

i or object

c

iin the k-th sequence diagram referring to the j-th use case.

(

)

i

c j

P k

:It represents the executing probability of the component

c

i or object

c

i in the k-th sequence diagram referring to the j-th use case. It is given by:

( ) i j i j c k c j k N P k N  (10)

3.4. Determining the allocation reliability index of each component or object in sequence

diagram

The weight factor of each component or object in sequence diagram can be calculated in accordance with the executing probability of each component or object and the way that has been described in

(6)

section 2.2. The allocation reliability index

j

k

R

of the k-th sequence diagram referring to the j-th use case can be calculated by equation (8). Assume that i

j

c k

W

is the weight factor of the component

c

ior object

c

i in k-th sequence diagram referring to j-th use case. Hence, we can calculate the allocation reliability index of the component

c

ior object

c

i in k-th sequence diagram referring to j-th use case from the following equation:

1 * i j i j j i j c k c k n k c k i W R R W  

(11)

If the reliability goal value of software system is the total failure rate, then we can calculate the allocation failure rate of the component

c

ior object

c

i in the k-th sequence diagram referring to j-th use case from the following equation:

1 * i j i j j i j c k c k n k c k i W f f W  

(12)

4. Reliability allocation based on UML class diagram

4.1. The introduction of UML class diagram

The class diagram of UML can describe static structure of software architecture. The basic unit of composition of the class diagram is class and relationship between classes. The class diagram is basic to build the other UML diagrams, if there is not class diagram, the other UML diagram cannot be described. The object referring to class in class diagram can occur in more sequence diagrams. Figure 5 is a UML class diagram. There are six relationships in a UML class diagram. They are generalization, realization, dependency, association, aggregation, composition. The strength order of the various relationships: generalization, realization, composition, aggregation, association, dependency [6].

(7)

4.2. Determining the allocation reliability index of each class in sequence diagram

Each class in class diagram can appear in more sequence diagrams. So The allocation reliability index i

j

c k

R

of the component or object

c

i in the k-th sequence diagram referring to the j-th use case can be calculated by equation (11) or equation (12). Assume that there are

n

use cases in software system, there are

n

1 sequence diagrams in the first use case, there are

n

2 sequence diagrams in the second use case , and so on. Hence, the allocation reliability index

R c

( )

i of the component

c

i or object

c

i referring to class in class diagram is the total sum of the allocation reliability index in each sequence diagram. It is given by:

1 1 ( ) j i j n n c i k j k R c R   

 

(13)

If the reliability goal value of software system is the total failure rate, then we can calculate the allocation failure rate

f c

( )

i of the component

c

i or object

c

i referring to class in class diagram is the total sum of the allocation failure rate in each sequence diagram. It is given by:

1 1 ( ) j i j n n c i k j k f c f   

 

(14)

5. Conclusion

UML is currently the most popular software modeling language. A correct UML use case diagram can accurately reflect the all kinds of software requirements in requirement specifications [6][9]. The allocation reliability index value of each use case can be calculated by its executing probability. This value can provide a good reference for follow-up phase of software development. The sequence diagram reflects the interaction between components or objects by message communication to achieve the function referring to use case. The allocation reliability index value of each component or object can be calculated by counting the number of their busy periods in sequence diagram. These components or objects can be found in referring to class diagram. So in this paper we use the UML use case diagram, sequence diagram and class diagram to gradually decompose the reliability index value of software system, then to determine how much each class should be undertook the task of reliability, and finally to specify how much responsibility each developer should undertake for reliability of software system.

6. References

[1] Sun zheng-an, Pei xiao-qi, Song xi, Dai zhong jian, Software Reliability Engineering, BEIHANG UNIVERSITY PRESS, China, 2009.

[2] Jianguo Jia, Yu Yang, Tao Yang, Feng Zhang, Guodong Yu, “Research on Dynamic Programming of the Series Manufacturing System Reliability Allocation”, JCIT: Journal of Convergence Information Technology, Vol. 7, No. 7, pp.17-25, 2012.

[3] W.Kuo, R.Wan, “Recent Advances in Optimal Reliability Allocation ”, IEEE Trans. on Man and Cybernetics, Part A:Systems and Humans, vol. 37, pp.143-156, 2007.

[4] B.Yang, H.J.Hu, S.H.Guo, “Cost-Oriented Task Allocation and Hardware Redundancy Policies in Heterogeneous Distributed Computing System Considering Software Reliability” , Computers and Industrial Engineering,vol.56, pp.1687-1696, Apr.2009.

[5] A. Mettas, “Reliability allocation and Optimization for Complex Systems” , Proc. Reliability and Maintainability Symposium , pp.216-221, 2000.

[6] Hans-Erik Eriksson, Maguns Penker, Brian Lyons, Davido Fado, UML Toolkit, Publishing House of Electronics Industry, China, 2004.

(8)

[7] H. Singh, V. Cortellessa, B. Cukic, E. Gunel, and V. Bharadwaj, “A bayesian approach to reliability prediction and assessment of component based systems”, In Proc. Of 12th International Symposium on Software Reliability Engineering (ISSRE’01), pp.12-21, 2001.

[8] Vittorio Corteliessa, Harshinder Singh, Bojan Cukic, “Early reliability assessment of UML based software models”, WOSP’02, Rome, Italy, pp.302-309, July 24-26, 2002.

[9] Wensheng Hu, Zhouhui Deng, Yi Hong, “A Method of FTA Base On UML Use Case Diagram”, The Proceedings of 9th International Conference on Reliability, Maintainability and Safety ( ICRMS’2011), pp.757-759, June 12-15,2011,China.

[10] Jianfeng Yang, Rui Wang, Zhouhui Deng, Wensheng Hu. “Web Software Reliability Analysis with Yamada Exponential Testing-Effort”. The Proceedings of 9th International Conference on Reliability, Maintainability and Safety ( ICRMS’2011), pp.760-765, June 12-15,2011, China. [11] Linbo Fan, Zhigang Ma, “Tendency Analysis of Software Reliability Engineering”, The

Proceedings of 9th International Conference on Reliability, Maintainability and Safety ( ICRMS’2011), pp.771-774, June 12-15, 2011, China.

[12] Changjie Ma, Guochang Gu, Jing Zhao, “Improved Neural Network based on Dynamic Predication Model of Software Reliability”, JCIT: Journal of Convergence Information Technology, Vol. 6, No. 7, pp.349-357,2011.

[13] Xu Jian, Yan Han, Li Qianmu, “A Methodology for Software Reliability Risk Assessment”, JCIT: Journal of Convergence Information Technology, Vol. 6, No. 4, pp.188-200, 2011.

[14] Chen Yu, Yu Yang, Liu Zhizhong, Shen Junyi, “Semantic Service Discovery Based on QoS Ontology”, Journal of Next Generation Information Technology, Vol. 2, No. 2, pp.89-96,2011. [15] S.Yacoub, B.Cukic, and H.Ammar, “Scenario-based reliability analysis of component-based

software”, In Proc. Of 10th International Symposium on Software Reliability Engineering(ISSRE’99), 1999.

[16] M.Gen, Y.Yun. “Soft Computing Approach for Reliability Optimization:State-of-the-Art Survey,” Reliability Engineering & System Safety, vol. 91, pp.1008-1026, Sep. 2006.

[17] R.L.Bulfin and C.Y.Liu, “Optimal allocation of redundant components for large systems”, IEEE Trans. Reliability, vol. R-34, pp.241-247,1985.

[18] Amari SV, Dugan JB, Misra RB(1999), “Optimal reliability of systems subject to imperfect fault-coverage”, IEEE Transactions on Reliability 48:275-284.

[19] Michael R. Lyu, Sampath Rangarajan, Aad P.A.van Moorsel, “Optimal Allocation of Test Resources for Software Reliability Growth Modeling in Software Development”, IEEE TRANSACTIONS ON RELIABILITY, vol.51, NO.2, JUNE 2002.

References

Related documents

The variant with a low basic allowance and marginal tax rate (FT 1) increases labour supply, while the total labour supply e¤ect of scenario FT 2 (high allowance and marginal tax

Third, we will show that even under the optimistic baseline scenario assumptions a purely parametric reform of pay-as-you-go systems will not suffice to balance

The objectives of this study were to: (1) quantify fully irri- gated and several levels of limited irrigation regimes and a rainfed production system on soil profile water extraction

By using Zoom Away by Tim Wynne-Jones, the works of Michael Kusugak, The Inukshuk Book , the two stories about polar bears, and the Nunavut workbook, your students will know all

THIS INCENTIVE AGREEMENT (“Agreement”), effective October 17, 2014, setting forth contractual terms and requirements for tax abatements and incentives approved by the

To determine when the equilibrium price path under delayed compliances generates a disequilibrium under continual compliance, we will have to compute the cumulative supply and

I hereby confirm that all information provided in the application for study (i) at Vysoká škola manažmentu v Trenčíne, Bezručova 64, 911 01 Trenčín („VŠM“) and/or (ii)

based on the Pediatric Sleep Questionnaire (Chervin et al, 2000). •