tagged by: uml

How Standard is Standard UML?

What does it mean to have a standard UML, and why the standard doesn't standardize as many things as people think it does..

by Martin Fowler

Mar 1999

Read more…

uml distributed computing magazine

Defining the UML Kernel

At UML World in 2000 we had a panel discussion on whether we should have a kernel for the UML. SD Magazine turned it into a surprisingly coherent article (there's nothing like a good editor!) Take a look to see how frighteningly small I would make the kernel.

Scott Ambler, Peter Coad, Martin Fowler, Cris Kobryn, moderated by Roger Smith

1 Oct 2000

Read more…

uml

Aggregation And Composition

Few things in the UML cause more consternation than aggregation and composition, in particular how they vary from regular association.

by Martin Fowler

17 May 2003

Read more…

bliki

uml

Ball And Socket

One of the new notations that appeared in UML 2 was the socket notation to show interfaces required by a class. The origins of this was the 'lollipop' notation that was popularized by Microsoft to show a class implementing multiple interfaces. So I can show that the Array class implements multiple interfaces like this.

by Martin Fowler

3 Feb 2005

Read more…

bliki

uml

Collections On Class Diagrams

Lets say you have an album class which has an ArrayList of tracks. How do you show this in a UML class diagram?

by Martin Fowler

12 May 2003

Read more…

bliki

uml

Dependency And Association

What is the difference between dependency and association?

by Martin Fowler

17 Sep 2003

Read more…

bliki

uml

Derived Information

How do you represent derived information in the UML?

by Martin Fowler

25 Dec 2003

Read more…

bliki

uml

Include And Extend

UML use case diagrams define a bunch of relationships between use cases. The two best known are include and extend. There seem to be more questions on these two relationships than on any other part of use cases, perhaps even anything in the UML.

by Martin Fowler

5 Jun 2003

Read more…

bliki

uml

Local Variables In Class Diagrams

How do you show local variables (parameters, temps etc) on UML class diagrams?

by Martin Fowler

6 Oct 2003

Read more…

bliki

uml

Model Driven Architecture

Some people think that Model Driven Architecture (MDA) will be biggest shift in software development since the move from assembler to the first high level languages. Others think that it's nothing more than Night of the Living Case Tools. I'm in the latter camp but feel the need for more than a slick saying.

by Martin Fowler

2 Feb 2004

Read more…

bliki

uml

Model Driven Software Development

Model Driven Software Development (MDSD) is a style of software development that considers itself as an alternative to the traditional style of programming. The approach centers itself on building models of a software system. These models are typically made manifest through diagrammatic design notations - the UML is one option. The idea is that you use these diagrams, to specify your system to a modeling tool and then you generate code in a conventional programming language.

Multiplicity Not Cardinality

When data modeling methods talk about relationships, they use the term cardinality to indicate how many entities may be linked together. So you might have a relationship between order and customer and say that the cardinality of the relationship is one-to-many. Or you might hear that the cardinality of customers for an order is 0-to-many.

by Martin Fowler

12 Aug 2003

Read more…

bliki

uml

Platform Independent Malapropism

One of the big claims about Model Driven Architecture (MDA) is that it allows you to develop a system in a Platform Independent Model (PIM) that can then be transformed into Platform Specific Models (PSM) for technologies such as .NET or Java. An alert reader should say to this: “hang on a moment, isn't the whole point of Java to be platform independent? So why would I want some platform independent technology that generates another platform independent technology?”

by Martin Fowler

12 Sep 2003

Read more…

bliki

uml

Uml Activity Diagram

In UML Distilled, I bemoaned the fact that there isn't a good book on teaching UML's activity diagrams. There still isn't, but I recently came across Conrad Bock's articles on UML 2.0 . Amongst these there is a series of articles on activity diagrams that go into more depth than I was able to cover in Distilled. (For those who don't know, Conrad Bock is one of the leaders of the activity diagram work in UML 2.)

by Martin Fowler

8 Mar 2005

Read more…

bliki

uml

Uml As Blueprint

For a long time engineering influenced software processes have looked for a way to express software designs in such a way that the designs can be handed off to a separate group to write the code, much as blueprints are used in building bridges. This would allow rare and expensive software designers to concentrate on the blueprints while many cheaper coders concentrate on construction.

by Martin Fowler

28 May 2003

Read more…

bliki

uml

Uml As Notes

Yesterday I was poking around a code base, looking at the domain model part of the code. When exploring a code base, I like to take notes to help me remember what I'm learning. For some code bases, in particular domain models, I find it handy to sketch UML class diagrams.

by Martin Fowler

28 Apr 2011

Read more…

bliki

uml

Uml As Programming Language

If you can detail the UML enough, and provide semantics for everything you need in software, you can make the UML be your programming language. Tools can take the UML diagrams you draw and compile them into executable code.

The promise of this is that UML is a higher level language and thus more productive than current programming languages.

by Martin Fowler

28 May 2003

Read more…

bliki

uml

Uml As Sketch

In this UmlMode developers use the UML to help communicate some aspects of a system. As with blueprints you can use sketches a forward engineering or reverse engineering direction. Forward-engineering draws a UML diagram before you write code, while reverse-engineering builds UML from existing code in order to help understand it.

by Martin Fowler

28 May 2003

Read more…

bliki

uml

Uml Mode

While I was looking at UML 2, it occurred to me that people differ about what should be in the UML because there are differing fundamental views about what the UML should be. As I thought about this, I came up with three primary classifications for thinking about the UML: UmlAsSketch, UmlAsBlueprint, and UmlAsProgrammingLanguage. (Interestingly Steve Mellor independently came up with the same classifications.)

by Martin Fowler

28 May 2003

Read more…

bliki

uml

Uml Sketching Tools

I draw a lot of UML diagrams, but I don't use CASE tools. The reason is that I'm interested in UmlAsSketch, not in all the repository stuff. So far my regular choice has been Visio. Although Visio comes with UML templates I don't use the built in ones - I prefer those of Pavel Hruby.

by Martin Fowler

16 Jun 2004

Read more…

bliki

uml

Uml2

Last week the OMG adopted the superstructure document for UML 2. In practice this means that UML 2 is agreed on. There are numerous changes to the UML in UML 2 - it represents the biggest overhaul to the UML since the UML was originally agreed on. For general users the most obvious changes are probably:

by Martin Fowler

8 Jun 2003

Read more…

bliki

uml

Unwanted Modeling Language

The UML means different things to different people, which is why I find the notion of people using a different UmlMode useful. Most people I talk to are interested in UmlAsSketch and this group isn't very impressed with UML 2.

by Martin Fowler

3 Nov 2003

Read more…

bliki

uml

Use Case

Use cases are a technique for organizing and eliciting requirements. They were originally popularized by Ivar Jacobson in the late 80's and early 90's.

by Martin Fowler

3 Aug 2004

Read more…

bliki

requirements analysis uml

Use Cases And Stories

What is the difference between a UseCase and XP's UserStory?

by Martin Fowler

18 Aug 2003

Read more…

bliki

requirements analysis uml


All tags

API design · agile · agile adoption · analysis patterns · application architecture · application integration · bad things · board games · build scripting · certification · collaboration · computer history · conference panels · conferences · continuous delivery · covid-19 · data analytics · data mesh · database · design · dictionary · distributed computing magazine · diversions · diversity · documentation · domain driven design · domain specific language · domestic · encapsulation · enterprise architecture · estimation · event architectures · evolutionary design · experience reports · expositional architectures · extreme programming · front-end · gadgets · generative AI · ieeeSoftware · infodecks · internet culture · interviews · language feature · language workbench · lean · legacy modernization · legal · metrics · microservices · mobile · noSQL · object collaboration design · parser generators · photography · platforms · podcast · popular · presentation technique · privacy · process theory · productivity · programming environments · programming style · project planning · recruiting · refactoring · refactoring boundary · requirements analysis · ruby · security · talk videos · team environment · team organization · technical debt · technical leadership · test categories · testing · thoughtworks · tools · travel · uml · version control · web development · web services · website · writing

2024 · 2023 · 2022 · 2021 · 2020 · 2019 · 2018 · 2017 · 2016 · 2015 · 2014 · 2013 · 2012 · 2011 · 2010 · 2009 · 2008 · 2007 · 2006 · 2005 · 2004 · 2003 · 2002 · 2001 · 2000 · 1999 · 1998 · 1997 · 1996

All Content