90 likes | 286 Views
Introduction to SQC. S/W Quality Control ( focus on Maintainability, Reliability and Reusability) Reliability 的問題 Reusability 的問題 S/W metrics 與 maintainability, Reliability, Reusability 的關係 Metrics 之科學觀點. S/W Quality Control ( focus on Maintainability, Reliability and Reusability)
E N D
Introduction to SQC S/W Quality Control (focus onMaintainability, Reliability and Reusability) Reliability的問題 Reusability的問題 S/W metrics 與maintainability, Reliability, Reusability的關係 Metrics之科學觀點
S/W Quality Control (focus onMaintainability, Reliability and Reusability) * For Maintainability Maintenance Perfective Corrective Adaptive * Simplicity * Instrumentation * Modularity *Self-Descriptiveness * Expandability * Generality (S/W component 之 通用性) * Testability * Flexibility * Portability **Self-Descriptiveness **S/W System Independence **Machine Independence * (Inter) Interoperability **Communication Commonality **Data Commonality * Traceability * Completeness * Consistency 邏輯 Correctness Testability Flexibility 介面 (Boundary) * Simplicity * Instrumentation * Modularity * Self-Descriptiveness Testability * Expandability - Data Storage expand能力 - Computation Function refine能力 Maintainability 2
* 三個影嚮 maintenance的東西 Correctness Simplicity 引導 SQC 之重點與方向 ** Program Size Testability Flexibility Correctness Portability Inter(ra)operability ** Data organization ** Control Structure Testability Inter(ra)operability ... Software Complexity Metrics Correctness Testability Inter(ra)operability 評估 ... S/W Maintainability ... 影嚮 S/W Complexity 3
Reliability的問題 Reliability Accuracy Error Tolerance 影嚮 Precision 在正常使用下,可運作時間MTBF、MTTF *為什麼考慮此問題? -航空定位系統 -Switching SystemMultiprocessor System -Banking System 上面有許多 S/W System -金資中心 Running & Interaction * 有何用途? ** 可用來衡量測試階段之完成程度,如發現100個錯誤,改了80個,但 reliability只improve一點點,顯示Key error 沒有改掉。 ** 監控運作中 S/W 之性能,評估S/W 修改幅度。 *Definition 在一段特定時間內,S/W 在其environment 中運作,不發生failure的機率。 4
REUSABILITY的問題 Reusability Testability Portability Interoperability (一些Commonality問題) Correctness **與 application domain息息相關。 **與 programming language 相關。 **Reusability 以 S/W Component為依據評估其Reusability 。 * 為何考慮此問題? Reusability愈高表示該Component 在此 S/W System中被使用最多次,地位愈形重要,而且可在將來新Project中使用,且使用愈久Reliability愈高,亦可降低 Cost ! * 有何用途? 可用來決定那個S/W Component 該被標準化? *Definition S/W Complexity要低,Size要精簡,reuse frequency要高 Reusability 高 5
S/W metrics 與maintainability, Reliability, Reusability的關係 Testability Size Simplicity Maintainability Reusability ... S/W Complexity ... S/W metrics Probability model Failure Rate Reliability * S/W metrics 一種量化的model,用來評估各項Quality factor,criteria以達到Quality Control或Assurance為目的。 * S/W metrics之分類- 可分為兩類Static 及 Dynamic ** static - 評估 S/W Complexity通常有三大特質被運用。 *** Volume - L.O.C.,……… *** Control structure - calling structure, logical path, nested levels, … *** Data Organization - Data binding, span, slicing ** Dynamic-隨時間更改,History metrics,runtime complexity, reliability Data binding #of common block var. Slice 描述程式中部份output (external) format 之一段Code Span 抓取data之#of Comparison, # of call Internal memory usage(Space) Internal data structure(time) Man - machine Interface Complexity 6
Metrics之科學觀點 觀察到收集的Data Lemma Theorem Abstraction Process 參數化 Equation Well-Defined Theory Software Complexity (Metrics) 觀察到收集的Data Construct Abstraction Process 估計式 假設之關係式 Equation 7
* Construct S/W Metrics 之原則 1.選定(define)欲量化之Criteria ( Size , Testability , ……) 2.找出與 Criteria 有關之特徵 3.把這些 S/W Characteristic 量化 4.找出關係式 ( State - of - the - art ) 5.驗證 ( 以實驗 or 經驗數據) * 驗證 metrics 好壞常用的指標 ** Correlation ( 反應 metrics 之可用程度 ) X , Y 之 Correlation X (X1,X2,…,Xi,……) SXX = Y (Y1,Y2,…,Yi,……) SYY = SXY = Xd Yd | Xd | | Yd | 2 (Xi - X) i 差向量的Norm2 實驗數據vector 2 (Yi - Y) i 所謂的 eignvector ( 特徵向量 ) 差向量內積 (Xi - X) (Yi - Y) i SXY SXX SYY Correlation 為 Xd * Yd = | Xd | | Yd | cos cos = 愈大 X Y相差愈遠,cos愈小 反之, 愈小 X Y相差愈近,cos愈大 8