Contents
When we look at various architecture diagrams we understand it's not random. There are few basic building blocks and notations. Here we will see what technical ways and standards are there to draw architecture diagrams. What tools are available to draw those diagrams. First we will understand what are the language or standards architects use. They are UML, BPMN, EPC etc.
What is UML?
The Unified Modelling Language is a graphical language for visualization, construction and documentation of the artifacts of software systems. UML has emerged as the software industry's dominant modelling language. What is an artifact? An artifact could be anything depending on the scenario and level of abstraction and communication partners and what you want to convey. For example, it could be a high level component or block diagram that describes what are the main components involved or it could be a sequence diagram that describes to the developers how request response works among different internal and external services of the software system.
What is BPMN?
Business Process Model and Notation (BPMN) is a graphical representation to specify business processes in a business process model. Business Process Management Initiative (BPMI) developed BPMN, and currently maintained by the Object Management Group since the two organizations merged in 2005.
What is Event-Process-Chains (EPC)
Event Process Chains are charters to draw the flows of business processes. We can draw various complex workflows of an enterprise and automate them. The flows are event driven. Many companies use EPC to model and optimize their business processes. For example employee payroll management, employee leave request management, material procurement process just to name a few.
UML is used to do architecture modelling for software products and systems. UML diagrams can be divided into a few diagram types.
UML Diagram Types
Block Diagram
Component Diagram
Class Diagram
Package Diagram
Activity Diagram
Sequence Diagram
State Diagram
Use Case Diagram
What tools, softwares to use for architecture diagrams?
Drawing tools:
Use:
Used for purely drawing purposes.
Products:
Microsoft Visio (needs license)
Pencil (free)
drawio (free)
Omnigraffle
Modelling tools:
Use:
Costlier than drawing tools.
Includes generation of code fragments where logic can be added.
You can reverse engineer from code to Model.
Maintain/Change models that impact code directly and code is adjusted according to the model again.
Document generation from model
Products:
Group work also possible.
Sybase PowerDesigner
SAP Enterprise Architecture Designer
ArcWay Cockpit
MagicDraw
Enterprise Architect
Together
Rational Rose
Eclipse-based TAM Editor
Comments