Solved

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

Posted on 2007-11-20
13
775 Views
Last Modified: 2013-11-12
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
0
Comment
Question by:kate_y
  • 5
  • 4
  • 4
13 Comments
 
LVL 21

Expert Comment

by:surajguptha
ID: 20328308
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
 

Author Comment

by:kate_y
ID: 20328886
Isn't these two diagrams are more for developers to review? Do you also use these for business sponsors?

thanks,

kate
0
 
LVL 21

Expert Comment

by:surajguptha
ID: 20329093
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
 

Author Comment

by:kate_y
ID: 20329246
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
 
LVL 21

Expert Comment

by:surajguptha
ID: 20329303
You could still use User case or colloboration diagrams also.

0
 
LVL 21

Expert Comment

by:surajguptha
ID: 20329307
Check this link. It contains different diagrams that you might be interested in
http://www.smartdraw.com/tutorials/software/uml/tutorial_01.htm
0
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
LVL 1

Expert Comment

by:uggel
ID: 20341140
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
 

Author Comment

by:kate_y
ID: 20376487
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
 
LVL 1

Accepted Solution

by:
uggel earned 500 total points
ID: 20378178
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
 
LVL 1

Expert Comment

by:uggel
ID: 20381294
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
 

Author Comment

by:kate_y
ID: 20383713
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
 

Author Closing Comment

by:kate_y
ID: 31410215
I really appreciate the answers and suggestions as well as the time Uggel spent to explain.
0
 
LVL 1

Expert Comment

by:uggel
ID: 20384436
Thank you Kate,

I'll be checking in regurarly.

/Arnold
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Pretext and Context: In this series, I wish to design the data model of systems in question. I will start by defining the scope and boundaries of the system, followed by subsystems involved, then finally the entities in those systems and subsystems…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now