Project I worked on for software engineering class.

version 1 mock-up. Unfortunately, I don't have a screenshot of a current version. It looks pretty much like this.
Goal:
Create an application to assist in search and rescue operations. The class was divided into several teams that each created their own version of the application.
Requirements:
The Alpine Rescuers (who supplied the idea for the project) have suggested the following features for the program:
- It should display a grid that represents the searchable area.
- If possible, the program should display a map (maybe topological) as the background, under the grid lines.
- The program should have different icons for hiking teams, helicopters and search dog teams.
- The user should be able to place searchers at a specific location on the map. The user should be able to enter some identifying information for each team of searchers.
- To minimize communication, the program should be able to hypothesize the movement of the hiking and helicopter teams, based on a speed and direction. Search dog team movement is erratic, so the user will have to enter manual updates of location.
- Since our hypothesized movement will not match the actual movement, the user should be able to manually update the location of any hiking or helicopter team.
- If possible, the grid display should provide some indication of what areas have been searched.
In addition, Teams created use cases, unit tests, UML diagrams, and practiced other programming techniques.
Reflections:
Teamwork and design issues stunted the project a bit. If we had practice as a team we likely could have gotten the project to a well designed, finished state. Our team didn’t have enough meetings coding together and discussing each other’s code. A Project Leader and other roles could have helped as well. It’s not the final product I would have liked, and I think my team and I were not able to achieve a this goal because of inexperience, but what we did get done was a good start, demonstrated things learned in class, and fulfilled the requirements for the project. I also learned a lot from this project, such as techniques for using classes, and ways to use them, java and swing classes, and how to write code others will understand. When you’re on a deadline and a teammate has written a piece of code you need to implement, but you don’t understand it, it’s tempting to just throw it out and write your own code. this happened several times in our project, and I learned how to better communicate the purpose and function of the code. Overall, though it was a fun project. I’d like to refactor it sometime and get it to the product I had envisioned.
