CS451 Software Engineering Assignment 2 You must formally specify, design, and test the three data structures created in the first homework. When planning the component testing use white box testing and try to achieve all statement coverage. Please remember that test cases for component testing should include input, predicted output, and the predicted execution path. Specification The data structures that were specified using natural language in assignment 1 must be specified using formal pre/post condition notation. Please specify all 4 operations on all 3 data structures. Design Document Create a design document with textual and graphical descriptions of your classes. Use state charts, data flow diagrams, sequence diagrams, architectural design and inheritance diagrams where appropriate. Testing Report Document all of the test cases including inputs, predicted outputs, execution path and actual outputs and execution path where appropriate. Record all the bugs discovered. (You will not be penalized for reporting bugs in your system). Your test cases will be run on the code you have submitted for the first homework. All test cases should be implemented using the Java programming language. You must also use the Junit and Jcoverage tools to test your code. See the course website (Week 7) for more information about these tools. Re-implementation and re-testing (bug fixes) After testing the code from assignment 1 you must make changes to the code to mitigate any faults found by the testing process. Then, re-test the modified code and submit another testing report. Submission Guidelines: 1. Assignments must be submitted via the submit command located on the queen.cs.drexel.edu Unix machine. Type “submit” at the command prompt, and follow the menu options. 2. Submit all source code. 3. Submit all documentation (HTML of PDF formats preferred) including 2 testing reports (1 for the testing of assignment 1 and another for the testing of your modified code). 4. Your program will be run by the TA. 5. Submit a Makefile (optional but appreciated).6. If you cannot present a soft copy of the formal specification the clearly handwritten hard copy can be submitted in class on the due day. More Information on Software Testing: Detailed description is available at Software Engineering (6th Edition) by Ian Sommerville Publisher: Addison-Wesley Pub Co; 6th edition (August 11, 2000) ISBN: 020139815X pp.
View Full Document