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


What is UML and What UML is not

UML is…
The Unified Modeling Language (UML) is a simple and extensible modeling language. The UML is implementation independent in that it can be applied to any programming language, technology, and domain. The UML is supported by a number of tools by independent software vendors. The UML is process independent. It does not dictate nor require that a particular process is followed. With that said, the authors of the UML do encourage users to follow a use case driven, architecture-centric, iterative and incremental process that is object oriented and component based. Many current system design processes build upon such a framework. The UML is scalable; it can provide benefit and value to projects ranging from small-business application development to multi-national enterprise-wide application integration projects.

UML is Not…
The UML is not a visual programming language; it is a visual modeling language. It is not simply a notation but a robust language for capturing knowledge and expressing knowledge about the system under design. During its short lifetime, the UML has become the industry-standard language for system modeling.

The UML is not a process; in fact the UML is process independent. A process should be tailored to the organization, the culture, and the problem domain at hand. Organizations will benefit from the UML as it provides a common modeling language but it does not require a common process.

The UML does not establish a specification of the interface, the storage, or the behavior of a modeling tool. It is a modeling language specification. The authors and managing consortium of the UML do not maintain or dictate the look and feel of the UML modeling tools. The tools used to implement UML can range from the centuries-old technology of pen and paper through to sophisticated off-the-shelf applications.

UML Diagrams
UML diagrams provide many perspectives of a system during analysis and development. A complex system can be most effectively understood and therefore developed by understanding it from many angles. Let’s look at a simple analogy to system modeling: you plan to build the house of your dreams. You meet with an architect to explain the features that will make this house perfect. The architect then sketches a drawing of your dream house. And voila, you are now looking at your perfect home. It is a beautiful house; the outside features include large windows, a huge red front door, and the yard is full of quaking aspens. You are looking at the house of your dreams, you write a check and tell the architect to build it. How realistic is this? What about the floor plan, the wiring plan, the window and door plan, etc.? Would you write a check at this point? My guess is you wouldn’t.

Developing the many views of a system is as critical to the success of system development as are the detailed blueprints of a house plan. The UML defines a set of graphical diagrams that are used for many planning, design and implementation tasks depending on the angle that you are viewing the system. The major views of the system that UML supports are: 1) the user view, 2) the structural view, 3) the behavioral view, and 4) the implementation view. One or more diagrams for each view is defined by the UML and each provide a unique window into the system. At this point it is important to point out that few projects will utilize all the available diagrams. The UML diagrams are to be treated as a set of resources for system modeling and take care to utilize only those diagrams that provide a useful and beneficial view of your system. As you gain familiarity with the UML diagrams, it will become apparent that some diagrams are more critical than others for system modeling depending on the size of your project. The process your organization follows will determine the order in which the diagrams are created; however, the general order is: 1) use case diagrams, 2) structural and behavioral diagrams concurrently, 3) component diagram, and 4) deployment diagram.

Using a sound modeling language is essential for good communication among project teams and to provide an architectural reference to be followed through the life of a project and during future system upgrades. As systems increase in complexity, visualization and modeling become even more critical. Such is the case with EAI. An EAI project will often be comprised of specialized teams each with an expertise in GIS or OMS or CIS or middleware or business processing and the list goes on. The major benefits of using UML is it provides a common language between the teams and it provides a central repository for the EAI analysis, design, development, and implementation project plan.

The UML graphical diagrams are grouped according to their view -- user, structural, behavioral and implementation -- of the system and the diagrams of each are described in the following sections. A simplistic OMS example is followed through the rest of this section.

The User View
The user view includes use case diagrams and business use case diagrams.

Use Case Diagram
The user view provides a window into the system from the users perspective, in that the functionality of the system is modeled in terms of the user and what the user expects of the system. In UML-ease, the user of the system is called an actor, which can represent either a human user or users as other systems. The functionality of the system is defined by the use cases. The lines connecting the actors and the use cases show that the actors interact with the functionality provided by the use case, refer to Figure 2. Use cases are usually described in greater detail in an accompanying textual document often referred to as the Functional Requirements Specification (FRS). For each use case, the FRS usually contains the following sections: a brief description, preconditions, a process and alternate processes, outputs, a user interface, and business rules. The testing team writes test cases from the information provided in the FRS and the end-user documentation is developed from the FRS. The UML enables and promotes a use case-driven approach; as such it is critical to define the actors, the use cases and their interactions early in the design process.


Figure 2: Use Case Diagram


Business Use Case Diagram
The business use case diagram is an extension to the use case diagram and is defined in and supported by UML and the OMG. Business process modeling is central to the design of an EAI project. A goal of EAI is to enable the sharing of data and business processes among all interested users without making significant changes to existing applications and data structures. Understanding the as-is business processes and modeling the to-be business processes can accomplish this goal. The first step in business modeling using the UML is identifying the interactions between the business processes and those entities outside the business, such as customers and suppliers. The interactions between an electric utility and a customer include: requests for new service, requests for service disconnect, change of billing address, service billing, and outage reporting. The example in Figure 3 illustrates the business interactions of an electric utility customer reporting service outage. The electric customer initiates the Report Trouble business process by reporting an outage. Also modeled in Figure 3 are the additional processes that are included with the Report Trouble process, Fix Trouble and Find Trouble, that the user does not interact with but that are used by the report trouble use case.


Figure 3: Business Use Case


Page 2 of 3
| previous | Next |

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