Software Engineering Techniques Applied to Agricultural Systems presents cutting-edge software engineering techniques for designing and implementing better agricultural software systems based on the object-oriented paradigm and the Unified Modeling Language (UML). The book is divided in two parts: the first part presents concepts of the object-oriented paradigm and the UML notation of these concepts, and the second part provides a number of examples of applications that use the material presented in the first part. The examples presented illustrate the techniques discussed, focusing on how to construct better models using objects and UML diagrams. More advanced concepts such as distributed systems and examples of how to build these systems are presented in the last chapter of the book. The book presents a step-by-step approach for modeling agricultural systems, starting with a conceptual diagram representing elements of the system and their relationships. Furthermore, diagrams such as sequential and collaboration diagrams are used to explain the dynamic and static aspects of the software system.