教学大纲 教学内容和基本要求★导论Introduction (4)≈什么是软件可靠性What is Software Reliability≈软件法医学Software Forensics≈可靠性、可用性、与安全性Reliability, Availability, and Safety≈软件可靠性工程Software Reliability Engineering Process★软件可靠性基础Mathematical Foundation for Reliability (8) ≈概率与统计Probability and Statistics ≈温伯格复杂性模型Weinberg Complexity Model≈软件中的概率释义Interpretation of Probability in Software≈软件随机过程Software Random Process★可靠性风险分析Reliability Hazard Analysis (8) ≈软件可靠性风险定义Definition of Reliability Hazard≈风险层级Hazard Levels ≈风险分析技术Hazard Analysis≈风险衰减策略Hazard Mitigation★软件可靠性模型Reliability Modeling(8) ≈软件串并行模型Serial-Parallel Model ≈树型分析模型Fault Tree Analysis ≈单一失效模型Single Failure Model≈软件可靠性增长模型Reliability Growth Model ★软件可靠性分配Reliability Allocation(2) ≈操作剖面Operational Profiles ≈操作剖面开发Development of Operational Profiles ≈操作分解Decomposition of Operational Profiles≈可靠性分配技术Decomposition of Reliability★软件可靠性设计Design for Reliability (8) ≈可靠设计原则Reliability Principles ≈系统失效模型Software Failure Model≈软件容错技术Software Fault Tolerance≈正反恢复块技术Forward and Backward Recovery★软件可靠性预测Software Reliability Prediction(8) ≈预测与估计Prediction, Forecast, and Estimation ≈软件预测模型Reliability Prediction Modeling≈非同构泊松过程模型NHPP Models≈COQUALMO模型★软件可靠性评估Software Reliability Assessment (8) ≈系统测试System Testing ≈操作剖面驱动的测试Operational Profile Driven Testing ≈回归测试、安全测试、负载测试Regression, Security, and Load Testing≈软件可靠性演示Software Reliability Demonstration★软件高可靠关联模型Reference Modeling for High Reliability (8) ≈软件可靠性选择Software Reliability Selection ≈面向平台的设计Platform-Oriented Programming ≈软件可靠性执行Software Reliability Execution≈可靠需求引导Requirement Reliability Inducement实验(上机)内容和基本要求Students are expected to carry out lab assignments to experimentally evaluate and study certain reliability engineering concepts. Some labs use available tools to dig into the specifics concerning software reliability. The course also requires students to analyze and design a reliable software system (an elevator control system) based on the principles and techniques discussed in the lectures. The students are also asked to perform reliability prediction and assessment on the project. These labs assume a basic familiarity with probabilities and statistics. Some labs involve writing short system designs and analysis that use various software engineering tools, and therefore a working knowledge of probability and software engineering are required.对学生能力培养的要求The course expects students to take on the viewpoint of a physician, who formulates a hypothesis about a particular software reliability engineering process or phenomenon, and verifies or falsifies the hypothesis using certain experimental setups. Therefore, within the course, students will:★Learn principal concepts, goals, and technology applicable to software reliability engineering.★Gather understanding on design decisions taken by software engineers and practitioners★Experimentally verify certain statements concerning software reliability engineering.★Get a working knowledge on basic techniques in predicting, forecasting, and assessing software reliability.★Learn the principles and techniques in designing highly reliable software systems.其它说明1.The class will be taught in English。2.The grading of the course consists of two parts:(1)Home Work: 80% (five home works)(2)Paper critique: 20% (two critiques) |