UML Archives - draw.io Online Diagramming Wed, 17 Jan 2024 10:42:09 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.3 Create UML deployment diagrams in draw.io https://drawio-app.com/blog/create-uml-deployment-diagrams-in-draw-io/ Thu, 18 Jan 2024 09:00:10 +0000 https://drawio-app.com/?p=29702 UML deployment diagrams show the architecture of a particular system. They serve to highlight the relationships between the system’s software and hardware components. You can build UML deployment diagrams quickly and easily in draw.io. We’ll take a look at how below: Try it free Why build your deployment diagrams in [...]

The post Create UML deployment diagrams in draw.io appeared first on draw.io.

]]>
Reading Time: 15 min

UML deployment diagrams show the architecture of a particular system. They serve to highlight the relationships between the system’s software and hardware components.

You can build UML deployment diagrams quickly and easily in draw.io. We’ll take a look at how below:

Why build your deployment diagrams in draw.io?

draw.io is made for technical diagramming and has everything you need to get started, including:

  • A collection of custom shapes: which you’ll find in our UML 2.5 and UML Shape Libraries.
  • Version control: see when changes were made to your diagram which you can choose either to keep, or revert the diagram to a previous saved version.
  • Shareability and restricted access: only share the diagram with those who need access.
  • Export your diagram to different file types e.g. PDF for offline use.

How to build deployment diagrams in draw.io

To get started: in a new Confluence page, start typing “/draw” and select draw.io Diagram.

The shapes you’ll need

Head to +More Shapes in the left side menu, then under the Software category, select UML 2.5 and UML, and click Apply.

Depending on the style of diagram you wish to use, the following shapes will be useful. Simply use the search bar to locate them:

  • “Deployment”: there are two deployment shapes. The first shape is particularly useful for building your diagram.
  • Cube: this is a handy shape if you want your shapes to “stand out” with a shaded effect.
    • To customize the cube shape:
      • Click on the cube, go to the Arrange tab in the right side menu and click Flip > Horizontal
      • With the shape still selected, use the orange diamond at the top-right edge of the cube shape to adjust the cube’s dimensions.

The deployment and pre-formatted cube shapes

Tip: if you are using the same group of shapes repeatedly, save them to your Scratchpad by clicking and dragging your mouse over the group of shapes to highlight them, then drag the group across onto the Scratchpad.

Add individual or groups of shapes to your Scratchpad

Different connector types

Use different connector types to highlight different relationships between your shapes:

Sharing your diagram

Use Confluence to share and collaborate on your diagram with colleagues. You can easily restrict access in Confluence, depending on who needs to be able to view or edit the diagram.

Adjust permissions in Confluence to control who has access to the embedded deployment diagram

Making changes

If you or someone you have shared the diagram with have made changes, you can view these by heading to File > Revision History in the top menu. Choose to keep the current version, or revert to a previous one.

Once you have built your diagram…

You can export it to a number of formats, including .PNG, .SVG and .PDF.

A deployment diagram built in draw.io. Example taken from Wikipedia: File: Deployment_Diagram.PNG. Copied under the terms of the GNU Free Documentation License.

“Deploy” your next UML diagram

With a range of shapes and features at your disposal, building deployment diagrams in draw.io is a breeze.

To find out more about building other types of UML diagrams, see our blogpost UML diagrams – which diagram to use and why.

Want to dive deeper into the world of draw.io? Access our linktr.ee page to follow us on social media and learn how others use draw.io, as well as pick up some helpful tips and tricks.

Not using draw.io yet? Convince yourself and start your free 30-day trial today. Or book a free no-obligation demo with our customer success team to learn more about how draw.io can make life easier and more productive for you and everyone in (and outside of) your company!

Happy diagramming!

The post Create UML deployment diagrams in draw.io appeared first on draw.io.

]]>
3 diagrams every computer science student should know https://drawio-app.com/blog/3-diagrams-every-computer-science-student-should-know/ Thu, 24 Aug 2023 08:00:07 +0000 https://drawio-app.com/?p=29009 Looking beyond the code As a computer science major, you’ll be introduced to a vast number of diagrams, and you’ll quickly learn that designing and defining systems requires strong visual representation. Your diagrams need to present complex information in a digestible way to an audience with varying levels of technological and programming knowledge. This [...]

The post 3 diagrams every computer science student should know appeared first on draw.io.

]]>
Reading Time: 18 min

Looking beyond the code

As a computer science major, you’ll be introduced to a vast number of diagrams, and you’ll quickly learn that designing and defining systems requires strong visual representation.

Your diagrams need to present complex information in a digestible way to an audience with varying levels of technological and programming knowledge. This is not only true for students tasked with presenting visualizations to their study group or teachers/professors; it is also true later on in the workplace, where you often present what you are working on to various stakeholders across the company.

draw.io’s versatility will give you a helping hand by enabling you to easily and efficiently create technical diagrams to suit your needs. Building your draw.io diagrams within Confluence will take them even further, opening up possibilities like embedding diagrams within pages of text, and collaborating with others on diagrams in real time.

Using draw.io in Confluence is free for up to 10 users: click the button below to try it today, or find out more about using what Confluence is in our related blogpost.

Today, we will be showcasing three diagram types that every computer science student should know, and how to build these in draw.io.

ERD – as easy as 1, 2, 3

Entity relationship diagrams (ERD), or ER models, show the logical structure of databases, and highlight the interrelations between specific concepts, or entities, (these can be objects, people, places, etc.) in a given topic area. These diagrams are commonly used to demonstrate business processes and are an integral part of many applications.

To build an ERD in draw.io, use our Entity Relationship Diagram template to get started.

Once you have loaded the template:

1. Head to + More Shapes at the bottom of the left sidebar.

2. Select Entity Relation from the side menu, under the Software category.

3. The Entity Relation shape library will appear in the left sidebar, ready for you to use.

The loaded ERD template with the Entity Relation shape library in the left sidebar

Customize your ERD by adding table rows, rounding the corners of your table, and adding colors to emphasize certain sections.

For more information on entity relationship diagrams:

Network Diagrams – keep everything connected

Computer network diagrams document all the key components that make up different network types. These diagrams are heavily dependent on symbols that quickly show users the network layout, and how everything is set up and connected.

When building your own you can either start from scratch, or choose from one of the 13 network diagram templates.

The loaded Active Directory template with the Networking shape library in the left sidebar

We offer a diverse range of diagram shapes to visualize networking systems like AWS, Azure, Kubernetes, and more. These are found under + More Shapes > Networking.

UML – U Might Learn something!

UML, or unified modeling language diagrams, visually represent object-oriented systems that outline system architecture, behaviors, and interactions. It’s a staple for software design and system engineering. Examples include class diagrams, sequence diagrams, and use case diagrams.

There are eight UML diagram templates to choose from, to get the ball rolling.

Our blogpost, UML diagrams – which diagram to use and why, contains links to key information, templates, and step-by-step guidance, depending on the type of UML diagram you are looking to create.

Once you have built your UML diagram, show your diagram some love. Our article, I 🧡 draw.io Three ways to improve your UML diagrams, provides all you need to know to make your UML diagram the best it can be.

User flows – take users on a journey

We mentioned we’d be showcasing three diagrams in this blogpost, but we’ve decided to be generous and throw in a bonus diagram!

With a future in computer science, understanding user flows is crucial, particularly if you are thinking about venturing into the realm of UX/UI design. User flows capture the steps an individual will take in your app or website, like purchasing a product, signing up for an account, or accessing a particular feature. You don’t want blindspots in your user journey – mapping out these flows can quickly show obstacles that customers face when using your software, as well as any missing or redundant steps in the process.

If you have a user flow in mind, save yourself a ton of time creating this by using our Smart Template feature. This will give you the building blocks you need, which you can then personalize further by adding in steps, applying colors, and changing the layout and connections as you see fit.

For more inspiration, our related article, Create user flow diagrams in Confluence, contains further use cases and customization examples.

Want to dive deeper into the world of draw.io? Access our linktr.ee page to follow us on social media and learn how others use draw.io, as well as pick up some helpful tips and tricks.

Not using draw.io yet? Convince yourself and start your free 30-day trial today. Or book a free no-obligation demo with our customer success team to learn more about how draw.io can make life easier and more productive for you and everyone in (and outside of) your company!

Happy diagramming!

The post 3 diagrams every computer science student should know appeared first on draw.io.

]]>
How collaborating in draw.io helps teams build UML diagrams https://drawio-app.com/blog/collaborate-on-uml-diagrams-in-draw-io/ Thu, 25 May 2023 15:30:38 +0000 https://drawio-app.com/?p=28538 For over 25 years, the Unified Modeling Language (UML) has been a stalwart of diagramming. But, while UML has stood the test of time, the same can't be said for traditional software. The difference between Office 95 and a tool like Atlassian Confluence isn't just a contemporary UI - modern software has revolutionized how [...]

The post How collaborating in draw.io helps teams build UML diagrams appeared first on draw.io.

]]>
Reading Time: 9 min

For over 25 years, the Unified Modeling Language (UML) has been a stalwart of diagramming. But, while UML has stood the test of time, the same can’t be said for traditional software. The difference between Office 95 and a tool like Atlassian Confluence isn’t just a contemporary UI – modern software has revolutionized how teams work together. If you’re still pasting PNG UML diagrams into a Word doc, this is precisely the blog you need to learn about modern collaboration.

It takes a team to design a system

At its core, UML is all about modeling systems. In a modern context, this could be anything from designing an app, to outlining how an HR team will service internal customers. Software teams the world over create and interact with UML diagrams on a daily basis. By harnessing the power of a team (as opposed to a single individual), you not only tackle the ideation and creation process in one go, but the end result should be a diagram that is more accurate, and easier to use.

Older tools made this more difficult. Trying to collaborate by commenting on a shared, emailed PDF is a pain many of us know too well. Where do modern tools exceed the capabilities of legacy software? Three main improvements spring to mind:

  1. Live collaboration
  2. Better version control
  3. Easier sharing

A model for better collaboration

The ability for teams to work together simultaneously on content has been a game-changer. Hopping on a Zoom call with a shared working document lets teams reach a consensus faster, and helps ensure that view points from a variety of stakeholders are considered. Confluence Cloud comes standard with live collaboration on documents, and draw.io is built so that you can work on diagrams together the same way. Just assemble your team, open draw.io for editing, and every teammate can make contributions directly to your UML diagram.

Monitor and control file versions

If you’re a veteran of the corporate world, you probably remember the days of “DocumentName_v14a.pdf” and “DocumentName_v15_FINAL_2.pdf” sitting on shared servers. Determining which version was the latest, or trying to find a specific older version, were time-consuming and infuriating processes.

Here too, Confluence makes life a lot easier for teams. The system’s built-in versioning keeps track of every change, and you can see precisely which user changed what content. Likewise, we have invested significant development time in building versioning into draw.io. Our version control and revision history features allow you to keep track of your diagram’s evolution. The system automatically saves previous versions, so you can revert to a specific point if needed. Perfect for those times when you need to revisit an older version, or see the development of a UML diagram over time.

Get your UML diagrams to the right people

The perfect UML diagram is useless if the right people never see it. Trying to manage a massive email thread, or controlling access to a shared document link, are both problematic compared to more modern, elegant solutions. With a tool like Confluence Cloud, sharing documents with team members is effortless; sharing page links, commenting for team members’ attention, or adding them as editors are all common methods for sharing a document among a group. Atlassian has also recently released a feature called “External Share”, making it possible to share your UML diagrams with people who are outside of your Confluence instance. Finally, for those times when you do need to send a file of the diagram, draw.io is built with a variety of exporting options, including PDF.

Get started collaborating with draw.io

Want to dive deeper into the world of draw.io? Access our linktr.ee page to follow us on social media and learn how others use draw.io, as well as pick up some helpful tips and tricks.

Not using draw.io yet? Convince yourself and start your free 30-day trial today. Or book a free no-obligation demo with our customer success team to learn more about how draw.io can make life easier and more productive for you and everyone in (and outside of) your company!

Happy diagramming!

The post How collaborating in draw.io helps teams build UML diagrams appeared first on draw.io.

]]>
I 🧡 draw.io – Three ways to improve your UML diagrams https://drawio-app.com/blog/i-%f0%9f%a7%a1-draw-io-three-ways-to-improve-your-uml-diagrams/ Wed, 19 Oct 2022 11:51:04 +0000 https://drawio-app.com/?p=27590 This blog is part of our I 🧡 draw.io series, where our loyal band of users gets to tell us why they love draw.io. Follow us on social media to learn more about draw.io and hopefully pick up some tips and tricks. (Want to skip right across to try the [...]

The post I 🧡 draw.io – Three ways to improve your UML diagrams appeared first on draw.io.

]]>
Reading Time: 15 min

This blog is part of our I 🧡 draw.io series, where our loyal band of users gets to tell us why they love draw.io. Follow us on social media to learn more about draw.io and hopefully pick up some tips and tricks.

(Want to skip right across to try the app? Get started now with draw.io on the Atlassian Marketplace).

UML or Unified Modelling language, was designed from the outset to avoid confusion and standardize diagramming for businesses across a huge spectrum of use cases. UML is more than just one diagram type. It’s a suite of many diagrams, each one tailored to suit or provide information to specific stakeholders in a project.

UML

draw.io was designed from the outset to make diagramming easier, and UML is no exception.

Dominico Klawitter appreciates the power draw.io can bring to UML diagramming. He commented, “Love this tool….makes Use Case, UML or BPMN diagrams no effort at all with a perfect integration into confluence and Jira available”

But Dominico is not alone; Siddharth Kumar also commented, “draw.io needs no review, whoever has used it already knows that this is the best online tool for creating all sorts of design/architecture/UML diagrams including complex flow charts”

To Dominico and Siddharth, we agree that Universal Modelling Language is a pretty wide-ranging set of diagrams, requiring a wide-ranging diagramming tool to cover all the bases.

UML’s strength is that it is not tied to any specific programming language or business process, so the ideas and strategies presented using UML can be applied to any project. And this explains why UML offers so many different types of diagrams. A project may have many stakeholders, each requiring a different view or take. So UML allows the creation of many diagrams that can all reference the same project.

And as Dominico and Siddharth have already stated, draw.io has UML completely covered with multiple use cases and templates to get you and your team up and running quickly regardless of the diagram.

So with all of the above in mind, here are The three top tips to help improve your UML diagrams inside Confluence:

Targeting, know your audience

There are many different levels of complexity. Senior management may only require an overall view of a project, and too much detail is unnecessary and confusing. On the other hand, coders or developers who work at the coalface need much more fine detail.

Notes and UML
Flow diagrams

Stakeholders

As mentioned, software development will have many stakeholders requiring a variety of UML diagrams. However, try to keep a standard notation or theme across your diagrams, helping other teams quickly recognize ideas and info when looking at other departments’ diagrams on a joint project.

Flow diagrams
Sequence diagram

Elegance and Flow

Avoid long names, abbreviations, and descriptions. Good relation names make sense when you read them out loud. Keep the diagram notations clear and straightforward. Also, Notes are your friend. Use as required. Use line jumps whenever two or more connecting lines need to cross. Nothing is more frustrating than trying to second-guess when lines intersect in a diagram. Is it a join or a jump?

UML swim
Poor diagram

Get to know draw.io

Keen to learn more? Visit our YouTube Channel for a constantly updated playlist of how-to videos. Check out our one-stop tutorial shop to pick up all the ins and outs of draw.io diagramming. Or book a free no-obligation demo to learn more about how draw.io can make life easier and more productive for you and everyone in (and outside) your company!

Happy diagramming!

The post I 🧡 draw.io – Three ways to improve your UML diagrams appeared first on draw.io.

]]>
Explore the libraries in draw.io for Confluence https://drawio-app.com/blog/explore-libraries-in-drawio-for-confluence/ Wed, 15 Dec 2021 14:43:21 +0000 https://drawio-app.com/?p=25172 draw.io - Go explore It's time to explore the libraries. draw.io is your swiss army knife when it comes to visualizing content. If there is a will, there's a diagram. draw.io comes with a selection of default libraries to visualize the most important use-cases. This blog post shows you how to access these libraries [...]

The post Explore the libraries in draw.io for Confluence appeared first on draw.io.

]]>
Reading Time: 16 min

draw.io – Go explore

It’s time to explore the libraries. draw.io is your swiss army knife when it comes to visualizing content. If there is a will, there’s a diagram. draw.io comes with a selection of default libraries to visualize the most important use-cases. This blog post shows you how to access these libraries and even create your own custom libraries.

Search function

But before we begin, just a quick note, perhaps your need is a one-off. Maybe for one particular drawing, you require one or two specialist shapes outside of your current use case. Installing a library would make no sense here. draw.io has a search function for such occasions, allowing you to quickly find the required symbol from its entire library.

Use the search box in the shapes panel (Top left-hand side of the screen). Just enter the symbol category you are searching for, and draw.io will instantly bring up a selection of symbols associated with that use case. In this example, I searched for Cisco, and immediately, the most used or popular Cisco symbols appeared. Need to see more, click on the More Results button.

Adding a library to your default profile

But if working on a dedicated use case, then installing the associated library is the way to go. On the draw.io Diagram interface, simply head over to the Shapes panel on the left-hand side of the screen. In the draw.io Board editor, click on the Shapes icon in the main menu. Then, click on the button +More Shapes at the bottom of the screen. You can now scroll through the list of default libraries.

Time well spent, exploring the libraries

Standard Library

Here are the bread and butter drawing tools that can be used for anything from a vital process flowchart to who does this week’s coffee run.

Standard library in draw.io

Software Library – “These aren’t the droids you are looking for”

Well, actually, they are if you need Android graphics. iOS is also there alongside Atlassian, Sitemaps, ERD, or Mockup shapes.
Important symbology for developers that promotes fast prototyping of front ends and data flows.

For example, UML, the Unified Modeling Language, the standard way to visualize the design of a system in software engineering,

draw.io has the complete symbology needed to layout a systems architecture.

UML library in draw.io

Networking

The backbone of every organization is its IT infrastructure. Without IT, there is nothing. From Allied Telesis to VMware, network architects can find everything needed to describe systems graphically.

If we take Azure as an example, Any Azure Network Architect can rapidly build a system diagram in draw.io

Azure library in draw.io

We mean business

Used by Enterprise Architects everywhere, draw.io has the full suite of Archimate symbology for every business use case and BPMN and SysML. The latest addition, VSM or Value Stream Mapping, only adds to draw.io’s business repertoire. Looking at BPMN 2.0 as another use case. Or Business Process Model Notation to state its full name.

draw.io caters to this standard visual language incorporating five separate libraries covering all of the symbology needed.

BPMN 2.0 library in draw.io

Other or the Miscellaneous Category

The use cases here are limitless, from designing an office layout to the sewage system for a housing estate and its associated hydraulic and electronic control systems. Control cabinets to Threat Modelling, Fluid Power to Electrical Engineering, it’s anything and everything.

Floorplan library in draw.io

draw.io`s real power

Even something as diverse as floor plans, draw.io has a dedicated library covering this, but the real power is the ability to work in layers. Any drawing can be layered, and these layers can be dynamically switched on or off. Imagine a presentation where the picture comes alive and can be seen to evolve, the audience watching the build process while an explanation is given for every step.

Adding to this, you could create a basic floorplan as a template. This template can then be customized for each service, plumbing, electrical, or HVAC. The template can show different floor layouts for each building floor.

Speaking of floorplans…did you know you can create interactive floorplans with draw.io? If the answer is “No”, you should have a look at our blog post on Interactive floorplans.

Create a custom library

There are no limits to draw.io. The constantly growing libraries only add the flexibility of the application. Whatever the task, job, problem draw.io has it covered.

But there’s more. You can create your own shape libraries, even containing your own custom shapes. Even entire subsets of shapes.

Branding – take your drawings to the next level adding your brand or logo to drawings, even
create branded templates for your team, clients, or other departments.

Learn how to create a custom library here.

We thrive on feedback.

If you have ever wondered where we get our ideas from, well, it’s you. We monitor our Github repository 24/7, looking for new ideas or library suggestions. You, the users, can suggest new ideas and even upvote previous requests made by your fellow users, so the application is a living thing continually evolving and growing to suit our user’s needs.

Should you want to know more about draw.io, visit our YouTube Channel for a constantly updated playlist of how-to videos. Or, visit our one-stop tutorial.

The post Explore the libraries in draw.io for Confluence appeared first on draw.io.

]]>
Taming Requirements Engineering Headaches With UML https://drawio-app.com/blog/taming-requirements-engineering-headaches-with-uml/ Fri, 05 Mar 2021 19:31:26 +0000 https://drawio-app.com/?p=23037 All professions are unique in the particular frustrations that they thrust upon their practitioners, and software development is no exception. The same physically intangible nature of software that makes it more difficult to recognize risks and requirements can also contribute to a general perception that software development is easier than it actually is. The result [...]

The post Taming Requirements Engineering Headaches With UML appeared first on draw.io.

]]>
Reading Time: 5 min

All professions are unique in the particular frustrations that they thrust upon their practitioners, and software development is no exception. The same physically intangible nature of software that makes it more difficult to recognize risks and requirements can also contribute to a general perception that software development is easier than it actually is. The result can often be unrealistic and unclear expectations and misjudgments in planning the cost and time required to get the job done right. 

These incorrect requirement definitions are one of the most common causes of defects and shortcomings in software products. And a poll of GitHub developers identified such unrealistic, vague, or constantly changing requirements as a particular source of stress. But they’re certainly not the only source of frustration for developers. Let’s look at some of these additional frustrations and explore how they can be alleviated through the use of UML in draw.io.

Bugs

It goes without saying that a major source of annoyance for developers is the familiar necessity of pinpointing the source of undesirable or unexpected behavior in the codebase. The most egregious examples being those that are especially difficult to track down, those that refuse to go away, bugs that come unexpectedly out of left field, and, of course, the ones that take significant time and effort to fix.

Shoddy code

Whether you inherited it from a colleague or wrote it yourself when you were more youthful and innocent, poorly written code is another obvious source of developer pain. And unclear or nonexistent comments only make things worse.

Code maintenance

Then there’s the need to understand, build upon, or simply maintain unfamiliar legacy code – especially when it was written by a long-departed colleague – or worse, “built by committee” and passed from developer to developer over a period of time.

But enough about problems. You already know the problems that you face as a developer. Let’s talk about solutions. And one of the most effective solutions for a host of problems in any industry is plain, simple communication.

Talk to me

So, we don’t need to go into all the details of why communication is important. That’s a different blog. But I think we can all agree that, when it comes to software development, accurate and complete communication is vital to achieving consistent positive outcomes. In talking about communication, though, it’s important to remember what George Bernard Shaw said: “The single biggest problem in communication is the illusion that it has taken place.”

Sometimes, despite our best efforts, our attempts at communication fail. Or worse, we end up creating more confusion than clarity. It’s at these times that we need to take a look at different ways of making ourselves clear.

Show me

We’ve talked before about the importance of visualization in successful learning. We’ve even cited studies to prove it. But aside from aiding in the actual learning or retention of information, visual communication is quite simply a more effective means of accurately and efficiently transferring information from one human being to another. As William Albert Allard put it: “Words and pictures can work together to communicate more powerfully than either alone.”

Why is this true? Many reasons – including:

  • Time – Research shows that the brain processes images 60,000 times faster than text. That’s fast.
  • Language/Culture – Verbal communication is inherently limited to language. And even when a language is shared, differing cultures add another level of difficulty. Images are more universally understood than words.
  • Simplicity: OK, I’ll say it: A picture is worth a thousand words. Given the choice, which would you rather create (or take time from your schedule to read)?

UML

You’re probably already acquainted with UML, but let’s take a moment to make sure we’re all on the same page. UML was created as a way to standardize the notational system used in software design. It stands for Uniform Modeling Language, and it’s comprised of an integrated set of diagrams to aid software and system developers in visualizing, documenting, specifying, and constructing software and non-software systems. It’s also useful in business modeling. It’s a compilation of best practices that have been successful over time in the modeling of complex systems.

And it’s here to help alleviate all of those previously mentioned annoyances.

Some of the benefits of the UML include:

  • Getting every team member on the same footing and swiftly bringing new team members up to speed with an overall view of the system. What’s more, once team members understand what they’re trying to build, they can delegate tasks, identify possible issues before work begins, and work more efficiently toward a common objective.
  • Allowing you the flexibility to tailor the modeling interactions and elements in a diagram to suit the technologies or domain you’re using.
  • Planning and evaluating new features before any work goes into programming them. Changing a UML diagram is much easier and cheaper than the tedious and time-consuming task of reprogramming an entire section of code.
  • The ability to communicate more easily and effectively with both technical and non-technical audiences.

No need to spend weeks learning. You only need to know 20% of UML to achieve 80% of your modeling needs.

But what’s the easiest, most efficient way to harness all of the powerful benefits that UML brings to the table?

draw.io

draw.io is the easiest way for Confluence teams to collaborate using diagrams. It’s intuitive. It’s powerful. It gets out of your way. It helps you build diagrams ranging from flowcharts to org charts to ERDs, mindmaps – and yes, UML.

To use draw.io for your UML diagrams, simply enable the UML shape library. Here’s how:

  • In the left panel, click on More Shapes.
  • Scroll down to find the UML shape library in the Software section on the left, make sure the check box is selected, then click Apply.

If your team works with UML diagrams in Confluence a lot, you can customize draw.io to show this library by default. If you need your diagram to follow the UML 2.5 spec, we have a library for that as well: drawio.com/blog/uml-2-5.

You’ll find more on UML in draw.io in our archives.

The post Taming Requirements Engineering Headaches With UML appeared first on draw.io.

]]>
A draw.io success story – Marcel Grossert, a solution architect https://drawio-app.com/blog/being-a-solution-architect-a-success-story/ Wed, 26 Aug 2020 09:03:08 +0000 https://drawio-app.com/?p=21221  Marcel Grossert started his career as an Enterprise Architect, but today, in his role as a certified "Professional Cloud Architect" (AWS, GCP), he mainly provides consulting services to international pharmaceutical companies. Marcel has been working in the software sector for almost 30 years and has gained valuable knowledge during this time (have a look [...]

The post A draw.io success story – Marcel Grossert, a solution architect appeared first on draw.io.

]]>
Reading Time: 6 min

Marcel Grossert Profile Picture Marcel Grossert started his career as an Enterprise Architect, but today, in his role as a certified “Professional Cloud Architect” (AWS, GCP), he mainly provides consulting services to international pharmaceutical companies. Marcel has been working in the software sector for almost 30 years and has gained valuable knowledge during this time (have a look at his LinkedIn profile). Why extensive EA tools do not always have to be the best solution is the core part of his draw.io success story.

As an enterprise architect, I support my customers with concepts concerning solutions, platforms, and dataflows and process visualization. That means I’m always working with an enormous degree of complexity. Over the years, I have worked with a lot with standard EA tools such as Orbus iServer, Enterprise Architect from SparxSystems, or Iteraplan.  These solutions helped me to cope with high levels of complexity. The tools worked quite well for a long time, but due to the increasing demand for agility in today’s business and the IT environment, I realized that my EA software requirements had changed accordingly. I want to share the challenges I have faced and the conclusions I have drawn.

Away from large landscapes – Towards small incremental steps

The principle of agile thinking is to turn away from the waterfall model and turn to incremental steps. Of course, the Big Picture remained a necessary part of complex software landscapes for me. However, over time the number of smaller use cases began to increase. The challenge was then for me was to break down the complexity of the tools used to deal with this situation more efficiently.

Increased requirements for collaboration

Another component of agile work is regular communication and the ability to collect feedback as you go. The fragmentation of use cases naturally increased my communication needs accordingly. That’s when I started looking for a solution to manage collaboration (synchronous and asynchronous) in a more targeted way, to reduce the time invested.

Optimize reporting

As a software architect, you tend to work across different departments. With the move towards the cloud, the trend towards inter-department collaboration has increased.  The need for documentation and reporting is therefore essential for the ever-increasing number of people. I came to realize that three further points became increasingly important to me: simplicity, availability, and relevancy.

Approaching the solution

I took a closer look at those issues and compared them with my standard situation. Documentation and reporting turned out to be my biggest challenge, both in terms of time and resources. The creation of the reports and diagrams were, until now, quite time-consuming. I had to export the diagrams, marry them to the essential information, and then put everything into a final Word document.

This process was an ineffective way of dealing with diagrams, which then gave me an idea. The company I worked for at the time already had Atlassian Confluence and Jira in use. Confluence was used extensively, but not for documenting IT solutions or processes. The only remaining challenge was to integrate the diagrams into Confluence. The embedding of the existing data via iFrame wasn’t ideal due to long loading times, authorization queries, and minimal user-friendliness. I then set out to find an embedding solution and its relevant plug-in, for Confluence. I was successful: enter draw.io.

draw.io for Confluence – advantages and trade-offs

Until now, I have only talked about the things that have bothered or challenged me in terms of classic EA tools. The decision to go for a lightweight solution, draw.io, of course, had a trade-off, which I don’t want to hide. Traditional enterprise architecture tools always have a repository connected to them. All components of the IT landscape can be easily provided with attributes and object relationships in the subsequent steps, and the processes can be handled holistically. However, I had to accept the limitation of not having this by default, and I am happy to explain this.

Simple, direct and fast

After editing the draw.io diagram in Confluence, a .png file of the diagram is created and displayed in the viewer. I can always view, zoom in, and discuss this status with my stakeholders. I had rarely seen such a simple, fast, and direct access before.

Numerous visualization libraries for Solution Architecture

The topic of the hour is the cloud.  This means I’m now almost exclusively on the road for my customers providing them with cloud solutions. draw.io offers comprehensive libraries with shapes for AWS, GCP, or Azure, to name just a few. The libraries not only make the creation of my diagrams faster but also make them visually more appealing and easier to understand.

Access to the latest version at any time

The visualization is now integrated as a macro on the Confluence page, and this means that my stakeholders and I have access to the current status of the information. We can provide online comments and feedback directly on the page. There are no more media breaks – the data can be consumed comfortably in Confluence, and the integrated versioning still gives me the option to view older versions and restore them if necessary.

Transfer to EA Tool, if necessary

Of course, I don’t completely do without the already mentioned, classic EA tools. If I need to provide my solutions with architectural attributes, draw.io diagrams can be incorporated and further developed with minor tweaks.

The bottom line is that as an Enterprise and Solution Architect, I have never regretted adopting draw.io for Confluence and Jira, respectively. The advantages I gained from the change in agility and timeliness far outweigh the loss of the analysis functions. It doesn’t always have to be a significant and comprehensive EA solution; give it a try.

Want to learn more about how draw.io can help you?

Refine and streamline your daily work with draw.io and diagrams, just like Marcel. We’ve got a curated list of links to help you start your draw.io journey:

Want to explore draw.io to see what else you can do with diagramming?  Our learning hub will get you started with an assortment of tutorials and guides.  Not sure what you need? Please feel free to contact us so we can direct you to what you need.  You can also explore our YouTube channel, where we regularly update our content.

The post A draw.io success story – Marcel Grossert, a solution architect appeared first on draw.io.

]]>
UML communication diagrams https://drawio-app.com/blog/uml-communication-diagrams/ Wed, 25 Sep 2019 11:39:43 +0000 https://drawio-app.com/?p=17333 Reading Time: 4 min Communication diagrams are another way to visualize the information more commonly represented by UML sequence diagrams. They are simpler than sequence diagrams and only show the messages that pass between the objects. See how you can create UML communication diagrams with draw.io.

The post UML communication diagrams appeared first on draw.io.

]]>
Reading Time: 4 min

Communication diagrams are another way to visualize the information more commonly represented by UML sequence diagrams. They are simpler than sequence diagrams and only show the messages that pass between the objects or roles in a software program, infrastructure, or any kind of process.

If you have multiple scenarios in one use case, UML communication diagrams help you clearly identify what messages (data) need to be sent between objects/roles in each specific scenario.

Enable the UML shape library in draw.io

Make sure you enable the UML shape library in draw.io when you want to create a UML communication diagram:

  • In the left panel, click on More Shapes.
  • Scroll down to find the UML shape library in the Software section on the left, make sure the check box is selected, then click Apply.

If your team works with UML diagrams in Confluence a lot, you can customize draw.io to show this library by default.

UML communication diagram shapes

The notation used in UML communication diagrams is the same as is used in UML sequence diagrams, only much simpler:

  • Object: A rectangle is used for the object (or role). Supplier objects call the functions that supply the message and client objects receive the message. Each object may be a client or supplier at different times in each scenario.
  • Link: Solid connectors connect the objects to show that a relationship exists between the different objects (or to itself).
  • Message: One or more additional connectors with arrow heads show the messages that are passed between the objects and their direction.

Indicate the sequence in the message labels

The labels on these additional connectors should start with a number to indicates the sequence of the messages. Messages can be nested – simply use a decimal point 1.1, 1.1.2, etc. You can clearly see which message belongs to which function call.

In the simple example below, both the communication diagram and its matching sequence diagram visualize one scenario (user interaction) in the Habit Tracker app – the example used throughout all of the UML diagram blog posts.

As you can see in the communication diagram above, there are two functions that the user interface (UI) runs and sends messages “to itself”. This relationship is indicated with a link ‘loop’. Of course, the message it sends to itself is still numbered so you can see in which order all of the messages are sent.

UML communication diagrams only show messages

UML communication diagrams are clearly much simpler than sequence diagrams – they help you focus on the function calls, the data passed between the different objects and roles and the basic sequence. They don’t represent iterations, conditionals or parallel operations, all of which are possible in the more complex sequence diagrams.

In the example sequence diagram above, you can see a loop, where every habit’s history is fetched and displayed. This is simply not visible in the communication diagram.

This simplicity is even clearer in the next two diagrams that visualize what happens when a user performs a habit check-in – both the parallel execution and the two conditions are ignored.

Learn more about UML diagrams

There are 14 different types of UML diagrams, and you can pick and choose which ones make the most sense for your team and your project.

Communication diagrams are a form of interaction diagram, showing how the components pass messages (data) between each other. The other interaction diagrams focus on different aspects – sequence diagrams, timing diagrams and interaction overview diagrams are also used.

Learn more about the different types of UML diagrams: See when to use which type of diagram and how to create them using draw.io.

The post UML communication diagrams appeared first on draw.io.

]]>
Creating different types of flowcharts with draw.io https://drawio-app.com/blog/creating-different-types-of-flowcharts-with-draw-io/ Fri, 21 Jun 2019 15:22:45 +0000 https://drawio-app.com/?p=16879 Reading Time: 7 min Flowcharts, process diagrams, workflows, activity diagrams: No matter what they are called, they all visualize the steps, decisions and sometimes the interactions needed to get something done. There are many different types of flowcharts, and you can create them all using draw.io!

The post Creating different types of flowcharts with draw.io appeared first on draw.io.

]]>
Reading Time: 7 min

Flowcharts, process diagrams, workflows, activity diagrams: No matter what they are called, they all visualize the steps, decisions and sometimes the interactions needed to get something done. There are many different types of flowcharts, and you can create them all using draw.io!

Flowcharts in the draw.io template library

When you create a new diagram in draw.io, select Flowcharts from the list on the left of the template library dialog. Alternatively, click Arrange > Insert > Template to open the template library from the draw.io editor.

There are a number of different flowchart templates you can choose from. Hover over one to see its name (use case) if it is not written under the template diagram in your version of draw.io.

As a Confluence administrator, you can add your own custom flowchart templates and make it faster for your colleagues to diagram following your company’s style guide. See how to customize the draw.io interface in Confluence.

Why document your processes?

We’ve all had it happen, suddenly a colleague who is responsible for one particular set of tasks leaves, and no one knows what to do to take over their responsibilities because nothing was documented. Or, you get to a new company and no one wants to take the time away from their work to train you to do your job. It’s a horrible feeling when you have no idea what steps you need to do to get something done, and done the right way, without stepping on any toes!

It’s bad for the company too – how much time and productivity is lost trying to onboard new hires and team members without any form of documentation?

Flowcharts are useful because they minimize employee stress, are very easy to understand and therefore reduce errors, plus they save time and money.

  • Onboard new employees and team members faster.
  • Minimize cross-team misunderstandings about workflows and areas of responsibilities.
  • Document processes and how they change over time for accreditation audits (SOX, ISO).
  • Manage customer expectations and uncertainty by explaining complaint and resolution processes in a clear diagram format.
  • Communicate more clearly with an international audience.

Develop and store your flowcharts in Confluence with draw.io

Of course, your processes need to be developed and stored in a central knowledge base, and should be easily findable. Using draw.io diagrams within Confluence pages is ideal because your diagrams are versioned – all changes to the diagram are tracked in the Confluence page history. Plus, there are many other Atlassian Marketplace apps which record approvals of new processes or to changes made to existing processes, and you can control access to sensitive process diagrams with Confluence permissions.

Create many types of flowcharts with draw.io

There are many different types of flowcharts, ranging from the simplest using just rectangles, circles and diamonds, through to the much more complex BPMN and UML activity diagrams. Let’s take a look at some of the more common types and their use cases.

Basic flowcharts

Rectangles for steps, diamonds for decisions and circles for the start and end points. You can’t get any simpler than that! Of course, you can add many other shapes for when documents are created, or for interactions with external parties, etc.

Multiple pages in the same diagram and links to them from shapes let you simplify your workflows even further by breaking down complex steps into “sub-flowcharts”.

See how to create a simple flowchart in draw.io

Swimlane diagrams

When you want to indicate when steps in a process are done by different teams, use swimlanes to indicate the various areas of responsibility. draw.io comes with a variety of swimlane template diagrams which you can either use as the foundation or simply inspiration for your own flowchart with swimlanes.

The swimlane container shapes are under Advanced shapes. If you don’t see this collection of shapes in the left panel, click More Shapes, make sure the General shape library is enabled, then click Apply.

Learn more about using container shapes in draw.io

BPMN diagrams

Business Process Model and Notation (BPMN) diagrams are a more specialized type of swimlane diagrams.

They use an expanded set of shapes (elements):

  • different types of steps (emails written, documents created, approvals recorded, …);
  • the variety of input and output ‘gateways’;
  • events that happen, as opposed to the steps that must be completed;
  • and three types of connectors are used to indicate the different types of flows – automated, message flow, and the actual sequence of a series of steps – as these can sometimes differ.

Click More Shapes in the left panel, scroll down and enable the BPMN shape library, then click Apply to see the various shapes used to build BPMN diagrams. You may also need the Advanced shape library and its container shapes for the swimlanes.

Data flow diagrams

More commonly used by software engineering teams, data flow diagrams track how data flows through a process or a system. Instead of focusing on the steps that people must perform and the decisions they must take, these diagrams simply visualize what happens to the data over its lifecycle.

While there are no control flows, decisions or loops, data flow diagrams do provide information about the inputs and outputs, and the process itself. Labels may be added to indicate what data is transferred between processes, data stores and states.

To create a data flow or context diagram, you’ll need to enable the shape library. Click on More Shapes at the bottom left, enable the Data Flow Diagram shape library in the Software section, and click Apply.

UML diagrams show many flows

UML diagrams, also commonly used in software development, show different types of workflows, data flows and procedural steps to visualize processes:

  • Activity diagrams show the flow of control and decision points, very similar to the basic flow charts.
  • Sequence diagrams are highly detailed and show the control flow in sequence and the data that is passed between steps.

You could argue that UML use case diagrams, state diagrams, interaction diagrams, and communication diagrams also fall under the umbrella of ‘flow diagrams’, as they all indicate some kind of flow of control and/or data. Learn more about the different types of UML diagrams.

You can input PlantUML to automatically create UML diagrams in draw.io. Click Arrange > Insert > PlantUML, enter the code in the text box, then click Insert.  See how to use PlantUML in Confluence.

The post Creating different types of flowcharts with draw.io appeared first on draw.io.

]]>
UML diagrams – which diagram to use and why https://drawio-app.com/blog/uml-diagrams/ Fri, 26 Oct 2018 12:13:41 +0000 https://drawio-app.com/?p=15949 Reading Time: 9 min The Unified Modeling Language (UML) is a diagramming notation (language) that lets you visualize systems and software. Here is how to use the 14 different types of diagram and create them in draw.io.

The post UML diagrams – which diagram to use and why appeared first on draw.io.

]]>
Reading Time: 9 min

The Unified Modeling Language (UML) is a diagramming notation (language) that lets you visualize systems and software. It’s one of the most popular forms of diagramming in software development and became an ISO standard in 1997.  Since then, there have been a few updates to add extra UML diagram types and to support new technologies in programming.

Diagrams are easier and faster to understand than text, so they are more appropriate to document systems than comments in millions of lines of code, although these are also important! They help you and your companies in many situations, like when you …

  • onboard new colleagues or team members
  • debug to find problems
  • plan for new developments or processes
  • optimize existing systems and programs
  • audit your processes and apply for accreditations

And of course, when you want to develop something new – you will find many problems beforehand in your UML diagrams that could become showstoppers during development or quality testing.

There are two main categories and 14 different types of UML diagrams, each of which is used in a different situation.

  • Structure diagrams: show the static relationships between the components in the system.
  • Behavior diagrams: show how the components in the system react to each other, they capture how the system changes, and in some diagrams, how it changes over time.

Types of UML Diagrams


The different UML diagrams

There are a few UML diagrams that are used in most situations in software development or systems modeling, including IT infrastructure and business systems. The top three UML diagrams that you should get comfortable with include use case diagrams, class diagrams (if you are a programmer), and sequence diagrams.

Use case diagrams

Use case diagrams are created when you are looking at the requirements of your system or program.

They represent the functions or features, the actors and how these relate to each other (their relationships).

Use case diagrams in draw.io

Class diagrams

Object oriented programming languages are based on classes and the relationships between them. UML class diagram notation was developed to represent these programs visually.

Classes contain their attributes (their data) and behaviors (member functions), and are related to each other with a variety of connectors.

Class diagrams in draw.io

Sequence diagrams

Sequence diagrams are used to visualize both interactions within programs, business processes and IT infrastructures. They describe the sequence of interactions (messages) between actors and objects (things like databases or external interfaces).

Sequence diagrams in draw.io

Activity diagrams

Activity diagrams model the behavior of users and systems as they follow a process. They are a type of flow chart or workflow, but they use slightly different shapes.

Activity diagrams in draw.io

State diagrams

State diagrams have been used in programming to describe the various states that a system can be in for decades. They aren’t limited to programming – every system and process has states. These diagrams are faster to create than activity or sequence diagrams, but show less information.

State diagrams show which states lead to each other, and what triggers a change of state.

State diagrams in draw.io

Interaction overview diagrams

These UML diagrams are a combination of an activity diagram and sequence diagrams, where each individual activity is placed in its own frame, so it is easier to program.

Interaction overview diagrams in draw.io

Communication diagrams

These used to be called collaboration diagrams. They are similar to use case diagrams, detailing the information that is transferred. However, sequence diagrams are more often used to visualize the communication between objects as they are clearer and have a richer notation.


Additional UML diagrams for complex, large or specific systems

The remaining eight types of UML diagrams are used in specific circumstances, most commonly when you are working with extremely large systems with a great number of components.

Timing diagrams

This is a special type of sequence diagram that follows the behavior of objects over time. They are used more commonly when designing embedded systems, like programming control software for a washing machine.

Object diagrams

Object diagrams in UML are a specialized form of class diagrams. They visualize the more abstract class diagrams as if they have been instantiated and help software developers check whether their abstract structures will work in practice.

Component diagrams

A component diagram shows how the various components in a complex software system relate to each other and communicate using interfaces. They aren’t used for simpler or straight-forward systems.

Deployment diagrams

This is another specialized diagram for large and complex systems where software is deployed over multiple systems. These days, web services like Amazon Web Services (AWS) and Google Cloud Platform (GCP) have their own notations – you can find these shapes in their draw.io shape libraries.

Package diagrams

Package diagrams show the dependencies in your system, and are used predominantly when you have a large codebase. Packages may contain use case diagrams to illustrate functionality of the system, and can visualize the layered architecture within a software system.

Composite structure diagrams

Where you have a complex software system with many different use cases, UML composite structure diagrams visualize what actually happens when the program is run. It represents the internal structure of a class and how it relates to different class components.

Profile diagrams

With a profile diagram, you can extend and customize UML to be used in a particular domain (e.g., aerospace, healthcare, financial) or platform (J2EE, .NET) with stereotypes, tagged values and constraints. Again, this type of diagram is usually used to model extremely large and complex systems.

Creating UML diagrams in draw.io

The UML shape libraries let you diagram your systems and software quickly and easily using the UML notation. Make sure you enable this library before you start diagramming: Click More Shapes … at the bottom of the left-hand panel, then enable the UML shape library and click Apply.

You can also get a head start by using any of the UML templates when you create a new diagram. Select UML from the list of template libraries on the left, click on the diagram template you want to use, then click Create.

Tip: If you hover your mouse over a diagram template, you’ll see the name of the file which will tell you what type of UML diagram it is.



Need help getting started with draw.io?

If you haven’t used draw.io before, or if you are new to diagramming, have a look at our getting started tutorial. It’s packed with explanatory videos so you’ll never get lost.

We also provide a self-directed practical training course that you can step through and a growing library of training material.

Want to hear how others are using draw.io? Read about how Solution Architect, Marcel Grossert, uses draw.io to visualize his workflows!

The post UML diagrams – which diagram to use and why appeared first on draw.io.

]]>