GISdevelopment.net ---> GITA 1999 ---> Business Applications

The Business Side of Objects: Breaking the Barrier between Users and I.T.

Stewart Asbury
Vice President
Byers Engineering Company
6285 Barfield Road
Atlanta, GA 30328


Why use object oriented methods?
  • To develop systems that solve real world problems
  • To develop systems that can be maintained and enhanced efficiently
  • To improve the productivity of knowledge workers
  • To improve the productivity of I.T. professionals
  • To avoid the high cost of requirements errors
"A successful software project is one whose deliverables satisfy and possibly exceed the end user's expectations, was developed in a timely and economical fashion, and is resilient to change and adaptation."
--Grady A. Booth

In essence, object oriented methods attempt to replace the "real world" software evolution process which is Piecemeal and arbitrary with software design that is intentional, comprehensive, and better supports the enterprise's business processes.

How does this happen?
The first step in developing a solution is to state the purpose of the system. Next, define the overall domain of the Problem and catalog all objects, i.e. poles, cables, etc., and behaviors such as engineering design or planning that are within that scope. Then, all actors (users)are identified and the behaviors(business logic) that are necessary to perform the work are listed. Information needed to do the job is also identified at this time. Within this context, the functionality of the system is stated through scenarios called Use Cases and Sequence Diagrams. This documentation provides the basic elements that define the criteria from which the project' success will be evaluated. Thus, the result of this exercise is a high-level system requirements document containing the overall project scope, domain description, and functionality. This also serves as the basis for user acceptance testing.

Once full buy-in has been achieved, sofiware developers take the user specification and look for patterns in the scenarios. This is then decomposed into a database design (features, properties, and relationships)and a class definition of system functions (methods such as placing features or querying Jneeded to build the AM/FMIGIS object model. The classes are documented through application programming interfaces(API's). Business rules are used to capture the existing expertise and knowledgebase of the most productive workers in the enterprise. These can be stored in the form of program code as methods, and configured with meta data, subsets of information similar in theory to an index or card catalog file that is used for locating other, more vast sets of information.

At this stage, you should be using an object-oriented CASE tool like Rational Rose and the Unified Modeling Language(UML)to document the requirements of the system. This is done by decomposing Use Cases into Sequence Diagrams that look at workflow, Class Diagrams and ultimately into physical components. This process ensures that the system design can be traced back to the original requirements. By defining the problems and opportunities that will be addressed in the use cases, the economics for the business case are also identified and affirmed.

Objects for the user
An object orientationtowarduser interfacedesign is equally important. This is achievedby performanceof an indepth interviewingand observationprocessof the end user. Then, one must analyzeand understandhowthe users are currentlyperformingtheirjobs, andthen anticipatingthe best techniquesfor completingthejob usingnew technology.

It is essentialto provide a graphicaluser interfacethat the user immediatelyacceptsand feels comfortablewith. Userdesktop objects(artifacts)are the fi,mctionsthat comprisea set of tools easilyrecognizableto the user, such as spatialquery, networktrace, etc. Theseuser objects are assembledtogetherto build applicationsthat meetthe specificneeds of the disparateuser groupswithin the enterprise. Someof the sametools that an engineeruses to designwork ordersmaybe used in an applicationdesignedfor the long-rangeplanner. By definingthe workflow for eachtype of user, differentapplicationsare constructedfrom a groupofjimctional components to maximizeeach user’sproductivity.

Objects for the programmer
At this time, the base classes,which includestructures,conductors,and devicesandprovidethe most generalized viewof the objects defined,are decomposedinto class definitionsthat serve as applicationprogrammerobjects. Reuse of these objects greatly improves development productivity in extendingand makingchangesto the system. It is essential that the API’sare cataloged in such a way that the softwaredeveloperscan find what they needand really reuse the codethat has been developed.It is ironicthat it will probablyrequirea subject oriented method like HTMLto manageand best utilizethe object orientedprogramming resources.

We can best illustrate these concepts through use of an analogy. Take, for example,the domainof an airplane:

Purpose:
A system that transports people and equipment over long distances.

Behaviors:
Flying, landing, steering, loading cargo, eating, etc.

Objects:
Wings,seats, fuselage,engines,etc.

Ultimately:
The classesare definedand at the lowest level are the bill of materials(e.g., sheetmetal, machineparts, etc.) and the assemblyinstructions(specificationsfor suppliers)whichare specifiedso that the basic materialsare transformedinto componentssuch as wings, fuel tanks, t%selage,etc. Theseare the equivalentof programmer objectsand the assemblyinstructionsare the class librariesand API’s.Theend users--pilots,flightattendants, and passengers--donot needto knowhow to build the airplane,but they must be providedwith the flight controls,seats,tray tables, lavatory,etc., to effectivelyuse the airplane.

Don't get ahead yourself
Following this process is critical. You should curb any tendencies to design the object model in advance of the requirements. This breaks the traceability principle and likely will result in a system the user (the key beneficiary) cannot use or even recognize. However, when done correctly, the knowledge acquisition process that is used to speci~ object-oriented applications will capture the knowledge base, skills, and expertise that users have in the form of desktop tools and business rules.These object oriented applications are built to be flexible and you can extend and combine them with new functionality as your business processes evolveover time. The information technology group, subject matter experts, and the users can leverage a common system methodology to ensure that the purpose of the AM/FM/GIS system is being met.

Putting it all together
The core developersproducethe base classes,objects,and methodsand documentthem with API’s. Theapplication programmersuse languagessuch as Java, Visual Basic or "C" along with the class libraries and API’sto build applications for the user. The user takes the applications and desktop objects to perform the work that the system was designed to do in the first place.

User acceptance
Using this method increases the probability that the system delivers the solution you need. Having users and software developers speak the same language from the beginning of the project ensures the delivery of systems that are usable and productive and provide a set of criteria that are the basis for user acceptance and satisfaction.

Everybody is happy
The end user, the software developers, and upper management are happy. The user has tools that enhance productivity, the developer spends less time "reinventingthe wheel" and gets to play with new technology, and management improves the bottom line.

Cautions
If you area programmer, don’t confuseend users by talking about API’s as if they were "real" business objects. These are programming tools and are very interesting to programmers. However, you should use "real world" language when conversing with users and when documenting the specifications. Programmer objects and user objects are not the samething, but both are derived from the business problem as defined in the domain description. Conversely, if you’re an end user, don’t try to be a software engineer.

A case study: High level requirements in the telecom domain
Purpose: Improve productivity of engineering staff, provide tools to speed up provisioning process, and provide easy access of network information to all enterprise users.

Domain: The outside plant network.

Objects: The objects of interest in this environment include GIS-oriented items such as streets,political and serving are aboundaries, hydrography, parcels,and customer locations. The AM/FM system extends these with various new network features that tend to be more complex than many other types of GIS features, including:
  • Structures - Support, contain, or house other objects. Examples are poles, man holes, pedestals, towers, and conduit. (Conduit may also be considered a conductor of sorts.) Bridges, dams, or tunnels may also be structures for supporting devices or cables. Buildings, such as a Central Office, are also structures.
  • Attachments - Items associated with or attached to structures. Examples are guys, anchors, other utility items (CATV or electric).
  • Conductors - Carry signaland includecopper,fiber, and coax. TheAM/FMmodel depictsthe sheath graphicallyand maintainsa muchfinergranularityof the internalconductors,which for copper are referredto as pairs and in fiber as strands. Additionalinformationper strandor coax sheathmay include frequencyrangesand assignments.
  • Devices- Launch,extract,monitor,amplify,or change signalat points in the network. Theseinclude multiplexors,terminals,splitters,networkinterfacedevices(NID/NIU),etc. Typicallydevicescontain multipleports for connectingto otherdevicesor conductors. Thesedevicesmaybe furthersubdivided into variousgroupingsbasedon suchcharacteristicsas whetheror not they are powerconsuming(which tends to add noise or distortionto the signalversus simply loweringsignalstrengthif passive)or if they are field configuredvia sub-devices(cardsinto slots) that maybe thoughtof as componentobjects. A specialclass of device,the switch,maybe dealt with as a completelydifferentobjectbecauseof its complexity. Customerpremise equipment,such as a telephones,PBX,routers,gateways,etc., are also devices(and have associatedconductors) which may be known to the network.
  • Locations - Specialpoints of intereston the network. Locationsmay includemarkers(call beforeyou dig), groundpoints, splicepoints (whichmay be classedas pseudo-devices),etc.

    Of particular interest to the model are "customers". These objects may not include a direct spatial coordinate, but may be geographically located through the address that relates to "street" objects. They may also be identified on parcel maps or other geographic model. Each feature in a telephone model can be classified as one of the above or will be a standard GIS feature such as a street, landmark, parcel, etc.

    Each of these features optionally contains associated attributes. These attributes may be organizedintomultiple aggregates in various ways. One approach lists these by usage or type as:

    1. accounting or CPR (continuing property records)
    2. engineering (signal capacity and side effects, structural, size, and materials)
    3. identify for the feature itself and to identlfi its designer, job numbers, and dates)
    4. location (spatial, serving area (route), map bookplat sheet, address)
    5. relationships (defined below)

    For telecommunicationsfeatures,all will have identityand location. Some,however,maynot be of interestto accountingor maynot have engineeringsignificance(definedper featureclassification). Relationshipsalso may not be definedfor everytype of feature.
Tools
Just as it is inconceivableto describea farmwithoutconsideringa tractor, it is difficultto describea telecommunicationsoperationwithout consideringbackhoes,cherry-pickertrucks, servicetrucks,reel trucks, warehouses,and other itemswhichhave (at any point in time) a geographiclocation. Manyof thesetrucks are now radio and GPSequippedto support automaticvehiclelocate(AVL)and routing, as well as on-boardcomputer dispatch.

Organizational objects
In addition to the physical network, tools, and Iandbase items, the organizational objects are critical to the information system flow for dealing with creation and maintenance of the network. These include:
  • Jobs, work orders, & customer orders - Objects which organize and provide identity for tracking to the other objects. A work order includes a purpose, such as upgrade capacity, for a specific area and is referencedby everyfeatureplaced,removed,or modifiedto accomplishthis task as well as any government required permits or land lease or purchase needed for the equipment.
  • Work Package (WP) - Contains work prints which provide the locations for modifications and the details of the workto be performedas well as the Bill of Materials(BOM)of itemsneededto performthejob and possibly the economic or other justification for the work to be performed.
  • Trouble Reports (TR) - Reference items of plant, typically a customer premise device, at which signal is weak, noisy, or missing. From this initial definition, the problem is tracked to a device or point along a conductor where a fault occurs. Due to planned redundancy, a separate route (or strand or pair) may be used to provide an immediate solution. However, the TR, with the detail problem description may become an AM/FM object associated with the device or conduct or until it is repaired or replaced.
Thereare, of course,many other "non-geographic" systems that relate to the AMIFMsystem.Theseinclude customer systems that track usage and billing, assignment systems that relate phone numbers and services to specific devices and frequencies, operations systems that provide real - times witching and monitoring, and inventory reporting and payroll systems.

Relationships between the features
Particularrelationshipsthat are of interest in anAM/FMmodel include:
  • Connects to - Relates devices to devices or conductors, attachments to structures, and conductors to other conductors or devices. This relationship may be considered the same in either direction, i.e., if a connects to b, then b connects to a. It should be noted that a graphical intersection does not imply connects to. If cable ‘a’ crosses conductor ‘Iiwithout some splice or device to create a physical connection, then ‘a’ does not connect to ‘b’.
  • Feeds - Provides signal to, has a corollary in the relation is fed by. Additional information is needed to know if ‘a’ feeds ‘b’,whether ‘b’ also feeds ‘a’. In otherwords this relation may be uni- or hi-directional. (This relation is typically not graphically depicted, because it occurs within the internal definition of the deviceport or conductorstrand ratherthan at the housingor sheath level.) A special instanceof "feeds" may be referredto as "serve(s)," as in the case of "which terminal serves this "customer" or "whattransmitters" servethis area".
  • Houses or contains: (maybe referredto as supportsor encloses)- Relatesstructuresto conductorsor devices. A pole tends to supportvarious devicesand conductors,to providea locationfor the item in the samemannerin whicha manholeor pedestalenclosesthe conductoror device. For example,pole ‘a’ containssplitter‘p’andtap ‘q’,duct ‘r’innerduct‘b’containsconductors‘c’and ‘d’
Actors
Thereare manydifferentjob functionsthat must be performedin this domain,by the followingusers:
  • Engineers - Analyze the signal levels and propose short-term modifications to the model. Incorporate the Planners’ longterm plan into short-term modifications (jobs or work orders).
  • Planners - Engineers who analyze utilization versus capacity, problem areas, growth areas and propose changes to be made to the network over several years.
  • Forecasters - Evaluate demographics and competition presence to estimate growth trends for geographic areas.
  • Customer service - Examines capacity and assigns signal to specific customers, both for new orders and as a response to problems.
  • Construction - Uses the engineering proposals to place, remove,or modify physical facilities. Deviations from the proposal are communicated to engineering for additional analysis and model update,including “transitioning” planned features to as-buil tones.
  • Material manager - Maintainsinventoryof devices,structures,and conductorsto supportcreationand maintenanceof the network. UsesBOMreportsto predictdemandfor items.
  • Inspectors - Monitor the construction for conformance to safety and design / plan, and test the constructed model to determine whether the model operates as the engineering analysis indicated it should. If not, problems are identified and corrected. Actual signal (and in cases, power) levels are inputto the AM / FM model.
  • Cartographers - Collectand maintain Iandbaseinformationfor streets,rights of way, customerlocations, and other physicaland politicalfeaturesof interest.
  • Accountants - Track equipment in use, abandoned in place,or removed to determine life expectancy (amortization costs)as well as installation and maintenance costs of providing service. They additional lyuse spatial analysis to determine facilities within boundaries for tax reporting purposes.
  • Marketing - Determines capacity and capabilities of the network in relation to customers and prospectsin order to offer additional services. They identify areas where services could be sold for expansion. Installers / repair - Determine where to acquire signal to serve customers. They may comparevarious test levels to expected (analyzed) levels to identify faulty components or splices.
  • Operations - Monitors alarms for blocked calls and other failures to provide alternate routing and to define areasof insufficient capacity or problems.
  • Locators - Need to be able to determine whether facilities exist in order to provide the appropriate level of support (marking of routes, all clear, etc.) to construction in an area.
  • Management - Needs to determine where excessive repairs or growth are occurring, where lack of growth may indicate competitive encroachment, where costs are above or below norms for similar activities, and other related information.
  • IT/IS - Needsto integrateother software,establishrules, and add manufacturerinformation.
  • DBAdministration - Setup security,establishprocedures,and distributesoftware.
Behaviors
In order to performtheirjobs, usersperformcertainoperationswith modeldata. The modelcomponentsalso exhibitcertain behaviorsthat mirrorthe way they operatein the real network.

User behaviors
  • Locate - Based on an address, a facility id (terminalor pole number),or a route, a user queries the model to geographically position a view of the model. Based on an extent or trace of the network fi-om that point, the user will determine the extent of the information desired. During locate and subsequent manipulation, a user’s view of the data may need to changed epending on the extent of area being viewed. For instance, when viewing 20 square miles, details of alleys, rights of ways (ROW),and connectivity are useless clutter, while these are important when viewing a city block.
  • Produce relevant representation - The user needs to filter out irrelevant informationfor the job being performed. Remaining information may need to have certain items emphasized while minimizing other aspects of the model to support the job. These user views are definable and tend to be reused.
  • Analyze the problem - Depending on the job to be performed,the analysis may be distance from a location (locate or marketing), facilities in an area (tax), or signal levels at a point (engineering,trouble). Input information - The user may input an analysis point, area, or propose modificationand addition of facilities.
  • Design a Solution - For planned or proposed modifications, the user will analyzethe effects of the modifications on the network in the area.
  • Verify Design - The results of the analysis from one or more proposals will be evaluatedto ensureadequacy of the design.
  • Estimate Cost - Produce a Bill of Materials (BOM) with item costs and labor estimatesfor placement, removal, splicing,etc. to evaluate costs.
  • Prepare work package (w. p.) - The work package includes source packages(such as trouble reports or customer requests)and specially formatted output print(s)of the work to be performed, BOM,and analysis reports.
  • Distribute w. p. - To provide to various other groups for approval, tracking,and the actual workper formance and testing.
  • Update master - Updates to the model typically include certain “whatif’ scenarios such that change sare deferred until a definitive plan is approved. After construction, the model is updated with informationas to when the plan was constructed (and later activated),as well as any plan deviations. This final transactionis applied to the model.
Network component
Network components also have behaviors that model their real world objects:
  • Conducts signal - Conductorsand devicesconductthe signal(andmaymodi~ the type of signal). Signal types (lightWaveas an example)can only be conductedon certainconductorsand devices(opticalfiber).As a result, only certainitemsmay connectto provideconductivity.
  • Provides customer access - Network interface devices as well as their “feeding” conductors and devices are identifiable as providing access to a customer.
  • Wears out - Network components are carefully monitored to determine their effective life span, both for amortization and proactive maintenance. Dates of deactivation and / orremoval are maintained with the feature, even if its geographic location (i.e., landfill) is no longer needed.
  • Gets broken - removal or replacement is tracked as well for items whose life is prematurely ended.
  • Needs permits - placement of items in an area, as part of a work order, may requir egovernment authorization.
  • Has capacity - Devices may be configurable with minimal, maximum, and incremental capacity. These values, as well as current capacity are important information to maintain. Conductors should not carry this information.
Instruments
Users need or expect certain tools to perform their actions with or on the model. Some relate to their use of earlier paper records,while others relate to tools in the field. For instance, the user needs to measured instances, magnify the view of an area, read signal levels (as if using an OTDR) at a point, and apply “engineering table” values to conductors and devices existing or added to the network. As a result of this, certain operations or methods are expected to exist in the model.
  • Measure distance - Maymean line-of-sight distance point to point or it may mean measure conductors betweentwo devices.The latter includes lengths not geographically indicated, such as the inclusion of sag and coils, which are known in the conductor objects.
  • Measure signal levels at a point - Means trace the internal strands or pairs and devices to a launch point where signal values are known and computed B loss, attenuation, noise, power, or distortion values basedon lengths and types of conductors and details on every device back to that point.
  • Scale - Due to congestion in an area, device and annotation display may be reset from a value of 1”= 100’to 1“=50’while linear features remain unchanged in presentation. (Note: utility feature presentation is typically exaggerated, such that a 15“diameterpole may cover 10’of ground spacepictorially, depending on scale. Textualannotationof engineeringdetail is also exaggerated.)
  • Generate BOM - Aggregatesfeaturesassociatedwith the work orderfor addition,modification,or removal for automatedBOMgenerationto communicatewith constructionand materialmanagementas well as costingmodules.
  • Generate Work Print - For communicationto construction,engineersrequirethe ability to preparea work packagethat includesgraphicprints or plots. This will typicallyconsistof multiplegeographicsheetswhich mayoverlap or be disjointedin additionto schematicand detaildrawingsshowinginternalconnectionsand routing (as in duct banks insidemanholesor fiber strand connectionsfor devices). Outputpresentationwill exaggeratemodificationswhileghostingexisting facilitiesto clari~ workto be performed
  • Drafting tools - Built into featureplacement& edit with options like copyparallel.
  • Engineering charts - Built into the rules automatically,as well as in help andmanufacturingtables, for establishingvalues at time of placementandor used during calculations.
  • Engineering work sheets - Setup face sheets (for work orjob orders) which contain management data, which is used to automatically annotatework, print borders from this information.
  • Blueprints - Associate(with typicallypredefmed)detail drawings.
  • Magnifying glasses - Zoom, view,andwindow(dynamicscroll/pan)commands.
© GISdevelopment.net. All rights reserved.