Sparx Enterprise Architect Team Modeling FAQ

This Sparx Enterprise Architect Team Modeling FAQ consists of Frequently Asked Questions related to team modeling with Sparx Enterprise Architect (Sparx EA).

PivotPoint offers a wide-range of customized hands-on workshops with Sparx EA, all of which emphasize scalable team modeling best practices and techniques. Please contact us to discuss how we can tailor your Sparx EA training for your team modeling needs!

What is team modeling, and how does it differ from individual modeling?
In the context of visual modeling tools, such as Sparx EA, team modeling refers to the collaboration of a group of modelers working on the same model at the same time. The concept is similar to team programming, where a group of programmers work on the same program at the same time. Team modeling is considered essential when modeling large, complex systems and processes, since such models typically require collaborative inputs from multiple expert stakeholders that must be integrated, verified, and validated.

While an individual may be able to specify, manage and maintain her own model for a system component, team modeling is generally needed for large, complex systems (i.e., Systems-of-Systems) that require inputs from multiple expert stakeholders in order to manage the common problems associated with collaborative model efforts, such as model organization, model sharing, model version control, and model user permissions.
What architecture modeling tool features are required to support large-scale team modeling?
Architecture modeling tools such as Sparx EA should support the following functions for large-scale team modeling:

  • Model organization: How do you organize your model so that it can flexibly scale for a large, complex system, while allowing your modeling team to work on it concurrently and efficiently?
  • Model sharing: How do you share your model so that different team members can work on different parts at the same time?
  • Model version control: How do you control versions of your model so that you can schedule intermediate and incremental versions, and rollback to the previous versions when needed?
  • Model user permissions: How do you control user and group permissions for model elements, so that team members do not overwrite each other’s work?
How does the Sparx EA modeling tool support essential team modeling functions?
The Sparx EA modeling tool supports the following essential team modeling functions:

  • Model organization: The Sparx EA Project Browser supports basic functions for organizing projects into Models, Views, Model Libraries, and other Packages, as well as fundamental support for popular enterprise architecture frameworks (DoDAF 2, UPDM 2, TOGAF). However, the Sparx EA tool is relatively method agnostic about scalability techniques that are essential for organizing large, complex models, such as recursive design techniques. Fortunately, PivotPoint Sparx EA training teaches principles and best practices for model organization, including recursive design techniques, that will scale across diverse methods and enterprise architecture frameworks!
  • Model sharing: Sparx EA supports both file-based and database-based model repositories, where the former use either EAP or XMI format files, and the latter uses a Relational Database Management System (RDBMS), such as MySQL, Oracle, SQL Server. The Sparx EA Project Transfer tool allows you to flexibly convert a model from RDBMS format to EAP file format, and vice versa. The Project Transfer tool is extremely useful when following the recommended best practice of using a RDBMS as a model repository, and a 3rd party Software Configuration Management (SCM) tool for version control.
  • Model version control: Sparx EA model Version Control feature requires a 3rd party Software Configuration Management tool that complies with the MS Common Source Code Control standard (e.g., Subversion, CVS).
  • Model user permissions: The Sparx EA Project/Security feature allows a team to flexibly define read/write permissions for individuals and groups.
What are the best practices for team modeling with Sparx EA?
Based on extensive experience using Sparx Enterprise Architect for Team Modeling on large-scale, mission-critical projects we recommend that your Sparx EA team follow these proven best practices:
  • Model sharing: Use a Relational Data Base Management System (RDBMS; e.g., MySQL, Oracle, SQL Server) based model repository instead of a file-based repository (e.g., Subversion), since the former accommodates multiple, fine-grained, concurrent updates better than the latter. (RDBMS model repositories need only update selected table data elements, whereas file-based repositories need to update the entire file each time a model element is updated.) Further note that you must use a Sparx EA Corporate edition or higher to use a RDBMS for a model repository.
  • Model version control: Use a dedicated Software Configuration Management (SCM) tool for version control of Sparx EA files in either EAP or XMI file formats. Subversion, which is open source and works well with Sparx EA EAP/XMI file formats, is a popular choice for this.
  • Model user permissions: Apply User Permissions to allow/restrict access to various modeling team roles.
You can find generic information about Team Modeling with Sparx Enterprise Architect on the following page:
What are the best practices for team modeling with Sparx EA?
No, don’t subvert Subversion, which excels as an open source 3rd party Software Configuration Management (SCM) tool for files, into something that it is mediocre at, functioning as a file-based model repository!

Rationale: When compared with a RDBS-based model repository (e.g., MySQL, Oracle, SQL Server) Subversion’s performance as a file-based model repository is mediocre, since the former accommodates multiple, fine-grained, concurrent updates better than the latter, (RDBS model repositories need only update selected table data elements, whereas file-based repositories need to update the entire file each time a model element is updated.)

Recommendation: Use a RDBMS as a model-based repository, and use Subversion in a complementary manner for version control. Note that to use a RDBMS model repository and Subversion as a version control tool you will likely need to use the Sparx EA Project Transfer tool to convert models from RDBMS format to EAP file format, and vice versa.
How can I set up Sparx EA for team modeling to use MySQL as a model repository and Subversion as a version control tool?
Team Modeling Setup: Sparx EA + MySQL Model Repository + Subversion CM Tool
  1. Model Repository: Set Up MySQL RDBMS Server
    Comprehensive and detailed instructions for setting up MySQL as a Model Repository for Enterprise Architect can be found on the following page: Creating a Sparx EA Project in a MySQL Database
  2. Configuration Management: Set Up Subversion CM Tool
    Comprehensive and detailed instructions for setting up Subversion as Configuration Management tool for Enterprise Architect can be found on the following page: Creating a Subversion Environment for Sparx EA Project Version Control
  3. User Permissions: Set Up User Security
    Comprehensive and detailed instructions for setting up User Security for Enterprise Architect can be found on the following page: Setting Up User Security for Sparx EA User Permissions
  4. Organizing Your Project Model and Team for Team Modeling
    After you have set up your Model Repository, Configuration Management tool, and User Permissions for Team Modeling you will need to organize your project model and your team roles & responsibilities for Team Modeling. You will likely benefit from professional hands-on training on these and other Team Modeling application topics: Sparx EA Training workshops.
How can I set up Sparx EA for team modeling to use Oracle as a model repository and Subversion as a version control tool?
Team Modeling Setup: Sparx EA + Oracle Model Repository + Subversion CM Tool
  1. Model Repository: Set Up Oracle RDBMS Server
    Comprehensive and detailed instructions for setting up Oracle as a Model Repository for Enterprise Architect can be found on the following page: Creating a Sparx EA Project in an Oracle Database
  2. Configuration Management: Set Up Subversion CM Tool
    Comprehensive and detailed instructions for setting up Subversion as Configuration Management tool for Enterprise Architect can be found on the following page: Creating a Subversion Environment for Sparx EA Project Version Control
  3. User Permissions: Set Up User Security
    Comprehensive and detailed instructions for setting up User Security for Enterprise Architect can be found on the following page: Setting Up User Security for Sparx EA User Permissions
  4. Organizing Your Project Model and Team for Team Modeling
    After you have set up your Model Repository, Configuration Management tool, and User Permissions for Team Modeling you will need to organize your project model and your team roles & responsibilities for Team Modeling. You will likely benefit from professional hands-on training on these and other Team Modeling application topics: Sparx EA Training workshops.
How can I set up Sparx EA for team modeling to use SQL Server as a model repository and Subversion as a version control tool?
Team Modeling Setup: Sparx EA + SQL Server Model Repository + Subversion CM Tool
  1. Model Repository: Set Up SQL Server RDBMS Server
    Comprehensive and detailed instructions for setting up Oracle as a Model Repository for Enterprise Architect can be found on the following page: Creating a Sparx EA Project in a SQL Server Database
  2. Configuration Management: Set Up Subversion CM Tool
    Comprehensive and detailed instructions for setting up Subversion as Configuration Management tool for Enterprise Architect can be found on the following page: Creating a Subversion Environment for Sparx EA Project Version Control
  3. User Permissions: Set Up User Security
    Comprehensive and detailed instructions for setting up User Security for Enterprise Architect can be found on the following page: Setting Up User Security for Sparx EA User Permissions
  4. Organizing Your Project Model and Team for Team Modeling
    After you have set up your Model Repository, Configuration Management tool, and User Permissions for Team Modeling you will need to organize your project model and your team roles & responsibilities for Team Modeling. You will likely benefit from professional hands-on training on these and other Team Modeling application topics: Sparx EA Training workshops.
Where can I find quality training services for team modeling with Sparx EA?
PivotPoint offers a wide-range of customized hands-on workshops with Sparx EA, all of which emphasize scalable team modeling best practices and techniques. Please contact us to discuss how we can tailor your Sparx EA training for your team modeling needs!

Please contact us regarding any additions or corrections to be made to this page.
PIVOTPOINT TECHNOLOGY, CUSTOM MODEL-BASED SOLUTIONS, ESSENTIAL UML APPLIED, ESSENTIAL SYSML APPLIED, ESSENTIAL BPMN APPLIED, ESSENTIAL DODAF APPLIED, ESSENTIAL TOGAF APPLIED, ESSENTIAL ARCHIMATE APPLIED, ESSENTIAL AGILE MODELING APPLIED, AGILE + LEAN ARCHITECTURE & DESIGN, AGILEML, AGILE MODELING LANGUAGE, CYBERML, and CYBER MODELING LANGUAGE are trademarks of PivotPoint Technology Corp.
UML, BPMN, OMG SYSML and UPDM are trademarks of the Object Management Group.
TOGAF and ARCHIMATE are trademarks of The Open Group.
ENTERPRISE ARCHITECT is a trademark of Sparx Systems Pty Ltd. MAGICDRAW is a trademark of No Magic, Inc. UMODEL is a trademark of Altova. VISUAL PARADIGM is a trademark of Visual Paradigm International. ASTAH and ASTAH SYSML are trademarks of Change Vision, Inc.
All other trademarks are the property of their respective owners.