Software Engineering Techniques Applied to Agricultural Systems: An Object-Oriented and UML Approach (Springer Optimization and Its Applications, Band 93)