180 likes | 503 Views
Arc Hydrology Data Model. An Overview of the Modeling Process Kim Davis and Tim Whiteaker Center for Research in Water Resources University of Texas at Austin. Introduction. UML—What it is, How to read it CASE tools—What they are, How they are used Build the UML Model with CASE tools
E N D
Arc Hydrology Data Model An Overview of the Modeling Process Kim Davis and Tim Whiteaker Center for Research in Water Resources University of Texas at Austin
Introduction • UML—What it is, How to read it • CASE tools—What they are, How they are used • Build the UML Model with CASE tools • Export to a Repository • Generate C++ code (make a .dll) • Create the schema in ArcInfo 8.0 • Do Cool, Fun Stuff…
UML • Unified Modeling Language • Graphical interface to computer languages • A higher evolution of flow-charts • The standard vocabulary for Object-Oriented Programming
How to read the UML • Classes (Objects) • Inheritance(Is a kind of…) • Subtypes(Is a specific type of…) • Composition (Is made of…) • Aggregation (Is loosely made of…)
How to read the UML • Classes(Objects) • Have Name • Have Attributes • Have Methods • May have Extensions • May have Interfaces • May participate in relationships
How to read the UML • Inheritance (Is a kind of…) • Alternatively called Generalization • Passes Attributes down the diagram tree • Passes Methods down the tree • Classes involved are called Parent and Child • Children are also called Sub-classes HydroPoint is a generalization of HydroStructure HydroStructure is akind of HydroPoint
More on Inheritance Of HydroStructure
How to read the UML • Subtypes(Is a specific type of…) • Used for different “flavors” of the same object • Have the EXACT same attributes • May have different default values for those attributes
How to read the UML • Composition(Is made of…) • Parent controls lifetime of Child • Implemented in database by use of key fields (Table Linking)
How to read the UML • Aggregation(Is loosely made of…) • Classes exist independently of each other • Implemented in database by use of key fields (Table Linking)
CASE tools—Intro • CAD=Computer Aided Drafting • CASE=Computer Aided Software Engineering • Well suited to modern programs (object oriented vs. menu driven) • Examples: Visio Enterprise/Professional, Rational ROSE, ObjectDomain
CASE tools—What they do • Began as flow chart converters • Automate programming tasks which are repetitive and subject to human error • Provide graphical format that eases transfer and comprehension of software architecture
CASE tools—Example Document Window “Table of Contents” Standard Shapes
Build the UML Model with CASE tools • Decide what objects to create • Brainstorm • Continuous refining • Determine what attributes they have • Enough to clearly define object • Minimum set to practice good modeling • Devise methods to give custom behaviors • Delineate relationships required
Generate C++ Code • Creates the objects you have designed so ArcInfo can use them • Implements the relationships and behaviors • Results in a .dll (dynamic link library) which contains the objects • Add custom code if desired
Create Schema in ArcInfo 8.0 • Creates empty tables in the geodatabase • Establishes relationships automatically • Looks to the .dll for information on custom classes • Allows user to choose which classes to instantiate • Allows last-minute editing of certain properties
Schema Creation • Allows user to choose which classes to instantiate • Allows last-minute editing of certain properties
Do Cool, Fun Stuff • Learn more through ESRI tutorials • UML - Visio Enterprise • C++ Code Generation • Schema Creation • Nifty Network Demo