«` Making the Most of an Enterprise Architecture Modeling Tool Aurelijus Morkevicius Product Manager for the UPDM plugin for MagicDraw and Cameo ...»
Making the Most of an Enterprise Architecture
Product Manager for the UPDM plugin for MagicDraw and Cameo Enterprise Architecture
A Process: Making the Most of an EA Modeling Tool
Set Up Requirements
Pick the Right Tool
Make the Tool Follow Your Rules
© 2011 No Magic, Inc. 2 Introduction Modern enterprises are based on complex business systems that are supported by even more complicated IT systems integrating multiple technologies and standards. Modeling helps to capture and communicate the multilayered architecture of the enterprise and cause it to evolve for better enterprise performance.
The ability to capture, integrate, and maintain integrated enterprise architecture (EA) models strongly depends on the modeling tool features that make enterprise architects’ daily work more productive. In this paper, we will be analyzing the modeling tool features which are critical for integrated enterprise architecture (EA) success.
First of all, a good EA modeling tool should support multiple standards, such as UPDM, SysML, BPMN, UML, and others. It also should enable integration of these models into a single repository while linking elements from other models conforming to different standards. It is critical that the tool is compliant with standards, as this enables interoperability in a tool chain and data migration between tools. Second, the EA modeling tool should provide good collaboration-oriented features, which include a shared remote repository, simultaneous model editing, version managementincluding model comparison and merge, easy publishing, and appropriate review capabilities. Third, the EA modeling tool should support the Model Driven Architecture paradigm, which not only includes multiple abstraction levels and model to model and model to code transformations, but also the ability to validate the model for completeness and correctness, and easily correct any issues identified in the model. Fourth, the EA modeling tool should support linking various model elements and provide easy traceability, which enables impact analysis when evolving the EA. Last but not least, the tool should be customizable – it should support multiple user roles with different sets of features displayed/hidden and customizable report templates, and provide an Open API-enabling enhanced productivity through plugins and integrations with a tool chain, and other customization capabilities that can boost modeling productivity.
We will examine these features, going step by step through a process of making the most of enterprise architecture modeling tools, and we will shortly demonstrate how some of these features are implemented in MagicDraw, one of the leading integrated EA modeling solutions.
© 2011 No Magic, Inc. 3 A Process: Making the Most of an EA Modeling Tool Based on our experience in enterprise systems and software modeling, we have developed the cycle of how to make the most of a modeling tool. We have discovered that some activities bring more value for the EA modeler than others. For example, model creation using diagrams is a capability provided by all modeling tools. In contrast to this, model visualizations in tabular or time-based charts are valuable rarities. In the context of EA, we are usually talking about multiple users with different backgrounds – such as the business analyst, CIO, system engineer, etc. The model is a medium between them. However, some users are not aware of BPMN or UML, and others are not familiar with other modeling notations. Multiple visualizations of a model is one of the ways for people in organizations to communicate successfully.
We have determined that there are seven steps to using a modeling tool efficiently:
To make the most of your modeling tool, set up requirements and write questions. This will help in the selection of the tool which meets the project requirements. When you select the tool, use it to model, visualize, share, and analyze model data. Finally, measure gain. Repeat the cycle again if you feel the choice was wrong. If that is not an option, try to get the most value from the tool you selected during the first iteration.
© 2011 No Magic, Inc. 4Set Up Requirements
Before selecting the tool, set up requirements and constraints. Think of what standards you are planning to use to implement EA. Will it be TOGAF, DoDAF, or a custom standard? Decide what modeling language to use. Think of the interoperability of the models. Are you planning to exchange models with other companies or between different tools? There are many issues to be evaluated before making the decision. Here are the main points you must consider
before choosing the tool:
1. What architecture framework am I planning to use?
2. Do I need models to be interoperable?
3. How many users will need to work in parallel with the same project?
4. What collaborative standards do I plan to use; how do they fit?
5. Do I need professional services; training, consulting, support?
6. What is my budget?
As soon as your requirements and constraints are determined and you have an answer for each of the six questions, make a list of tools meeting your requirements. Then raise another set of questions of what exactly you need from a modeling tool to pick the right one.
Pick the Right Tool We have raised 10 common questions to answer when choosing a
1. Is it a standards-based integrated architecture repository?
2. How many enterprise architecture frameworks does it support?
3. How many ways to visualize model data does it provide?
4. Is time aspect management supported?
5. Is any modeling automation provided?
6. Does it support traceability?
7. Is there an integrated solution for parallel development and configuration management?
8. Is it adjustable and customizable?
9. Does it provide a model validator?
10. Is it secure?
Is it a standards-based integrated architecture repository?
A standard is a set of the best practices. Compliance with the standards saves resources, reduces maintenance, enables reuse, etc. However, even if standards-compliance is not a primary requirement, it is treated as a quality mark.
Traceability between different layers of architecture allows for specification and analysis of traces. The tool should provide predefined traceability rules and allow creation of your own transitive traces, perform impact analysis according to defined traces, and allow easy navigation between traced elements in the model.
Is there an integrated solution for parallel development and configuration management?
Do not even think of choosing a tool without an integrated parallel development environment when modeling EA. This is a must-have capability.
For example, MagicDraw provides Teamwork Server, software which allows more than one developer to work with the same model.
If you are connected to the Internet, you may work with the model that is stored in a central repository. If you are not, you may save the teamwork project locally and work without a constant connection with the Teamwork Server. Changed project files can be saved to the Teamwork Server later. A project manager may provide readonly or full access to the repository for interested parties. Supported branching ensures separated areas of development, tests, and trials for the same project.
Is it adjustable and tailorable?
Making the tool look like you want, the ability to build your own custom diagrams and edit the existing ones, the ability to record macros and build your own model validity rules, and many more.
This is what adjustability and tailorability are all about.
Usually, if the tool provides many different environments for the users from different domains and supports a number of modeling languages and domain specific languages (DSLs), it is a tool that can easily be adjusted to your needs. Additionally simple things such as look and feel themes or so called tool skins may give you a pleasure and enjoyment while working with the tool.
Does it provide a model validator?
How does the user know if the model is correct and complete? At the least, correction of the model is a duty of the tool. If the tool is standards compliant, it should track and let you know if your model is correct, and that it meets the specifications of the standard.
Critical violations should be displayed instantly, and in comparison minor issues should be tracked and displayed on demand in order to avoid interrupting your work process.
© 2011 No Magic, Inc. 8 Is a model complete? This is another question which in comparison to correctness is much harder to answer. However, the tool should at least provide rules checking – for example, if business processes have allocated resources or capabilities are satisfied by capability configurations.
Is it Secure?
If you are from the government sector, this section is probably one of the most important. However, if you are from the industrial sector you should not skip it either! Information security has held confidentiality, integrity, and availability (known as the CIA triad) to be the core principles. These principles also set requirements for the
modeling tool. Questions that should be asked at this point:
Are SSL connections to the server repository supported?
May different people in the project have different access levels to the projects stored in the server repository?
May users have different permissions on the data that is located in the server repository?
Are administrative rights supported?
Is native user support in the server repository integrated with the Subversion, ClearCase, and/or LDAP?
Make the Tool Follow Your Rules Let’s assume you have chosen the tool. From this point, we will observe the rest of the steps for a successful EA modeling by using MagicDraw.
To make sure your tool follows your rules:
Set up project and environment options.
Set up a GUI.
Add your own executable model validity rules.
Add your own traceability rules.
Set up project and environment options Before beginning and during any time of modeling, you may control the project’s look and behavior with a set of project options common to all project users.
For instance, if you choose a DoDAF project in MagicDraw you can define various compliance modes, such as BPMN compliance, which allows using BPMN for some of the DoDAF views modeling.
Another set of options is mostly related to user interface and common to all projects under the one machine.
Set up a GUI Set up a user interface to best fit your needs. Choose an appearance theme, windows layout, and role-based modeling environment. Control the experience level of the GUI.
MagicDraw provides a set of look and feels, such as Windows 7, Eclipse, etc. It also allows choosing the modeling environment based on the role and experience level of the user. For instance, a DoDAF architect can select DoDAF 1.5 architect or DoDAF 2.0 architect modeling environments. This hides tools that are not expected to be used by a DoDAF architect and emphasizes tools such as diagrams, action buttons, elements, and menu items specific to the DoDAF framework. Some of the features are controlled by expert and non-expert experience levels.
Add your own executable model validity rules Are you not happy with the behavior of the predefined rule sets?
That is fine; you can create and execute your own validity rules.
OCL and JAVA are supported languages in MagicDraw for executable rules development. You can select one of five severity levels. Each rule can be marked as an activity and act instantly if it is violated. Additionally, automatic solvers can be added to perform particular actions.
Our experience shows that validity rules are not necessarily used for validity checks. You may, for instance, set up low level severity rules to highlight elements on the diagrams according to a specific criterion such as version, type, etc.
Add your own traceability rules If you feel you are missing transitive traces between elements, you are welcome to set up your own traceability rules. Based on the rules, you will get the ability to track, visualize, and navigate through traces. There are multiple ways provided to set up a new rule in MagicDraw which may be based on meta-chain, OCL, or JAVA.
Record macros Macro recording is another helpful feature of the modeling tool. A recorded set of actions may be performed in one click, thus saving the modeler’s time.
© 2011 No Magic, Inc. 10Visualize
Use as much visualization as possible:
Gantt chart for planning.
Capability time chart for gap analysis.
Tables for textual data specification.
Matrices and relation maps for traceability analysis and specification.
Spreadsheet reports for analysis of measurements.
Gantt chart for planning Plan your projects using a time-based chart, thus improving the clarity, efficiency, and flexibility of project portfolio management.
Figure 4 PV-2 Project Timelines MagicDraw provides a full-featured Gantt chart for EA modelers reflecting the UPDM model. Using the Gantt chart, you can more easily model a timeline perspective on your projects due to the