What UML diagram should use to model detailed activities with data elements?

Hi,
I am trying to describe the flow, logic and detailed data elements on the screens for developing particular functionality . The diagram for this functionality design is for business audience. Should i use UML diagram like use case, activity diagram, etc for this situation? I coudn't find the suitable diagram to use.

Please help. Thanks a lot.

kate
kate_yAsked:
Who is Participating?
 
uggelConnect With a Mentor Commented:
Hi Kate,

Ok, so we have arrived with a couple of Communication diagrams with calls between Boundary, Control and possibly Entity objects(aka Analysis objects). Now all you want to do is to show the GUI-mechanics when a user interacts with it and  the approximate effect this has behind the GUI. The first you achieve with UC and a prototype. The second you have achieved with Comm-diagrams.

To arrive at a correct deployment diagram you would need to break down the Analysis objects further into classes and then package them and finally realize Packages with Components. Each Component represents an executable ie. EXE/DLL which is then put into Nodes that represent a computer/server. The Deployment diagram shows the binaries and databases deployed on computers/servers (Nodes). The Nodes are connected by lines with text like "10Mbit  Ethernet", "ODBC", "XML", "COM" or whatever enlightens certain performance issues and needs that will cost extra money or bother someone at a meeting.

Now, you don't want to do it all the way. Instead you need a shortcut. So make a system overview with a Component diagram with three horizontal swimlanes called "Presentation layer", "Business layer" and say "Data Access layer". Put all Boundary objects in the topmost swimlane, then Control objects in the middle and Entity at the bottom. Now simply connect the objects that have calls between them with associations. This is your overview diagram and shows how much functionality there is. Typically the "Presentaion layer" does not access the "Data access layer" and the objects in the "Presentation" do not access each other.

Next. You now have a feeling for the system. What functionality belongs together? Maybe you start identifying that you have broke down functionality into too many Analysis objects or that they are to coarse. Split or join them and adjust previous diagrams. Avoid too much joining as this will be the next step.

Make a new diagram defining packages. Do this with a Component diagram. Simply group your Analysis objects in packages. Typically a package will not comprise objects from different layers in the overview. Typically you will package objects within a layer that depend closely on each other.

Finally make a Deployment diagram with two swimlanes, "Client" and "Server". Or if the environment is more complicated make more swimlanes named after different sites or departments if relevant. Relevance is determined by what you want to communicate, ie. the database is distributed between sites and we need 100Mbit ethernet in between. Create Nodes(workstations, servers) and place them in within swimlanes. Databases are modeled as Artifacts and placed into a Node.
Start deploying your packages into nodes. Think twice, maybe you need to split a package in two since functionality is distributed. Maybe half of the Entity objects reside on one database server and the other on another one, oops then you maybe need a new Control object to manage the distributed calls. Adjust this and follow through all affected diagrams(who said model driven development was easy :o)

Next connect Nodes with Communication Paths and add text where relevant.

This is a presentation shortcut but really there is no right or wrong way of using UML. Use symbols you find that you need to make your point. But as a rule, do not complicate things. Use few symbols and entities. Choose only one scenario from each UC to model. When finished you will have a good idea of what other scenarios may be relevant.
0
 
surajgupthaCommented:
You could use the Class Disgrams to describe the data elements of a class
To represent the logic and flow you could use Case diagrams or sequence diagrams
0
 
kate_yAuthor Commented:
Isn't these two diagrams are more for developers to review? Do you also use these for business sponsors?

thanks,

kate
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
surajgupthaCommented:
yep you are correct but why would you want the detailed data elements for business users?
If it is just biz users i would rather just show then use case digrams
0
 
kate_yAuthor Commented:
yes, but i want to show the details of the data elements that require user input and based on the input the system will go to different route, e.g. showing different fields on the screen. Those are the business logic.
0
 
surajgupthaCommented:
You could still use User case or colloboration diagrams also.

0
 
surajgupthaCommented:
Check this link. It contains different diagrams that you might be interested in
http://www.smartdraw.com/tutorials/software/uml/tutorial_01.htm
0
 
uggelCommented:
I would guess that Communication diagrams would satisfy business people. Besides the Use Case documentation. Note that Use Case diagrams are worthless, they are just encircled headlines and subsections. A Use Case is a comprehensive documentation with all possible or the most likely scenarios to happen with the system. Actually the diagram of a use case is in fact among the most non-informative diagrams in UML. However the other diagram types do add information in that they add structure, detail and other viewpoints of what is already written in the use case.

So with the use case scenarios you would reach to the communication diagram in no time. See my comment:
http://www.experts-exchange.com/Programming/Theory/UI_Design/Q__22938511.html

Another aspect that biz will be interested in, if the system is not already developed, is a deployment diagram which will enlighten what type of HW is required. Please tell if you would want me to explain further on this subject.

However if it is just the workflow of a GUI that is required, then I would say that Use Case documentaion and a prototype or just pictures would do. Comm-diagrams are nice to have though, but make sure that calls in Comm-diagrams are sentences and not written as method calls.
0
 
kate_yAuthor Commented:
Thank you so much for the suggestions. Sorry i was not able to get back to the site sonner.

ugget,

I do like your suggestion a lot. Please explain further on the deployment diagram.

I appreciate it. Thanks

Kate
0
 
uggelCommented:
By the way. Deployment diagrams are usually what I start with nowadays.
Then I go for the functionals and adjust the deployment diagrams once I know my binaries.

Also Deployment diagrams are popular to start with since often the new system should be integrated or replace something in an existing system. Managers and IT managers in particular like to "design" systems by mapping functionality to sites and computers.
0
 
kate_yAuthor Commented:
uggel.

Wow, this is excellent. I have learned a lot from your message. I really appreciate it. Thank you so much! I may post more related questions while i am working on the project.

Talk to you soon.

kate
0
 
kate_yAuthor Commented:
I really appreciate the answers and suggestions as well as the time Uggel spent to explain.
0
 
uggelCommented:
Thank you Kate,

I'll be checking in regurarly.

/Arnold
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.