Hi Ben Constable with you from Sparx Systems. Today I'll walk you through the steps to creating
a new model in Enterprise Architect. By the end of the session I want you to feel comfortable
creating a simple model like this one. You may like to follow along in your
own copy of Enterprise Architect. So I'll slow the pace of this webinar a little. Here's what we'll do. First assuming that you have Enterprise
Architect installed. We'll open the application and explain some
of the screens you see on startup. Next we'll create a brand new model repository, and use some of the EA's built-in
model patterns to give us a head start. As we build up the model I'll explain, how the elements in your model hierarchy
relate to the diagrams you draw. I'm creating a use case model today, but you'll be able to apply the tools and techniques, I use for other model types as well. Finally I'll show you how to generate some
useful items from the model to share with others specifically images of your model and a
quick and easy report in document form You see I have Enterprise Architect installed here. I happen to be using a Linux Mint desktop environment, but you can follow along with whatever
operating system you have. So just double-click Enterprise Architect to get started. You see that I'm using a
trial version of Enterprise Architect. So I click to continue my trial, and now I'm prompted here to choose
which edition of EA to use. This gives me a sense of which functionality,
I can access for a given edition. So 'Desktop' for basic modeling - 'Corporate' Edition and above for working
in teams - and 'Ultimate' Edition here has the lot. for this exercise really any of these will do. So click OK to continue to start up. Now the first time
you run Enterprise Architect you are prompted to adjust the basic
look and feel of the application I'm gonna choose a slightly more colorful theme - here and apply that, but the rest of the appearance options I'm just gonna leave them exactly as they are. Now here's the important part for our webinar today! When you open Enterprise Architect you're prompted to either open an
existing project perhaps one of the recent ones listed here or you can create a new project. That's exactly what we want to do -
so create a new project. I'm just going to store that on my desktop
- here it is I'll name the file "My first Model' that'll do. Just notice I can choose one of two file
types .EAP or if .FEAP. There are some minor differences between these but in either case you'll get a file
containing your model repository One thing I do like about the .FEAP format it supports Unicode model data out of the box So you can enter more diverse text in your model. You can do the same with the .EAP,
but you do need to configure that first. Each time you create a new project - Enterprise Architect prompts you with the model wizard. Because really an empty
model structure here can be a daunting start. So the model patterns give your
project a handy kick start, by providing a range of model stubs,
that you can build on. So a Business Analyst may be
interested in the BPMN starter models. A Systems Engineer might start
with a SysML model stub. A Database Engineer may
choose one of the database patterns or Domain Experts may choose something more specific. And a GIS specialists might work with
ArcGIS or GML and so on. Today why don't we just start with a plain UML 2 Use Case Model. and maybe even add a Domain Model in there as well. So let's add those to our project now - and remember these are just model stubs
to help us get started. Notice CA is copied in the package stubs
with the diagrams and elements Before I explained these further, I'll arrange my desktop to give myself a bit more room. But it's missing some of the windows I'm not using yet, such as the properties here and the notes. I'll slide the project browser across a bit Now I can always get those windows back again by using this handy window button here. The properties are there and the notes. Now I'll use this to dismiss the
Navigation Toolbar, and when using EA in a presentation
I'll typically hide the status bar here - to help focus on the main view - you just do that via the
Preferences and click hide status bar. Now we have the model file and we have
the beginnings of a use case model here I'm going to build upon this to model an
example system, that you're likely familiar with now -
a 'Webinar Management System'. I will model the users of the system or actors, which includes users
attendees and will model the basic use cases or functions such as joining the
webinar. So where do we start - Well first let's look closely at the structure of the model. In Enterprise Architect the model structure or
hierarchy is represented in the Project Browser here... It's a bit like how you use a file explorer
in your operating system to organize folders and files The packages here just like folders or directories are really containers for other items in
this case elements and diagrams. The first node shown here is a diagram and
we open a diagram by double-clicking it. This invokes our drawing canvas a visual
editor for our elements if you like. The diagram provided for us by the model pattern
shows the packages and their contents in this case. From here we can drill down into
the first child diagram of the package, and you notice the correspondence here between
the drawing canvas and the project browser. For our first - to change the model. Let's describe some of the Actors or Users of
the Webinar Management System. Who are some of the Users of such a system? For one you typically have an 'Organizer', who is responsible for creating the webinar, starting
and ending the session among other things. Let's use this existing element and rename it as 'Organizer'. One way I can do that is to select it on the diagram - click the name compartment - and by clicking again I enter edit mode... So that was easy... We've just changed our first property in the model - that is the name for this element. Notice that it was automatically
updated in the Project Browser as well. There are many other properties that elements have and to see them you can right click; choose 'Properties'. Besides the name here we can also type some notes I'll just paste some of those in there. Describes some responsibilities of the organizer. Apart from that elements can have stereotypes, a project status, alias, and others. We won't cover all of these today. Rather let's add some more users
for our webinar system. So who else do we need well a presenter and most important from my
point of view; you the attendees. We can model these users by creating new
elements via the Diagram Toolbox here. Because this is a Use Case Diagram the
toolbox lists the relevant element types for me. So simply drag and drop
- there's our Presenter and Attendee. This shown on the diagram and in the model hierarchy. Before we go further. I want to discuss an important
distinction, we make in Modeling between, what we call Model Elements here and
Diagram Elements. When we talk about Model Elements, we're usually referring
to one of these items in the Model Hierarchy. Again represented in
Enterprise Architects Project Browser Each of these elements can exist
independently of any diagram. They may be shown on one or more diagrams or none. In any case they are still part of the model and help define what the model means. Once we draw one of these
model elements on a diagram. Perhaps by drag and drop from the project browser. We create what's called a Diagram Element. This is just a representation or view of
the underlying element in the model hierarchy. Whatever we do here on the diagram to change its appearance. For example the shape or the size of the element, the font color that sort of thing. Well that doesn't really change
the meaning or semantics of the model. We can easily undo it. Now the difference between the model elements
and diagram elements can be confusing. Because depending on your experience with
various modeling tools and techniques you may be inclined to think that if I
delete an element from a diagram. - like this... Then it's also destroyed in my model. But that's not the case at all, as you can see the hierarchy here. All I did was make a diagrammatic change, which I can undo here. Perhaps we could illustrate it this way: Consider the difference between a person
and a photograph of a person. Well a person... just like a model element can
exist whether there are any photographs of them or not. The photograph just like a diagram element
can highlight certain aspects of a person. It can show physical attributes,
family and work relationships, and so on In the same way as you take
elements in the model hierarchy and draw them on diagrams. It's the diagram elements that help
you to highlight certain aspects of the model. Such as the properties of an element
or its relationships to other model elements and just as a person can be shown in many photographs, the same element can be drawn in many diagrams. You might say: Well don't we have to draw
an element on a diagram to create it in the model in the first place? So doesn't that mean that the model element
really does depend on a diagram element! Well no it doesn't! Although we often do draw
the model element while we first create it. There are many other ways
to create elements in the model - without using a diagram element. Coming back to our person and photograph analogy. The model element being created is
analogous to a person born as a baby. Now while it's true that many parents will
take a photograph of their newborn baby Others may choose not to. Does the fact that no photograph of the baby exists yet,
mean that that person doesn't exist. Clearly not... Similarly we can add elements to our model
without drawing or photographing them first. Let me briefly demonstrate one such approach. In the Project Browser I can right-click a
package to add elements directly. So we also need a Moderator in our Webinar System. Right click and choose 'Add element'. Select the type of element, that I want. So under Use Case here, we want an actor. We simply type in the elements name here. Now save and exit. And the moderator now exists, whether or not I choose to draw it on a diagram - like this one - for example. When I choose a link here I'm just saying
this is a link to the original element here So I can draw it - I can delete it from this diagram, but it has no effect on the moderator element
in the model hierarchy To finish creating our simple model.
I will add some use case elements and model the relationships
between them and our users. In the primary use cases package I already have
a diagram with a couple of use cases Created for me by the Model Pattern. The lines going from the actor and crossing over into the system boundary target a use case. So these are examples of
what we call relationships in the model. As with elements relationships can exist in the model
even if they aren't drawn on diagrams. Notice if I attempt to delete the
connector, right click 'Delete connector' I'm prompted as to whether I really want
to remove it from the model completely or just hide it in this diagram. Although these relationships aren't
shown in EA's project browser There are other windows you can use for
viewing and editing them. Such as the relationships window. Selecting an element -
I choose it relationships from there. I can choose one right click and
navigate to the target or source - access the relationship properties and so on. Now let's describe our use cases. An Organizer needs to create
a webinar and start webinar. Remember we can quickly
rename elements in place. Select the element click the 'Name Label"
and click again to enter 'Edit Mode' Also pressing the 'F2' key will let you rename in place. Now I am going to make some space here for our other actors - by deleting this explanatory note. And as I drop elements from the
hierarchy to the diagram, I'm prompted to select an action. By choosing 'Link' here. I want to draw a simple reference to the original element. And the options I checked indicate,
that's what I always want - unless a whole control - as I do that, so you'll notice No prompt the second time around. So let's add two more use cases for these actors; 'Register for webinar' and 'Join webinar'. Again make a little bit of space
for them in the system boundary there So the first one 'Register for webinar' then 'Join webinar'. I have notices the 'Quick
Linker' here to conveniently add appropriate relationships between my elements. The toolbox provides another way to do this. You see under the use case relationships
compartment there. So you get the idea, how I could expand
this now to a full-blown Use Case Model. Just a quick note on saving your work. In Enterprise Architect generally speaking. You only need to save changes you make
to the appearance of a diagram. Other changes like editing the element name
are saved automatically. You'll notice the asterisk on the diagram tab here indicating there are changes pending. We could just right-click the tab there to
save your diagrammatic changes. Similarly undoing and redoing changes is
generally only available for diagrammatic changes. Such as moving elements and resizing them
- like this... There's a quick way to make elements the same size. Now I'll just adjust their position slightly and align the actors there. So now for changes like this I could use
control 'Z' and control 'Y'. Or you could use the layout ribbon, as I'm doing here to undo those
diagrammatic changes Before we finish today. I want to show two ways you can
share your bottle content with the colleagues or other stakeholders. Because one of the fundamental benefits of
modeling is to facilitate communication and gain a shared understanding of your model system. One way to share the model
is by exporting the diagrams as image files. That way you can insert them into
presentation slides or other documents. It's really simple to do with your diagram open. Go to the 'Publish' Ribbon - Click 'Save image' - 'Save to file' - And you have a range of image formats. The first five or so are your normal
raster images like .PNG and so forth, and the last two are .WMF and .EMF
- our vector image formats So they're good, if you want to scale
the image up and keep them looking sharp. Just try a .PNG - so to the desktop - there it is. You can see image there's a watermark
in the background, just to indicates I'm using
the trial installation of Enterprise Architect Obviously you don't get that,
when you install the registered version. The next way to share model information
is via a report. EA generates various kinds of
documentation from the model; ranging from webpages to word and PDF documents. Of course there are many ways you can customize document generation to suit
your own company's standards. But today, I'll show you how to quickly generate a
basic report using a built-in template. You simply click the package you want to report on. In fact it could be the entire model if
you click the model root note here. Today let's report on our use case model. So again from the 'Publish' ribbon
choose 'Document" - 'Generate documentation'. And in the document generation window -
I say, where the output file should go on the desktop - for this demonstration is fine. I can choose from a range of built-in templates - today I'm using the use case summary template. I can choose a cover page, a table of contents and there
are various other options for example. Do I want to show or hide diagram borders
- let's show them today. So click generate. - and in a very short space of time. Again a decent report of my model that I can share. Let's open it up and have a look. Here's our cover page here for a better table of contents and you can see our model elements and packages are documented along with the diagrams Pan up and have a look at our use case diagram here. There we go and our actors will include it there. Click on the organizer. We see the notes,
that we typed into one as well. Today I've shown you the basic tools
and steps you need to start your modeling project. Recall I showed you, how to startup Enterprise Architect and create a new file based model repository
using the patterns from the model wizard to get a head start on your new project. Then we edited and expanded the model stub adapting it to our webinar management project. and finally- you saw how to share
your work outside of Enterprise Architect by means of exported images and
auto-generated documentation. There are certainly many more
tools available in Enterprise Architect, that can help in various ways. There are other aspects of modeling,
that I haven't covered in this brief session. I'm listing just some of these on screen here. In our next webinar I'll look specifically
at how to build simple UML class models for data or information modeling and software design. In the meantime if you want to find out more about any of the topics, I just mentioned. We have a range of learning resources available. From prior webinar sessions,
that explore more specialized topics to professional training services offered
by our partners. I've listed just some of these resources here. Well I hope you found this introduction
to Enterprise Architect useful. - until next time happy modelling