Good old pen and paper is often perfectly adequate for UML programming diagrams, but you may want to also consider electronic approaches. There are plenty of commercial options to choose from, which can be categorized into tools that are purely for creating diagrams and tools that also create the associated code. This online video details some of the better options for using UML tools.
- View Offline
Well, I'm a big fan of doing diagramming work on paper or on a whiteboard, at…least in the initial stages of a project.…It is also worth briefly covering some options for using electronic tools…for your UML diagrams.…Now there are a lot of options here.…Commercial and open source across every platform, and I'll cover a list in a minute.…But your main choice is do you want a tool to help you build the diagrams or do…you want the tool that will actually help you build the code.…If you're just looking for a diagramming or drawing tool you could use…something like Microsoft Visio or OmniGraffle on the Mac, and both of these will…understand UML diagrams.…
There are web-based diagramming tools that can also help you build UML diagrams…like gliffy.com and creately.com, but if you're looking for a bit more than…just a drawing tool you can also have tools that are more Programming tools…that will even help you generate code from your UML diagram Class Diagrams.…And you'll find that these are much more prevalent in the Java, C#, and VB.NET worlds.…
Let Simon Allardice introduce you to the terms—words like abstraction, inheritance, polymorphism, subclass—and guide you through defining your requirements and identifying use cases for your program. The course also covers creating conceptual models of your program with design patterns, class and sequence diagrams, and unified modeling language (UML) tools, and then shows how to convert the diagrams into code.
- Why use object-oriented design (OOD)?
- Pinpointing use cases, actors, and scenarios
- Identifying class responsibilities and relationships
- Creating class diagrams
- Using abstract classes
- Working with inheritance
- Creating advanced UML diagrams
- Understanding object-oriented design principles