210 likes | 386 Views
Reliability and Software metrics. Done by: Tayeb El Alaoui Software Engineering II Course. Outline. Introduction Team presentation Context presentation Subject presentation What is Reliability ? ( Definition from IEEE ). Outline. Difference between Errors, Faults and Failures.
E N D
Reliability and Software metrics Done by: Tayeb El Alaoui Software Engineering II Course
Outline • Introduction • Team presentation • Context presentation • Subject presentation • What is Reliability ? ( Definition from IEEE )
Outline • Difference between Errors, Faults and Failures. • Software Metrics for Reliability • Requirements Reliability Metrics. • Design and code Reliability Metrics. • Testing Reliability Metrics. • Conclusion
Introduction • Team presentation • Amine Mestari (Senior student) • Tayeb El Alaoui (Junior student)
Introduction • Context presentation • To complete the requirements of our Software Engineering II course. • To improve mycommunication skills.
Introduction • Subject presentation • Reliability = correctness. (For most software developers) • A better way: To go through all stages of Software lifecycle: Requirements, design and code, and Testing.
What is Reliability ? • Definition from IEEE: “The ability of a system or component to perform its required functions under stated conditions for a specified period of time."
What is Reliability ? • Three activities: • Error prevention • Fault detection and removal • Measurements to maximize Reliability
Errors, Faults and Failures • Error: programmer action or omission that results in a fault • Fault: software defect that causes a failure. • Failure: the unacceptable departure of a program operation.
Software Metrics for Reliability • The goal: To help improve the reliability of a software. • How ? To identify some potential errors from different phases of software development.
Requirements Reliability Metrics • Use: To assess individual specification statements and the vocabulary used. • How? ARM software (Automated Requirement Measurement)
Requirements Reliability Metrics (From SATC and NASA) • Lines of Text • Imperatives • Continuances • Directives • Weak Phrases • Incomplete • Options
Design and code Reliability Metrics • Complexity (Cyclomatic) • Size • Modularity • Weighted Method per Class (WMC)
Testing Reliability Metrics • Two approaches: • Evaluation of the test plan. • Evaluation of the number of errors in the code and the rate of finding / fixing them.
Evaluation of the test plan • Use of multiple test cases • A test case contains several functions • Each function must be at least tested once.
Conclusion • Existence of Metrics to evaluate Reliability. At each phase of the development lifecycle. • The cost benefits are: factor of 14.
References • Musa, J.D., A. Iannino and K. Okumoto, Software Reliability: Measurement, Prediction, Application, Professional Edition: Software Engineering Series, McGraw–Hill, New York, NY., 1990. • Triantafyllos, G., S. Vassiliadis and W. Kobrosly, "On the Prediction of Computer Implementation Faults Via Static Error Prediction Models," Journal of Systems and Software, Vol. 28, No. 2, February 1995, pp. 129-142. • Rosenberg, L., and Hammer, T., Metrics for Quality Assurance and Risk Assessment, Proc. Eleventh International Software Quality Week, San Francisco, CA, 1998. • Hammer, T., Rosenberg, L., Huffman, L., Hyatt, L., Measuring Requirements Testing in Proc. International Conference on Software Engineering (Boston MA, May 1997) IEEE Computer Society Press.