Monday, July 28, 2008

Final thoughts

This application was not for practical use. This application was for my own self interest. Unfortunately, that might mean a waste of bandwidth on this blog site, but if the readers don't like it, they don't have to read it. This was for me to chronicle an application (albeit simple) from inception to analysis design and implementation. Finally, for release. This code is registered under the GNU General Public License, so it is by default free. I have no intention of making any money on it. To be honest, I doubt anyone will download it anyway.

But, it was worth it from my point of view, since I have chronicled the steps I normally take when developing an application (at least a small one). This will be very valuable to me: since I can almost guarantee I will reference this site often in my development endeavors.

It looks like everything is complete

As stated earlier, I will post on this blog when the software and source code are uploaded to sourceforge.net.

As for this blog, it looks like the application is complete. It is four months overdue! What should have been done in a week (or even a day for that matter), took far too long. From a practical standpoint, this application should not have even been started--a simple spreadsheet can perform what this application does (and it probably performs it better).

I can't just upload jar files.

It appears I just can not upload jar files! So, I neither will be posting the code nor the executable jar file here. I have placed a request into sourceforge, so when that comes through, I will store the code there, put a link on this blog to both the source and executable. I doubt I will have many downloads, since this was a personal project that took way too long to complete.

Here is the Calculate Distance Window


Here is what the Calculate Distance Window looks like. It is extremely similar to the Calculate Run Time and Calculate Pace Windows. In the end, I should have just created on Generic Calculate Run Stuff class and instantiated three objects from it (or possibly inherited from it).

It is very aggravating when you find a better way of implementation when you are done. Well, that is what experience is for and it is part of "playing the game".

Use Case 5 is complete

Use case 5 was completed sometime ago. This was the use case related to saving run data to a file. It was a learning experience as was (as I predicted) the hardest of all the use cases to set up. But, it is now implemented and appears to be working fine. For this first release, I have no intentions of saving the data to a database. So, for now, the data is saved to a file, and the file is saved in ASCII format so the file can be opened by any typical text editor. I tried to get it to open with a spreadsheet and it does, but the headings at the top of the page are off and it does require the user to manually change the headings to fit on top of the columns where the data is. The data does show up in the correct columns and is columned just fine.

Lots to put in today

I have a lot to put into today. I have not kept up with the blog. Instead, most of my "blog" notes have been kept by hand by my computer. There is a lot to write and I need to get started on it today. Not only will I chronicle the success of the application development, but will put down what I have (re)discovered in making this an executable--since this was written in Java.

The point is, the application is complete. It has been tested (by me). I have requested space on sourceforge.net.

Saturday, June 14, 2008

The First Four Use Cases are Complete

After three months, countless questioning and a conviction that I was an idiot for overdesigning this, the first four Use Cases are complete! That's right, a user can NOW enter in data to either determine their pace, run time OR distance ran!

Like I said earlier, it is THREE months past due. What should have been completed over a weekend took this long to complete. I over designed EVERYTHING. From the actual design to the data entry views to the modeling concepts. This whole thing could actually be done in Microsoft Excel with no problem! But I decided to be stuborn and make it more than I probably should. But, in the end, I did learn a lot! To me, as stated earlier in this blog, that was the most important part of the whole thing. That, and the fact that I wanted to blog my development process, if for no ther reason than for archiving a design. I think I will publish this design for myself. I found websites that will aid me in that effort.

Now, it is time to finish the application and complete the Use Cases by developing the last Use Case: the "Save RunData" use case. I fear that use case will be the hardest to develop. I need to learn/refamiliarize myself with Serialization. I also need to determine if I am going to go ahead and set up a database to save the data--or just put the data in a format that can be used by Microsoft Excel (or some other spreadsheet). Also, I do need to go ahead and start the work in the ACTUAL class that I am taking: A Visual Basic Class. So, I will try to split my time more evenly between this project and my class.