Book a Demo

Author Topic: Modeling Menus  (Read 6965 times)

Thomas Mercer-Hursh

  • EA User
  • **
  • Posts: 386
  • Karma: +0/-0
  • Computing Integrity
    • View Profile
Modeling Menus
« on: June 21, 2007, 09:35:49 am »
In modeling an existing system, the question has arisen of what is the appropriate UML structure to represent menu choices.  In the structure of the code itself, there is a data driven menu program and one can model the links between that program and the code associated with action on each menu choice.  But, that doesn't do a very good job of presenting the kind of information which is represented by the hierarchical structure of the menu itself.

Ultimately, one would like to tie use cases to menu choices and menu choices to code and tables, but I'm not sure what the appropriate structure is to model the menus.

BTW, while this forum is the place I would start for asking a UML question that was not tool-specific, is there another forum which someone can recommend for getting answers to UML questions like this one when one doesn't get an answer from the Sparx forum?

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Modeling Menus
« Reply #1 on: June 21, 2007, 05:05:40 pm »
I should think that a State Chart would be a good way to model menu navigation via transitions and actions.

There is a UML forum in the Yahoo groups that is active.  I think the quality of help is better here, but there are plenty of answers over there. :-/
Verbal Use Cases aren't worth the paper they are written upon.

Thomas Mercer-Hursh

  • EA User
  • **
  • Posts: 386
  • Karma: +0/-0
  • Computing Integrity
    • View Profile
Re: Modeling Menus
« Reply #2 on: June 22, 2007, 06:06:47 am »
I will try out a state chart and see if I can connect it to the code actions.

I can't say that my prior experiences with groups on Yahoo makes me very enthusiastic ... very low signal to noise, or, in this case maybe it should be high noise to signal.  I will check it out for cases where I don't get an answer here, but I will hope there is something else.  The quality here is very high ... but if one doesn't get a response ...

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Modeling Menus
« Reply #3 on: June 22, 2007, 06:56:29 am »
Quote
I will try out a state chart and see if I can connect it to the code actions.
 Don't think you'll be able to do that directly, but it would be a nice enhancement to EA.

I was asserting that statemachines can model the transitions one may make within a menu (which could be a graph or a tree).

I just setup the Action Names for the Transition, Entry, In-state, and Exit actions to be namespace-qualified action references.

Jim
Verbal Use Cases aren't worth the paper they are written upon.

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Modeling Menus
« Reply #4 on: June 22, 2007, 07:25:15 am »
Remember that you actually have two 'things' going on here. You have the structure and behavior of the menu system, in the sense of how the various pieces of the menu are structured and interact with one another and the user. You also have the way in which a given appliation is affected by its menu. Both these perspectives have structure and behavior.

You see this in places like (for example) the .Net Windows Forms library, or some Java frameworks. These encapsulate the former of the above 'things' as well as providing stubs to support (implementation of) the latter. The actual behavior of the overall system is application (or family) specific.

It might be illustrative to try something like disassembly into EA the Windows Forms structures. Try both .Net 2.0 and 1.x (either version). The menu structures changed significantly between major versions of .Net, but the provision for interaction with surrounding systems has been largely preserved.

David
No, you can't have it!

Thomas Mercer-Hursh

  • EA User
  • **
  • Posts: 386
  • Karma: +0/-0
  • Computing Integrity
    • View Profile
Re: Modeling Menus
« Reply #5 on: June 22, 2007, 07:43:38 am »
I get the distinction ... and this is one of the reasons why I am wondering about the best way to proceed.  The customer was initially inclined to create a stereotype for a menu in order to show the linkages in a component diagram, but this felt wrong to me since the program presenting the menu is itself a component and that linkage is already there.  But, I also recognize that one of the purposes they have in getting this model built is to pick any given menu selection and trace down which program components and which data components are involved.  The context is an ERP system with POS in stores, specialty systems in various manufacturing and distribution facilities etc. and they literally have no idea which pieces are necessary in the store.

We are building a tool which will create the components based on the code and the database.  They will build up use cases by interviewing users.  What I would like is some structure which reflects the menu hierarchy (should be able to load that automatically as well) and which can then be connected to the code which executes each selection.

Thomas Mercer-Hursh

  • EA User
  • **
  • Posts: 386
  • Karma: +0/-0
  • Computing Integrity
    • View Profile
Re: Modeling Menus
« Reply #6 on: June 22, 2007, 08:15:06 am »
Looking at State Chart Diagrams, it seems to me that this is not quite what I am looking for.  State Chart to me seems to fit for modeling a process, e.g., the steps one might go through in fulfilling an order.  The components of that process might be connected with given menu selections.  But, what I am really looking for here is a way to model the overall menu system, i.e., what are all the empirical possible menu choices which are presented.  The customer will then develop use cases and business processes on top of that, but at this stage all I really want is the menu tree so that they can ask questions like "when I select the Order Entry function from a menu, which code components and which tables are going to be involved?", i.e., if I want to utilize the Order Entry function at site A, what has to be deployed there.

Thomas Mercer-Hursh

  • EA User
  • **
  • Posts: 386
  • Karma: +0/-0
  • Computing Integrity
    • View Profile
Re: Modeling Menus
« Reply #7 on: July 13, 2007, 02:18:42 pm »
FYI, the forum which was on Yahoo is moving to Google at http://groups.google.com/group/UMLforum/topics
Not a lot of traffic lately, though, other than notices about the move.