In a world where technology plays a major, increasing role day after day, efforts devoted to develop better software are never too much. This book presents a study on software applications development based on a real case, were the integral process of software development is addressed from the functional paradigm point of view. In contrast with the traditional imperative paradigm, the functional paradigm represents a different way of developing applications, and also a distinct manner of thinking about software itself. This work goes through the characteristics and properties that functional technology gives to both software and its development process, from the early analysis and design development phases, up to the final and no less critical verification and validation stages. The strengths and opportunities that emerge in the field of testing, thanks to the use of the functional paradigm, are explored in depth. From the analysis of this process being put into practise in a real software development experience, we draw conclusions about the convenience of applying a functional approach to complex domains, and extract a reusable engineering methodology.