127

Can UML be used to Visually Model Algorithm Design?

Workshop 170 minutes

The knowledge of large complex algorithms ordetailed business rules tends to get concentrated in developers heads. This session is a workshop to evaluate using various UML diagramming techniques to visually model detailed algorithmic design.

Bob Mehew

In my work I come up against quite a bit of legacy code (mostly in 'C') that has grown over the years into a massive 'if' statement. As new programmers join the team, the learning curve on how the system works is quite steep and most of the knowledge tends to migrate into the minds of key developers. So I have a desire to model these types of algorithms, first to improve current understanding and second to use as a starting point for future re-design. To that end I have come up with a technique for visually modelling an algorithm in UML using sequence diagrams. The end result is a diagrammatic understanding of:
  • flow of function level code structure of complex low level code,
  • conditional flows
  • iteration loops

  • The workshop will attempt to present this diagramming technique against others used in the industry, and evaluate the techniques as to their usefullness and against each other. Participants are encouraged to contribute their own methods.
     
     

    Bob Mehew (bob.mehew@mmtenergy.co.uk)

    MMT Computing (Energy)
    Gipping House, 5, Dock Street
    Ipswich
    Suffolk
    UK

     +44 (0) 1473 556806

    F +44 1473 692434

    I am a technical architect working for a utilities based software house. We are selling a number of product to a global marketplace. One product is now showing its age in terms of technical deployment and my current focus is to bring this monolithic client server application into the component world by concentrating on design and architecture using UML and RUP.

    Topics

    Benefits

    Participants will be introduced to a simple diagramming technique that encourages software designers to visual model low-level code algorithms.
    Session: Workshop 170 minutes Level: intermediate
    Audience: Analysts, designers or developers who need to record or share detailed understanding of complex algorithms. The pre-requisites are familiarity with UML sequence and/or activity diagrams.  Max 25

    Material

    Powerpoint slideshow to introduce the basic concepts and techniques.

    Delivery

    Samples of each technique will be posted on 'The Wall' for other delegates.

    Format

    Short presentations of the basic techniques, followed by team based development of examples to represent the techniques. Particpants will work on A1 charts to draw diagrams to represent the examples. Conclude with evaluation of effectiveness of the techniques.

    Structure

    20-30 minutes     Introduction of the problem being addressed and the sequence diagram method of addressing the problem.
    25 minutes         Split into teams and use the sequence technique to work through an example. break

    15 minutes         Introduction of the activity diagram method to address the problem.
    25 minutes         Split into teams and use the activity technique to work through an example. break

    15 minutes         Exploration of other techniques to address the problem.
    30 minutes         Split into teams and work through a final example, with teams using the different approaches.
    20 minutes         Evaluation of the techniques and conclusions.


    127

    127