Object oriented system analysis and design

Scenario and Summary

Your demonstrations of how to create both method contract and the method specification for the GetCourseByCourseID() method of the CourseList class were very well received by your team members. They then asked you for one final demonstration of how to implement the method specification using an object-oriented (OO) programming language and see the method actually execute.

You realize that it is easy to implement the method specification in an OO programming language, but it is hard to test it because the rest of the application is not developed yet. You decided, therefore, to write two pieces of code.

Code that implements the GetCourseByCourseID() method
Code that implements a unit test for that method alone (outside of any other application code)
This way you can demonstrate the method implementation and also verify its correct behavior.

You are under a deadline constraint for this deliverable, so you asked some of your peer architects for help. They each are well versed in different OO languages like VB.NET, C#, and Java and they all have done unit testing before so they are familiar of how to construct one.

Your peer architects provided you with partially-completed shells for your demonstration. Each shell contains:

complete code for the Course class;
partially completed code for CourseList class; and
complete code for the CourseListTest class that unit tests the CourseList.GetCourseByCourseID() method.
Your task is now easy. Just select one of these shells and complete the code for the partially completed CourseList by coding it GetCourseByCourseID() method. When you compile and run the shell, it will automatically test your GetCourseByCourseID() code to ensure its correct behavior.


A copy of the code you wrote for the GetCourseByCourseID method() of the CourseList class in your favorite OO programming language
A screen shot of the output of running the provided unit test in the shell (the CourseListTest class) showing that your code works as expected. Note that these unit tests only print out messages of testing problems. If your code is correct, the unit tests will succeed silently without any success messages.
a zip file of the completed shell after you added your code so that the shell could be executed on a different machine.
Verification and validation of your work
Explanation of your work
STEP 1: Review the Method Contract, Method Specification for the GetCDByCDID() Method, and Coding & Unit Testing GetCDByCDID() Method using Java (not Graded)
Back to Top
Download the Method Contract for GetCDByCDID() Method Method and review it prior to reviewing this week’s video tutorial.
Download the Method Specification for the GetCDByCDID() Methodand review it prior to reviewing this week’s video tutorial.
The video tutorial below demonstrates how to code and unit test the GetCDByCDID() method using Java

STEP 2: Code & Unit Test the GetCourseByCourseID() method of the CourseList class
Back to Top
Download the iLabWeeklySubmissionTemplate. You are going to use this template for all of your iLab submissions throughout this course. This template is available in week1 iLab.
Decide on your OO programming language that you will use for this lab and then download the corresponding shell from the following.
Visual Basic Shell
C# Shell
Java Shell
Both the Visual Basic and C# shells are Visual Studio projects while the Java shell include only the *.java source files that could be loaded into any Java IDE.

Code and unit test the CourseList.GetCourseByCourseID() method in your favorite programming language. You only need to add code for the GetCourseByCourseID() method and then run the application (the unit test will automatically test your code), then print out problem messages, if any
Using the iLabWeeklySubmissionTemplate, copy and paste the following into the template:
code text of your CourseListGetCourseByCourseID() method
a screenshot of running the unit test of CourseListGetCourseByCourseID() method
a *.zip file of all the coding project files
STEP 3: Verify, Validate, & Explain Your Work
Back to Top
Using the iLabWeeklySubmissionTemplate, verify and validate your work
Using the iLabWeeklySubmissionTemplate, explain your work, the decisions you made to arrive at your proposed solution, and lessons learned.


Approximately 250 words