Day 4: Choosing Right Diagram Type
Software Ideas Modeler offers many notations and diagram types. You should use the one which is most appropriate for the task you want to solve. Software Ideas Modeler projects are not restricted to use only one notation, you may combine them how you want and need. There are these main groups of diagram types:
- Entity Relationship
- Other Diagrams
- Custom Diagrams
The most popular diagrams are:
- Entity-Relationship Diagram
- User Interface Diagram
- UML Class Diagram
- UML Use Case Diagram
- UML Activity Diagram
- UML State Machine Diagram
Capturing User Requirements
When developing a software product, it is important to know what the client or the end-user wants. One of the first steps in software development is to collect and capture user requirements. Software Ideas Modeler will help you to process them and organize them. You may choose from two options:
- Agile way – use the User Story Map. It allows you to capture what the users want in the form of user stories and epic user stories. You may organize them on a timeline using the time blocks called sprints. A user story is a statement in form of “As
I can ”.
- Classic way – use the Requirement Diagram. It is a collection of user requirements. Each requirement has its name and description. Requirements may have other sub-requirements. The requirements are displayed in the form of a table by default, but you may switch the view to a diagram.
Brainstorming, Collecting Ideas
If you have collected the requirements on the system, you may continue with the analysis. Now, you know what to do, but the question is how to do it. To solve this question, you may use a Mind Map. It will help you organize your thought and ideas about possible solutions. The Mind Map is a very simple and intuitive diagram. There are only nodes and connectors which help your ideas to flow freely.
Another option that may help you at the beginning of system analysis is the Brainstorming module. If you have a bunch of existing documents and texts this tool will assist you during information extraction. The information will be transformed into a model and diagram elements.
Workflow, Activities and Business Processes
If you want to model a workflow, processes, activities of a system, a module or their parts you may use UML Activity Diagram. Alternatively, it is possible to use a flowchart, if you do not want to stick with UML and you want something simpler or less formal. You may use these diagram kinds for basic business process modeling.
If you want to model business processes in a professional way there is a diagram notation that is directly designed and developed for this purpose – it is BPMN. BPMN Collaboration Diagram helps you to capture the processes very precisely.
Software and Enterprise Architecture
If you want to model a high-level view on a software system, you may use the Layer Diagram. It allows you to show the architecture of a system using layers, tiers, components and groups, their dependencies and responsibilities.
Another option is to use standardized UML notation. Useful UML diagrams for such purpose are Component Diagram, Deployment Diagram, and Interaction Overview Diagram.
If you need to express an enterprise architecture, you should use ArchiMate diagrams. It provides standardized an unambiguous way how to analyze, visualize and describe the architecture within and across various business domains. The notation consists of three core layers (business, application, technology), three additional layers (strategy, physical, implementation & migration), three core aspects (passive structures, behaviors, active structures) and an additional Motivation aspect.
Database Design, Data Modeling
Data and databases are important parts of modern software and enterprise systems. They transform the real world and its entities to the models. You should distinguish between these two models:
- Logical model – it expresses a data model independent from its physical interpretation. You may use Chen Entity-Relationship Diagram or Entity-Relationship Diagram.
- Physical model – it represents a specific version of a data model that is dependent on the target database system. You can use the Entity-Relationship Diagram for this purpose. It allows you to use database-specific types (MS SQL, Oracle, Postgre, SqlLite).
Entity-relationship diagrams allow you to specify entities with their attributes (and keys) and the relationships between them.
If you want to model data using UML diagrams, you can use Class Diagram for this purpose.
Understand States of System
A system with known states and all the transitions is more predictable and robust. If you want to capture, model and understand the various states of a modeled system and the transitions between the states, you should use the UML State Machine Diagram.
You may also use a simpler version of the statechart – Finite State Machine Diagram. It offers only two kinds of elements: States and Transitions.
Wireframes, User Interface Mockups, Screen Blueprints
The user interface is an important part of an application. It decides whether the software will be user-friendly and the end-users will like it or not. Software Ideas Modeler provides tools that allow you to design the basic concepts and layout of the user interface easily.
If you want to create a wireframe for the forms and windows of a desktop application you should use User Interface Diagram.
For web applications, portals and web sites, Web Page Diagram is a better choice. It provides additional web-specific UI elements.
Would you like to create a poster, point out some important concepts, visualize and present some data and statistics? You should use the Infographics diagram. It offers unique diagram elements, shapes, and charts.
If you want to create a tutorial about your software, promote new software features, you may find the Tutorial diagram very useful.
It is not an easy task to make a good decision. If you create a decision table, you will identify rules which will show you which actions will occur for a specific set of conditions. Software Ideas Modeler provides a diagram type called Decision Table for this purpose.
If you want to plan the release of the new versions of your product, you may utilize the Roadmap diagram. It will help you see the timing of a product and its features. The various modules and products can be defined by partitions. The particular releases should be represented by labels. The roadmap also supports the milestones which allow you to mark important moment on the timeline.
If you want to design a network with all its switches, firewalls and connected devices, you should use the Computer Network Diagram. It also allows you to visualize different layers of network topology.