Cover image for Software engineering techniques applied to agricultural systems : an object-oriented and UML approach
Title:
Software engineering techniques applied to agricultural systems : an object-oriented and UML approach
Personal Author:
Series:
Applied optimization ; 10
Publication Information:
New York, NY : Springer, 2006
ISBN:
9780387281704

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010132938 S494.5.D3 P36 2006 Open Access Book Book
Searching...

On Order

Summary

Summary

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.


Table of Contents

Prefacep. xi
Acknowledgmentsp. 1
Part 1 Concepts and Notationsp. 3
Chapter 1 Programming Paradigmsp. 5
1 History Of Increasing the Level of Abstractionp. 5
2 Object-Oriented Versus Other Programming Paradigmsp. 9
Chapter 2 Basic Principles of the Object-Oriented Paradigmp. 13
1 Abstractionp. 13
2 Encapsulationp. 17
3 Modularityp. 18
Chapter 3 Object-Oriented Concepts and their UML Notationp. 21
1 Objectp. 21
2 Classesp. 22
3 Attributesp. 23
4 Operationsp. 24
5 Polymorphismp. 25
6 Interfacesp. 26
7 Componentsp. 31
8 Packagesp. 33
9 Systems and Subsystemsp. 33
10 Notesp. 37
11 Stereotypesp. 37
Chapter 4 Relationshipsp. 41
1 Associationsp. 41
2 Aggregationp. 46
3 Compositionp. 47
4 Dependencyp. 48
5 Generalizationp. 49
6 Abstract Classesp. 55
7 Abstract Classes Versus Interfacesp. 58
8 Realizationp. 58
Chapter 5 Use Cases and Actorsp. 61
1 Actorsp. 62
2 Use Casesp. 63
2.1 Extend relationshipp. 65
2.2 Include relationshipp. 66
Chapter 6 UML Diagramsp. 69
1 The Use Case Diagramp. 69
2 Use Cases Versus Functional Decompositionp. 72
3 Interaction Diagramsp. 74
3.1 Need for interactionp. 74
3.2 Sequence diagramsp. 75
3.3 Collaboration diagramsp. 78
3.4 Sequence versus collaboration diagramsp. 79
4 Activity Diagramsp. 80
5 Statechart Diagramsp. 83
Chapter 7 Design Patternsp. 87
1 A Short History of Design Patternsp. 87
2 Fundamental Design Patternsp. 88
2.1 The delegation patternp. 88
3 Creational Patternsp. 91
3.1 The factory method patternp. 91
3.2 The abstract factory patternp. 93
3.3 The singleton patternp. 95
4 Structural Patternsp. 97
4.1 The adaptor patternp. 97
4.2 The proxy patternp. 101
4.3 The iterator patternp. 103
4.4 The façade patternp. 105
5 Behavioral Patternsp. 108
5.1 The state patternp. 108
5.2 The strategy patternp. 109
Part 2 Applicationsp. 113
Chapter 8 The Kraalingen Approach to Crop Simulationp. 115
1 System Requirementsp. 117
2 The Use Case Modelp. 117
2.1 The use case descriptionp. 119
2.2 Basic flowp. 119
2.3 Alternate flowp. 120
2.4 Preconditionsp. 120
2.5 Postconditionsp. 120
3 The Use Case Realizationp. 121
3.1 Sequence diagram for the use casep. 122
3.2 Collaboration diagram for the use casep. 124
4 Conceptual Modelsp. 126
4.1 Conceptual model for the Kraalingen approachp. 127
5 Discovery Potential Classesp. 129
5.1 Boundary classesp. 130
5.2 Control classesp. 131
5.3 Entity classesp. 133
6 Class Diagram For the Kraalingen Approachp. 134
7 Critique of the Kraalingen Class Diagramp. 140
7.1 Communication boundary-controlp. 141
7.2 Communication control-entityp. 143
7.3 Communication entity-entityp. 146
8 Final Class Diagram For the Kraalingen Approachp. 149
9 The Benefits Of Using Interfacesp. 150
10 Implementation of the Kraalingen Model In Javap. 151
10.1 Interface IPlantp. 151
10.2 Interface ISoilp. 154
10.3 Interface IWeatherp. 155
10.4 Interface ISimulation Controllerp. 168
11 Packaging The Applicationp. 172
Chapter 9 The Plug And Play Architecturep. 175
1 Definitionp. 175
2 Implementationp. 176
3 Reflectionp. 177
4 The Plug and Play Simulator Controllerp. 179
5 Testing Unit For A Class/Componentp. 183
Chapter 10 Soil Water-Balance and Irrigation-Scheduling Models: A Case Studyp. 187
1 Introductionp. 187
2 Conceptual Models: Examplesp. 188
3 Template For Developing New Modelsp. 192
4 Analysis of a Water-Balance Modelp. 194
5 Analysis of an Irrigation-Scheduling Model (ISM)p. 196
6 The Benefits of a General Templatep. 200
Chapter 11 Distributed Modelsp. 205
1 Introductionp. 205
2 Corbap. 206
2.1 The Interface Definition Language (IDL)p. 207
2.2 The Object Request Broker (ORB)p. 208
2.3 Adaptorsp. 211
2.4 A CORBA Soil Serverp. 212
2.5 A simple CORBA clientp. 216
3 The Remote Method Invocation (RMI)p. 218
3.1 An RMI Soil Serverp. 221
3.2 A Simple RMI clientp. 224
4 Distributed Crop Simulation Modelp. 225
Glossaryp. 233
Referencesp. 239
Indexp. 245