473,324 Members | 2,541 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,324 software developers and data experts.

Best way to write Technical spec for a C++ code

Hi All,
I have a C++ on windows code with no underlying documents. I need to produce the Technical specification for this code, explaining each and every function in the program in terms of both technical and functional.
1.What can be best method to proceed with this kind of projects?
2.What can be the suitable estimation for these docs, if the code is of 3000K lines?
3.How best I can use the Visio tool for this process of reverse engineering ?
4.How can I exactly categorize these documents rather than putting the whole understanding into a single document ?
5.How best the developer new to the system, can best utilize this document for ?
6.I cannot debug the system, nor I have an access to the live system, nor I get the complete trace files of the application in run, all I have is just a dump of code. Is it a challenging task ?

Please advice.
Thanks in advance.
regards,
V.
Oct 20 '08 #1
3 2071
hi,
Can anyone please reply to my post.
Nov 7 '08 #2
donbock
2,426 Expert 2GB
Reverse-engineering the software design of 3000K (3 million!) lines of source code is a really big project. Some questions you should ask yourself follow. I'm not suggesting you post a reply that answers each question. These are just things you should consider. If you don't understand why a question is meaningful, then by all means post a request for clarification.

Is the code well-commented?
Were you part of the team that wrote the code? That is, do you have some preexisting knowledge of the software design? If not, do you have access to any of the people who wrote the code?
Do you have a clear idea of what the code (as a whole) is trying to accomplish?
Is this more of a batch program or a real-time program?
Does this program run on a standard computer or an embedded processor? If the latter, do you have the HW/SW Interface specification?
Does this source code build into an executable program or into a library?

What exactly are you being asked to do?
The simplest task would be to merely document the API for the exposed functions in a library.
Next easiest would be to document the API for all functions.
Hardest is to explain why the software looks like this, the purpose (as opposed to the function) of each function, and relationships between functions.

Are there constraints on what your result has to look like?
Does it have to be a software design document that complies with IEEE or some other specified document format?
Is there certain minimum information that has to be provided?
Does your output have to be pdf, an html tree, or something else?

There are tools out there that can perform static analysis on source code and help you find your way. You might look at doxygen; source navigator. Browse the tools available at gnu.org. Good luck.
Nov 7 '08 #3
Hi,
Thank you very much for your reply.
All your questions does make sense and helped me to explain better to my manager.
I need another help from you, I guess you can surely help me on this.
This application is list of DLL's on Windows. I understand I cant just run these DLL's to test them. I have to have a wrapper program written which can call these DLL's. Can you please advise how can write the wrapper program ?
I am using IDE Microsoft Visual Studio .NET (Microsoft Dev Env ver 7.1,
Microsoft .NET Framework 1.1)

regards,
Venu
Nov 14 '08 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

131
by: Peter Foti | last post by:
Simple question... which is better to use for defining font sizes and why? px and em seem to be the leading candidates. I know what the general answer is going to be, but I'm hoping to ultimately...
136
by: Matt Kruse | last post by:
http://www.JavascriptToolbox.com/bestpractices/ I started writing this up as a guide for some people who were looking for general tips on how to do things the 'right way' with Javascript. Their...
40
by: Neo The One | last post by:
I think C# is forcing us to write more code by enforcing a rule that can be summarized as 'A local variable must be assgined *explicitly* before reading its value.' If you are interested in what...
102
by: Xah Lee | last post by:
i had the pleasure to read the PHP's manual today. http://www.php.net/manual/en/ although Pretty Home Page is another criminal hack of the unix lineage, but if we are here to judge the quality...
13
by: BK | last post by:
Our .Net team has just inherited a junior programmer that we need to get up to speed as quickly as possible. Unfortunately, his skill set is largely Access with some VB6 and ASP classic...
2
by: Keith Wilby | last post by:
I'm building an application to monitor progress against Technical Activity numbers. I have two tables: tblTechAct TechnicalActivity (PK) Description ActualStart ActualFinish tblProgress
10
by: cjard | last post by:
I have a client and server that enjoy the following simple dialogue: Client connects Client sends request Server sends response Client disconnects This is the way it must be. The response...
5
by: Frank Millman | last post by:
Hi all This is not strictly a Python question, but as I am writing in Python, and as I know there are some XML gurus on this list, I hope it is appropriate here. XML-schemas are used to...
10
by: Brendan Miller | last post by:
What would heavy python unit testers say is the best framework? I've seen a few mentions that maybe the built in unittest framework isn't that great. I've heard a couple of good things about...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.