hw3 - University of Southern California Daniel J. Epstein...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: University of Southern California Daniel J. Epstein Department of Industrial and Systems Engineering ISE 582: Web Technology for Industrial Engineering Homework 3: EXTREME PROGRAMMING EXPERIMENT (Due 25 Sep 2003) Instructor: Elaine Chew [1] Read and write a summary of the following article The New X-Men September 2003 WIRED Magazine The Mountain Dew-fueled all-nighter is history. Today's supercoders work 40 hours a week. And two to a computer. It's called extreme programming - and it's revolutionizing the software world. http://www.wired.com/wired/archive/11.09/xmen_pr.html (review:10, insights:10) "Thou Shalt Work in Pairs" For this homework, team up in pairs within each group that was formed in class. (For the one group with 3 members, you can work as a threesome.) As in tennis, the key to a successful partnership is to identify a partner of comparable skill. Whenever possible, follow the 12 commandments of extreme programming as documented in the WIRED magazine article: I _ The Planning Game II _ Small Releases III _ Metaphor IV _ Simple Design V _ Testing VI _ Refactoring VII _ Pair Programming VIII _ Collective Ownership IX _ Continuous Integration X _ 40-Hour Week XI _ Onsite Customer XII _ Coding Standards 1 ISE 582: Fall 2003: Homework 3 http://www-classes.usc.edu/engr/ise/582 [2] I have posted the examples you created on the course website (at least those that were sent to me after class.) Download and start from your code for this section. http://www-classes.usc.edu/engr/ise/582/2003/handouts/lecture4-ex (a) Take your code and build a tertiary inheritance structure. That is to say, create more objects so as to have three levels of inheritance. Whenever possible, simplify your design and remove redundancy (for example, use methods defined in the superclass), use instance methods rather than class methods. Remember the "need-to-know" principle. (b) (c) Create either an abstract superclass or an interface for every class. Copious documentation is highly encouraged. Create at least one each of: overloading and overshadowing. Be sure to point out in your code where this occurs. (creativity:10, cleanliness:10, working code: 20) [3] Returning to Patronus Posters ... Patronus Posters has merged with Quality Quidditch Supplies to form Patronus Supplies and now sells quidditch brooms as well. Each sports broom has a handle (of different kinds of wood) and tail (twigs of various sorts), spells (braking etc...). See the following page for an extended description: http://www.geocities.com/realmofharrypotter/quidditch_brooms.html (a) Create a class diagram (tree structure) for a Patronus Supplies item. Avoid redundancies, for example, a broom handle and a poster frame are both made of different types of wood. For the brooms, create classes for up to three types of sports brooms. Implement your classes according to the plan outlined in part (a). First create your abstract classes and interfaces. Then write the rest of your code, bearing in mind the 12 commandments of extreme programming. As usual, create a demonstrate class to show off the capabilities of your code. (comprehensive design:30; working code:20) (b) (c) [4] Which of the 12 commandments of extreme programming did your practise? Did they help or hinder your progress? In each case, explain why. Write a brief critical review of the extreme programming method. (insights:10) E.C. 19 Sep 2003 2 ...
View Full Document

Ask a homework question - tutors are online