cs562 Study Guide Friday, Feb. 21, 2014 Material Covered - Chapters 5, 10, and 12 and additional notes from the class website (links page) See the links page for information on Agile, SCRUM, XP, and testing. Refer back to http://catpages.nwmissouri.edu/m/monismi/cs561 for notes from Software Engineering I Be able to recall information about the following: Agile and XP process methodologies Testing Strategies White box Black box Equivalence classes Boundary Conditions Top-Down Bottom-Up Sandwich Testing Be able to recognize and describe the following: Realizing and Detecting Defects and Errors Incorrect Logical Conditions Performing calculations in the wrong part of the control construct Not handling preconditions Not handling null conditions Singleton errors Off-by-one errors Operator precedence errors Using incorrect standard algorithms Defects in numerical algorithms incorrect order of operations Not enough precision Floating Point comparisons using the “==“ operator Deadlock, livelock, and race conditions Be able to recognize and describe the following: Unusual testing situations Insufficient response time or throughput HW incompatiabilities Problems with peak loads Memory leaks Problems recovering from a crash Be able to complete problems involving the following (you may have to create these) UML Class Diagrams Use cases Formal test cases Identifying, classifying, instructions on how to implement, cleanup Be able to recognize/describe the following: Automated and manual testing Test first development Large system testing Unit testing Big bang testing Integration testing Horizontal/vertical testing Bottom up/sandwich testing Regression testing Validation testing Be able to describe the importance of the following: Version control, Issue Tracking, and Software Project Management Open Source Software Be able to describe or complete problems involving the following, provided you are given formulas: Software Engineering Time Estimation Divide and conquer Past experience (Analysis Effort Method) Size Familiarity Complexity COCOMO/COCOMO II Classes of projects Organic (small teams with experience with loose requirements) Semi-detached (teams with mixed experience mixed requirements) Embedded projects (tight constraints, may include semi detached) Effort applied Development time People Required Function point estimation/analysis Understand the equation Know the meaning of the parts of it Know how to use it OO Effort Estimation Same as previous point You may need to refer to supplemental materials from the course website. May ask about project experience What testing strategies have you used? What architecture patterns have you implemented? How has cohesion and coupling been included? Do you find your documentation useful? ER, Spec, Data Dictionary, etc.? why? Are you using your test cases? Why? Automated testing/repository useful or not?