Agile Modeling Using a Multi-User Model
Very often the point of modeling is to improve the communication between people, that is, we want to use modeling to effectively share information about our system between multiple stakeholders; often with different disciplinary skills and backgrounds. This is especially true in the early phases of a project when it is important to be able to propose and challenge ideas and make the appropriate choices. This includes the ability to make corrections and restructure the model without a formal change authorization process, and to be able to evolve the model structure in collaboration with other users in a flexible way.
Modeler supports agile modeling using a server-based database providing a collaborative modeling environment where modifications automatically propagate to all active client sessions and yet where the user can selectively apply Modeler CM features to control access and modification rights to a model and to track why changes occurred.
To manage simultaneous access, the locking and unlocking of the model data is performed automatically at the finest level of granularity. For example, when you modify the Parameter of an Operation of a Class of a Package of a Model, Modeler automatically locks (and then unlocks) just that Parameter item.
Usage
Modeler provides a turnkey solution for multi-user modeling using its object-based database and active data dictionary.
Benefits
Agile re-structuring: With Modeler, you can easily change the package structure in a model as the project evolves without having to restructure and change the access controls in an external CM tool. The ability to restructure model content can increase modeling productivity, particularly in early lifecycle phases when the structure of a system is still evolving.
Robustness: Multi-user ensures that model consistency is maintained at all times. This ensures consistency of the model regardless of the number of users and without mandating unnecessary process constraints.
Granularity and locking: When you begin to modify the location, name, properties, or associations of an item, Modeler automatically applies a lock on the item and then releases it when you complete your modification. The fine granularity and transaction-based approach to locking, reduces the potential for multi-user conflicts.
Usability: Multi-user support provides an effective and integrated platform for coping with fluctuations and increases in project team size without enforcing process change. Importantly, it enables a wide team, including non-software stakeholders, to access and edit the model without requiring training in complex software-orientated external CM systems and processes.
Reduced complexity and overheads: An integrated solution reduces the total cost of ownership, including co-installation and support costs of complex external CM tools.
Recommendations
To exploit the benefits of Modeler's multi-user client/server architecture, you will need to deploy Modeler in its Client/Server configuration rather than in Standalone configuration. In a Client/Server configuration clients are installed on separate machines and access is provided to central databases through network connectivity.
For large teams (50+), or a Wide Area Network (WAN) where clients connect to the server through routers or firewalls that degrade throughput, a practical optimization for network utilization issues is to deploy Microsoft Remote Desktop Services or Citrix as this will reduce network traffic. Due to the network lag introduced by routers, this may also improve performance for local users who are not connected to the server on the same Local Area Network (LAN).
To make appropriate use of this architecture it is strongly recommended that Full Logging is enabled and the database is backed up regularly.
For more information about Full Logging, refer to the following SQL Server help topic:
Recovery Models
It is also prudent to periodically test the integrity of the back up processes by exercising the restoration capabilities.
If users are opening diagrams for read-only purposes, then it is recommended they select the Open Diagrams Read-only check-box in the Tools Options dialog.