This book focuses on the design and analysis of collective decision-making strategies for the best-of-n problem. After providing a formalization of the structure of the best-of-n problem supported by a comprehensive survey of the swarm robotics literature, it introduces the functioning of a collective decision-making strategy and identifies a set of mechanisms that are essential for a strategy to solve the best-of-n problem. The best-of-n problem is an abstraction that captures the frequent requirement of a robot swarm to choose one option from of a finite set when optimizing benefits and costs. The book leverages the identification of these mechanisms to develop a modular and model-driven methodology to design collective decision-making strategies and to analyze their performance at different level of abstractions. Lastly, the author provides a series of case studies in which the proposed methodology is used to design different strategies, usingrobot experiments to show how the designed strategies can be ported to different application scenarios.