CS442 - Theory and Practice of Programming II
Dr. Joel Henry
Semester Project
January - May 2006
This was a semester long team project for the capstone software engineering course in the CS curriculum. Each phase of the project, requirements, design, implementation, testing and debugging, were major focuses of the course. Our team used an agile programming process containing many iterations and releases of the program. We had a real customer for the project and as such had to quickly respond to changes in the project's requirements.
The application reads in cargo and container information from a separate program that performs the packing algorithm. The data is passed between the two applications using XML. Our goal for the project was to create an application to visualize this XML data and to display the data in useful ways.
Our team opted to use an object based framework for the graphics instead of developing them from the ground up. This enabled us to concentrate on adding business functionality to the application - such as the searching, object selection and packing order animation features.
Other Team MembersOur project was fortunate to have a very good team dynamic. Each of us contributed to the general development of the application, but we each had our own areas of concentration. I worked mainly on development and debugging the software. I also worked fairly extensively on the graphics framework in order to enable the cargo selection feature. Overall the experience was very rewarding. I had not done any C# programming prior to working on this project, and this helped me gain a better working knowledge of the language. I was very impressed with what C# could do and it continues to be my language of choice.
The relationship our team had with the customer was unique in that we didn't have direct contact with them. Rather, we were insulated through Dr. Henry, who communicated with the customer and relayed the requirements back to us. The course required our team to prepare and deliver many boardroom-type presentations. I found the feedback given during these to be very beneficial.