Download presentation
Presentation is loading. Please wait.
1
© 2010 University of California, Irvine – André van der Hoek1June 22, 2015 – 23:08:13 Informatics 122 Software Design II Lecture 4 Nick Lopez Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.
2
© 2010 University of California, Irvine – André van der Hoek2June 22, 2015 – 23:08:13 Today’s Lecture Reflection Assignment 1, continued
3
© 2010 University of California, Irvine – André van der Hoek3June 22, 2015 – 23:08:13 Assignment 1, Continued We will exchange designs now Each of you is to evaulate 4 other designs Review forms are online
4
Design Evaluation: general criteria Please rate the overall level of understandability of the design on a scale of 1 (low) to 10 (high): If you were tasked with implementing this design, how helpful would this design be? Please rate the overall level of helpfulness of the design on a scale of 1 (low) to 10 (high): Ideally, a design will not leave out any high-level design decisions that you would need as an implementer. Please rate the overall level of completeness of the design on a scale of 1 (low) to 10 (high): Please rate the overall level of partitionability (e.g., how easy would it be for a group of implementers to each implement a different part of this design) of the design on a scale of 1 (low) to 10 (high): © 2007 University of California, Irvine – André van der Hoek4June 22, 2015 – 23:08:13
5
Design Evaluation: Pre-implementation Evolvability Suppose you have not begun implementation of this design yet, and you need to add yet another mode: assisted. In this mode, the user can ask for hints on where to put lines and run partial simulations of how two trains meeting in a grid cell would interact. Describe how this change impacts the design (e.g., which classes and interfaces are affected how, and why). You may draw diagrams if you feel that it helps in explaining. Suppose you have not begun implementation of this design yet, and your client now also wants to add train splitting stations that allow one train to be split into two where an operation describes how the number in the cargo is converted to the cargo of the two leaving trains. Describe how this change impacts the design. You may draw diagrams if you feel that it helps in explaining. © 2007 University of California, Irvine – André van der Hoek5June 22, 2015 – 23:08:13
6
Design Evaluation: Post-implementation Evolvability Suppose that you have implemented this design, and discover that the game is no fun because the interactions between trains when they meet in grid cells is too complex to define. So rather than letting the user select expressions and the order of operators we have decided to include a new type of train that carries in its cargo an operator and we have also decided to allow up to three lines to intersect in a grid cell. The rules for trains meeting in a grid cell changes: two or three trains can meet in a grid cell. For an interaction to occur at least one of them must be an operator train. If the operator is unary (i.e. ‘-‘) then it can interact with one or two additional trains. If the operator is binary (i.e. +, *, /) then it can interact only if it meets with two other trains. The operator train disappears once it meets with other trains in a grid cell. Given that the program already is implemented, you now need to change the code. Describe how you would have to change the code to accommodate this change (e.g., which classes and interfaces are affected how, and why). Would you need to add any classes or interfaces? You may draw diagrams if you feel that it helps in explaining. © 2007 University of California, Irvine – André van der Hoek6June 22, 2015 – 23:08:13
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.