How to represent a method call that's through inheritance in a sequence diagram? (Ruby)
class FirstClass < SecondClass; end
class SecondClass
include ThirdModule
end
module ThirdModule
def inherited_method
end
end
How would I represent FirstClass.new.inherited_method
in a UML sequence diagram? I want to explicitly show that the method is inherited from the ThirdClass (because I'm going to draw a parallel to another sequence that is also using the same inherited method).
ruby ruby-on-rails-3 uml sequence-diagram
|
show 2 more comments
class FirstClass < SecondClass; end
class SecondClass
include ThirdModule
end
module ThirdModule
def inherited_method
end
end
How would I represent FirstClass.new.inherited_method
in a UML sequence diagram? I want to explicitly show that the method is inherited from the ThirdClass (because I'm going to draw a parallel to another sequence that is also using the same inherited method).
ruby ruby-on-rails-3 uml sequence-diagram
One cannotinclude
classes in Ruby, only modules.
– Aleksei Matiushkin
Nov 23 '18 at 10:03
good catch - edited to be a module
– Robert Faldo
Nov 23 '18 at 10:20
You can model FirstClass, SecondClass and ThirdModule as separate lifelines and show the message flow from the public interface to the inherited implementation as messages between the lifelines. Thenew
message would be shown as the UML create message (uml-diagrams.org/interaction-message.html#create)
– xmojmr
Nov 23 '18 at 11:18
Thank you this is how I planned to approach it but wasn't sure if it would be correct or not
– Robert Faldo
Nov 23 '18 at 11:45
@xmojmr That would be wrong in this case. There is only one instance, namely the one that inherits. (Just assuming that "<" denotes inheritance)
– Thomas Kilian
Nov 23 '18 at 12:16
|
show 2 more comments
class FirstClass < SecondClass; end
class SecondClass
include ThirdModule
end
module ThirdModule
def inherited_method
end
end
How would I represent FirstClass.new.inherited_method
in a UML sequence diagram? I want to explicitly show that the method is inherited from the ThirdClass (because I'm going to draw a parallel to another sequence that is also using the same inherited method).
ruby ruby-on-rails-3 uml sequence-diagram
class FirstClass < SecondClass; end
class SecondClass
include ThirdModule
end
module ThirdModule
def inherited_method
end
end
How would I represent FirstClass.new.inherited_method
in a UML sequence diagram? I want to explicitly show that the method is inherited from the ThirdClass (because I'm going to draw a parallel to another sequence that is also using the same inherited method).
ruby ruby-on-rails-3 uml sequence-diagram
ruby ruby-on-rails-3 uml sequence-diagram
edited Nov 23 '18 at 10:29
Robert Faldo
asked Nov 23 '18 at 10:02
Robert FaldoRobert Faldo
3917
3917
One cannotinclude
classes in Ruby, only modules.
– Aleksei Matiushkin
Nov 23 '18 at 10:03
good catch - edited to be a module
– Robert Faldo
Nov 23 '18 at 10:20
You can model FirstClass, SecondClass and ThirdModule as separate lifelines and show the message flow from the public interface to the inherited implementation as messages between the lifelines. Thenew
message would be shown as the UML create message (uml-diagrams.org/interaction-message.html#create)
– xmojmr
Nov 23 '18 at 11:18
Thank you this is how I planned to approach it but wasn't sure if it would be correct or not
– Robert Faldo
Nov 23 '18 at 11:45
@xmojmr That would be wrong in this case. There is only one instance, namely the one that inherits. (Just assuming that "<" denotes inheritance)
– Thomas Kilian
Nov 23 '18 at 12:16
|
show 2 more comments
One cannotinclude
classes in Ruby, only modules.
– Aleksei Matiushkin
Nov 23 '18 at 10:03
good catch - edited to be a module
– Robert Faldo
Nov 23 '18 at 10:20
You can model FirstClass, SecondClass and ThirdModule as separate lifelines and show the message flow from the public interface to the inherited implementation as messages between the lifelines. Thenew
message would be shown as the UML create message (uml-diagrams.org/interaction-message.html#create)
– xmojmr
Nov 23 '18 at 11:18
Thank you this is how I planned to approach it but wasn't sure if it would be correct or not
– Robert Faldo
Nov 23 '18 at 11:45
@xmojmr That would be wrong in this case. There is only one instance, namely the one that inherits. (Just assuming that "<" denotes inheritance)
– Thomas Kilian
Nov 23 '18 at 12:16
One cannot
include
classes in Ruby, only modules.– Aleksei Matiushkin
Nov 23 '18 at 10:03
One cannot
include
classes in Ruby, only modules.– Aleksei Matiushkin
Nov 23 '18 at 10:03
good catch - edited to be a module
– Robert Faldo
Nov 23 '18 at 10:20
good catch - edited to be a module
– Robert Faldo
Nov 23 '18 at 10:20
You can model FirstClass, SecondClass and ThirdModule as separate lifelines and show the message flow from the public interface to the inherited implementation as messages between the lifelines. The
new
message would be shown as the UML create message (uml-diagrams.org/interaction-message.html#create)– xmojmr
Nov 23 '18 at 11:18
You can model FirstClass, SecondClass and ThirdModule as separate lifelines and show the message flow from the public interface to the inherited implementation as messages between the lifelines. The
new
message would be shown as the UML create message (uml-diagrams.org/interaction-message.html#create)– xmojmr
Nov 23 '18 at 11:18
Thank you this is how I planned to approach it but wasn't sure if it would be correct or not
– Robert Faldo
Nov 23 '18 at 11:45
Thank you this is how I planned to approach it but wasn't sure if it would be correct or not
– Robert Faldo
Nov 23 '18 at 11:45
@xmojmr That would be wrong in this case. There is only one instance, namely the one that inherits. (Just assuming that "<" denotes inheritance)
– Thomas Kilian
Nov 23 '18 at 12:16
@xmojmr That would be wrong in this case. There is only one instance, namely the one that inherits. (Just assuming that "<" denotes inheritance)
– Thomas Kilian
Nov 23 '18 at 12:16
|
show 2 more comments
1 Answer
1
active
oldest
votes
Though my Ruby is a bit rusted, here's an approach. A class diagram would look like
(assuming that the "<" operator in Ruby is inheritance). ThirdModule
is stereotyped with <<module>>
since it's just a container for some operations and not a real class. This is no standard but something you need to introduce in the domain where you are modeling.
A call to inherited_method
would look like
Note that tools like Enterprise Architect can not recognize the imported operations and will not offer them in the message list to FirstClass
so you need to type it manually.
add a comment |
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53444475%2fhow-to-represent-a-method-call-thats-through-inheritance-in-a-sequence-diagram%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Though my Ruby is a bit rusted, here's an approach. A class diagram would look like
(assuming that the "<" operator in Ruby is inheritance). ThirdModule
is stereotyped with <<module>>
since it's just a container for some operations and not a real class. This is no standard but something you need to introduce in the domain where you are modeling.
A call to inherited_method
would look like
Note that tools like Enterprise Architect can not recognize the imported operations and will not offer them in the message list to FirstClass
so you need to type it manually.
add a comment |
Though my Ruby is a bit rusted, here's an approach. A class diagram would look like
(assuming that the "<" operator in Ruby is inheritance). ThirdModule
is stereotyped with <<module>>
since it's just a container for some operations and not a real class. This is no standard but something you need to introduce in the domain where you are modeling.
A call to inherited_method
would look like
Note that tools like Enterprise Architect can not recognize the imported operations and will not offer them in the message list to FirstClass
so you need to type it manually.
add a comment |
Though my Ruby is a bit rusted, here's an approach. A class diagram would look like
(assuming that the "<" operator in Ruby is inheritance). ThirdModule
is stereotyped with <<module>>
since it's just a container for some operations and not a real class. This is no standard but something you need to introduce in the domain where you are modeling.
A call to inherited_method
would look like
Note that tools like Enterprise Architect can not recognize the imported operations and will not offer them in the message list to FirstClass
so you need to type it manually.
Though my Ruby is a bit rusted, here's an approach. A class diagram would look like
(assuming that the "<" operator in Ruby is inheritance). ThirdModule
is stereotyped with <<module>>
since it's just a container for some operations and not a real class. This is no standard but something you need to introduce in the domain where you are modeling.
A call to inherited_method
would look like
Note that tools like Enterprise Architect can not recognize the imported operations and will not offer them in the message list to FirstClass
so you need to type it manually.
answered Nov 23 '18 at 13:55
Thomas KilianThomas Kilian
24k63864
24k63864
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53444475%2fhow-to-represent-a-method-call-thats-through-inheritance-in-a-sequence-diagram%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
One cannot
include
classes in Ruby, only modules.– Aleksei Matiushkin
Nov 23 '18 at 10:03
good catch - edited to be a module
– Robert Faldo
Nov 23 '18 at 10:20
You can model FirstClass, SecondClass and ThirdModule as separate lifelines and show the message flow from the public interface to the inherited implementation as messages between the lifelines. The
new
message would be shown as the UML create message (uml-diagrams.org/interaction-message.html#create)– xmojmr
Nov 23 '18 at 11:18
Thank you this is how I planned to approach it but wasn't sure if it would be correct or not
– Robert Faldo
Nov 23 '18 at 11:45
@xmojmr That would be wrong in this case. There is only one instance, namely the one that inherits. (Just assuming that "<" denotes inheritance)
– Thomas Kilian
Nov 23 '18 at 12:16