Arc Hydrology Data Model An Overview of the Modeling Process Kim Davis and Tim Whiteaker Center for...
-
Upload
claude-porter -
Category
Documents
-
view
214 -
download
0
Transcript of Arc Hydrology Data Model An Overview of the Modeling Process Kim Davis and Tim Whiteaker Center for...
Arc Hydrology Data Model
An Overview of the Modeling Process
Kim Davis and Tim Whiteaker
Center for Research in Water ResourcesUniversity 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
HydroStructure is akind of HydroPoint
HydroPoint is a generalization of HydroStructure
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—ExampleDocument Window
Standard Shapes
“Table of Contents”
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 EnterpriseC++ Code
GenerationSchema Creation
• Nifty Network Demo