Top Community Contributors
Enterprise Architect User Group: London 2017
Written by DT_Sam
RepoDoc, a call for testing
Written by ArchimetesRead more...
- We are Profiling EA Users
Managing a student project with Enterprise Architect - Part 4
Written by doug rosenberg
- CIO Review's 20 Most Promising BPM Solution Providers 2017
- Sparx Systems Pro Cloud Server - Coming Soon
- SD Times - How UML makes a DevOps-driven digital transformation possible
Use C#, Java, for your VB Scripting
Written by Helmut Ortmann
Guillaume FinanceVISEO (Modelling and Sparx EA Consultant & trainer)
I organised and attended the first edition of the EAUG in Paris last week. It's been a very busy, interesting and exciting day overall.
My colleague at VISEO, Yves Connetable, wrote a very good summary on what happened during this day. I translated it as follows to share it beyond the french speakers. I'm looking forward to the next edition in 2016!
Users and experts of Sparx Systems modelling tool gathered at the first French edition of the EAUG (Enterprise Architect User Group) which took place on Thursday September 17th in Paris suburbs.
The day started with a breakfast for the participants who came from all over France or abroad, from a wide range of businesses and industries. Discussions started straight away.
Lean Enterprise Architecture
The first talk from Gregory Weinbach covered the Lean Enterprise Architecture. Gregory shared his vision i.e. a “model added-value” driven Enterprise Architecture. He showed a simple metamodel aimed at defining the target vision for a large company’s IT. The metamodel was defined in Sparx EA through an MDG Technology with UML profiles and toolboxes.
The following quote was particularly notable: “The best model is the one that we haven’t done”. It illustrates an Enterprise Architecture approach based on simplification and costs reduction. To achieve this, the Enterprise Architecture team had to work with deadlines in a SCRUM project mode. The first Sprint led to a model that could be validated by users. Gregory demonstrated that an Agile Enterprise Architecture is feasible, having Sparx EA as a compatible tool for this environment.
MBSE with SysML for the biomedical industry
The second talk was about SysML and MBSE applied for the design of Medical Equipment. Our speakers were Pascal Roques, famous in France for his books on UML and SysML, and Dominique Travel, Chief System Architect at bioMérieux.
After an introduction on SysML and bioMérieux context, Pascal and Dominique provided explanations on the model-based method, and showed some of the diagrams done in EA. The wide range of features, an easy to use platform, and a low licensing cost contributed towards the project. Amongst the MBSE pillars i.e. language, tool, and method, the latter involved most efforts as it had to be tailored for the context. In most cases, purchasing the modelling tool licenses alongside a couple of training sessions are the only identified requirements for MBSE. EA models were used as a mean to share information, generate technical specifications, and improve communication between system and software teams.
Case Study on TOGAF ADM and ArchiMate with BEASI add-in
The next presentation was given by Tobias Ivarsson from Biner, based in Sweden. Tobias talked about an Enterprise Architecture project run for a large company in the Automotive Industry. Biner created BEASI, an add-in aimed at simplifying the use of TOGAF and Archimate in Sparx EA. BEASI provides a predefined structure of models, a Gap Analysis tool between baseline and target models, and an advanced relationships matrix. Gaps generated by BEASI are organized by work packages and used to define Transition Architectures; both views made it possible to create the roadmap.
The project delivered the target vision of the Procurement area and the associated roadmap. The combined use of EA and BEASI greatly simplified the deployment of TOGAF and Archimate.
Lunchtime was an opportunity to enjoy a French buffet, spend time with other participants, share opinions, and follow onsite demonstrations. I shared the features of the Requester add-in from VISEO, which is due to be released soon. Ian and Jackie Mitchell ran demos and answered queries on their eaDocX Word and Excel generator for Sparx EA. Lars Lungren from Biner provided information on their TOGAF/Archimate BEASI add'in.
The surrounding view in Paris let us enjoy the famous Tower which gave its name to an object-oriented programming language based on the design by contract, and the command-query separation. This lunch break over, back to the afternoon presentations.
Model-Driven Engineering: from modelling to generating code
It started with a franco-belgian presentation on the model-driven and code generation approach led by Albert Janssens and Michel Gibelli from the French “Ministère de l’écologie, du développement durable et de l’énergie”. They started by providing some explanations on their Khephren approach and Kamon notation. Albert then talked about extending EA with the use of UML profiles and MDG Technologies.
Examples of diagrams created for the UI and business rules were illustrated. Models were exported to XMI so they could be used in the Acceleo code generation tool. Hence, most of the new applications were generated directly from the EA models.
eaDocX Collaboration Edition: Agile Documentation
Following the code generation came the documentation generation, and more precisely a demonstration of eaDocX Collaboration Edition aimed at simplifying the model validation process from the generated documents. Guillaume Finance went through the principles of the “Agile Documentation”, followed by a demonstration. eaDocX Collaboration Edition exports to a web server an online and interactive version of the documents generated by eaDocX from the models. This web server embeds a workflow process that lets reviewers and approvers interact on the content via comments and answers which feed directly in the EA project database. Guillaume then illustrated the collaboration between users by using both his PC browser and an iPad.
eaDocX Collaboration Edition provides a unique way to achieve efficiency in the process of validating models and specification documents. A reviewer no longer has to comment or approve a model directly in EA or from a generated Word document; instead the content can be accessed and annotated from anywhere via a url generated by eaDocX. Comments and answers are stored in the EA project and shared with other peers. Once everyone has submitted their feedback, agreed with others via comments threads, consolidating this information in the models is greatly simplified as the author is given a direct access in EA to the context for each comment, e.g. a diagram, class, attribute, requirement… This approach can really ease the access to the models for everyone in the organization!
The new Schema Composer
After another break, the next presentation covered a new EA12 feature, the Schema Composer.
Rodrigo Nascimento demonstrated how to generate XSD and WSDL files from enterprise entities defined in a UML Class diagram. Compared with the previous XSD export, the Schema Composer greatly improved the generation e.g. making it possible to select attributes and references to include. A few remaining issues in EA have been overcome with an add-in that Rodrigo implemented and plan to publish soon on his blog connection.rnascimento.com.
A new feature to look at!
Applied Enterprise Architecture
The last presentation was based on Enterprise Architecture case studies with PMU and Orange. In both cases a metamodel has been defined in an MDG Technology . Guillaume Miard highlighted some of Sparx EA strengths i.e. its high customization level, the relationships matrix, and traceability.
His presentation led to several questions on carrying Enterprise Architecture with EA in large organizations. A passionate debate quickly following on whether one should define a tailored metamodel or use standards such as BPMN, Archimate, and TOGAF. Some pointed out the flexibility from the first option, whilst others argued in favour of the standards based on sustainability and integration with the tools available on the market.
A success for the first go
Reaching the end of day, participants provided a positive feedback from their attendance at this first edition of the EAUG in France. Everyone agreed on the quality of the talks. Some would have liked to see more practical tips with EA, some more theory. We will take everyone’s feedback into account for the next 2016 edition to make it even more useful and beneficial. Until then, keep on modelling!
We invite everyone to register on the www.eausergroup.com website. It provides notifications on future EAUG events, and lets those who attended the event download the presentations slides.
Note: an additional post on this event has been written by Ian from eaDocX, available here.
As part of an EA add'in implementation, I had to import all Enterprise Architect table and column names in enumeration classes.
Having access to a database that stores a Sparx Systems Enterprise Architect project (e.g. MySQL, SQL Server, or even an EAP file via ODBC), there was a number of ways to populate enumeration classes with literal values using a small application in C# or another programming language. As Enterprise Architect 12 includes the Database Builder, an integrated tool to work on DB schemas, I took the opportunity to use it. Compared with the result of a C# application, this feature would let me capture the enumeration classes in my EA modelling project in addition to generating C# enumeration classes in my add'in solution.
This article only covers a small portion of Sparx EA Database Builder features: it illustrates how I managed to import Enterprise Architect table names as literal values in the EADBTableType enumeration class, and their column names as literal values in separate enumeration classes e.g. t_diagramColumnType, t_objectColumnType...
Import all tables in Enterprise Architect
- Open the menu Tools > Database Builder
- Right click and select New Data Model:
- Select the DBMS used, e.g. MySQL and confirm Ok
- Right click on MySQL > Load
- Right click on Connections > Add new DB connection
- Open the new DB connection and select ODBC based datatype
- Select an existing ODBC DSN (or create one) to the DB that stores the Enterprise Architect project where the schema needs to be imported
- Right click on MySQL > Import DB Schema from ODBC
- Click on Import and select all tables:
- All tables, columns, primary keys, foreign keys, indexes, etc. have been imported.
- Go back to the Database builder and open the Tables tabs: all tables are displayed. Selecting one of the tables provides access to all columns' details.
Generate the enumeration classes
The Database Builder let me achieved what I needed. Having all tables and columns stored in a single package, I wrote a simple script to perform the following:
- create an enumeration class named EADBTableType
- for each table:
- create a literal value with the table name in EADBTableType e.g. t_object
- create an enumeration class named after the table based on the following format: <table name>ColumnType e.g. t_attributeColumnType
- for each column in the table:
- create a literal value with the column name in the current table's enumeration class (e.g. Classifier in t_attributeColumnType)
Having executed this script, the following enumeration classes have been generated:
Transform enumeration classes to dotNet C# classes
The MDA model transformation can be used to generate C# enumeration classes for the above enums:
- Right click on the package that contains all enums > Advanced > Transform Package
- Select C# as the target, select the package, and click on Do Transform
- Having all C# enumeration classes created, and making sure the namespace is correct (e.g. create packages myaddin.common.enums), the code can be generated: right click on package > Code Engineering > Generate Source Code.
- The generated code can be used in Visual Studio IDE:
The full agenda for the next EAUG in Paris is available.
Register now from the EventBrite website (ticket: 75€).
EA User Group France 2015 Agenda
Lean Enterprise Architecture
|10:40||Pascal Roques, Dominique Travel
MBSE avec SysML : retours du terrain
Aligning international standards TOGAF® ADM and ArchiMate® in Sparx EA:
A Case Study from the Automotive Industry
Documentation Agile avec eaDocX Collaboration
|14:45||Albert Janssens & Michel Gibelli
Mise en pratique de l'Ingénierie Dirigée par les Modèles à l’aide d'EA et des technologies MDG
Information Modelling to Canonical Messaging made easy
Nos convictions en terme d'architecture d'entreprise.
Retour d'expérience de la mise en oeuvre d'EA chez plusieurs clients (PMU, Orange)
The first EA User Group in Paris (France) will take place on the 17th of September 2015.
The entry ticket costs 75€ and will give you access to talks on Enterprise Architecture with TOGAF and ArchiMate, SysML, model transformation to XSD, the Schema Composer, and eaDocX collaboration edition. Most presentations are based on the speaker's experience with a client's project.
Call for Speakers
EAUG, France (Paris), 17th September 2015
Presentation opportunities are available for you to come and share your EA user story with the rest of the EA community at the first French Enterprise Architect User Group event in Paris, France on September 17th 2015.
We are interested in just about everything you do with Enterprise Architect, from the organisation of your model to enhancements you have made using MDG or the automation API, or even just a project with which you are especially happy. That said, we are not just after the sunshine stories and would be interested in hearing about any experiences learned the hard way. Presentations of an obvious or purely commercial nature will not be accepted.
Some example topics are:
- Enterprise architecture (TOGAF, Archimate, DoDAF, UPDM)
- Business Architecture, Capability Mapping, Process Modelling
- Systems Engineering
- Business Analysis, Requirements Management
- Data modelling
- Code generation, MDA
- EA add’ins/automation, scripting
- Document generation
- Tool adoption/deployment
- MDG Technologies/UML profiles
- Model collaboration and management
- Test management
Appel à Orateur
EAUG, France (Paris), 17 Septembre 2015
Vous utilisez Enterprise Architect et vous souhaitez partager votre savoir-faire avec la communauté francophone? Nous vous invitons à partager et présenter votre expérience et expertise au premier Enterprise Architect User Group (EAUG) en France qui se tiendra à Paris le 17 Septembre 2015.
Nous recherchons des orateurs de divers secteurs d’activités, travaillant sur tout type de modèle :
- Architecture d’entreprise (TOGAF, Archimate, DoDAF, UPDM)
- Modélisation de systèmes d’information
- Modélisation de processus métier (BPMN)
- Analyse et conception d’applications informatiques
- Modélisation de données
- Ingénierie système (SysML)
- Modélisation de systèmes embarqués…
Ou ayant des expériences concernant la mise en œuvre de l’outil :
- Génération de code, MDA
- Interfaçage avec d’autres outils
- Développement de MDG Technologies
- Développement d’addins et de scripts
- Génération de documents…
Nous recherchons en priorité des retours d’expérience sur l’utilisation d’Enterprise Architect au sein d’un projet. A noter que toute présentation purement commerciale ne sera pas retenue.
Enterprise Architect User Group (EAUG) - France, Sept. 2015
VISEO will host the first EAUG in France on Thursday, September 17th 2015. This Enterprise Architect User Group will be held in Paris at "27 quai Le Gallo - Boulogne-Billancourt" (underground and tram stations are located nearby).
This first edition will introduce talks and presentations in French on a wide array of topics including Enterprise Architecture, modelling IT and software applications, generating and validating documentation from the models, and Systems Engineering (MBSE).
Enterprise Architect add'ins will be shown in a dedicated area, where users and experts will be able to share their opinions and experiences on notations, languages, methodologies around a coffee, tea or other refreshment.
The full agenda is yet to be defined, with a priority on sharing project experiences in using Sparx Enterprise Architect. Hence this User Group is opened to any company, expert, or consultant who would like to share and talk about their experience with the Enterprise Architect user community.
VISEO operates as Sparx Systems main partner in France and has a member in the EAUG Steering Group (www.eausergroup.com).
VISEO organise le 17 Septembre 2015 le premier EAUG en France, User Group concernant l’outil de modélisation Enterprise Architect de Sparx Systems.
Cette première édition comportera essentiellement des présentations en français et sera ouverte à des sujets aussi variés que l’architecture d’entreprise, la modélisation d’applications informatiques, l’ingénierie système à l’aide d’Enterprise Architect, ou encore à la génération et à la validation de documents à partir des modèles.
Des présentations d’add-ins sont prévues dans un espace dédié où nous pourrons également partager nos expériences autour d’un verre ou d’une tasse de café et confronter nos points de vue sur les notations, les méthodologies ou autres sujets d’intérêt. Des experts de l’outil et des méthodologies seront présents afin d'échanger notamment sur les bonnes pratiques.
Le programme détaillé n’est pas encore arrêté et nous souhaitons privilégier les retours d'expérience issus de projets plutôt que les présentations théoriques. C’est pourquoi nous demandons à toutes les entreprises intéressées souhaitant se joindre à la communauté francophone autour d’Enterprise Architect de nous proposer leurs sujets de présentation.
VISEO est partenaire de Sparx Systems pour la France et membre du comité directeur de l’EAUG (eausergroup.com).
Enterprise Architect 12 is due to be released this year, with the RC2 currently available to download and test. Amongst its enhancements, I came across the new User Interface Wireframing support.
Wireframing lets you define a visual representation of a screen with its interface elements such as labels, fields, and buttons. Having defined several screens, a navigation model can built e.g. to specify the navigation from the login screen to the account summary screen via a “submit” user action.
Wireframing is intended to define User Interface diagrams that focus on functionality and help to obtain business validation upfront. Wireframing do not address rendering styles, colours, or graphics.
Enterprise Architect 12 Wireframing supports several mobile devices, such as iPhone smartphones, iPad tablets, and Android devices. Web site design is also supported.
Up to version 12, Enterprise Architect UI diagram involves an XP windows style which can be useful to provide UI illustrations. It is very good news that the next version of Enterprise Architect supports User Interface Models for mobile and web applications.
The screenshot below shows the available Wireframing diagram types:
Note: “XP style” UI diagrams are still available from Extended > User Interface diagram type.
Below is an example of the Apple wireframing diagram toolbox, including most iPhone and iPad models (see screen types), as well as UI controls to create labels, fields, checkboxes, keyboard, switch, tab bar, etc.
The toolbox also includes Patterns to create screens with a predefined set of controls, such as the one illustrated below for an iPhone 5s:
When creating a new screen from the toolbox, Enterprise Architect lets you choose between the portrait and landscape mode, as illustrated below with an Android smartphone:
So, why should you use Enterprise Architect to define your web or mobile app screens where there are plenty of UI design and prototyping tools out there? The answer is traceability; Enterprise Architect Wireframing diagrams let you build your User Interface model alongside requirements, analysis, design, data and other models. Associations can be created and maintained between UI widgets and requirements, use cases, classes, DB table columns, etc.
A mobile application for an online retailer has been used to produce the examples provided in this article, based on the following Enterprise Architect project structure.
The following use case diagram shows traceability between the analysis and requirements models (a use case realizes a requirement).
The following BPMN2.0 diagram has been created under the “Place an order” use case to specify its scenario. Each step (actor or system) is defined as an activity, some of which are linked to an active screen from the UI model.
These links make it possible to looks for the use cases where a screen is used, or to carry an impact analysis on the UI model when making modifications in a use case.
The following diagram illustrates the links from a wireframing UI screen to the analysis and implementation models.
In this example, the screen:
This traceability enables a team to verify the impact in the design model when altering a business class, or a list of screen actions invoking a specific UI service implemented in a Java interface.
Wireframing user interface diagrams can be used to specify navigation between the screens of an application or website.
The wireframing user interface diagrams delivered in Sparx Systems Enterprise Architect 12 are very easy to use and fulfil most UI specification needs for a web site or mobile application.
Wireframing can be applied before the implementation stage to obtain validation from the stakeholders. It can also be used to define the User Interface model and traceability links with other modelling elements, enabling the Project Manager and the entire team to control the impact between UI, business, functional, and design aspects of the project.
Enterprise Architect includes the package baseline feature that lets you create snapshots - backups of your model within the project (data is stored in the project's database). Once the baseline feature is used, it can be cumbersome to find the packages that have baselines. Such information can be required e.g. to delete baselines that are no longer relevant in order to free some space, or to find the most recent backup from a model's parent package.
This article provides a user defined search, FindPackageBaselines, that lets you search through all existing baselines within the project, and display the associated package in the Project Browser.
Find Package Baselines Enterprise Archirect user defined search
I created the following search module, named FindPackageBaselines (SQL Editor type), with the following content:
SELECT o.ea_guid AS CLASSGUID, o.Object_Type AS CLASSTYPE, d.DocName, d.Notes, d.Version
FROM t_document d left join t_object o on d.ElementID = o.ea_guid
WHERE d.docType = 'Baseline' AND and DocName LIKE '*<Search Term>*'
To create this search module within your Enterprise Architect client:
This user defined search looks for the existing project's baselines. If a search criteria is provided via the "Search Term" field, the search will restrict results on the packages which name includes the provided term.
Below is an example with the search criteria "component": only baselines of the "Component Model" package are displayed in the results.
When the search term is empty, all existing baselines are displayed.
Notes: project root's baselines are displayed with a different icon, as illustrated above with "Model".
eaDocX's eaXL module makes it possible to import and export information between Excel and Sparx Enterprise Architect, e.g. requirements, classes (including attributes or methods), use cases, etc.
This article provides a feedback on a real-life experience where eaXL has been used for a request for proposal (RFP): more than a hundred requirements have been imported into Enterprise Architect in order to carry the analysis and build the response with the aid and support of the model-driven approach. Steps involved to import the customer's requirements are covered in this article.
Note: eaXL module for Excel support requires eaDocX Corporate edition.
I recently worked on an RFP that included more than a hundred requirements organised by categories. Details of each requirement (description, reference, category) were provided in an Excel file that had to be completed and returned with our response and proposals. Being given the task to analyse each requirement and assess the feasibility and complexity, I chose to build the response and capture all the elements within an Enterprise Architect modelling project.
A response to an RFP usually requires to work on a wide array of topics and queries. Model-driven can ease up this task by gathering and structuring all the elements created for this purpose. Collaborative access to the modelling project also enables several peers to share the tasks.
Once a new Enterprise Architect project had been set up, the client's requirements were imported via the following the process:
Summary of the main steps from the above BPMN2 diagram:
- Step A: prior to run an import from Excel with eaDocX's eaXL, an Excel file needs to be generated. To do so, eaXL export must be run with at least a single blank requirement from Enterprise Architect. This first step involves creating a couple of blank requirements in the model.
- Step B: run an eaXL export of the blank requirements from Enterprise Architect into a generated Excel file.
- Step C: populate the Excel file with the requirements provided by the client.
- Step D: import the client's requirements from Excel to Enterprise Architect using eaXL.
Step A: create blank requirements in the Enterprise Architect model
A1. Once the Enterprise Architect project has been initialised, blank requirements are created in the requirements model (eaXL needs to have at least one requirement to export in order to generate an Excel file).
A2. Tagged values are added to the blank requirements so that additional information provided by the client can be entered in the Excel spreadsheet, e.g. Feasible (true/false), Priority, and Category
Step B: export the blank requirements from the Enteprise Architect project to Excel with eaXL
B1. In order to generate an Excel file that's compatible with eaXL, an export is run from the Enterprise Architect requirements model to Excel via a right click on the source package > Extensions > eaDocX > Open in Excel.
- Result: blank requirements have been exported into a new Excel file.
B2. Additional properties are enabled via the eaXL columns tab: Name, Alias, Description, and the pre defined tagged values (Feasible, Priority, and Category).
B3. The Excel content is updated by clicking on the button "Export data from EA to current worksheet".
- Result: the Excel file has been updated with the additional properties.
Step C: populate the Excel eaXL template file with the client's requirements
C1. All the client's requirements must be copied from the original file to the eaXL generated Excel file, under a separate worksheet.
C2. In the current scenario, the available information is organised under the following Excel columns:
- Excel column B - Ref (reference)
- Excel column C - Category
- Excel column D - Description (full requirement's text)
- Excel column E - Title: some of the requirements contain a very long body description, hence their title has been set using an Excel function (STTX) to truncate the description to the first 200 characters
C3. Using references between cells, the first worksheet has been populated with details according to the eaXL columns (worksheet no 1 is used by eaXL import/export).
- Excel column D - Name : formula = "=Feuil2!E2" (Title column from worksheet 2)
- Excel column E - Alias : formula = "=Feuil2!B2" (Ref column from worksheet 2)
- Excel column F - Description : formula = "=Feuil2!D2" (Description column from worksheet 2)
- Excel column G - TV Category : formula = "=Feuil2!C2" (Category column from worksheet 2)
- Excel column H - TV Priority : value = "M" (default value = Must)
- Excel column I - TV Feasible : value = "1" (default value = true)
- Excel column C - ElementType : value = "Requirement" (provides eaXL with the element type to import)
Step D: import the client's requirements from Excel to the Enterprise Architect project with eaXL
D1. In Enterprise Architect eaDocX/eaXL is used to run a comparison with the model:
D2. eaXL import from Excel to Enterprise Architect is run via the action "Import contents of worksheet into EA".
- Result: requirements have been imported in the model with the title, description and tagged values for the feasibility, priority, and category.
Tagged values from an imported requirement are illustrated below:
D3. At this stage, blank requirements created in step A are deleted.
D4. Using a custom VB script in Enterprise Architect, each requirement is moved into a sub package, named after the Category Tagged Value. This is intended to simplify the organisation of requirements within the model.
- Result: requirements are grouped by category in the project tree.
Next steps: building the response and proposal, generate the Excel deliverable
Having all the RFP requirements in the modelling project, the analysis and elaboration of the answer can be carried out:
- Creating "response" stereotyped requirements and Feature elements. Associate these elements to the client's requirements.
- Creating UML/BPMN diagrams to suggest an architecture, illustrate the solution or an option to one or several requirements.
- Assessing and updating the Feasibility tagged value for each requirement.
- Exporting results to Excel with eaXL.
- Generate the response and answser to the RFP in the Word forma using eaDocX.
Enterprise Architect made it possible to efficiently carry out the analysis of a long list of requirements by building up the models with the solution's elements, links between requirements of similar purpose, and realisation links between the RFP requirements and solution elements. Once the analysis had been completed, generating the Excel deliverable for the client only required a few minutes.
This Excel file was ready to be sent alongside a Word document generated with eaDocX, including a relationships matrix between requirements and system features to implement.
In case the RFP process has been successful, a model-driven approach provides the advantage of starting the project with an existing Enterprise Architect project.
The Excel import/export feature for Enterprise Architect available with eaDocX (eaXL module) can be used for many other purposes: importing requirements and use cases in the project, synchronise requirements with other tools via the Excel format, import business classes from Excel, etc.
Last May I went to the European EA User Group in the UK (Maidenhead) where the Enterprise Architect community gathered. Prior to delivering my presentation on the alternatives to set up a shared Enterprise Architect project, I attended several presentations, including the following ones that are covered in this article:
- Pragmatic agile model driven development using smart use cases by Sander Hoogendoorn (Capgemini, NL)
- Enterprise Architect Version 11 Cloud Services, OSLC and RAS by Phil Chudley (Dunstan Thomas, UK)
Pragmatic agile model driven development using smart use cases
Sander Hoogendoorn shared the use of smart use cases, coupled with Enterprise Architect and a custom-made code generation tool, Tobago MDA.
Smart Use Cases
Sander and his team at Capgemini developed their own agile process, called SMART, which involves the use of smart use cases to capture and manage functional requirements, as explained hereafter. Note: the SMART agile process has been applied over the past 10 years; it is based on agile and iterative best practices.
Smart use cases match « sea » and « fish » granularity use cases according to the following levels defined by Alistair Cockburn in his book "Writing Effective Use Cases":
Where traditional use case modeling can lead to several pages of documentation, including triggers, pre/post conditions, actors, main/alternative scenarios, and so on, smart use cases maintain a visual deliverable via use case diagrams as each use case is detailed by several smaller use cases connected with “extends” and “includes” associations (smart use cases can be reused amongst use cases). On average, a “standard” use case is associated with 20 smart use cases.
Stereotypes have been created to choose the type of a smart use case from a list of identified patterns: select, search, manage, file import or export, validation service, etc. Smart use cases also serve estimation purposes. An estimation value has been defined on the smart use case stereotypes to provide a default value (from 1 to 10 points) according to the selected type (e.g. 2 points for a “select” smart use case). This enables accessing all the information from our models and diagrams as illustrated below:
Here is another example with UI smart use cases in yellow and a Service smart use case in red, alongside their respective estimation points.
Project Management Dashboard
In order to manage the project according to the smart use cases defined in Enterprise Architect, www.speedbird9.com website has been created by Sander and his team. This site makes it possible to import/export smart use cases with Enterprise Architect via XMI or CSV files for planning and progress management.
Here is an illustration where smart use cases have been imported from Enterprise Architect:
Tobago MDA code generation tool
Sander released with his team Tobago MDA, a code generation tool built for smart use cases defined in Enterprise Architect. This tool generates source code based on templates, making it possible to define the content required by any programming language (e.g. dotNet C#, Java, PHP…). Tobago MDA is shipped with pre-defined templates used by Capgemini for different types of projects including Java, .Net, PowerBuilder (Sybase – SAP), and BI. Tobago MDA has been used in dotNet projects to produce 100% of the code for average use cases.
The Tobago templates are easy to understand text files. Syntax mechanisms built for these templates include tags and methods e.g. to loop on a class attributes, test an empty value, etc. Tobago MDA can access the Enterprise Architect models using an XML file created via an XMI export, or by connecting directly to an Enterprise Architect project without having to open Enterprise Architect.
The presentation ended with a demonstration; Sander created in the Enterprise Architect project a “search” smart use case to add a new Search feature for an existing dotNet web application. Once the model was updated, Tobago was launched to generate new C# files. Then Visual Studio was used to re-build the application. Finally the app was run to show that a new search feature was available, with criteria matching the attributes entered in the smart use case.
Tobago MDA is available from the following site: www.smartusecase.com.
New Enterprise Architect 11 features: Cloud Services, RAS, OSLC
Phil Chudley from Dunstan Thomas gave us an efficient speech and demo based on his in-depth trial of new Enterprise Architect 11 features: Cloud Services, OSLC, and Reusable Asset Service.
Cloud Services makes it possible for Enterprise Architect 11 users to access Enterprise Architect projects from anywhere via the http/https protocols. As a result an Enterprise Architect project can be either accessed from the LAN or from the Internet. Cloud services provide short response times to suit slow remote access.
Cloud Services are available to download for free from Sparx Systems website. It can be installed as a Windows Service or integrated with an existing IIS web server. Installation includes a management client software. Setting up a user access to a project is very easy; only the url and credentials are required (compared with a project hosted on a local database requiring an ODBC connector driver and the connection string to the DB).
Note: this service doesn’t work with EAP files i.e. a DBMS must be used.
Note: Sparx Cloud Services mustn’t be confused with hosting services in the Cloud, such as a MS Azure SQL Database available online, since they aim at providing access to locally hosted Enterprise Architect projects from the Internet.
Once installed, the management software can be used to expose to the outside world one or several Enterprise Architect projects, as per the provided configuration including: http or https protocol, authentication mode, read-only access enabled/disabled, and setting any limitation on the max number of concurrent users. This software also displays the currently opened projects via the Cloud Services.
http connection to Enterprise Architect models has enabled Sparx Systems to provide additional features: OSLC and RAS.
OSLC: Open Services for Lifecycle Collaboration
The Open Services for Lifecycle Collaboration (OSLC) is an open community that has defined a set of specifications to enable integration of software development, e.g. to let Application Life-cycle Management (ALM) and Product Life-cycle Management (PLM) software communicate and exchange information.
Enterprise Architect 11 currently supports OSLC to access and manage requirements only. Requirements can be accessed with an XML content through the use of urls from a browser. A client application can be implemented to access web services from Sparx Enterprise Architect in order to run queries or create new requirements.
Examples: Query -> http://server-name:port/repository-name/oslc/qc/?oslc.where=ss:type=“Functional”, Create -> http://server-name:port/repository-name/oslc/cf/
Note: it is currently possible to test OSLC queries from online SparxSystems Enterprise Architect projects, as illustrated below: http://sparxcloud.co.uk/Example/oslc/qc/
With the following url, results are limited to « Chuck Wilson » author: http://sparxcloud.co.uk/Example/oslc/qc/?oslc.where=dcterms:creator=%22Chuck%20Wilson%22
RAS: Sparx Systems Reusable Asset Service
Reusable Asset Service or RAS is intended to let various teams integrate in their respective Enterprise Architect projects distributed and reusable models/resources, stored in a central Enterprise Architect project, acting as a library or framework. Users may update the reusable assets and resources from Enterprise Architect providing they have a write access.
To use RAS, an Enterprise Architect project must be set up in a central database (e.g. MySQL, SQL Server…), with access via http using Sparx Cloud Services, where reusable models will be created and published. Users can access its content using the RAS feature from another Enterprise Architect project.
Provided a user has a write access, a package that for instance contain a class model for a Bookstore can be added to the shared and reusable project.
Once this is done, other teams of users can open the RAS model and import the published package to use it. Phil pointed out during his demo that management of dependencies between packages in RAS should be improved.
It seems to me that this feature could especially be useful and applied for a project Framework, or to let standards organizations publish and share their models for anyone to use in their Enterprise Architect project.
This year’s EA User Group has really been interesting thanks to the content delivered during the presentations. It has also been an opportunity to meet and exchange with other Enterprise Architect users and experts.
Official EA User Group website: www.eausergroup.com.