Attached is a logbook entry from Sushil Vachhani, a student in my Intro to Quantitative Software Engineering class. He writes about practical experience with feasibility studies. It is a great post.
Comments are encouraged.
I was once considering writing a program that would convert C++ code to Java code. I was deciding on several preliminary issues as to how would I go about it and in what language would the source code be written, C++ or Java? I chose C++ because I was more comfortable with its file handling features at that
time.
I knew that there were many similarities in the basic language features and so it was a matter of drawing out the 1 to 1 mapping. For example, the syntax of for-loop, while-loop, do-while-loop, declaration of integer and character variable (excluding arrays) and that of some other constructs was the same in c++ and Java and so it was a matter of merely duplicating these constructs in the output program that would be generated as a result of running this program with another C++ program as argument.
Next, there were some features in C++ that could be implemented in Java but some modification would be required. But there were many other features that were extremely difficult to implement such as pointers.
Also for doing this project I needed to have a deep understanding of the class libraries and the inbuilt functions that provided in C++ and whether its exact or comparable counterparts existed in Java.
Java also included many features such as Interfaces and Packages, Multithreading and the most importantly the GUI based Applets. Even if a C++ code could be transformed into Java, there was a certain possibility that the above mentioned features of Java would not be implemented thereby underutilizing the functionality of the language.
Finally, after careful consideration, I decided not to go ahead with the project at that time. The important lesson for me here was that my feasibility study paid off and saved me a lot of disappointment which I would have felt had I blindly begun working on the program.