Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
Fall 2005 Milestone 2
Microsoft Powerpoint is the premier program for creating presentations. The presentations are easy to create and look good. In this class, just like in many others, the lecture slides are available in PowerPoint format for you to download. In class, the instructor often uses Squeak though, since that way the code can be executed and Squeak features can be demonstrated. The main reason that the slides are in PowerPoint, rather than in Squeak, is that PowerPoint slides are much easier to create. During this semester, you will enhance Squeak to allow for slides to be easily created. Much of the difficult parts of PowerPoint are already included in BookMorph. You will be extending BookMorph to add new features.
For this milestone, your group (3-4 members) will do two different parts—a design part and an implementation part.
The two major features of PowerPoint that you will be adding to BookMorph are templates and layouts. For this milestone, you will only be doing the design part for these two features. You will do an object-oriented analysis using CRC cards and an object-oriented design using UML. Then, in the next milestone, you will implement that design.
Design templates: PowerPoint offers the user a variety of design templates (or color schemes) for the user to apply. I can change the design template of a presentation and font (font style, size, color, drop-shadow, boldness, alignment, etc.) and background will change on every slide. Usually, the title slide will have a slightly different background than the rest of the slides.
Slide layouts: By default, a PowerPoint presentation starts out with a title slide. The next slides are (by default) "bulleted list" slides. But, you can create others. See the ones below. In PowerPoint, you can also change the layout of a slide after the fact. You've created a bulleted list slide and decide that you need a picture. You change the layout and a picture appears and the text area is resized, but the content is preserved. Your design should allow for this as well. If possible, you should not lose any content. You should implement all the slide layouts below:
In addition to the design part, you will implement a few new features that will be useful in your design.
Automatically-Resizing Text: As you type in text, you may find that your text no longer fits into the page window. For a presentation program, that's not good. PowerPoint handles this by automatically decreasing the size of the text, so that it will fit. Of course, at some point, you can't decrease the font any more. In your case, you should have at least two different sizes. If the text area becomes too large, decrease the size automatically. If things are deleted, make sure that the larger size wouldn't be more appropriate. In other words, if I add enough text to make it downsize, when I remove it, it should go back to the large size.
Link-to-a-Page Button: Occasionally, it is nice to be able to move to a different page than the next page. For instance, an appendix may have additional information on a topic. If there are questions, it would be nice to simply press a button to go to that appendix. Then, after covering the appendix, it would be nice to have a button to go back to the original page. The user should be able to easily create buttons that allow him/her to jump between pages. These links should still work if the pages are rearranged or new pages are added.
Insert-an-Image Morph: In PowerPoint, you can choose a slide layout with pictures (see above). Initially, it appears as an outline of the picture size with "insert picture here". When you click on it, you can select a file (a JPG, GIF, or PNG) to import. Once you finish selecting a file, the image file gets inserted and scaled to fit into the alotted space. You should create one of these. Yours should also have the ability to rotate the picture 90 degrees (transforming it from landscape to portrait); again, it should scale to best fit the alotted space.
Before the (design) assignment is due in class, you should see a TA and demonstrate these new features to them. Note that this is a suggestion to help improve your design, not a requirement. If you have question about this assignment, ask them here.
Note about collaboration tools
There is no requirement that your team has to use CVS or any other version control system. Configuration control systems do make code exchange and work easier, though. I recommend you look at using Collaboration Tools of some kind.
Links to this Page