Systems architect Alan Gauld discusses how the Unified Modeling Language (UML) can be applied to systems integration-type projects where very little code may be written. UML originated in the object-oriented design community but now offers tools that can be used in any branch of software engineering.

Systems architect Alan Gauld discusses how the Unified Modeling Language
(UML) can be applied to systems integration-type projects where very little
code may be written. UML originated in the object-oriented design community
but now offers tools that can be used in any branch of software engineering.

This article discusses techniques for using the Unified Modeling Language (UML)
in systems integration projects. It discusses some of the design issues facing
systems integrators and the reasons for using UML as a design notation within
the context of a simplified case study of a typical call center environment.

Systems Integration

Systems integration can mean several different things within the software engineering
communitywhat I mean is the practice of building end-to-end solutions comprising
prebuilt components integrated together to form a whole. Such systems usually
comprise many components that are bought from various vendors and glued together
using various software techniques. The focus of such projects is usually on
leveraging as much as possible of the packaged functionality and minimizing
the coding content. As a result of this, UML is often overlooked as a design
tool, being seen as appropriate only for software development. Examples of systems
integration projects include such things as the IT infrastructure of a new supermarket:
EPOS terminals integrated with stock control systems and staff management systems
to provide a single coherent view of activity within the store. Another active
area for systems integrators is in providing call centers, either for telesales
or as service help desks. I am going to illustrate how UML can be applied to
a systems integration project by looking at a typical modern call center with
integrated telephony and customer relationship management (CRM).

Telephony

The hub of any call center is its telephony system, without which there could
be no calls! The most common solution is an Automatic Call Distributor (ACD),
which can be controlled by a Computer Telephony Integration (CTI) platform.
Call steering can be provided by an interactive voice response device that may
be standalone or integrated with either the ACD or the CTI system. Nowadays
it's also possible to use a soft PBX that combines a VoIP gateway with a software
switching solution combining the functions of ACD and CTI in one package. I'll
assume that the more traditional ACD route has been chosen along with a CTI
box and no IVR.

Customer Relationship Management

CRM systems aim to give the customer service representative or sales adviser
a complete view of that customer's dealings with the company. Thus, if a customer
has a faulty appliance in for repair, the sales adviser can see that and treat
the customer sensitively when discussing the speed of repair offered! To make
best use of this facility, it helps if the CRM system can be integrated with
the telephony system so that when an incoming call is received, the calling
customer's details can be automatically presented on screen. This is known as
a screen pop, in CTI parlance. The CRM system may also enable micromarketing
by generating lists of customers with a particular service or product so that
they can be called with news of relevant upgrades. Here, too, it is useful if
the CRM system is integrated with the telephony system so that the customers
on the list can be dialed automatically and the outcome of the call can be recorded.