WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint They may not show up well on other PowerPoint versions. You can download PowerPoint 2010 viewer from here.here These slides contain a lot of animations. For optimal results, watch in slideshow mode.
Which is the better Minesweeper design? design {a|b} e.g. design b design {a|b} e.g. design b LogicMinefield Storage LogicMinefield Storage :Logicm:Minefield:Storage mark update(m) :Storage mark update(m) :Logic mark (a)(b) get info m:Minefield OR tinyurl.com/answerpost
To Tighten or Loosen: What Makes a Good Component. CS2103/T, Lecture 7, Part 1, [Oct 3, 2014]
To Tighten or Loosen: What Makes a Good Component. CouplingCohesion
To Tighten or Loosen: What Makes a Good Component. CouplingCohesion
Coupling
Component A Component B If I change B, will it require a change in A ? a) NO WAY b) It might Coupling Dependency ==
Component A Component B Coupling If I change B, will it require a change in A ?
Component A Component B Coupling If I change B, will it require a change in A ?
Component A Component B Coupling
Component A Component B If I change B, will it require a change in A? Yes, It might Reduce coupling
Good Component design cohesion Reduce coupling Parser Logic
cohesion
Does one thing and does it all Component A Component B Component C cohesion
Component A Window 1 Window 2 Window 3 Does one thing and does it all cohesion
Component A Component B Component C Does one thing and does it all cohesion
Component A Component B Component C Does one thing and does it all cohesion
Component A Component B Component C Does one thing and does it all cohesion
Component A Component B Component C Increase cohesion Does one thing and does it all cohesion
Component A Component B Component C Increase cohesion Does one thing and does it all cohesion
Good Component design Reduce coupling Increase cohesion Parser Logic
Reduce coupling Increase cohesion
Use these two concepts to analyze/justify design decisions.
LogicMinefieldStorageLogicMinefieldStorage (a)(b)
LogicMinefieldStorageLogicMinefieldStorage (a)(b) Which is the better design and why? why {a|b} {explanation} e.g. why b because … why {a|b} {explanation} e.g. why b because … OR tinyurl.com/answerpost Discuss with others before submitting