WEST VIRGINIA UNIVERSITY

COLLEGE OF ENGINEERING

DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING

CPE391/CS 210 COMPUTER ENGINEERING LABORATORY ON OBJECT-ORIENTED PROGRAMMING IN C++

LAB #9

Objects:

Practice the use of templates, and document the initial analysis and design of the term project using the attached project requirements.

Procedure:

Part I: Templates

1.     Program ex7.prj in the examples directory defines the class List as an array of integers. Change the class definition to use templates in order to implement a generic list class whose objects can be an array of integers, floating point numbers, or characters. Test the class implementation from function main() and instantiate objects of type List using int, float, and char data types.

Part II: Term project

The project will be developed on several phases. You are required to work on phase I and phase II in this assignment described as follows:

Phase I: Analyze the project requirements and specify the required classes of objects for the application.
Using the given project requirements identify using Rational Rose and UML Notation the classes of objects needed in the application together with their attributes(i.e., the data members and the functions or methods). Try to use the concept of abstraction as much as possible to specify a class hierarchy.

Phase II: For the class hierarchy specified in phase I, develop a design for the class definitions and for the class member functions. Concentrate on the functions needed to define, check, and show the configuration of a queuing network. The function bodies should only contain design information without implementation details (i.e., C++ code is not required for the functions, only steps of the algorithms).
The above analysis and design should be divided on each group member. The document submitted should clearly specify the analysis and design done by each member by attaching the group member name with specific analysis or design artifacts.