Managing Software Development CSG 110 Spring 2005 Karl Lieberherr Due date: March 10, 2005 Homework 6: Reflecting on earlier homework ========================================== For the remaining homeworks/project you may work in groups of two and practice pair programming. 1. Consider your class dictionary design experience with ERE. Managing software development is often about managing tradeoffs. Describe the tradeoffs you encountered while designing your class dictionary. Turn in the list of tradeoffs. It is important that the class dictionary design task is given to an experienced software developer because the class dictionary has an important influence on the project. 2. Consider the "Direct Feature" project of hw 5. Aspect-oriented software development is about enhancing systems concern by concern or feature by feature. Take the "Direct Feature" project and try to program it as a set of AspectJ aspects that add this feature to the DJ Library. Turn in the AspectJ code adding the feature and describe any modifications you had to make to the base to make the aspects work. 3. Read the server side article on Inversion of Control: http://www.ccs.neu.edu/home/lieber/courses/csg110/sp05/hw/6/article.htm Write a few paragraphs that connect Context IOC and AOSD.