Product Review - Popkin Software's System Architect
Published: November 1, 2002
How System Architect Measures Up
Now that we understand what Enterprise Architecture is all about, what features should a tool that supports EA provide? As the first step in building an EA for my own company, I had to develop the criteria for selecting the products that will support this effort. Following are the criteria that I use in evaluating these types of products with a summary of how System Architect (SA) Enterprise Modeling Tool v 8.5.24 support each criterion. Full Framework Support
Frameworks, such as the Zachman Enterprise Systems Architecture (ESA) Framework, are essential in developing an enterprise architecture. To address all the architectural needs of an enterprise that consists of multiple communities, an EA can be quite complex. The framework provides a roadmap into the architecture. An EA tool must have the ability to support the enterprise's chosen framework, with each component of the architecture, its diagrams and associated documentation classified to a cell within the framework. The tool must provide the ability to navigate through the architecture via the framework cells.
System Architect has added Framework Manager, a new, graphical user interface, which enables enterprises to view information in the context of a framework and visually tie models to broader framework requirements. The Framework Manager maps modeling data to cells and organizes the cells into frameworks. Users can visually see what has been built and what to build to satisfy framework requirements.
System Architect provides robust support for enterprise architecture frameworks. The product ships with the Zachman ESA and C4ISR support. For those enterprises that are adopting object-oriented approaches to information management, a framework for the Rational Unified Process (RUP) is also available. Recognizing that most enterprises will want to tailor their EA framework, even a standard one, SA provides a facility to customize your framework. You can even build one from scratch, should none of the frameworks delivered with the product suit your specific needs.
Your mission, goals, strategies, tactics, critical success factors and other business plan components are defined in SA's repository. However, the extensibility features of SA can be used to design your own business planning diagrams.
I never expect all the communities within an enterprise to use the same methodologies and diagramming approaches. Some prefer to use IDEF or Information Engineering. Others are driven by their implementation technologies, so they select UML to model the business requirements and applications that are ultimately going to be built using object-oriented techniques, while people building data warehouses are more interested in representing their data using star-schemas. No single approach is going to be sufficient to meet all the needs of the enterprise.
So any product that supports EA is going to have to be multi-disciplined so that all these dialects can be supported.
One of the features I've always appreciated about SA is the extensive collection of modeling methodologies it supports. SA supports nearly every modeling and diagramming approach available including UML, IDEF, swimlanes, data flow diagrams, and functional decomposition. Popkin's philosophy is to provide the basic set of well-known methodologies so that no special methodology training is required to use the tool. Your organization is in the position to leverage your analysts' knowledge of their existing, favorite methodologies.
An EA is comprehensive in nature. The same information must be presented in many different formats, including diagrams, matrices and definitions. You must be able to easily navigate from one presentation style to another. Consequently, a knowledgebase must exist that supports the entire EA.
SA's knowledgebase is its encyclopedia, which contains all the diagrams and definitions. The definitions are very easy to enter, as SA supports the standard windows look and feel. Related information is organized into pages that are selectable from tabs. Full use of standard GUI widgets is provided including radio buttons, dropdown lists and tabs or page scroll button to move from one page to another.
The linkages between model objects within the encyclopedia are easily made through a list box, where links can be established to existing model objects. SA will display a list of existing model objects to choose from. Dragging the name of the existing model object into the current model object's link list box makes the link. Can't find the model object you're looking for? You can easily create it through the list box's add feature. Want to see the documentation for a linked model object? Select the define button to bring up its definition window.
Matrices, which provide another view of the linkages between model objects, can be used to maintain those linkages. While SA provides a standard set of matrices, a facility is available for you to create those matrices that are most meaningful to your enterprise.
As the discussion of frameworks and methodologies highlighted, you can expect to find many different approaches and methodologies used within the same enterprise. Furthermore, you will often find that these methodologies have been tailored to meet each community's specific needs. Minimally, most organizations need the ability to add properties to existing model object types available through the repository. I'm always adding additional model objects types, as well, to support emerging methodologies, such as the Business Rule Approach, that have not yet gained popular acceptance.
In addition to extending the metamodel for the underlying repository, I'd like to customize the symbols used for the model object types on the diagrams. Currently, I keep the master set of diagrams in my modeling tool, but often must develop a second set for presentation purposes. By customizing the symbols used on the master model, I could bring the master diagrams into my presentation software and minimize the need to rework.
Finally, since there are very few diagramming methods that have gained acceptance at the business planning level, you may need to create an entire set of diagrams to communicate your mission, goals and strategies in graphical format. Once again, if my modeling tool allows me to build a custom set of diagrams specific to my methodology, I can keep all my master models within the same environment, rather than maintaining some in my EA tool and others in Powerpoint presentations or Word documents.
I'm very happy with SA's extensibility capabilities, which supports all my requirements. SA has always provided the ability to add additional properties to any model object type's definition. Furthermore, SA has always provided me with the best control of the presentation these extensions by supporting a wide variety of GUI widgets. Its capabilities in this area far exceed those that are available from other repository products that I've worked with. Likewise, SA has always provided the ability to add new model object types to the encyclopedia and remap diagram symbols to different model objects.
The current version extends SA's extensibility features to include control over the symbols displayed on diagrams and the ability to define entirely new diagrams.
SA uses a proprietary language for defining extensions. While I would prefer to use a graphical approach to extending SA, I quickly adapted to the required syntax. Changes are made using any text editor. Any Windows Metafile graphic can be assigned to a symbol, while a corresponding .BMP graphic is used on the diagram's toolbar. The graphic displayed can be coordinated with information held in the model object's definition. For example, I can assign one symbol to represent a data store's storage medium as tape and another symbol for CD. When drawing the diagram, I can create a data store and set its storage medium based on whether I selected the tape or CD icon from the toolbar. However, if I change the storage medium through the data store's definition, the symbol on the related diagrams will also be changed.
Since many people will be working on different portions of the enterprise architecture at the same time, an EA tool must be network-enabled to support multiple users. The product must provide locking capabilities to prevent simultaneous modifications to the same definition or diagram. Ideally, the tool should provide a mechanism of letting users know who has locked a definition or diagram and provide a notification when the lock has been released.
SA provides all of these facilities for multi-user access to the central encyclopedia, with locking down to definition level. In addition SA gives users check-in/check-out and merge facilities for working offline and merging work back into the central encyclopedia.
At some point, the developers of the EA must share their efforts with others in their community. Which means that an EA tool needs to be able to provide access to the information held within the tool to people who don't have access to the tool. The format of this information can be either as a website that provides the ability to navigate through related diagrams and definitions, and as documents or presentations formatted to my preferred word processor or presentation software.
The product should include predefined report templates. But, once again, I find that few products have been able to anticipate exactly the structure and content details that I want, so a report generator is also a necessity.
System Architect provides excellent capabilities for generating diagrams and supporting documentation to the web. You are able to select the specific parameters of the website, such as which diagrams are included and whether to include child diagrams. In some cases, you want to regenerate the website for the same set of diagrams, so you can create a list that is saved to be used again for subsequent generations.
The home page for the generated website presents two frames that list the diagrams in hierarchical and alphabetical order. Selecting the "Definitions" button displays a list of all the model object definitions in alphabetical order. Once a diagram is selected, the diagram is displayed in the top portion of the page, an index of the symbols on the diagrams are listed in the left, bottom half of the page. Definitions are listed on the page's right, bottom half. Clicking on a symbol positions its definition in the definition panel. If that symbol has a child diagram, it can be opened by selecting its name from the definition.
Several different options for generating non-web documentation exist. The simplest is the report generator that will generate a report that is previewed in a text editor like Notepad. If desired, this report can also be printed. While several predefined report templates are provided, a report generator is also provided that can be used to select the path through the tools and the properties to be displayed. For example, I developed a report that started with the currently open ERD diagram, selected only the entities (symbol type of entity and weak entity) and for those entities provided the business definition.
Through the Word Report option, you can generate a specific set of predefined Microsoft Word documents that can be used as an entire deliverable for that diagram. Users can write custom Word, Excel and other VBA enabled product reports using System Architect's Object Model and API.
A key feature of an EA tool is its ability to trace model objects across the entire architecture. By this, I mean the ability to ask questions like "tell me all the use cases that support the "achieve higher sales " objective", "for those use cases, which databases do they used?" or "who are the business stewards of those databases?". Traceability also lets you check the completeness of your architecture and associated implementations. You should also be able to ask questions like "do I have any database columns that are not used by any module?" or "are there any business objectives that have no supporting business processes?". If the answer to any of these types of questions is "yes", then your implementation may be out of synch with your enterprise architecture.
System Architect's robust encyclopedia provides traceability through the linkages it maintains between model objects. Likewise, every symbol on a diagram can be linked to its own child diagrams. The browser lets you navigate through the hierarchy of diagrams and models objects. At any time, you can highlight a diagram or model object in the browser, select the "Referenced By ..." option to see which other model objects or diagrams reference it. The Report Generator can also be used to construct queries that can be used to answer the traceability and completeness questions.
Each community within an enterprise may be responsible for developing its own portion of the overall enterprise architecture. In this situation, each community may require its EA tool environment. At some point in time, it will be necessary to merge these knowledgebases together into the enterprise's integrated EA.
Model Management is the process of ensuring that the information held in these related knowledgebases are consistent with one another. As part of model management, models can be compared to identify any overlaps, divergence and conflicts. Models can be merged with the ability to specify the rules for resolving conflicts. Additionally, the ability to create a new by extracted diagrams and definitions from an existing model must exist.
SA provides the ability to extract diagrams and definitions from one encyclopedia into another. It also provides an encyclopedia merge facility. The behavior of these facilities can be customized to operate on a specific list of diagrams and definitions. These lists can be saved for reuse for subsequent model management activities. You can also control how duplicate items will be handled. The options are: "use the most recent", "always replace the target" or "never replace the target". You can preview the changes that the merge or extract process will perform. Unfortunately, there is no way to filter the report to identify what changes will actually be made. I had to save the report as a text file and open it in a text editor to be able to search for the specific actions I was looking for: diagrams and definitions that were being copied from the source to the target.
For large, complex projects it is necessary to be able to compare the properties of model objects or the configuration of diagrams to determine how the two versions are different. SA Encomp is an add-on facility that performs such comparisons and gives a variety of reports showing how versions differ.
Versioning and Release Management
Versioning Control and Release Management are an important aspect any Model Management facility. Versioning is the process of keeping track of each modification made to a diagram and to a specific model object's definition. Release management is the process of coordinating the modifications to a group of model objects and diagrams that must be treated as a unit. A release should only contain one version of a model object or diagram. Releases tend to be time-oriented, by describing the state of the model objects involved in that release at a specific point in time. For example, EA Release 1 contains all the diagrams and model objects for the enterprise architecture, as published on June 5, 2001. EA Release 2 contains all the diagrams and model objects that will be in effect for the enterprise architecture when published in July, 2002.
Versioning and Release Management are essential in conducting impact analysis on an evolving enterprise by examining the effect of a change on all future versions of the enterprise architecture.
Overtly, System Architect's versioning and release management capabilities appear limited. You have the option of placing the entire encyclopedia under version control through Merant's PVCS. However, this does not provide the immediate information about a model object's version that is required during the process of making a change. In addition, there is no facility to backout a change to a definition or diagram once it has been saved. However, Popkin provides a white paper guide to encyclopedia management making use of both PVCS and SA Encomp.
Likewise, SA does not provide release management facilities. A separate encyclopedia can be established for each release. Whenever a change is done, a comparison of each encyclopedia can be done to determine that a specific diagram or model object may have changed. But this time consuming process is not as effective as being able to maintain multiple versions and releases within the same encyclopedia.
Import and Export Capabilities
As much as we'd like to have only one tool that satisfies the needs of the entire enterprise, the reality is that different communities will use different products for managing their information systems. At some point, you will need to provide access to the information within your EA tool to others or have the desire to load data from other products into your environment. Some vendors may have anticipated this need and provide direct translations between specific products. But, the reality is, most vendors won't provide these capabilities for every tool you may encounter within your enterprise. So, some level of import and export capability must be available.
Ideally, an EA product vendor will conform to some standard format to facilitate communication with other tools. Unfortunately, there are so many standard metadata exchange formats and none has emerged as the obvious accepted standard. So the probability of any EA tool providing an automatic translation into one of these standards is slight. However, it is a capability that I always look for when selecting any tool that holds metadata.
Given the predominance of XML, I now expect any tool to be able to support XML import and export. And provide the specification for its DTD.
I'd also like the ability to import and export the diagrams, as well as the supporting definitions. Given the amount of time it takes to layout a diagram, it would be nice to salvage that effort when moving between tools.
SA provides a facility for importing and exporting its diagrams and definitions in XML format. Diagrams and definitions can be selected from the browser for export. When a diagram is selected, all the associated definitions are also exported. Importing a diagram held in XML format is as easy as selecting the appropriate diagram type and selecting the Import XML option.
System Architect also provides the ability to import and export its definitions in .CSV or delimited text files. The file structure is identical to the format specified in the encyclopedia's USRPROP.TXT file. The process is very time consuming, as each model object type must be imported from or exported to its own file.
Ease of Use and Learning
A product can be the most powerful tool around, but its worthless if it's so difficult to learn and use that your analysts are not willing to use it. A tool needs to allow the analyst to choose the technique for entering a model object's details, including the linkages between model objects. The notation for diagrams should be consistent with the methodology they support. The techniques for entering diagrams should be consistent across all diagram types.
The product should support a standard GUI interface for the technology that it's implemented in, such as Windows or the Web. Standard graphic management capabilities should exist, such as the ability to select one or more symbols and move them as a group, resizable symbols, lines that track as the associated symbols are moved, the ability to move lines from one symbol to another without having to delete and redraw the line and the ability to customize the diagram's format in terms of color and fonts.
As previously mentioned, SA provides all these capabilities and more. I particularly like its line drawing features of "Redirect" and "Make Orthogonal". The product allows me to enter information through diagrams and directly into its encyclopedia. SA's matrices as an additional mechanism of viewing and entering the linkages between model objects.
System Architect satisfies my most essential expectations for an enterprise architecture modeling product. I've been using the product for data, database, process and object modeling for nearly 10 years and I've yet to find another modeling tool that provides all the flexibility and features of SA, both in the breadth of the methodologies it supports and the robustness of its repository capabilities. Given its extensibility capabilities, if System Architect doesn't come with what you want out of the box, you probably can add it with minimal effort.
Copyright © Inastrol, 2002
Recent articles by Terry Moriarty
Terry Moriarty - Terry Moriarty, president of Inastrol, a San Francisco-based information management consultancy, specializes in customer relationship information and metadata management. Her common business models have been used as the basis of customer models for companies within the financial services, telecommunication, software/hardware technology manufacturing, and retail consumer product industries.