The menu bar on the left contains the Elaboration Phase 4 document artifacts for the Tanager project, which were produced using Craig Larman's iterative OOAD process (described in Applying UML And Patterns ). The documents were created with the help of the document templates found here . The OOAD modeling tool used to create all the diagrams and models in this project was Gentleware's Poseidon for UML.
Goals for Elaboration Phase 4
- Implement Select Playlist Type use case.
- Implement Restart Current Song use case.
- Implement Skip To Next Song use case.
- Implement Skip to Previous Song use case.
- Implement Save System State use case.
- Implement alternate scenarios for Power On use case (using saved system state).
Additional Work Discovered During Elaboration Phase 4
- Refactor UI button handling. I originally implemented this with the CButtonPane handling the buttons for the default screen (the CDisplayPane's textArea_), but I found a defect where pressing the left button while in the menus and playing a song caused the menus to be exited and the song to be restarted. Clearly I needed to have a way to remove the button handlers for the default screen while the menus were being displayed. It also became apparent that the textArea_ attribute in CDisplayPane needed to be its own object (handling its own buttons).