Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Need advice on how to document programs

Posted on 2011-10-20
8
Medium Priority
?
407 Views
Last Modified: 2012-05-12
I know basic stuff about UML:
- Use Case
- Activity Diagram
- Class Diagram
- Sequence diagram

All of them seem great to me. I can have a general "vision" or "understanding" of a system or application. But just "general".

Think about this example: a programmer has to deal with an application for the first time. All UML documents that I mentioned will help him to have a general understanding of the system. But one day his boss says to him: "There is a problem with the "payroll process", check it."

The programmer will have to talk with the user and try to understand in which form the user has found the problem. It was Form_Payr.1.2.aspx, when clickling button "Ok". Then programmer will return to his seat and have to review what is going on in Form_Payr.1.2.aspx, what classes and methods are invoked from its vb code, if process is executed in the Business Layer or in stored procedures at database, and finally get what is the problem. The programmer does all of these tasks only with IDE and debugging.

My question are:
- Is there any UML document or diagram that will map what programs (vb or aspx) call what clasess or methods, and what processes they run, so it would be easier or faster to do maintenance.

- Is there any best practice about how document  this kind of maps?
0
Comment
Question by:miyahira
  • 5
  • 2
8 Comments
 
LVL 8

Expert Comment

by:Amit Khilnaney
ID: 37003530
You should try with Visual Studio Team System. They have inbuilt tools / utilities.

Try these links:

http://channel9.msdn.com/Blogs/VisualStudio/Bottom-up-Design-with-Visual-Studio-Team-System-2010-Architect

http://blogs.msdn.com/b/vsarch/archive/2011/04/22/how-to-visualize-and-describe-workflow-using-activity-diagrams-in-visual-studio-2010-ultimate.aspx

I used it while submitting my  project (ASP.NET web application). I still have to use Rational Rose but this was pretty good...
0
 
LVL 8

Expert Comment

by:Amit Khilnaney
ID: 37003539
Diagrams are pretty much created itself. It is easier to track code with VSTS.
0
 
LVL 1

Author Comment

by:miyahira
ID: 37003636
Actually aspx was an example. I no doubt that Team Foundation can help a lot.

But my question was for any program language, could be Java or PHP.

Maybe I'm wrong to say this, but it seems that "code" and "UML diagrams" are two different worlds, and UML doesn't help too much when you have to maintain applications.
0
Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

 
LVL 8

Expert Comment

by:Amit Khilnaney
ID: 37003670
I am not totally through with JAVA or PHP but i have done small projects with these languages. I hate to say this but managing JAVA/PHP code, i haven't seen or there isn't much help avialable to maintain the code with these languages.

However my view towards ASP.NET was changed a lot when i saw those presentations at Microsoft Tech Ed 2010.

UML Diagrams and code works almost together when using Team System.. Try reading a good book or try going through the resource i gave you for start. There are lot of video tutorials on Microsoft tech net if you are interested.

May be with JAVA and PHP there may be different sorts of IDE available which may support this but i am not too sure....
0
 
LVL 8

Expert Comment

by:Amit Khilnaney
ID: 37003679
You may be saying this because job of architect is different from programmer. you have think from architect point of view who is generally much more experienced or have developed so many apps before he/she is assigned a architect role...
0
 
LVL 1

Author Comment

by:miyahira
ID: 37003730
>>You may be saying this because job of architect is different from programmer. you have think from architect point of view who is generally much more experienced or have developed so many apps before he/she is assigned a architect role...

Your are right, but if I were an Architect, I should help for faster maintenance.
0
 
LVL 8

Assisted Solution

by:Amit Khilnaney
Amit Khilnaney earned 400 total points
ID: 37003784
Try going through Team System video , it will definitely help with ASP . net , i am not sure with Java/PHP..

0
 
LVL 18

Accepted Solution

by:
DarrenD earned 800 total points
ID: 37036918
Hi,

I know I'm late in on this question but here's my two cents.

"Maybe I'm wrong to say this, but it seems that "code" and "UML diagrams" are two different worlds, and UML doesn't help too much when you have to maintain applications."

There are efforts being made to make this a reality, however, it is still a bit off from being totally possible.

One effort is Model Driven Architecture (MDA) which is developed by the OMG and another is eXecutable UML (xUML) which has been used for many years and more closely matches code. http://www.kc.com/XUML/executableumldescription.php

One of the problems is the lack of a coding language in UML. You could use OCL but it would probably need a bit of work, then there are those who want a new Action Language which would probably look a bit like C or Java. But this would still mean the programmer has to learn a new language.

This way the model not the code becomes the main body within which you work.

I've used IBM Rational Software Architect (RSA) which allows you to model the different CIM, PIM and PSM which are viewed in UML but you still code with Java and the UML models provide the shell for to program.

I would like to see some advances in building software this way. I think there is an action language being developed by the OMG in conjunction with Kennedy Carter which seems to have changed to Abstract Solutions.

As far as an an architect goes there are different levels, If you are writing a web or desktop application you still have to architect it so that you can reuse as much as possible and procure the tools you are going to integrate into your systems such as if your application required fax functionality or online payment processing or some sort of work flow as you may not want to use WWF in the .NET world. Same goes for a distributed application where you have a client - business - database layers either physical or logical. Then you have an architect who will look at enterprise systems where there may be a lot of separate parts and the architect will be responsible for wiring up these using an Enterprise Service Bus (ESB) or something along those lines using BizTalk again in the Microsoft world or some other application. So not matter what type of system you are building you still need to architect it.

I know this does not exactly match what you were looking for but it may give you some ideas.

Thanks,

Darren



0

Featured Post

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

Question has a verified solution.

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

Ever wonder how to "do" object oriented programming (OOP)?
MSSQL DB-maintenance also needs implementation of multiple activities. However, unprecedented errors can hamper the database management. In that case, deploying Stellar SQL Database Toolkit ensures fast and accurate database and backup repair as wel…
this video summaries big data hadoop online training demo (http://onlineitguru.com/big-data-hadoop-online-training-placement.html) , and covers basics in big data hadoop .
Is your OST file inaccessible, Need to transfer OST file from one computer to another? Want to convert OST file to PST? If the answer to any of the above question is yes, then look no further. With the help of Stellar OST to PST Converter, you can e…
Suggested Courses

810 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