Solved

How well do UML and the C language work together?

Posted on 2010-09-13
5
656 Views
Last Modified: 2013-11-12
I'm aware that UML is language-agnostic, but since it was originally developed for OOP, I'm wondering how well it would describe a procedural language like C.   I need to model legacy code, but if not UML, then what?

Thank you.
0
Comment
Question by:fuze44
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 16

Assisted Solution

by:SriVaddadi
SriVaddadi earned 100 total points
ID: 33667242
Are you using Object C? or plain C? It also depends on what you want to draw i mean use-case would make sense but at the same time class diagram may not make sense. Sequence diagram may make some sense.
0
 
LVL 12

Assisted Solution

by:marklorenz
marklorenz earned 200 total points
ID: 33667866
Do you need to create designs for new efforts in C or need to document and add to existing C code designs? In either case, you will want to use a tool - doing this by hand is not feasible in any reasonable size project.  Enterprise Architect (EA) among other tools will reverse engineer as well as generate C code from UML designs.  So, in either situation you should be all set.

There are ways to do OO designs that apply to function-oriented languages.  Take a read of this:
http://www.planetpdf.com/codecuts/pdfs/ooc.pdf

In addition, there are parts of UML and agile (e.g. user stories, collaboration and state diagrams) that apply no matter the language.  Finally, C++ and C# are in the same language family, adding different levels of OO support.  That may be a path you could consider.

Best of luck, Mark
0
 
LVL 12

Assisted Solution

by:marklorenz
marklorenz earned 200 total points
ID: 33667871
0
 
LVL 18

Accepted Solution

by:
DarrenD earned 200 total points
ID: 33673084
Hi,

This is an interesting article on Rhapsody.

http://www.drdobbs.com/184401948;jsessionid=0ZOCMNSXZ3R3LQE1GHPCKH4ATMY32JVN?pgno=1

The company has been bought by IBM since and you can get a trial version here.
http://www-01.ibm.com/software/awdtools/rhapsody/

Just a thought,

Darren
0
 

Author Comment

by:fuze44
ID: 33674318
This effort is to diagram an existing system which is coded in plain C.  The system is very large and complex, and it employs many complex mathematical algorithms.  No one developer can understand it all, so we're wanting to make the parts and the whole more comprehensible to the team.  Abstraction via diagrams would be very helpful.  

Perhaps an OO paradigm applied to this procedural code would be helpful.  Many of the developers here are actually engineers, so it might make concepts more tangible.   Processes and data could be discussed as more distinct entities.

Thanks to everyone for your input and links.  I will read those and follow up with any questions/comments that arise.  I'll also be checking here for additional posts.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

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.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Documentation is a big contentious issue in Agile. There is a reason for this. When you start your presentation on Agile you start by going through the 4 statements of agile manifesto (https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&…
Read about why it is more lucrative for an IT company to participate in government projects.
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…
Progress

696 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