UML tool supporting collaboration - uml

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.

Related

What is a profile diagram in UML?

What is a profile diagram in UML? More specifically what is the role of this diagram? And what can we use it for (problems we can solve with it, or solutions we can simplify more with it)?
A profile diagram lets you define an extension to UML by defining your own stereotypes and a couple of other similar elements. The idea is to tailor the expressivity of UML diagrams to a specific domain.
Here you can find some examples, such as:
enriching the class diagram with symbols or stereotypes that correspond to a framework (for example EJB components) or a method (for example the Boundary-Control-Entity design that is used to transform use cases in a systematic manner into a class diagram).
adding stereotypes to allow to represent more precisely nodes of a deployment diagram according to a better network typology.
adding tagged values to enrich diagrams with ownership, authorship, or configuration management information.

unable to create a Class Diagram in Rational Rhapsody SysML Project

I created a Rational Rhapsody project with Project Type set to SysML. After creating the project I added HarmonySE profile into the project. I also created a Block Definition Diagram and a Requirement Diagram in the project. But I can't find a way to create a Class Diagram in my project. If I click on Tools menu -> Diagrams, Class Diagram is not in the list of diagrams:
Can someone please suggest how to include Class Diagram in a Project?
There is no Class Diagram in SysML, thus Rhapsody prohibts its usage in a project having the SysML profile. If you want to use class diagrams (i.e., UML in general) for your SW domain, you can add an UML project to your workspace, via File->Add new project. This project can use a different profile, and thus you can create your classical UML diagrams there.
In simple terms, a UML class is a block in SysML. What you are looking for is a Block Definition Diagram. There is no Class Diagram in SysML.

When use use-case diagram and when use class diagram?

i'm php developer using MVC architecture that i'm new to UML
i know use-case , class , object , activity, sequence diagrams but i don't know for modeling a application where i should start.
i know use-case and class diagrams are structural diagrams and activity and sequence are behavior diagrams
but my questions are:
1. for modeling a app when i should use use-case diagram and when i should use class diagram?
2. does class diagram has abstract concept? because when i'm developing web app i have some controller and model or view also several classes that i use for different purpose (like insert data to database - validate form inputs and so on) but they don't look like to examples of class diagram that i'v seen until now so my question is class diagram is used for show concept of our system and it doesn't need to generate real class code form it ?
for example modeling a ticket reservation that may have some classes like this:
but we don't write class codes like this and it can be different in programming but for view the concept we are using class diagrams . is it true ?
Use-case diagram is usually used for representing the business of the project, indicate who(actor) are going to utilize the system and what services(cases) does program provide?
The class-diagram is used for specifying the whole system structure, but there no code and exact behavior will be provided by the class, generally developers don't specify the exact behavior with each module in-detail.
for example, consider a simple login module. in use-case diagram, we just mention that user logins into the system.
In class diagram we specify the possible base classes are needed, in other word we apply the architecture (we are planning) basis.
In sequence diagram we focus more on what is going on each method(while this is not necessary).
In fact UMl is used for representing the system as abstract, not the exact(in-detail) functionality.
for example I pass the above class-diagram to a developer, and tell him about the detail login process as a separated document.

phpstorm, create custom UML diagram

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

Which diagram I should change in UML?

Can anyone tell which UML diagram I should change if there is a slight change in the design of application.
The change is -> Earlier the application was using Active directory for authentication now I want to use the Membership provider instead.
I want to keep the change minimum in diagrams.
Thanks
Sounds like component diagrams or class diagrams. Check out the following topics and illustrations for VS 2010 Ultimate RC:
UML Component Diagrams: Reference at http://msdn.microsoft.com/en-us/library/dd409390%28VS.100%29.aspx:
A component diagram shows the parts of a design for a software system. A component diagram helps you
visualize the high-level structure of the system and the service behavior that those pieces provide
and consume through interfaces.
UML Class Diagrams: Reference at http://msdn.microsoft.com/en-us/library/dd409437%28VS.100%29.aspx
A UML class diagram describes the object and information structures used by your application, both
internally and in communication with its users. It describes the information without reference to any
particular implementation.
It will surely depend the diagrams at your disposal. Sound like a correction in one of the static diagram types, like the component diagram ...
This of course depends on how you structure your documents and your uml-diagrams.
In general I have a Conceptual model, Class Diagram and a Design Diagram which are diractly linked to the architecture. And then you should in most cases have System Sequence Diagrams and more. However, depending on how your structure is and to minimize the "changes" required.
I would suggest that you use something more generic for the parts that might be changed. Active Directory Authentication and Membership Provider Authentication is both Authentication methods, which means that you can, instead of displaying the whole sequence at the Authentication step, just use "Authentication".
Now, in the conceptual models and in the design + class diagrams, you will need to change and add some fields, tables or whatever is added. But it shouldn't matter if you need to add more or less, because the documents need to reflect upon your software as accurate as possible.
So, to minimize changes, use more generic types.

Resources