Using the UML in Systems Integration
- Using the UML in Systems Integration
- Interfaces
- Component Interfaces
- Physical Design
- Scenarios
- Class Diagrams
- State Transition Diagrams
- Conclusions
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 communitywhat 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.