Managing Software Development CSG 110 Spring 2005 Karl Lieberherr Due date: Feb. 17, 2005 Homework 5: Managing the "Direct Feature" Project =================================================== For the remaining homeworks/project you may work in groups of two and practice pair programming. You are in charge of maintaining a software project called the DJ Library and an influential user has just supplied a very simple feature request: Instead of just writing strategies in the form: { A -> B B -> C C -> D } the user would like to add direct edges to the strategy graph: { A -> B direct B -> C C -> D } This means that the traversal should go from A to B and then directly through one has-a edge to B and then to C. The user has provided a test program in /os-should. The current DJ Library does not work for this example while it works for /os. Modify DJ so that it works for /os-should. The only difference between /os and /os-should is that file os.beh has changed:: ("{ source: Commands -> target: FileName }",cgCommandsWithoutTail)); has changed to ("{ source: Commands -> CreateEmptyFile direct CreateEmptyFile -> target: FileName }", cgCommandsWithoutTail)); What to turn in: 1. How complex is it to add the "Direct Feature"? Write an initial analysis before changing the code. 2. The modified DJ library.