Talk:Unified Modeling Language

From Wikipedia, the free encyclopedia

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
This article is related to Wikipedia:WikiProject Method engineering.
Please note that the use of Wikipedia to host this project has been questioned. Please read this discussion and, if you wish, contribute your thoughts there.
Unified Modeling Language was a good article nominee, but did not meet the good article criteria at the time. There are suggestions below for improving the article. Once these are addressed, the article can be renominated. Editors may also seek a reassessment of the decision if they believe there was a mistake.

Reviewed version: August 3, 2008

Previous discussions: /archive01

Contents

[edit] Rephrasing paragraph (Ontology languages)

UML uses a graphical notation which has text equivalents in Java and other Object-oriented languages, and also ontological equivalents which are high-level enough to merit articles in Wikipedia.

This paragraph needs to be rephrased to remove the self-reference, but I can't think how to do it right now. Edward 08:33, 9 Jul 2004 (UTC)

Technical note: I've moved this comment to the new section "Rephrasing paragraph (Ontology languages)" — Ligulem | Talk 09:55, 10 November 2005 (UTC)
The paragraph at the moment is (in section "A graphical notation):

UML uses a graphical notation which has text equivalents in Java and other object-oriented languages, and also equivalents in high-level ontology languages which are discussed elsewhere. To show the degree of development of this language, it is possible to state concepts such as political processes in UML notation. Thus, it is possible to translate these schemas into executable programming.

I think the self-reference mentioned refered to "...to merit articles in Wikipedia." If I'm right, the self reference no longer exists – although improvements are still possible.
Ligulem | Talk 10:44, 10 November 2005 (UTC)

[edit] Third generation

What does 'third generation' mean in this context ? --Taw

Third generation means that there were previous generations of Object-modeling languages, first -- OMT, Booch, OOSE. Second: Fusion, OORAM, and Third: UML. Mjchonoles 11:46, 25 October 2005 (UTC)
See also Object modeling language --Ligulem 22:57, 26 October 2005 (UTC)

[edit] Is UML the only modelling language?

The link "modelling language" links to this page on UML, suggesting that UML is the only modelling language in existence. Can an Administrator please fix this redirect to point to a stub for modelling language so I can include other modelling languages like Petri nets along with UML? Thanks. Vonkje 18:27, 8 Jun 2005 (UTC)

[edit] This article needs some work

Just some friendly criticism:

This article seems much "choppier" than most in Wikipedia. For instance, why so many major headings with one or two sentences in them? These should be consolidated and grouped logically. (See Use subheads sparingly.)

Also, please be careful to maintain a neutral point of view.

Finally, the writing gets very vague at times. Some of the worst sentences in terms of clarity are also the most negativaly biased, so cleaning up one will help fix the other.

I've made some fixes but I don't want to do it all, in order to maintain the community effort here.

--Glenford 19:09, 12 August 2005 (UTC)

I've also made some fixes, but the article needs a lot of more serious rework. For example, more than half of the article was written about UML 1.x and is now outdated by UML 2.0. For example, the activity diagram is now incorrect, the names of the diagrams are incorrect, and several new diagrams have been added. There also seems to be a problem with neutral point of view. --Mjchonoles 03:26, 28 August 2005 (UTC)

[edit] Eschew Cutesy Underexplained Anecdotes?

Re "Representatives of competing Object Technology companies were consulted during OOPSLA '96, and were won over by Rumbaugh's a cappella rendition of his version of Joni Mitchell's "Clouds"." - I'm sure this is a heartwarming memory for those who were there, but it's pretty meaningless to me and, I'd guess, the rest of non-OOPSLA-attending humanity. I don't think it adds to the understanding of the development of UML, and seems to me gratuitous. In-jokes pretty much by definition exclude those outside; perhaps something like "Representatives of competing Object Technology companies were consulted during OOPSLA '96, and Rumbaugh's views prevailed" might come across a little less in-jokey? Or, if the anecdote is deemed important, perhaps a little further fleshing out might make it more accessible?

[edit] What happened to the diagrams?

Not that they were great, but an article on UML should have many diagrams? Now they are gone? Mjchonoles 22:19, 20 September 2005 (UTC)

They appear to have had no licensing information, and were therefore deleted in case they were a copyright violation. - IMSoP 22:28, 20 September 2005 (UTC)

I thought there was a policy of warning before they disappeared Mjchonoles 04:38, 21 September 2005 (UTC)

[edit] Open source and Free Software UML Modeler

I'm deleting the new section 'Open source and Free Software UML Modeler', added by 194.3.130.190.

The deleted section is:

==Open source and Free Software UML Modeler ==

All UML tools should go to the associated article List of UML tools (link to 'List of UML tools' is in the 'See also' section of the UML article). Please add them to List of UML tools (see also Category:Lists of software to compare with the style of other lists. See also Talk:List of UML tools).

--Ligulem 08:57, 3 November 2005 (UTC)

[edit] Moving diagrams into own articles

I've just been so bold to move and merge the content of some of the diagrams sections into existing separate articles:

My motivation for this was:

  • I fear that the article Unified Modeling Language can get too big if every diagram is described here. I would propose to create a separate article for each diagram kind as soon as we have enough material or the diagram kind is noteworthy enough.
  • The target articles already existed (but we can also create new ones for other diagram kinds)

I hope you agree. If not, drop an note here and revert. Thanks! – Ligulem | Talk 08:54, 29 November 2005 (UTC)

I've also moved section "Class Diagram" to the article Class diagram. Class diagram was a redirect to Unified Modeling Language. – Ligulem | Talk 09:45, 29 November 2005 (UTC)

I've just started to add some new detailed diagrams, starting with the Use case diagram, to try and bring out more of the notation detail. I'm using a commercial modelling tool for these, and the look and feel is quite different from the existing diagrams. I'd be quite happy to re-do the existing diagrams to make this more consistent, however also conceed that having diagrams from a variety of tools may be more balanced. What is the view on this?

As I'm concentrating on diagrams and notation, I'm putting in just enough text to explain the diagram contents, but there will be room for improvement. Should I notice that the text has become inconsistent with the diagram, or see comments about the validity or suitability of the examples then I'll try and update the diagrams to match. --FredThwaites 01:35, 14 August 2007 (UTC)

[edit] New Category Unified Modeling Language

I've created a new Category Category:Unified Modeling Language. Unified Modeling Language is the main article for this new category.

If you want to make a link to that category, please put [[:Category:Unified Modeling Language]] (note the initial ":" char). If you want to add an article to the category, please put [[Category:Unified Modeling Language]] (without the initial ":" char) somewhere at the bottom of the wiki source of the article.

Thanks to all contributors! – Ligulem | Talk 08:28, 30 November 2005 (UTC)

[edit] 4+1 views

The Modelling section talks about functional, object and dynamic models, which isn't a prominent feature of anything I was taught about UML. Is there a source for this? I would consider replacing this with the "4+1" views of Philippe Kruchten's seminal paper of 1995, which as I understand it was important in the development of the RUP and UML. I'm surprised to see no mention of Kruchten in the article. Here's the reference:

  • Kruchten, Philippe. "Architectural Blueprints—The “4+1” View Model of Software Architecture." IEEE Software 12 (6), November 1995, pp. 42-50.

Or maybe my idea of this paper's importance is overstated (I notice it's not mentioned in the Kruchten article either). Am I off-base? · rodii · 23:29, 24 February 2006 (UTC)

[edit] ICON Computing

To whom it may concern,

ICON Computing could be a reference to one of several companies; the link in the article currently points to a disambiguation page. If you have additional information on the company referred to in the article, please feel free to contact me via my talk page.

Cheers, Folajimi 19:06, 26 February 2006 (UTC)

[edit] Superstep

Can someone check that page and decide if it needs to be merged or deleted if it's not important. I'm not sure. Thanks. GfloresTalk 05:40, 6 April 2006 (UTC)

Yes, there's no need for an entirely new page for superstep. I added a merge tag for now. The Rod (☎ Smith) 02:44, 9 April 2006 (UTC)
Hmm. I'm not so convinced to merge Superstep into here. I would prefer to keep this article here more on a bit higher, more overview kind of level and describe UML details (if needed at all) in separate articles (as has been done for the various kind of diagrams). Although I must say Superstep is a bit special here. I don't see how it fits well and where. Can we not simply leave it as it is for now? Does it really hurt that much if we keep Superstep separate for now? Or has someone a better idea? AfD'ing of Superstep seems a bit harsh to me. --Ligulem 09:02, 9 April 2006 (UTC)
OK. I didn't think "superstep" was a separate type of diagram, but rather a UML element to use within another diagram, e.g. in an activity diagram. I'll refrain from AfDing it until somebody who knows more about it expands the article or otherwise chimes in. The Rod (☎ Smith) 06:19, 13 April 2006 (UTC)
So can we delete the merge tag on the UML article, it's very confusing.Mjchonoles 07:12, 22 April 2006 (UTC)
Seconded. So I've removed the tag for now. --Ligulem 10:12, 22 April 2006 (UTC)

[edit] Introduction

The recently added fourth paragraph in the introduction is just... what? I don't know. I'm sure it's well-written and technically accurate, but my eyes glaze over before I even begin to understand it.

I suggest someone with a longer attention span ensures that the intro is pithy and free of TLAs, with the more detailed stuff moved to a new section further down. 130.88.185.115 04:15, 26 April 2006 (UTC)

I have to say that I support this view, even though I understand most of it it does little to help those that don't. This warrants a more verbose explination further down --FredThwaites 23:19, 11 July 2006 (UTC)

[edit] MoLIC

User:212.219.27.109 keeps adding a link to non-existant page MoLIC [1], [2]. Could you please explain what this abbreviation is meant for? What should that missing article contain? --Ligulem 11:37, 20 May 2006 (UTC)

[edit] Unintentional humor with density of TLAs

When I got to the end of the lead section, I thought I was reading an Uncyclopedia article. It sounds like it's making fun of the buzzwordiness of UML with its high density of TLAs. Consider this paragraph:

In the initial MDA view, PIMs and PSMs may be expressed in the UML language. It is also possible to transform a UML model serialized in XMI into a Java or EJB implementation by using a Model Transformation Language or MTL. The standard way recommended by OMG for achieving this is to use the newly defined QVT standard. UML has also an optional graph navigation and constraint language called OCL; in its navigational aspect this has a similar relationship to UML as has XPath to XML.

Is there somebody who understands UML well enough to rewrite this, but is not so immersed in the jargon that they can't speak English anymore? I realize these are at odds with each other. rspeer / ɹəədsɹ 14:17, 24 May 2006 (UTC)

:-).Copying that paragraph without the links is rather unfair, so I took the opportunity to add them in your post. Is it too much to ask the reader to follow those links? Those TLAs (Three letter acronyms – bah, you did it yourself!) are part of the cult around UML. --Ligulem 17:47, 24 May 2006 (UTC)
I completely agree with Ligulem's position. When we give a correct pointer, it is not a problem to add maany TLAs. We could even add some more in the referenced text like MOF. I find it much less a problem than the added list of commercial references that are often very marginal to many articles. —Preceding unsigned comment added by 218.102.146.250 (talk)
In the mean time I've experimented with adding explanations/definitions in footnotes for those TLAs with the idea that the information is hopefully more self contained then, especially if someone does a printout of the article. Since nobody complained so far, they are still in the article :). Although I must admit this is not quite wikipedia-standard-style. Comments/ideas/improvements are always welcome. --Ligulem 08:11, 25 July 2006 (UTC)
The footnotes are a nice try, but now the intended audience (someone who doesn't know what UML is) can't read and understand the text without jumping up and down the page. Also, expanding a meaningless three-letter acronym into a meaningless three-word buzzword doesn't communicate much anyway.
And yes, it is too much to ask the reader to follow so many links. The first few paragraphs should answer some basic questions: What is UML, how is it used, and why is it used? rspeer / ɹəədsɹ 09:43, 8 August 2006 (UTC)

I removed the following from from the article:

In the initial MDA[1] view, PIMs[2] and PSMs[3] could be expressed in the UML language. It is also possible to transform a UML model serialized in XMI into a Java or EJB[4] implementation by using a Model Transformation Language or MTL. The standard way recommended by OMG for achieving this is to use the newly defined QVT[5] standard. UML has also an optional graph navigation and constraint language called OCL;[6] in its navigational aspect, this has a similar relationship to UML as XPath has to XML.[7]

for now. I think this is the worst TLA offender :). Rewrites are welcome. --Ligulem 14:48, 8 August 2006 (UTC)

[edit] Listing UML tools or not

There is currently (once again) a discussion on what UML tools to list on pages like list of UML tools (see history). There is also a discussion whether articles like WinA&D should be deleted (AfD discussion is going on here → Wikipedia:Articles for deletion/WinA&D). Please consider commenting on that AfD. Thanks. --Ligulem 07:38, 7 June 2006 (UTC)

[edit] Reasons for not promoting

Hi all,

I am not promoting this article to good article status because I found parts of the article (mainly the History and lead) to be very convoluted. The lead especially reads like buzzword heaven. That said the Modelling, Diagrams and Concepts sections really helped build a good picture of what UML is (though you might what to expand the Concepts section). Please consider rewriting the lead to better help newcommers understand UML. Once this has been done feel free to renominate this article for promotion.

Cedars 07:40, 3 August 2006 (UTC)

  • I am working towards this goal. The biggest problem I see so far is that many sentences contain more than one separate thought. This isn't a problem of any particular contributor, just that as the article evolves and more folks add their valuable input, the overall readability degrades. Improved readability comes from placing separate thoughts into their own simple sentences. HTH Brick Thrower 09:41, 24 August 2006 (UTC)

[edit] Criticism

(This is about the section "Criticism"). I fear we do start to scratch the edges of WP:NPOV with that section. "Unfortunately the formalism proposed to restrict the syntax and semantics of UML to a particular domain (the so-called profile mechanism) is particularly badly designed" (emphasis added). "badly designed" — does anyone have a source (WP:RS) for that? We should and can incorporate strong opinions, as long as these are not opinions of editors (WP:NOR). --Ligulem 20:42, 29 September 2006 (UTC)

The bullet point "Only the code is in sync with the code", cites the work "Code as Design: Three Essays by Jack W. Reeves" as a criticism of UML. I've just read these great works and he is not criticizing UML. Mr. Reeves explicitly states that his position is that the design is not finished until the the code is done. This work should be interpreted as criticism of a "Waterfall" or other development method that considers design as an independent process from coding. Fatespeaks 03:04, 31 July 2007 (UTC)

[edit] Reference needed

There are several papers stating the strong limits of UML 'profiles even in the latest UML 2.0 version. Should not be too difficult to find the most relevant. See for example the work of Prof. Henderson Sellers. Cleany 06:59, 2 October 2006 (UTC)

Thanks for the pointer. At the risk of asking the obvious: Could you add a reference to the article about that? (Since you seem to have access to the work of Sellers). Or you can state the details of the book here (please fill in what you know):
{{cite book|last=Sellers |first=Henderson |coauthors= |title= |year= |publisher= |location= |id=ISBN |pages= <page number> }}
and I add it to the article (in case you are unsure about the wiki-technical oddities). --Ligulem 08:20, 2 October 2006 (UTC)

[edit] Inner Classes

Does UML not know inner classes? --Alien4 18:32, 18 November 2006 (UTC)

No, at least not explicitly. An inner class is an implementation detail that is abstracted out at the UML modeling "layer". When a UML tool converts a UML model into an implementation target (C++, Java, etc.), then an inner class is realized if the correct model constructs are in place. Usually, you get an inner class when you use a composition relationship, but it depends upon the target language and the model transformation used. HTH // Brick Thrower 12:36, 19 November 2006 (UTC)
Actually there is notation that would support inner classes, though most tools do not implement it. On a class diagram, when you use a line from a namespace element (e.g., a class or package) with a "(+)" on the namespace end, you are stating that the elements on the other end are defined within that namespace. The symbol looks like a circle divided into quadrants. Of course, there are no multiplicity on the inner class end, however an additional composition relationship may be used to indicate that the inner classes have instances within the namespace. Multiplicity could also be indicated on a composite structure / inner block diagram.

Mjchonoles 23:59, 19 November 2006 (UTC)