Xpert
11-19-2011, 01:11 AM
Object Oriented Programming (CS304)
Assignment No.2
Deadline
Your assignment must be uploaded before or on Monday 21st of November, 2011
Rules for Marking
It should be clear that your assignment will not get any credit if:
o The assignment is submitted after due date
o The assignment is copied
o The assignment submitted in a format other than .cpp.
Objectives
The objectives of this assignment are,
Giving the idea of practical implementation (prototype in C++) of basic object oriented concepts like abstraction, encapsulation, inheritance, association, aggregation and sub typing to students.
Assignment:
In Assignment No.1 we developed Object Oriented Model for three modules of E-Card System. You tried to solve assignment by following the procedure discussed in lecture as well as guidelines given in assignment. Last assignment solution also requires a comprehensive understanding of domain knowledge. As much as you gain knowledge about domain, there will be more refined solution.
Now In assignment No.2 you are required to provide a practical prototype in c++ only for the following class diagram. Mean you will have to provide the solution in the form of classes in c++.
Class diagram for assignment No. 2
Also note that you don’t have to give actual implementation in c++ but simple stereotype (sketch) in the form of c++ code mentioning class names their parameters and functions with access specifiers.
You also have to show the relationship (inheritance, association, aggregation, composition) between classes in proper c++ syntax with comments.
Note: Every student will follow the above mentioned Object Model in order to develop solution of assignment No.2.
Example Object Model and its Prototype
#include<iostream.h>
#include<conio.h>
class Lesson{ // Lesson class
// Lesson class attributes
// Access specifier is by default private
int ID;
topic * title;//aggregation relationship b/w lessons and topic
int NoOfLessons;
public:// public access specifier
// Lesson class functions/ operations
void add();
void remove();
bool select();
void search();
void View();
void print();
void download();
};// end of Lesson class
// ************************************************** **********
// ************************************************** **********
// ************************************************** **********
class course{ //course class
//Attributes of course class
char * code;
topic title; //composition relationship b/w Course and topic
char * courseName;
int duration;
Lesson NoOfLessons;//composition relationship b/w Course and Lesson
public:// public access specifier
//course class functions/operations
void add();
bool select();
void View();
void read();
};// end of course class
// ************************************************** **********
// ************************************************** **********
// ************************************************** **********
class StudyProgram{ // StudyProgram class
//Attributes of StudyProgram
// Access specifier is by default private
char * Code;
char * title;
char * ProgramName;
course duration; //composition relationship b/w StudyProgram and course
public:// public access specifier
bool select();
char * ViewCourseList;
};// end of StudyProgram class
// ************************************************** **********
// ************************************************** **********
// ************************************************** **********
class topic{ // topic class
//topic class attributes
// Access specifier is by default private
int ID;
char * title;
public: // public access specifier
// topic class functions/ operations
void add();
void remove();
bool select();
void search();
void View();
void print();
void download();
};// end of topic class
// ************************************************** **********
// ************************************************** **********
// ************************************************** *********
You will write such code for your E-Card system.
Note: You are required to submit only .cpp file. Word document or any other file format will strongly be discouraged.
Assignment No.2
Deadline
Your assignment must be uploaded before or on Monday 21st of November, 2011
Rules for Marking
It should be clear that your assignment will not get any credit if:
o The assignment is submitted after due date
o The assignment is copied
o The assignment submitted in a format other than .cpp.
Objectives
The objectives of this assignment are,
Giving the idea of practical implementation (prototype in C++) of basic object oriented concepts like abstraction, encapsulation, inheritance, association, aggregation and sub typing to students.
Assignment:
In Assignment No.1 we developed Object Oriented Model for three modules of E-Card System. You tried to solve assignment by following the procedure discussed in lecture as well as guidelines given in assignment. Last assignment solution also requires a comprehensive understanding of domain knowledge. As much as you gain knowledge about domain, there will be more refined solution.
Now In assignment No.2 you are required to provide a practical prototype in c++ only for the following class diagram. Mean you will have to provide the solution in the form of classes in c++.
Class diagram for assignment No. 2
Also note that you don’t have to give actual implementation in c++ but simple stereotype (sketch) in the form of c++ code mentioning class names their parameters and functions with access specifiers.
You also have to show the relationship (inheritance, association, aggregation, composition) between classes in proper c++ syntax with comments.
Note: Every student will follow the above mentioned Object Model in order to develop solution of assignment No.2.
Example Object Model and its Prototype
#include<iostream.h>
#include<conio.h>
class Lesson{ // Lesson class
// Lesson class attributes
// Access specifier is by default private
int ID;
topic * title;//aggregation relationship b/w lessons and topic
int NoOfLessons;
public:// public access specifier
// Lesson class functions/ operations
void add();
void remove();
bool select();
void search();
void View();
void print();
void download();
};// end of Lesson class
// ************************************************** **********
// ************************************************** **********
// ************************************************** **********
class course{ //course class
//Attributes of course class
char * code;
topic title; //composition relationship b/w Course and topic
char * courseName;
int duration;
Lesson NoOfLessons;//composition relationship b/w Course and Lesson
public:// public access specifier
//course class functions/operations
void add();
bool select();
void View();
void read();
};// end of course class
// ************************************************** **********
// ************************************************** **********
// ************************************************** **********
class StudyProgram{ // StudyProgram class
//Attributes of StudyProgram
// Access specifier is by default private
char * Code;
char * title;
char * ProgramName;
course duration; //composition relationship b/w StudyProgram and course
public:// public access specifier
bool select();
char * ViewCourseList;
};// end of StudyProgram class
// ************************************************** **********
// ************************************************** **********
// ************************************************** **********
class topic{ // topic class
//topic class attributes
// Access specifier is by default private
int ID;
char * title;
public: // public access specifier
// topic class functions/ operations
void add();
void remove();
bool select();
void search();
void View();
void print();
void download();
};// end of topic class
// ************************************************** **********
// ************************************************** **********
// ************************************************** *********
You will write such code for your E-Card system.
Note: You are required to submit only .cpp file. Word document or any other file format will strongly be discouraged.