SiriusCon2016 - Let's talk about your future sirius project

  • Upload
    glefur

  • View
    132

  • Download
    0

Embed Size (px)

Citation preview

Obeo 2016 SiriusCon November 15th,2016 - Paris Let's talk about your future Sirius project

Let's talk about your future Sirius project

Convinced?

You're probably wondering How do I start my project'

Now where do we start?

You're probably wondering How do I start my project'

The Sirius process

DomainModelGraphicalModelersIntegrationIterate

Usually a Sirius project follows these steps : - domain model : concepts offered to users for their modeling activity, properties and how they're related each each other - Create your graphical modelers with Sirius to design the views you want to offer in your modeling tool- and you may have to develop component to integrate your workbench in your global toolchain

And we'll see in the presentation, you can execute this process iteratively

The Sirius process

DomainModelGraphicalModelersIntegrationIterate

DomainModel

Domain model : Describe your business

The more this model accurately describes the domain, the more users will easily manipulate the tools based on it

The best this model is well-designed, the best it will evolve easily in time

Fundamental step: - the domain model carry out the concepts, the properties and the relations your users will manipulate each time they use your workbench- the model must describe accurately your business so that your users will easily learn how to use it and will be comfortable with it- Another important point is that you will probably not cover your domain entirely in the first iteration- our tools are iterative

Involve the domain experts

Modeling Champion

DomainStakeholder

EMF Expert

Be specific (W/WO standards)

Evolution-Friendly Designed

Early domain model stabilization

- remove, update: migration

- add: OK

Use EcoreTools

Avant available : An Eclipse technology

Follow the Ecore best practices






Follow our CTO guidelineshttp://cedric.brun.io/eclipse/ecore-design-checklist-part1

http://cedric.brun.io/eclipse/ecore-design-checklist-part2

Design

Performance

Scalability

The Sirius process

DomainModelGraphicalModelersIntegrationIterate

GraphicalModelers

Your domain, Your modeling workbench

Create tools perfectly adapted to your usersUsing the most intuitive representations and tools

Eloquent modelers for users

Modeling Champion

TargetUser

Sirius Expert

That's why we recommend to organized working session with the target users to precisely set up the modeler for their needs

Specify your representation with your target userUse as much as possible the usual Visual Identity of your users to style your representations

Graphical Modelers: Use expressive shapes

Sirius allows to highly configure the graphical representations and the editing tools in your modeler

This key feature must be used to create various modelers precisely adapted to their users and the associated use cases

Graphical Modelers: Use SVG & images

Graphical Modelers: Give meaning to colors

Graphical Modelers: make it nice

Follow Loredana's advices

Depending on your needs, a modeling tool can be used quite often (maybe every day) so we recommend to make them nice. Your users will find them more pleasant to use

Follow the recommandations given by loredana in the previous session to make them shiny

Graphical Modelers: make it nice

Before

After

Graphical Modelers: make it nice

Before

After

Graphical Modelers: guide the user

For the moment, I only discussed about the visual presentation of your modelers, but the way you edit the model is very important too.

You can also very efficiently configure your editing tools in your Sirius modelers

You can configure the editing behaviour of your tools in the palette, the popup menu, the tabbar so that you can create very intuitive modelers in your workbench

Graphical Modelers: conditional styles

Take advantage of the new Properties Views feature in Sirius 4.X to adapt even more your representations to your users

Graphical Modelers: smart filter

Take advantage of the new Properties Views feature in Sirius 4.X to adapt even more your representations to your users

Graphical Modelers: semantic positionning

Take advantage of the new Properties Views feature in Sirius 4.X to adapt even more your representations to your users

Calm down the clicks counter

Viewpoints

Layers

Validation

Tabbar

Layout

.

More adaptable, release after release

Take advantage of the new Properties Views feature in Sirius 4.X to adapt even more your representations to your users

Best practices

Follow the Obeo Designer best practiceshttps://www.obeodesigner.com/en/best-practices

OptimizedQueries

Scalability

Validate

The Sirius process

DomainModelGraphicalModelersIntegrationIterate

Integration

Visual representations but maybe more!

Finally, you could have to integrate your modeling workbench with your other toolsImport data from others tools

Export models to others tools

Generate documentation, reports

Fortunately Sirius is Open Source and is part of the Eclipse EcosystemEasiness to interact with other tool

Availability of tons of opensource tools ready-to-use with Sirius (m2doc, acceleo)

Generate code : Acceleo

- Thanks to the eclipse platform you will find a lot of great projects to help you create all you components.

Generate Documentation : m2doc

Guide the user : Activity explorer

Take advantage of the new Properties Views feature in Sirius 4.X to adapt even more your representations to your users

The Sirius process

DomainModelGraphicalModelersIntegrationIterate

Iterate

Iterate!

Experiment!

Start prototypes

Step by step!

Be agile!

These technologies are highly iterative soFeel free to make triesFeel free to launch small prototypesFeel free to skip and to leave unfinalized a topic to work on it later This iterability lets you work in a very agile way to develop your Sirius modelers

ok but, how do we proceed for this project?

The Obeo's best practices

Experiment, Validate, Deploy

Initialize, Experiment

Cover, Validate

Finalize, Deploy

First, lets demonstrate

Start with a small, well defined scope in domain

Focus the development on key representationsThe most convincing ones!

Validate the general principle of the toolingDo not start the development!

Start with a small, well defined scope of your domainA POC generally addressA subset of the target domain

a reduced set of representations

These representations must cover the elements to present and the associated editing tools

Here, the goal is to validate the general principle of the tooling, not start the development

POC: Our target

OutcomeFirst version of your domain model

Significant sample models

Some key representations

ChallengeIdentify critical needs

Involve users

Focus on added-value

Need help?

Obeo helps his clients in POC phases for several years now

Our experts can help youTo animate your working session

To implement your domain model in Sirius

To quickly prototype representations for your modeling workbench

To demonstrate the ability to import / export data with external tools

Average time for POC : 5/20 wd

Let us get down to business

Takes place in the POC continuity

Here we focus on a consistent part or on the entire domain

And we might cover all the tooling aspectsDomain modeling

Representations

Import/Export

UI/UX dedicated developments

...

Pilot: Our target

OutcomeA stable version of the domain model

Enough representations to cover the target domain part

Key import/export tools

ChallengeIdentify risks and try to solve them

Experimentation on the first real cases

Several ways towards autonomy

Average time for Pilot : 15/40 wd

Usually, internal tooling team is responsible for this workbenchIf such team exists in the company, different scenarios to organize the develop the workbench are possible:The team can develop the entire workbenchIn this case, Obeo can train the team to the technologies involved in the project

The team can co-develop the workbench with ObeoUsually, Obeo starts the project, organizing and leading the working session, initializing the development part before a transfer to the target teams

Finally, the team can subcontract the entire development to Obeo

If such a team doesnt exist,Either a development team takes responsibility for the projectWith one of the scenarios described above

Either the company can subcontract the entire project

Time to think about support

Hot-fixes & Open InnovationCost management of your specific integrations

Dedicated SupportGuaranteed response time for your support queries

GoldPlatinum

Once the Pilot project deployed, the tooling will be placed in the hands of final userswho may need some hot fixes or product improvement

who may depends on the proper operation of the tools

The company may need a professional support from a software company

Pilot is a success? Lets go on!

The step after a successful pilot project

There the tooling is completed and finalized

The goal is to deploy the tooling in the entire company/group

The step after a successful pilot project is the industrialization of the modeling workbench. This results in:Potentially performing a final iteration on the domain

Iterate on all representations to upgrade them to an industrial quality levelFinalization of all configuration (styles, dynamic styles, toolings)

Add of additional representations

Full integration with external tools

Branding

For the implementation aspects:IC (if not already done)

Automated tests

Projects infrastructure (bugs tracker if not already create)

Industrialization: Our target

OutcomeAn stable updated version of the domain model (if needed)

An updated version of the existing representations

Potential additional representations if identified

A consistent tooling for all activities in your domain

ChallengeStabilize the tooling enough to success a full deployment

Validate the tool scalability (if needed)

Going Further...

with new Projects

The industrialization of a first project can be parallelized to new POCs or Pilot modeling new domain

In order to provide a full modeling workbench dedicated to one or more fields of the company

Working together

With a growing number of users, the collaborative editing strategy must be tackled






How users will collaborate together?

Do we authorize model conflicts?

Where does the models are stored?

With a growing number of users, the collaborative editing strategy must be tackleHow users will collaborate together?

Do we authorize model conflicts?

Where does the models are stored?

Obeo propose two way to implement collaborative editing strategyYou have to chose the one matching the more with your contextUsers

Modeling context

Habits

...

Sharing models

Merge dataMerge data

User 1

User 2Shared directory,SCM...

How to avoid merging ?

User 1Model managerFragment file

User 2

EMF Compare supporting your merges

OD Team: Instant collaboration

User 2Obeo Designer Team ServerUser 1

User 2

shared repository and collaborative work features

OD Team is deployed at Sagem, MMA, CS, Postal Bank, Thales, French Ministry of Defense, Airbus, ...

Finally, if you want to provide your users with a smoother way to collaborate together, you can start to use Obeo Designer TeamIt provides instant collaboration. When a user start to modify a model, the others users are notified with graphical locksAnd when the first user validate his changes, the others users are immediately updated with the new version of the model.

Users' Feedback

Several users working simultaneously on the same dataAutomatic propagation of modifications across all user views

Authentication and data access rights

Suited for 10-15 users users working simultaneously on the same data

No time lost managing conflicts and splitting modelsImplicit locking during modifications

Explicitly created reservation locks

Centralized administrationAdministration console with automation feature

Branch, archive and backup management

Standard data exploitationStorage in a multi-platform relational database (H2)

Ready to deploy server configuration based on CDO

Import/Export with local projects

To Sum Up

DomainModelGraphicalModelersIntegrationIterate

Experiment, Validate, Deploy

Rely on the best Sirius Professionals!

We help you create state-of-the-art modeling tools