Logo GISdevelopment.net

GISdevelopment > Proceedings > GITA > 2002


GITA 2002 | GITA 2001 | GITA 2000 | GITA 1999 | GITA 1998 | GITA 1997
Sessions

Applications

Data Development & Evolution

E-Biz

GeoSolucions

Mobile

Municipal Perspective

Network Operations Management

New Technology

Project Management

System Architecture

System Integration

The Human Factor

User Presentations

Work Management


GITA 2002


System Architecture


The benefits of UML in the face of EAI


The Structural View

Class Diagram
Class diagrams describe the static structure of a system. The focus of the class diagram is to describe how a system is structured rather than how it behaves. Class diagrams are probably the most versatile of the UML diagrams. Data models, software components, software classes, and business objects are modeled using the class diagram, each in it’s own diagram. Figure 4 is an example using the class diagram data modeling. The attributes, operations and relationships of each class are displayed as part of the class diagram. Tools, available from GIS vendors, have been built that generate database schemas and code from UML compliant models. This feature is referred to as forward and reverse engineering.


Figure 4: Class Diagram


The Behavior View

The Interaction Diagrams
Interaction diagrams include sequence and collaboration diagrams.

The Sequence Diagram
Sequence diagrams describe the behavior of a use case by diagramming the classes and the messages exchanged between them arranged in chronological order. It is important to note that sequence diagrams do not describe object relationships; that view of the system is reserved for collaboration diagrams. Object and actor instances can be displayed in the sequence diagram along with how the objects communicate by sending messages to one another, figure 5. Sequence diagrams are intuitive to create because humans tend to arrange and plan in order of events. Oftentimes, system analysts will prefer to create sequence diagrams before they create class diagrams. The system analysts will often find themselves evolving the sequence and class diagrams through much iteration.

Collaboration Diagram
The collaboration diagram is a view of the interactions of objects and unlike the sequence diagram that describes the objects messaging over time; collaboration diagrams display the relationships between objects. Some UML tools can automatically generate collaboration diagrams from sequence diagrams, and vice versa. Collaboration and sequence diagrams express similar information but they display it from different perspectives. As you gain experience and familiarity with both the sequence and collaboration diagrams, you will most likely gravitate towards one over another depending on personal preference.

Activity Diagram
The activity diagram is a specialization of the state diagram and it displays the dynamics of a system by showing the workflow. The activity diagram complements the business use case diagram in that it shows the process flow behind the use case. Since defining and understanding the business processes are critical steps in designing an EAI solution, activity diagrams provide the common language and a common understanding between business analysts and system analysts. Activity diagrams, at first glance, resemble flow charts since they use Figure 5: Sequence Diagram Figure 6: Activity Diagram Figure 7: State Diagram Figure 8: Component Diagram activities and flow lines. But activity diagrams provide additional important and unique features including conditional threads, nested activity diagrams, and swimlanes. The swimlanes represent organizational units or roles and are used to display who will be responsible for each activity in the process. In Figure 6, the electric utility customer performs the activities in the left column and the Voice Response Unit (VRU) performs the activities in the right column.

State Diagram
The state diagram describes the sequence of states that an object goes through during its lifetime. The state diagram displays the events that act upon the object that enables the transition from one state to the next. In Figure 7, the state of the trouble is modeled along with the events that move the trouble through its lifecycle starting as “New Trouble” and ending as “Trouble Closed”. In this example the states of a business process are modeled. State diagrams are also useful for modeling the various states of a class that has a complex lifecycle.

The Implementation View

Component Diagram
The component diagram displays the static structure of the implementation view. The component diagram shows the organizations and dependencies of the components, subsystems, and their relationships, figure 8. Additionally, the diagram models the interface that can be used to show the externally visible operations of a class or component.

Deployment Diagram
The deployment diagram “shows the configuration of run-time processing elements and the software components, processes and objects that execute on them” (OMG, 2001). The deployment diagram can be used for business modeling where employees and organizations are displayed as run-time processing elements and the procedures and documents that they use are displayed as the software components.

Benefits of UML to implementing an EAI solution
The purpose of EAI is to support business processes by tying together the company’s components. Components include databases, applications, COM and CORBA objects, and any system with data that may be useful to other systems.

EAI nirvana involves completely transparent access to all of the company’s components from anywhere within the company. This is desirable because companies have often invested large sums creating their existing data stores and other components, and new regulatory or financial pressures require them to make new uses of their existing systems. Unfortunately, this nirvana is unattainable given the complexity of most organizations. A measured approach is essential, beginning with critical business processes whose automation provides high value to the company. Success in a small, proof-of-concept EAI implementation will pave the way to larger EAI projects within the company. UML provides critical tools for this success.

One of the first steps involves understanding the business processes that currently exist (the “as-is” state) and that need to exist (the “to-be” state). Activity and state diagrams assist this endeavor. Many of the swimlanes in the as-is diagrams will refer to manual processes, perhaps involving paper shuffling and phone calls between departments. Such processes can still be modeled effectively. After modeling is complete, assess each business process according to its frequency, value, desired completion speed, and cost. Then make appropriate judgements about which processes need to be refined with EAI technologies.

For example, perhaps timecard submissions have high frequency, low value, must be completed every week, and cost one hour of each employee’s time per week. Automated crew dispatch to a serious SCADA event may occur once a week, affect hundreds of customers, must be completed as quickly as possible, and can cost thousands of dollars per minute in lost revenue. The latter may be considered more meritorious for EAI streamlining that the former. This management level decision is assisted with simple diagrams that show the differences between as-is and to-be (or “could-be”) business processes.

Comparing as-is to to-be diagrams provides a powerful visual tool that encourages management support of a project and provides valuable assistance during early EAI acquisition phases. Top-down management support of EAI initiatives is imperative, since the owners of a company’s data stores are justifiably hesitant to allow outside influences on their data. UML diagrams help with this support.

The key to supporting business processes is the movement and manipulation of data within the enterprise. Writers of use case diagrams should keep this goal in mind for the lowest-level use cases. After the use case diagrams are completed, additional information is available to help decide on appropriate infusions of EAI technology. Such technology should facilitate data movement in the service of important business processes. Eventually, EAI developers will need the use case diagrams and sequence diagrams to develop and test the pieces that move data between components.

It’s clear from this discussion that UML provides important benefits to a company’s EAI plans. Management needs simple visual tools to help make important acquisition decisions and decide which business processes deserve EAI attention. Developers need it to help with implementation and testing. Users need it to cooperate with developers during early design phases of the project. Everyone benefits from UML’s common, understandable language.


References

  • Alhir, S, 1998, UML In a Nutshell.
  • Hansen, T, Activity Diagrams to Model the Client’s Work Process, www.rational.com.
  • Kobryn, C, 1999, UML 2001: A Standardization Odyssey: Communications of the ACM, Vol. 42 No. 10.
  • Marshall, C, 2000, Enterprise Modeling with UML.
  • OMG, 2001, OMG Modeling Language Specification, Version 1.4, pp. 3-172.
Page 3 of 3
| previous

Applications | Technology | Policy | History | News | Tenders | Events | Interviews | Career | Companies | Country Pages | Books | Publications | Education | Glossary | Tutorials | Downloads | Site Map | Subscribe | GIS@development Magazine | Updates | Guest Book