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, using robot experiments to show how the designed strategies can be ported to different application scenarios.