ebook img

Software Engineering Techniques Applied to Agricultural Systems: An Object-Oriented and UML Approach (Applied Optimization) PDF

249 Pages·2005·21.36 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Software Engineering Techniques Applied to Agricultural Systems: An Object-Oriented and UML Approach (Applied Optimization)

SOFTWARE ENGINEERING TECHNIQUES APPLIED TO AGRICULTURAL SYSTEMS An Object-Oriented and UML Approach Applied Optimization VOLUME 100 Series Editors: Panos M. Pardalos University of Florida, U.S. A, Donald W. Heam University of Florida, U.S.A. SOFTWARE ENGINEERING TECHNIQUES APPLIED TO AGRICULTURAL SYSTEMS An Object-Oriented and UML Approach By PETRAQ J. PAPAJORGJI University of Florida, Gainesville, Florida PANOS M. PARDALOS University of Florida, Gainesville, Florida Sprii nger Library of Congress Cataloging-in-Publication Data Papajorgji, Petraq J. Software engineering techniques applied to agricultural systems : an object-oriented and UML approach / by Petraq J. Papajorgji, Panos M. Pardalos. p. cm. — (Applied optimization ; v. 100) Includes bibliographical references and index. ISBN 0-387-28170-3 (alk. paper) - ISBN 0-387-28171-1 (e-book) 1. Agriculture—Data processing. 2. Software engineering. 3. Object-oriented programming (Computer science) 4. UML (Computer science) I. Pardalos, P.M. (Panos M.), 1954- II. Title. III. Series. S494.5.D3P27 2006 630'.2'085-dc22 2005051562 AMS Subject Classifications: 68N99, 68U35 lSBN-10: 0-387-28170-3 lSBN-13: 978-0387-28170-4 e-lSBN-10: 0-387-28171-1 e-ISBN-13: 978-0387-28171-1 © 2006 Springer Science+Business Media, Inc. All rights reserved. This work may not be translated or copied in whole or in part without the written permission of the publisher (Springer Science-HBusiness Media, Inc., 233 Spring Street, New York, NY 10013, USA), except for brief excerpts in connection with reviews or scholarly analysis. Use in connection with any form of information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now know or hereafter developed is forbidden. The use in this publication of trade names, trademarks, service marks and similar terms, even if the are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. Printed in the United States of America. 9 8 7 6 5 4 3 21 SPIN 11534631 springeronline.com To our children: Dea Petraq Papajorgji and Miltiades Panos Pardalos Contents Preface xi Acknowledgments 1 PART 1: CONCEPTS AND NOTATIONS 3 Chapter 1 PROGRAMMING PARADIGMS 5 1. HISTORY OF INCREASING THE LEVEL OF ABSTRACTION 5 2. OBJECT-ORIENTED VERSUS OTHER PROGRAMMING PARADIGMS 9 Chapter 2 BASIC PRINCIPLES OF THE OBJECT-ORIENTED PARADIGM 13 1. ABSTRACTION 13 2. ENCAPSULATION 17 3. MODULARITY 18 Chapter 3 OBJECT-ORIENTED CONCEPTS AND THEIR UML NOTATION 21 1. OBJECT 21 2. CLASSES 22 3. ATTRIBUTES 23 4. OPERATIONS 24 5. POLYMORPHISM 25 6. INTERFACES 26 7. COMPONENTS 31 viii SOFTWARE ENGINEERING TECHNIQUES 8. PACKAGES 33 9. SYSTEMS AND SUBSYSTEMS 33 10. NOTES 37 11. STEREOTYPES 37 Chapter 4 RELATIONSHIPS 41 1. ASSOCIATIONS 41 2. AGGREGATION 46 3. COMPOSITION 47 4. DEPENDENCY 48 5. GENERALIZATION 49 6. ABSTRACT CLASSES 55 7. ABSTRACT CLASSES VERSUS INTERFACES 58 8. REALIZATION 58 Chapter 5 USE CASES AND ACTORS 61 1. ACTORS 62 2. USE CASES 63 2.1 Extend relationship 65 2.2 Include relationship 66 Chapter 6 UML DIAGRAMS 69 1. THE USE CASE DIAGRAM 69 2. USE CASES VERSUS FUNCTIONAL DECOMPOSITION 72 3. INTERACTION DIAGRAMS 74 3.1 Need for interaction 74 3.2 Sequence diagrams 75 3.3 Collaboration diagrams 78 3.4 Sequence versus collaboration diagrams 79 4. ACTIVITY DIAGRAMS 80 5. STATECHART DIAGRAMS 83 Chapter 7 DESIGN PATTERNS 87 1. A SHORT HISTORY OF DESIGN PATTERNS 87 2. FUNDAMENTAL DESIGN PATTERNS 88 2.1 The delegation pattern 88 3. CREATIONAL PATTERNS 91 3.1 The factory method pattern 91 3.2 The abstract factory pattern 93 3.3 The singleton pattern 95 4. STRUCTURAL PATTERNS 97 4.1 The adaptor pattern 97 4.2 The proxy pattern 101 CONTENTS ix 4.3 The iterator pattern 103 4.4 The fa9ade pattern 105 5. BEHAVIORAL PATTERNS 108 5.1 The state pattern 108 5.2 The strategy pattern 109 PART 2: APPLICATIONS 113 Chapter 8 THE KRAALINGEN APPROACH TO CROP SIMULATIONl 15 1. SYSTEM REQUIREMENTS 117 2. THE USE CASE MODEL 117 2.1 The use case description 119 2.2 Basic flow 119 2.3 Alternate flow 120 2.4 Preconditions 120 2.5 Postconditions 120 3. THE USE CASE REALIZATION 121 3.1 Sequence diagram for the use case 122 3.2 Collaboration diagram for the use case 124 4. CONCEPTUAL MODELS 126 4.1 Conceptual model for the Kraalingen approach 127 5. DISCOVER POTENTIAL CLASSES 129 5.1 Boundary classes 130 5.2 Control classes 131 5.3 Entity classes 133 6. CLASS DIAGRAM FOR THE KRAALINGEN APPROACH 134 7. CRITIQUE OF THE KRAALINGEN CLASS DIAGRAM 140 7.1 Communication boundary-control 141 7.2 Communication control-entity 143 7.3 Communication entity-entity 146 8. FINAL CLASS DIAGRAM FOR THE KRAALINGEN APPROACH 149 9. THE BENEFITS OF USING INTERFACES 150 10. IMPLEMENTATION OF THE KRAALINGEN MODEL IN JAVA 151 10.1 Interface IPlant 151 10.2 Interface ISoil 154 10.3 Interface IWeather 155 10.4 Interface ISimulationController 168 11. PACKAGING THE APPLICATION 172 Chapter 9 THE PLUG AND PLAY ARCHITECTURE 175 1. DEFINITION 175 2. IMPLEMENTATION 176 3. REFLECTION 177 X SOFTWARE ENGINEERING TECHNIQUES 4. THE PLUG AND PLAY SIMULATORCONTROLLER 179 5. TESTES[G UNIT FOR A CLASS/COMPONENT 183 Chapter 10 SOIL WATER-BALANCE AND IRRIGATION-SCHEDULING MODELS: A CASE STUDY 187 1. INTRODUCTION 187 2. CONCEPTUAL MODELS : EXAMPLES 18 8 3. TEMPLATE FOR DEVELOPING NEW MODELS 192 4. ANALYSIS OF A WATER-BALANCE MODEL 194 5. ANALYSIS OF AN iRRiGATiON-scHEDULESfc MODEL (ISM) 196 6. THE BENEFITS OF A GENERAL TEMPLATE 200 Chapter 11 DISTRIBUTED MODELS 205 1. INTRODUCTION 205 2. CORBA 206 2.1 The Interface Definition Language (IDL) 207 2.2 The Object Request Broker (ORB) 208 2.3 Adaptors 211 2.4 A CORBA Soil Server 212 2.5 A simple CORBA client 216 3. THE REMOTE METHOD INVOCATION (RMI) 218 3.1 An RMI Soil Server 221 3.2 A Simple RMI client 224 4. DISTRIBUTED CROP SIMULATION MODEL 225 GLOSSARY 233 REFERENCES 239 INDEX 245

Description:
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: t
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.