0

I need insight on how much UML to teach. I'm an adjunct for a "2-credit 100-level introductory course" on systems analysis and design (a contradiction in terms to me). The text is written for the typical 300-level 3-credit class. This chapter covers ~7 UML diagrams, it's already extremely simplistic, and I have to strip it down further. I have one week, or two class hours, to cover it.

I've concluded I can either trash the book and cover class diagrams well, which would introduce them to a lot of basic OO concepts, or I can simply aim for basic recognition of these 7 diagrams (not even expecting them to create any). But I feel like basic recognition would so totally skim the surface as to be useless for these brand-new programmers and the diagrams would run together meaninglessly. Advice greatly appreciated.

The 7, by the way, are: object relationship, use case, class, sequence, state transition, activity, and business process modeling.

redeveloper
  • 119
  • 7
  • 1
    If you are teaching UML it seems like a good idea to get at least the terminology correct. "object relationship diagram" and "business process modelling diagram" are not existent in UML. – Geert Bellekens Mar 09 '15 at 06:54
  • Maybe a language problem and he actually means "learn" rather than "teach"? – qwerty_so Mar 09 '15 at 08:42
  • 1
    No, it's definitely a teaching question. But not one that belongs here. – Uffe Mar 09 '15 at 14:44
  • I would recommend to show students [examples of ALL UML diagrams](http://www.uml-diagrams.org/index-examples.html) + BPMN and then focus deeper on what they find useful/interesting – xmojmr Mar 10 '15 at 06:43

2 Answers2

0

There are several UML elements that map easily to code and are therefore straightforward to use as design elements.

  1. Package diagram (translates to namespaces).
  2. Class diagram (translates to classes in OO languages).
  3. State machine (translates to any number of state-based implementations).
  4. Sequence diagram (shows chronology of method invocations).

I would say that this is the minimum useful set of UML elements to teach. If you have time, I would also encourage people to learn use case diagrams, although many people find text documents just as effective for that type of analysis.

Bruce
  • 2,230
  • 18
  • 34
0

I would recommend to focus on class diagrams. They are the most useful type of UML diagram for analysing, designing and documenting (the information, or state, structure of) a software system. You could show how class diagrams define

  1. the properties of an object type, both data-valued attributes and object-valued reference properties (representing unidirectional associations).
  2. if a property is single-valued or multi-valued (by its multiplicity)
  3. other property constraints
  4. inheritance relationships in class hierarchies

You could show how classes can be used for conceptual information modeling (also called domain modeling) in the analysis phase, where they define the real-world object types, and for design modeling in the design phase, where they define platform-independent computational constructs to be implemented in some target programming language.

Gerd Wagner
  • 5,481
  • 1
  • 22
  • 41