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 focus is on the presentation of rigorous step-by-step approaches for modeling flexible agricultural and environmental 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.This second edition includes: a new chapter on Object Constraint Language (OCL), a new section dedicated to the Model-VIEW-Controller (MVC) design pattern, new chapters presenting details of two MDA-based tools - the Virtual Enterprise and Olivia Nova and a new chapter with exercises on conceptual modeling. It may be highly useful to undergraduate and graduate students as the first edition has proven to be a useful supplementary textbook for courses in mathematical programming in agriculture, ecology, information technology, agricultural operations research methods, agronomy and soil science and applied mathematical modeling. The book has broad appeal for anyone involved in software development projects in agriculture and to researchers in general who are interested in modeling complex systems.From the reviews of the first edition:"The book will be useful for those interested in gaining a quick understanding of current software development techniques and how they are applied in practice... this is a good introductory text on the application of OOAD, UML and design patters to the creation of agricultural systems. It is technically sound and well written."-Computing Reviews, September 2006 von Papajorgji, Petraq J. und Pardalos, Panos M.