CIS 339 All Assignments CIS 339 All Assignments | Page 10
www.foxtutor.com/product/cis-339-ilab-6---crcs,-contracts,-and-
method-specifications
The design phase of the SRS project is in full swing and every developer on the team is assigned
a group of packages to work on and to complete the design details of the classes in the
package. To help speed up the design process, you—as the software architect of the project—
were assigned the task of providing a sample
method contract and a sample method specification to demonstrate to your team how these
two documents are developed.
You decided to use the CourseList and the Course classes for your demonstrations. The
CourseList class maintains and populates the current list of courses that the end user is working
with while registering for clases. You will demonstrate the contract and the specification of the
GetCourseByCourseID() of the CourseList class.
The GetCourseByCourseID() method searches the current list of courses for a course whose
CourseID matches the ID supplied to the method. If a matched course is found, it is returned by
the GetCourseByCourseID() method; otherwise a null value is returned, indicating there are no
matching courses.
Method contract of the GetCourseByCourseID() method of the CourseList class Method
specification of the GetCourseByCourseID() method of the CourseList class
i L A B S T E P S
STEP 1:
Create a Public Method Contract
Download the CRC Cards for the CourseList and Course classes and review them to prepare for
your deliverables this week. Download the Method Contract Template and use it for your
deliverables this week. Create the method contract for the GetCourseByCourseID() method of
the CourseList class. Explain your work and the decisions you made to arrive at your proposed
solution.
STEP 2:
Create a Method Specification