Reliability Engineering: Theory and Practice