Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Development Cycle From Wikipedia: fe-cycle

Similar presentations


Presentation on theme: "Software Development Cycle From Wikipedia: fe-cycle"— Presentation transcript:

1 Software Development Cycle From Wikipedia: http://en.wikipedia.org/wiki/Systems_development_li fe-cycle http://en.wikipedia.org/wiki/Systems_development_li fe-cycle  Preliminary Analysis  Systems analysis, requirements definition  Systems design  Development  Integration and testing  Acceptance, installation, deployment  Maintenance

2 Validation vs. Verification  Validation involves testing: white box vs. black box testing, alpha- and beta-test  Testing may be thorough, but not exhaustive  Verification is (mathematically) proving that the program meets the input/output specifications.  Use formal procedures

3 Types of Errors  Syntax Errors: Missing ; { }, misspelling, case differences, missing declarations, missing import statement,...  Run-time Errors: Array boundary violations, null pointer exception,...  Design Flaw: Misunderstanding of program requirements, program works sometimes, but not always

4 Debugging Strategies  Strategic printing: System.err.println()  Print out values of parameters when entering method and return values before leaving to isolate the error  Use of debugger: http://drjava.sourceforge.net/docs/user/ch09.html http://drjava.sourceforge.net/docs/user/ch09.html  Setting breakpoints, watches  Allows user to interact as program runs

5 Polymorphism  An object may be of more than one class, e.g., a Ship is a Thing is an Object (due to inheritance)  A derived class may override methods of the base class  Which method is called?  Especially tricky because variables may be cast to other types from what was declared, e.g., Thing[][] b = new Thing[10][10]; b[0][0] = new Ship(4,"Battleship",'B');

6 Early vs. Late Binding  Early, or static, binding is when the choice is made at compile time. The type of the variable is used to determine which method is called. For example, b[0][0].shootAt() would call the Thing shootAt() method, not the Ship one.  Late, or dynamic, binding is when the choice is made at run-time. The type of the actual object is used to select the method, so Ship shootAt() is called.  Java uses late binding.  This means that objects must know their types.

7 Static Methods  Since static methods belong to the class, not to an object, late binding cannot be used for them.  Static methods use early, or static, binding. The type of variable determines the method that is called.

8 Final Modifier  A class may be declared to be final which means that is cannot be subclassed.  A method may be declared to be final which means that it may not be overidden.


Download ppt "Software Development Cycle From Wikipedia: fe-cycle"

Similar presentations


Ads by Google