Archive

Archive for the ‘CS-16 - Object-Oriented Systems’ Category

JUNE 2002

Comments off

Question Paper of CS-16 – Object-Oriented Systems of June 2002 from IGNOU

Note : Question one is compulsory. Answer any three from the rest.

1.(a) Define the following terms with examples:
(i) Exception Handling
(ii) Derived Classes
(iii) Header Files
(iv) Data Abstraction

(b) Design a Singly Linked List Class. The class should include all functionalities relating to a Singly Linked List like Creation, Insertion, Deletion, Printing of elements etc. Observe the following while designing classes :

� Clearly indicate Public and private elements.
� Design Constructors and explain their purpose.
� Identify data structures and methods which can be inherited.
� Implementation should be in C++.

2. (a) Prepare object diagrams showing at least 5 relationships among the following object classes. Include associations, aggregations and generalizations. Use qualified association and show multiplicity balls in your diagrams. You do not need to show attributes or operations. Use association names wherever needed. As you prepare diagrams, you may add additional object classes. File System, File, Directory, File name, ASCII file, executable file, directory file, disk, drive, track, sector.

(b) Compare Procedural Programming with Object Oriented Programming. For what type of applications is the Procedural Programming suitable and for what type of applications is the OOP suitable? Justify your answer.

3. (a) Write code, including class declarations and methods, to implement One-to-Many association which is traversed in the direction from One-to-Many. The association is considered unordered. Use any Object Oriented Programming Language.

(b) Using the quadratic formula as a starting point, prepare a data flow diagram for computing the roots of the quadratic equation ax2 + bx +c =0. Real numbers a, b and c are inputs. Outputs are values of x = R1 and x = R2, which satisfy the equation. Remember, R1 and R2 may be real or complex, depending on the values of a, b and c. The quadratic formula for R1 and R2 is

4. (a) Rephrase the following requirements to make them more precise. Remove any design decisions posing as requirements :

The input to a system is a sample document. The output is random text that mimics the input text by imitating the frequencies of combinations of letters of the input. The user specifies the order of the imitation and the length of the desired output. For order N, every output sequence of N characters is found in the input and at approximately the same frequency.

As the order increases, the style of the output more closely matches the input. The system should generate its output with the following method : Select a position at random in the document being imitated. Scan forward in the input text until a sequence of characters is found that exactly matches the last N – 1 characters of the output. If you reach the end of the input, continue scanning from the beginning. When a match is found, copy the letter that follows the matched sequence from the input to the output. Repeat until the desired amount of text is generated.

(b) Prepare a class diagram from the instance diagram shown in the following figure :

Figure : Instance Diagram for part of your Family Tree Make assumptions, wherever needed.

5. In an Airline Reservation System, there could be a ternary relationship between flight, seat and passenger. What are the candidate keys of the relationship under the following conditions?

(i) A given seat on a given flight is assigned to Zero or One passenger. A passenger may travel on many flights but must have exactly one seat on a traveled flight and must be sitting in it during the flight.

(ii) A given seat on a given flight is assigned to Zero or One passenger, as in the previous. A passenger may travel on many flights and may have several seats on a traveled flight, as long as the extra seats are paid for. (Some passengers may be willing to pay for the extra elbow room, or may have some delicate electronic equipment that they want to strap into a seat)

6. What is Jackson Structured Development? Compare it with OMT (Object Modeling Technique)

DEC 2001

Comments off

Question Paper of CS-16 – Object-Oriented Systems of Dec 2001 from IGNOU

Note : Question one is compulsory. Answer any three from the rest.

1. (a) Define the following terms with examples:
(1) Multiple Inheritance
(2) Abstract Class
(3) Multi-level Inheritance
(4) Pure Virtual Functions.

(b) Design a circular linked list class. The class should include all functionalities relating to a circular linked list like creation, selection of elements, insertion, printing of elements etc.

Observe the following while designing classes:

� Clearly indicate public and private elements
� Design constructors and explain their purpose
� Identify data structure and methods which can be inherited.
� Implementation should be in C + +.

2. (a) Prepare Object diagrams showing at least 10 relationships among the following object classes. Include associations, aggregations and generalizations. Use qualified associations and show multiplicity balls in your diagrams. You do not need to show attributes or operations. Use association names where needed. As you prepare the diagrams, you may add additional object classes:

Sink, Freezer, Refrigerator, Table, Light, Switch, Window, Smoke Alarm, Burglar Alarm, Cabinet, Bread, Cheese, Ice, Door, Kitchen.

(b) Is the object oriented approach suitable for development of all types of applications i.e. Read Time, Web based, Business Software, etc.?

Justify your answer with examples.

3. (a) Write code, including class declarations and methods to implement, Many-to-Many association which is traversed in both directions. The association is considered ordered in one direction only. Use any Object Oriented Programming Language.

(b) Prepare a data flow diagram for computing the area of a rectangle. Inputs are length and breadth of the rectangle. Output is area.

4. (a) Rephrase the following requirements to make them more precise. Remove any design decisions posing as requirements:

A system for distributing electronic mail over a network is needed. Each user of the system should be able to send mail from any computer using his account and receive mail on one designated account. There should be provisions for answering or forwarding mail, as well as saving messages in files or printing them. Also, users should be able to send messages to several other users at once through distribution lists. Each computer on the net should hold any messages destined for computers which are down.

(b) Prepare a portion of an object diagram for a library book checkout system that shows the due date of the book and the late charges for an overdue book as derived objects.

5. (a) Describe how you would use tools included in software development environments such as browsers, compilers, interpreters, symbolic debuggers, systems builders and change control systems to help solve the following problems:

The program you are developing quits with a memory fault error. The line at which it fails is different each time you run the program, depending on the data. The problem is repeatable with the same data.

(b) Many conventional data structures can be replaced with associations. Draw sample object diagrams in which a QUEUE is replaced by one or more associations.

6. Compare Structured Analysis/Structured Design with Jackson Structured Developmen

JUNE 2001

Comments off

Question Paper of CS-16 – Object-Oriented Systems of June 2001 from IGNOU

Note : Question one is compulsory. Answer any three from the rest.

1. (a) For each of the following systems.
Chess Player
Remote Controlled Machine
Electronic Type Writer
Software to Mail Merge
Telephone Answering Machine

Identify the relative importance of three aspects of modeling:
(i) Object Modeling (ii) Dynamic Modeling
(iii) Functional Modeling

Explain your answer.

(b) Print out which statements in the following C++ code fragment violate the access control mechanism for class X of class Y:

class X
{
private: int i;
void pvt_X( );
protected: int j;
void prot_X( );
public: int k;
void pub_X(int, int);
};
class Y: public X
{
char C;
};
X x;
Yy;
x.i = 10;
x.k = 15;
y.prot_X( );
y.pub_X(5, 10);
};

(c) Define the following terms with examples:

(i) Abstract Data Type
(ii) Polymorphism
(iii) Inheritance
(iv) Templates

2.(a) Prepare an object model to describe undirected graphs. An undirected graph consists of a set of vertices and a set of edges. Edges connect pairs of vertices. Your model should capture only the structure of graphs (i.e connectivity) and need not be concerned with geometrical details such as location of vertices or lengths of edges.

(b) In your own words, describe why the recursive/parallel process model is appropriate for object oriented systems.

3. (a) Prepare object diagrams showing at least 10 relationships among the following object classes. Include associations, aggregations and generalizations. Use qualified associations and show multiplicity balls in your diagrams. You do not need to show attributes or operations. Use association names where needed. As you prepare the diagrams, you may add additional object classes.

expression, constant, variable, function, argument list, relational operator, term, factor, arithmetic operator, statement, program.

(b) In C+ +, what happens if a constructor or destructor assigns a value to the pointer ‘this’? Explain what precautions must be taken when writing such a constructor to ensure that it can correctly initialize both free store and automatic objects.

4. (a) Draw OMT object model for participant’s registration system for a seminar.

(b) Rephrase the following requirements to make them more precise. Remove any design decisions posing as requirements:

A system to transfer data from one computer to another over a telecommunication line. The system should transmit data reliably over noisy channels. Data must not be lost if the receiving end cannot keep up or if the line drops out. Data should be transmitted in packets, using a master-slave protocol in which the receiving end acknowledges or negatively acknowledges all exchanges.

5. (a) Design a template class for implementation of a Doubly linked list.

(b) Discuss features of OODBMS (Object Oriented DBMS).

6. (a) Apply Booch’s methodology for Objects Oriented Analysis and Design Specification of Sales Office Automation.

(b) Write a short note on drawbacks of RDBMS.

JAN 2001

Comments off

Question Paper of CS-16 – Object-Oriented Systems of Jan 2001 from IGNOU

Note : Question one is compulsory. Answer any three from the rest.

1. (i) Write a program in C++ to implement queue data structure using linked list. It may support the following operations:

(a) Delete a node from queue
(b) Insert a node at the front of queue
(c) Find out the length of a queue

(ii) Draw a class and instance diagram for looping statements in C-programming language.

(iii) A directory file system contains information about files in a directory, including both ordinary files as well as other directory systems. Prepare an object diagram which models directory files and ordinary files.

(iv) What is the purpose of dynamic modeling?

2. (i) Design an employee class hierarchy for university type system. Show all types (single and multiple) inheritances, important methods in each class, public and private subclasses. Design constructors in each class and explain its purpose.

(ii) Design a template for a stack class.

3. The university wants to computerize its admission process. The systems should contain data of all students, their results, issue admission letter, allocate various study centers etc. Make a brief objects oriented analysis and design of the stated problem.

4. (i) Prepare object diagrams showing at least 10 relationship among the following objects classes. Include association aggregations and generalizations. Use qualified associations and show multiplicity balls in your diagrams and you may show some attributes also. Use association names where needed. As you prepare the diagrams, you may add additional object classes:

Arithmetic expression, constant, variable, function, argument, list, relational operator, term, factor, statement, program.

(ii) Explain important features of object oriented languages.

5. (i) Compare and contrast among the following methodologies:

� OMT
� SA/SD
� Jackson Structured Development

(ii) Many conventional data structures can be replace with associations. Draw sample object diagrams which each of the following conventional data structures is replaced by one or more associations:

� Stack
� Array
� Binary Tree

6. Describe them briefly:
(i) Patterns and Metadata
(ii) Generalization
(iii) Recursive Aggregates
(iv) Abstraction
(v) Steps in system design.

JUNE 2000

Comments off

Question Paper of CS-16 – Object-Oriented Systems of June 2000 from IGNOU

Note : Question one is compulsory. Answer any three from the rest.

1. (a) Define the following terms with examples
(i) Abstract Data Type
(ii) Polymorphism
(iii) Inheritance
(iv) Templates

(b) Design an AUTOMOBILE base class. Define all its possible methods and data structures. Through inheritance mechanism, create one class namely CAR. Implement its data structure and important methods.

Observe the following while designing classes:
� Clearly indicate public and private classes
� Design constructors in each class and explain its purpose
� Identify data structure and methods which can be inherited
� Implementation should be in C+ +

(c) Design a template class for sorting elements.

2. (a) Prepare object diagrams showing at least 10 relationships among the following object classes. Include associations, aggregations and generalizations. Use qualified associations and show multiplicity balls in your diagrams. You do not need to show attributes or operations. Use association names where needed. As you prepare the diagrams, you may add additional object classes: expression, constant, variable, function, argument list, relational operator, term, factor, arithmetic operator, statement, program

(b) What are the advantages and disadvantages of Object Oriented Programming? Explain with examples.

3. (a) Prepare a list of objects that you would expect each of the following systems to handle:

(i) a telephone answering machine
(ii) a catalog store order entry system

(b) Prepare a data flow diagram for computing the roots of a quadratic equation ax2 + bx + c = 0. Inputs are a, b, c. Outputs are roots R1 and R2 which may be real or complex depending on the values of a, b, c. Discuss several ways of implementing the DFD.

4. (a) Prepare the following requirements to make them more precise. Remove any design decisions posing as requirement.

A library information system for a college. The system should contain the data of all Books, Magazines, Newspapers, Catalogues, Students, Staff. The system should keep track of issue dates, return dates. It also should compute fines for late returns. The system should also maintain an attendance register for Newspapers and Magazines.

(b) Write code. Including class declaration and methods to implement the following using pointers in C++:

Ternary association

5. (a) Design a template class for implementation of LINKED LIST.

(b) Implement the following class using C++ and any other non-object oriented language:

STACK

6. Write short notes on the following
(a) Aggregation
(b) Multiple inheritances
(c) Metadata

JUNE 1999

Comments off

Question Paper of CS-16 – Object-Oriented Systems of June 1999 from IGNOU

Note : Question one is compulsory. Answer any three from the rest.

1.(a) For each of the following systems, identify the relative importance of three aspects of modeling:
(i) Objects Modeling
(ii) Dynamic Modeling
(iii) Functional Modeling

Explain your answer.

Electronic Typewriter
Airline Reservation System
Calculator

(b) Design a linked list base class. Define all its possible methods and data structure. Through inheritance mechanism, create one class namely Binary Search Tree. Implement its data structure and important methods. Observe the following while designing classes:

� Clearly indicate public and private class.
� Use pointers to implement classes.
� Design constructors in each class and explain its purpose.
� Identify data structures and methods which can be inherited.
� Implementation should be in C+ +.

(c) Define a template class for searching for a key value in the list of given elements.

2.(a) Prepare an object model to describe undirected graphs. An undirected graph consists of a set of vertices and a set of edges. Edges connect pairs of vertices. Your model should capture only the structure of graphs (i.e. connectivity) and need not be concerned with geometrical details such as location of vertices or lengths of edges.

(b) Categorize the following relationships into generalization, aggregation and association. Beware, there may be ternary or n-ary associations in the list, so do not assume every relationship involving three or more object classes is a generalization. Defend your answers.

(i) A polygon is composed of an ordered set of points
(ii) A drawing object is text, a geometrical object or a group
(iii) A dining philosopher is using a fork
(iv) A person uses a computer language on a project
(v) Modems and keywords are input/output devices
(vi) Object classes may have several attributes
(vii) A person plays for a team in a certain year.

3.(a) Describe some situations in which strong typing would help you. Describe some circumstances in which strong typing would cause problems.

(b) Discuss the features of parameterized classes, efficiency, strong typing, weak typing, packaging, encapsulation, data persistence in SmallTalk, Clos, C++ and Eiffel object oriented programming languages.

4.(a) Improve the following object diagram by generalizing classes ‘Ellipse’ and ‘Rectangle’ to the class ‘Graphics Primitive’, transforming the object diagram so that there is only a single one-to-one association to the object class ‘Boundary’. In effect, you will be changing the 0, 1 multiplicity to exactly one multiplicity. As it stands, the class ‘Boundary’ is shared between ‘Ellipse’ and ‘Rectangle’. A ‘Boundary’ is the smallest rectangular region that will contain the associated ‘Ellipse’ or ‘Rectangle’.

Fig: Position of an object diagram with a shared class.

(b) Draw OMT object model for a course registration system of a university.

5.(a) Specify an application and explain why object oriented design or a procedural design is suitable for it. Also, state the reason for the other design to be unsuitable.

(b) Explain the concept of inheritance

(c) Discuss features of OODBMS (Object Oriented DBMS).

6. Write short notes on the following:
(a) Jackson structured development
(b) Robustness
(c) Links and Associations

DEC 1998

Comments off

Question Paper of CS-16 – Object-Oriented Systems of Dec 1998 from IGNOU

Note : Question one is compulsory. Answer any three from the rest.

1. (a) Define the following terms with examples:
(i) Abstract Classes
(ii) Multiple Inheritance
(iii) Concurrency
(iv) Function Overloading

(b) Design an Object Oriented System for Employees Loan processing System (ELPS). Each employees is having eligibility to apply for loan depending on salary for a cycle, scooter or a car. ELPS should record the information like name of employee, date of joining, age, amount taken as loan, installment to be paid per month, balance remaining etc, ELPS should constantly update the last field (balance to be paid), installment to be paid (if it is not paid regularly) etc.

Observe the following during design.

� Clearly indicate public and private classes
� Clearly indicate base and super classes
� Design Constructors in each class and explain its purpose
� Implementation should be in C ++

(c) Design a Template class for sorting a list of elements

2. (a) Prepare object diagrams showing at least 10 relationships among the following object classes. Include associations, aggregations and generalizations. Use qualified associations and show multiplicity balls in your diagrams . You do not need to show attributes or operations. Use association names where needed. As you prepare the diagrams, you may add additional object classes: file system, file, directory, file name, ASCII file, executable file, directory file, disk, drive, track, sector

(b) What are the advantages of Object Oriented Design over Procedural Design?

3.(a) What new features should be added to SQL to provide better support for Object Oriented Concepts?

(b) Prepare a data flow diagram for computing the mean of a sequence of input values. A separate control input is provided to reset the computation. Each time a mean value is input the mean of all values input since it first reset command should be output. Since you have no way of knowing how many values will be processed between resets. The amount of data storage that you use should not depend on the number of input values. Detail your diagram down to the level of multiplication. Divisions and additions.

4. (a) Rephrase the following requirements to make them more precise. Remove any design decisions posing as requirements.

A system for distributed electronic mail over a network is needed. Each user of the system should be able to send mail from any computer account and receive mail on one designated account. There should be provisions for answering or forwarding mail, as well as saving messages in files or printing them. Also users should be able to send messages to several other users at once through distribution lists. Each computer on the net should hold any messages destined for computers which are down.

(b) Write code to implement the following:
One-to-many association, which is traversed in the direction from one to many. The association considered unordered Code should be in C++.

5.(a) Design a template class for implementation of a LINKED LIST.

(b) Implement the following class using C++ and any other non-object oriented language polygon.

6. Write short notes on
(a) Generalization
(b) Optimization
(c) Robustness

JUNE 1998

Comments off

Question Paper of CS-16 – Object-Oriented Systems of June 1998 from IGNOU

Note : Question one is compulsory. Answer any three from the rest.

1. (a) Define the following terms with examples:
(i) Abstract data type
(ii) Polymorphism
(iii) Inheritance
(iv) Templates

(b) Design an EMPLOYEE base class. Define all its possible methods and data structures. Through inheritance mechanism, create one class namely MANAGER. Implement its data structure and important methods. Assume that you are making this design for the purpose of making a salary statement. Observe the following while designing classes:

� Clearly indicate public and private classes
� Design constructors in each class and explain its purpose
� Identify data structure and methods which can be inherited
� Implementation should be in C++

(c) Design a template class for finding a key value in a list of elements.

2.(a) Prepare object diagrams showing atleast 10 relationships among the following object classes. Include associations, aggregations and generalizations. Use qualified associations and show multiplicity balls in your diagrams. You do not need to show attributes or operations. Use association names where needed. As you prepare the diagrams you may add additional object classes:

School, playground, principal, classroom, book, student, teacher, cafeteria, rest-room, computer, desk, chair, door.

(b) What is the impact of Object Oriented approach on traditional software development approaches?

3.(a) What new features should be added to SQL to provide better support for Object Oriented Concepts?

(b) Prepare a data flow diagram for computing the volume and surface area of a cylinder. Inputs are height and radius of cylinder. Outputs are volume and surface area. You can use any arbitrary formula for demonstration. Discuss several ways of implementing the DFD.

4. (a) Rephrase the following requirements to make them more precise. Remove any design decisions posing as requirements:

A system to transfer data form one computer to another over a telecommunication line. The system should transmit data reliably over noisy channels. Data must not be lost if the receiving end cannot keep up or if the line drops out. Data should be transmitted in packets, using a master-slave protocol in which the receiving end acknowledges or negatively acknowledges all exchanges.

(b) Write code, including class declarations and methods, to implement the following using pointers in C++ One-to-one association which is traversed in both directions.

5.(a) Design a template class for implementation of BINARY TREE.

(b) Implement the following class using C++ and any other non-object-oriented language: Sorted_dictionary

6 Write short notes on the following :
(a) Reusability
(b) Extensibility
(c) Robustness

DEC 1997

Comments off

Question Paper of CS-16 – Object-Oriented Systems of Dec 1997 from IGNOU

Note : Question one is compulsory. Answer any three from the rest.

1. (a) For each of the following systems, identify the relative importance of three aspects of modeling:

(i) Object modeling
(ii) Dynamic modeling
(iii) Functional modeling

Explain your answer
� Chess Player
� Remote Controlled Machine
� Electronic Typewriter
� Software to Mail Merge
� Telephone Answering Machine

(b) Design a linked list base class. Define all its possible methods and data structure. Through inheritance mechanism create one class namely Binary Search tree. Implement its data structure and important methods.

Observe the following while designing classes.
� Clearly indicate public and private class
� Use pointers to implement classes
� Design constructors in each class and explain its purpose
� Identify data structure and methods, which can be inherited
� Implementation should be in C++

(c) Design a template class for sorting.

2. (a) Draw an object diagram (using relationship instead of pointers) for interlibrary loan of books.

(b) Categorize the following relationship into generalization, aggregation or association. Beware there may be ternary or n-ary association in the list, so do not assume every relationship involving three or more object classes is a generalization. Defend your answer

(i) A country has a capital city
(ii) A dining philosopher is using a fork
(iii) A file is an ordinary file or a directory file
(iv) File contains records
(v) A person uses a computer language on a project
(vi) A route connects two cities
(vii) A student takes a course from a professor.

3. (a) Comment on the importance data persistence what are different approaches to providing persistent data services? (b) Discuss the features of parameterized classes, assertion constraints and garbage collection in Smalltalk, Clos, C++ and Eiffel object oriented programming languages.

4. (a) Many conventional data structures can be replaced with associations. Draw sample object diagrams in which each of the following conventional data structures is replaced by one or more associations. Keep your answers simple.
� Array
� List
� Stack
� Binary tree

(b) Draw OMT object model for participant’s registration system for a seminar.

5. (a) Discuss the efficiency of object oriented programming languages.

(b) Describe some situation in which strong typing would help you. Describe some circumstances in which strong typing would cause problems.

(c) Explain the concept of Packaging.

6 Write short notes on the following

(a) Identifying concurrency in a system
(b) Programming in the large
(c) Drawbacks of RDBMS

JUNE 1997

Comments off

Question Paper of CS-16 – Object-Oriented Systems of June 1997 from IGNOU

Note : Question one is compulsory. Answer any three from the rest.

1.
(a) Design a linked list base class. Implement all its possible methods and data structures. Through inheritance mechanism create two more subclasses namely stack and queue class. Implement its data structures and important methods.
Observe the following while designing classes:
� Clearly indicate public and private class
� Use pointers to implement classes
� Design constructors in each class and explain its purpose
� Identify data structures and methods which can be inherited
� Implementation should be in C++

(b) Use the above example to illustrate the main advantages offered as compared to conventional data type.

(c) Generalize your definition of stack to define it as a template class.

(d) Print out which statements in the following C++ code fragment violate the access control mechanism for
class X or class Y class X { private : int i; void pvt_X(); protected : int j; void prot_X(); public : int K; void pub_X(int, int); }; class Y : public X { char C; }; X x; Y y; x.i=10; x.K=15; y.prot_X(); y.pub_X(5, 10); };

2. (a) Describe the following concepts through examples:
(i) Generalization
(ii) Aggregation
(iii) Multiple inheritance
(iv) Metadata

(b) Prepare an object diagram for a graphical document editor that supports grouping which is a concept used in a variety of graphical editors. Assume that a document is composed of several sheets, each sheet contains drawing objects, including text, geometrical objects and graphs. A group must contain at least two drawing objects which can be a direct member of at most one group. Geometrical objects include circle, ellipse, rectangle, line and square.

3. (a) Explain the notion of in line and friend functions in C++ through example.

(b) In C++ what happens if a constructor or destructor assigns a value to the pointer this ? Explain what precautions must be taken when writing such a constructor to ensure that it can correctly initialize both free store and automatic objects.

(c) What is object identity? How is it supported in Smalltalk?

4. (a) C++ supports virtual destructor but not virtual instructors. Give an example to show the use of virtual destructor. Justify the absence of virtual constructors in C++.

(b) Why is the overhead associated with method dispatch (or action calls) in Smalltalk higher than C++?

(c) Give an example to explain the notion of virtual base class in C++. Illustrate what happens to your example when the base class is not declared as virtual ?

5. (a) Comment on the importance of data persistence. What are different approaches to providing persistent data services?

(b) Discuss important features of OODBMS( Object Oriented DBMS).

(c) Discuss the feature of parameterized class, assertion, constraints and garbage collection in Smalltalk, Clos and Eiffel object-oriented programming languages.

6. (a) Apply Booch’s methodology for Object Oriented Analysis and Design specification of Sales Office Automation.

(b) Discuss features of Shlaer and Mellor OOA and OOD method