Reliability prediction of a software product is complex due to interdependence and interactions among components and the difficulty of representing this behavior with tractable models. Models developed by making simplifying assumptions about the software structure may be easy to use, but their result may be far from what happens in reality. Making assumptions closer to the reality, which allows complex interactions and interdependences among components, results in models that are too complex to use. Their results may also be too difficult to interpret. The reliability prediction problem is worsened by the lack of precise information on the behavior of components and their interactions, information that is relevant for reliability modeling. Usually, the interactions are not known precisely because of subtle undocumented side effects. Without accurate precise information, even mathematically correct models will not yield accurate reliability predictions. Deriving the necessary information from program code is not practical if not impossible. This is because the code contains too much implementation detail to be useful in creating a tractable model. It is also difficult to analyze system reliability completely based on the program code. This book documents the resulting novel approach of designing, specifying, and describing the behavior of software systems in a way that helps to predict their reliability from the reliability of the components and their interactions. The design approach is named design for reliability predictability (DRP). It integrates design for change, precise behavioral documentation and structure based reliability prediction to achieve improved reliability prediction of software systems. The specification and documentation approach builds upon precise behavioral specification of interfaces using the trace function method (TFM). It also introduces a number of structure functions or connection documents. These functions capture both the static and dynamic behaviors of component based software systems. They are used as a basis for a novel document driven structure based reliability prediction model. System reliability assessment is studied in at least three levels: component reliability, which is assumed to be known; interaction reliability, a novel approach to studying software reliability; and service reliability, whose estimation is the primary objective of reliability assessment. System reliability can be expressed as a function of service reliability. A mobile streaming system, designed and developed by the author as an industrial product, is used as a case study to demonstrate the application of the approach.LIST. OF. FIGURES. Figure 2-1: Areas Related to Design for Reliability Predictability (DRP) Figure 4-1: TFM Table for Requirements of Keyboard Checker Software (Parnas, 2009b) Figure 5-1: Reliability structure diagram for three elementaryanbsp;...
|Title||:||Software Architecture and Design for Reliability Predictability|
|Author||:||Assefa D. Semegn|
|Publisher||:||Cambridge Scholars Publishing - 2011-09-22|