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:
-
accounting or CPR (continuing property records)
- engineering (signal capacity and side effects, structural, size, and materials)
- identify for the feature itself and to identlfi its designer, job numbers, and dates)
- location (spatial, serving area (route), map bookplat sheet, address)
- 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.
|