Computer communication systems, or distributed systems, are now able to perform an increasingly diverse range of functions. This text aims to provide the techniques and methods to evaluate communication systems and ensure their functionality and the quality of their design. It takes a non-mathematical problem-solving approach and includes assessment techniques for: single server queues, networks of queues and stochastic petri nets.