Individual Lessons Learned
Michael Wales ( Mag7Rule@aol.com )
EEL 5881 - Software Engineering - Fall 2000
Difficulties of the project:
There were many difficulties completing this program, and it turned out to be very challenging. Some of the biggest challenges came from the fact that we were trying to learn the Java Swing components as were coding the program. Most of them turned out to be pretty simple, but some of them were much more complicated.
The check boxes and the lists were the hardest components to program. For the longest time I couldn't find a method for the JCheckBox to get the current state of the checkbox. I finally made my own method. During the final week of the project I finally realized that it inherits a method from JComponent that was exactly what I needed, but wasn't able to find earlier. The list was difficult to program simply because it was the most complex GUI component I have in my part of the program. It responds to button clicks, and other buttons have to be able to modify the contents of the list.
I was glad I got to encounter so many of the Java Swing components now, because it will be easier for me to use them in the future. I really have some solid Java GUI experience and I can build on that with future projects.
Easiest parts of the project:
The easy parts of this project were few and far between for me. Programming the transition rules and the simulation code for the program was quite easy because the algorithms were very simple (compared to our Engineering Data Structures class we had over the summer). I had coded the simulation only a few hours in contrast to the mega hours wasted on some of the GUI stuff.
Another rather easy part of the project were the documents. Some of the documents were very time consuming, but none were difficult. The same goes for our presentation. We took a trememndous amount of time creating it, but it was really simple, and we think it really came out awesome. The user's manual and the final presentation actually came out better than I would have imagined them.
Lessons learned on the project that I can use in the future:
In doing this project I learned some things that reinforce some of the key concepts of software engineering. I learned that that the early designs should be thought out as possible to avoid problems during later development stages. I also saw some of the advantages of keeping the modules coupling really low. We were able to integrate the two parts of the program with very little effort very easily.
Early on in the development of the project we didn't do a detailed enough design, and it really hurt me later on during the project. There was alot of code that I just ended up throwing away because it was useless in the final product. If we would have done a more detailed design before coding we probably would avoided a good bit of wasted time.
Data coupling was something that I was really focused on doing well during the coding of the project. What happened was that all the GUI classes had way more interaction than I ever would have anticipated. I was worried this would cause some major problems later on, but it turned out to be quite good. What did have good coupling was the overall module that I designed. When we went to integrate the two modules, it went really well and was much easier than I expected. The only problems we had during the integration were from a lack of foresight during the design process.
I also learned many things about Java itself, and that is probably the most valuable thing I took away from this class. I came into the class not knowing hardly the first thing about programming a GUI, and now I feel pretty confident that I could do one quite easily. I also learned some of the bad things about Java, notablly it's slow execution. Me and Jeff are interested in doing an embedded system application for our senior design project, and our knowledge of Java will be of great use.
Suggestions for future students taking the course:
I think the key thing in this class is time. You never have enough time for this class or any other class. To use your time most effectivly, at the start of the project create a really thought out high-level and low-level design of the entire product, and really think out all the details. The little details that get put off really become big deals when they require you to rewrite who functions because you failed to account for some little detail.
One thing that I think we did better than any other group in the class was our presentations. I was really disappointed by the majority of the presentations. Some of the grammer was really bad on the presentations which surprises me because Power Point checks all the grammer (unlike this DOS text editor that I'm using, go easy on me!). Some of the presentations were not rehearsed at all, and when they did them they would just skip a slide completely! And many of the presentations had a really high snooze factor because they simply didn't have any oooh-ahhhh stuff in them. I think future classes should be emphasized to use the multimedia stuff built into Power Point to improve their presentations.
Technical Grade: 5. Was a little slow getting started with the project, but at the end he really put a huge amount of time into it. I also think the code that he created was well put together and it really made the integration easy. I think he did a great job on the GUI.
Management Grade: 5. Jeff did a great job on the webpages that he created. He was easy to keep in touch with, which led to some great teamwork. He also did a good job at the end of the semester making sure our product was finished and working perfectly.
Technical Grade: 5. I programmed atleast half of the code used in our project. I really went a long way to make sure the code that I was creating didn't have any bugs in it, and that it handled all exceptions. The code I created may not look like it does much, but there is a tremendous amount of stuff going on inside of my module.
Management Grade: 5. I think that I really made alot of great management contributions that really made our project look very professional. I really took alot of time to make sure that we didn't cut any corners during development, and made sure that the project looked really great and professional in the final product and presentations.
Template created by G. Walton (GWalton@mail.ucf.edu) on August 15, 2000.
This page last modified by Michael Wales (Mag7Rule@aol.com on December 11, 2000