phpstorm, create custom UML diagram - uml

PhpStorm has a feature to create UML diagrams based on existing classes
But I need to create and save my own diagrams, that will have objects for not existing classes. For example, I need to create a database diagram and a UML diagram for some classes of new feature.
Can I do it via phpstorm?

No, going by the Documentation Jetbrains Confluence on UML Diagrams in Phpstorm and this post phpstorm only allows you to create different UML diagram views of your code base, the only model is your code base itself. Thus you cannot have classes just in a diagram.

If it is still of your interest, you can use an extension like this to write your custom UMLs. You can find the documentation here

Related

UML tool supporting collaboration

I am looking for an UML modeling tool (e.g. uml designer, papyrus, modelio or such) with a support for collaboration diagrams (as described here : http://www.uml-diagrams.org/collaboration-diagrams/collaboration.html and here http://www.uml-diagrams.org/collaboration-diagrams/collaboration-use.html)
I am especially interested by the ability to draw this kind of schema:
I would also appreciate it if somebody could link me to a good tutorial about this.
PS : To give some context, I am mostly interested in collaboration diagrams in order to describe which part of a class diagram are taking part in a given design pattern (from example which classes of a class diagram are the observer/subject of an observer pattern).
To create a composite structure diagram under Modelio, you have to:
Create a project.
Select UML root project under the model explorer.
Create a Class.
Select the created Class and create a Composite Structure diagram.
The following screenshot show the required steps.

Are there any UML tools that allow hiding entities?

When browsing through a large UML class diagram (20+ classes), if I try to find the "path" from one entity to another or the connections of a certain entity, I get lost very easily. Are there any tools that allow hiding certain entities? Or that highlight paths or connections? So far I've tried ArgoUML and MagicDraw but they don't seem to have any of these.
Modelus Suite Model Designer has functionality that allows you to see references of selected element and connections as well. It is simple navigation, but usable for models of any complexity I would say. It does not highlight it, but it is possible to locate related elements in project tree or on diagrams.
You can find more info on the web side. Here is a link Modelus Suite
Hiding elements to split complex models into several diagrams is a basic (must have) feature for UML tools. GenMyModel is natively supporting such operation using "hide" from the popup menu.
(see: use model elements in multiple diagrams and demo video)
All UML tools should allow you to remove model elements from a diagram without deleting them from the model itself. The reason is that, in UML, a model is not the same thing as a diagram. A UML diagram is one of many possible views showing and hiding different parts of a UML model. A UML model instantiates elements of the UML meta-model, in memory and on disk.
There is a fundamental difference between a mere drawing program and a UML modeling tool. A drawing program (like MS Powerpoint or Visio) just draws pictures. A UML tool has an underlying meta-model that can render its instances on any number of diagrams. All true UML modeling tools will therefore allow you to remove model elements from a diagram.
Your claim that MagicDraw does not allow hiding elements on a diagram is untrue. Not only can MagicDraw hide model elements, it has a special "Relation Map" diagram that allows you to swim around in a model.

What UML diagrams are required for a web application

I am new to UML designing and read few articles on this. bit confused where to start..
Do i need to prepare all of the UML diagrams for a web application or is some diagrams are only essential for an application.
Thanks,
Start from Use Case - define, who will use your application(actors) and what they will do with it(use cases). Also, join close use cases into subsystems.
Component diagram - what main parts the system has and what info they will send to each other and if some part belongs to another
Go on with State machine - define what states will have your components and on what reasons can they change they states to other ones.
Deployment diagram will define on what PCs will these components live and about the connections/protocols/interfaces between them
Plan your user interfaces - now only the set of pages and frames and navigation between them and commands on them. Do not solve placing and colors yet
Class diagrams for every component
If for for some of your classes some instances are specifically important, use object diagram.
Draw the look of the UI
Code.
UML is there to help you. Pick only what you need. You'll hardly ever need all diagram types. Plus, it is convenient for the reader if he needs to know only a predefined UML subset to understand your draft.

Linking UML Diagrams - What are the different possibilities and how to specify in a tool independent wa

UML 2.x has 14 diagram types - grouped into structural and behavioral diagrams. For a system modelled in UML, there is inter-linking between diagrams, for example:
A class with a state variable should have a corresponding state-machine diagram which models its behavior.
Similarly, the life-line in sequence diagram is an instance of a class: usually shown as :.
What are the other links possible between the 14 diagrams?
Is there a tool independent way of specifying these?
Are these linkages exported in a standard way in the XMI output file, if XMI export is supported?
In UML2 you can now create almost any model element in any diagram. I mean that you can have structural elements inside the same diagram.
alt text http://www.forum-omondo.com/download/file.php?id=194&mode=view
Having said that you can also use the EclipseUML2 editor which is open source. You create manually your model and for example create a State then a child Class. Once created you open the model with a compatible UML tool and drag and drop inside an empty diagram what has been manually model. You will get a graphical representation.
I do it every day with Omondo EclipseUML Helios and it works really well. I have previously tried RSA 6.5 and it was also possible. My graphical diagram allows me to create as many as needed views from my model. I can manipulate my model with the editor or with the diagram. Really cool !!

"Narrowed" structural diagram

I'm a total rookie in UML and modelling. I'm learning some framework, and I'm trying to grasp and outline its key aspects. I've decided to do it with UML. But the problem is, the whole structural diagram of the framework is of no use to me, because classes have a lot of properties and methods, and there's a lot of classes.
What I need is a series of structural diagrams, each of which shows some specific aspect of the framework. And the classes involved should display only those attributes/operations that are of certain value to this specific aspect.
Does UML (as a standard) supports this on some level, and is there some tool that allows to do just that? I've tried Visio 2007 and Enterprise Architect, but I didn't found out the way to do what I need.
Thanks in advance.
What your are looking for seems to be able to customize views of your model and not to visualize the full class diagram. This concept is developed by Omondo which provides customizable views of your model by drag and drop. You can create as many views as needed, each could be different from the others while just using the same model element. This also the metamodeling approach for me where the model is not the diagram but the metamodel on which your build your graphical model.
If you don't need attributes/methods then you can try to click directly on attributes and methods keeping the ctrl button pressed, then you should be able to find a menu in the class diagram to hide them. The traditional menu is Hide from diagram.
This is what I do and it works really well.
You can also just click directly on attributes and methods but I don't see any documentation on this subject. It seems that nobody knows except the developer and myself about this option but this is my favorite one :-)

Resources