CSC/ECE 517 Summer 2008/wiki2 3 uml: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 53: Line 53:
[http://www.geocities.com/siliconvalley/network/1582/uml-example.htm UML By Examples]
[http://www.geocities.com/siliconvalley/network/1582/uml-example.htm UML By Examples]


While a less sophisticated group of examples than the link before it, it does take psuedo-code and other more esoteric examples to be
While a less sophisticated group of examples than the link before it, it does take psuedo-code and other more esoteric examples are included.  These are less instructive but can cover corner causes.  This does not have examples that are Java or Ruby specific.


===Discussion and Related Subjects===
===Discussion and Related Subjects===

Revision as of 02:57, 8 July 2008

Introduction

UML. There are literally hundreds of pages describing UML on the Web. If someone wants to learn about it, what should (s)he do? Look at the first few hits in Google? I expect we can do better than that. Write a review of the MVC sites on the Web. Which are best for learning about the concept? Which have the most instructive examples? Which are best for explaining how to apply UML in Ruby and Java? If you choose this topic, you should be sure to peruse at least several dozen sites.

What is UML

Introductions and Overviews

These links function are our introduction to the world of UML modeling. If someone didn't know what the subject was or had only the most rudimentary understanding of what was being discussed or asked for these would be a good source of starting information. Several of them serve as basic tutorials into the use and structure of an UML document, going into common components and simple designs. The seven main types of diagrams it is typically used for is Use-Class, Class, Sequence, State Chart, Activity, Component, and Deployment.

Wikipedia UML Article

A Wikipedia article is typically an informative article which gives a brief definition of a subject and the history that is currently associated with it. As only a brief overview, it lacks more than a few basic examples and does not provide any information that is language specific. Further links are provided but each provide only more clarification and less instruction. While generally a fair source of information, though the veracity on debatable or obscure topics can be questioned, it is not recommended as a learning tool.

Practical UML™: A Hands-On Introduction for Developers

The title is a good summary for the the guide. It is a brief description of why UML is important starts this introductions. This is particularly important as it gives us a good idea what we would use UML modeling for and what you gain by using it. It has a brief discussions of use cases, classes, sequences, and other objects that can be modeled using UML. Each includes an illustration and a basic example. It covers a number of the most important uses of UML and how they are implemented. While it may not deal with interpretation or anything language specific, it does deal with most types of objects that are used in Java and Ruby.

Allen Holub's UML Quick Reference

This is less of an introduction for those who are unfamiliar and more a reminder for those who are experienced and need to recall specifics. It covers a large number of specific type of objects and connections you would be using to define the UML. It has a significant coverage of the design symbols that are associated with object oriented and basic modeling. If you were familiar with the proper methods of design, this would certainly be a solid reminder for working with UML. Again this is dealing with object oriented design without any real specific language or interpretation so that it would function with Java and Ruby but is not modified for them.

UML basics: An introduction to the Unified Modeling Language

The article by IBM is a basic overview of UML. It starts with a basic description of UML and then moves into the seven types of diagrams. It covers each in a simple and straight forward manner. Each type includes a description, example, and the necessary elements to construct the diagram and the corresponding UML. The examples are easy to understand though they lack depth. More complicated examples would prove more useful. There are no object oriented aspects beyond the basic discussion of objects to be diagrammed so this doesn't deal with Ruby or Java specifically.

Advanced Topics and Examples

Once one has a basic understanding of UML has been gained with an introduction, there are more advanced topics and examples that can cover the topics previously introduced.

Unified Modeling Language Resource Page

This is the homepage of the organization that defines the UML standard, the Object Management Group. This site contains all the basic information that you would need to implement UML as well as a number of links to other tutorials that are slightly less dense. This is the most comprehensive source of information about UML, though it is not structured in a straight forward manner. There are white papers that detail any aspect of UML that you would wish to know about. The examples are less straight forward than some of the sources when they are presence or absent entirely. A number of more straight forward tutorials are linked from this page which helps partially. No real distinction is drawn between languages for UML, rather focusing on Object Oriented Implementations in general. This could be said to apply to Ruby and Java as they are primarily object oriented languages.

Unified Modeling Language (UML) Tutorial

UML Tutorial

Visual Case Tool - UML Tutorial

Each of these tutorials encompass the breadth of UML. Providing significantly more details for each sort of diagrams and how they are used. Complex examples and subcategories of diagrams are discussed more fully. These would serve as a good breadth of knowledge in order to start using UML. These would work well for Ruby or Java, though there is little in the way of specializations.

Architecture and Design: Unified Modeling Language (UML)

This link is a collection of articles and resources for UML, though it was primarily concerning an earlier revision of the spec. It contains a wide range of articles covering the breadth of UML. While this does provide a significant amount of resources, the site has fallen into disuse and a number of the links are broken. It would have been the optimal site for discussion of Java and Ruby, but unfortunately it was left to "rot" before Ruby came to the fore and Java seemed only to be mentioned as a metaphor for object-oriented design.

IBM Rational - Unified Modeling Language

This link is the IBM repository for information, articles, and resources regarding UML. It encompasses a number of white papers and examples, as well as the IBM products that use or interprets UML. The Rational Developer utilities uses UML for designing software and projects, and transfer that information between instances. While the rational suite will work for both Ruby and Java, they are slanted towards Java. The articles cover Java UML more throughly as well.

UML 2 Class Diagrams

This is deals primarily with examples and drawing of UML diagrams. It breaks it down to each of the major components that would go into the diagram. These provide descriptions for each of the components and how they are used for each of the types of diagrams. These are some of the most instructive examples that are not language specific.

UML By Examples

While a less sophisticated group of examples than the link before it, it does take psuedo-code and other more esoteric examples are included. These are less instructive but can cover corner causes. This does not have examples that are Java or Ruby specific.

Discussion and Related Subjects

Java and UML

UML Forum

Object Oriented Training and UML