Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
16 views16 pages

Oose Question Bank

The document is a question bank for the MCA course MC4102 on Object Oriented Software Engineering, covering various topics such as software development processes, modeling object-oriented systems, design patterns, system testing, and software quality metrics. It includes definitions, characteristics, and principles related to software engineering concepts, as well as questions for different units. The content is structured into parts A, B, and C, focusing on theoretical understanding and practical applications in software engineering.

Uploaded by

Prakash Raj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views16 pages

Oose Question Bank

The document is a question bank for the MCA course MC4102 on Object Oriented Software Engineering, covering various topics such as software development processes, modeling object-oriented systems, design patterns, system testing, and software quality metrics. It includes definitions, characteristics, and principles related to software engineering concepts, as well as questions for different units. The content is structured into parts A, B, and C, focusing on theoretical understanding and practical applications in software engineering.

Uploaded by

Prakash Raj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

DEPARTMENT OF MCA

QUESTION BANK

MC4102-OBJECT ORIENTED SOFTWARE ENGINEERING

I - MCA
UNIT – 1 SOFTWARE DEVELOPMENT AND PROCESS MODELS

PART A
1. What is Software?
Software is a combination of program(s), documentation (documents produced
during development) and operatingprocedure manuals (delivered with programs to the
customer at the time of release).

2. Define Software?
Software is set of Computer programs associated with documentation &
configuration data that is needed to make these programs operate correctly. A
software system consists of a number of programs, configuration files (used to set up
programs), system documentation (describes the structure of the system) and user
documentation (explains how to use system).

3. What is operating procedure manual?


Operating procedure manuals are prepared to help the customer to install,
operate and maintain the software. They are delivered along with program(s)
at the time of release.

4. Display the Characteristics of Good Software.


 Operational
 Transitional
 Maintenance

5. Describe Operational Characteristics


a) Reliability: Software is more reliable if it has fewer failures. Designers can
improve reliability by ensuring the software is easy to implement and change,
by testing it thoroughly, and also by ensuring that if failures occur, the system
can handle them or can recover easily.
b) Usability: The higher the usability of software, the easier it is for users to
work with it.
c) Efficiency: Efficiency. The more efficient software is, the less it uses of
CPU-time, memory, disk space, network bandwidth and other resources. This
is important to customers in order to reduce their costs of running the
software.

6. What is System software?


This class of software manages and controls the internal operations of a
computer system. It is a group of programs, which is responsible for using computer
resources efficiently and effectively. For example, an operating system is a system
software, which controls the hardware, manages memory and multitasking functions,
and acts as an interface between application programs and the computer. Example :
Devices software, Operating system.

7. Define Class.
A class represents a group of similar objects, which encapsulates data to
describe their states and operations to be performed by them. A class represents a
template and describes how these objects are structured internally.

8. Define Object
An instance of a class used to describe the entity. Objects are the
fundamental entities which are used to model any system. All objects have
unique identification and are also distinguishable.

9. Define Encapsulation
The data and operations are combined into a single unit. The only way
to access data is through operations which are designed to operate on the data.
The data is not available to the external world. This concept may make the
data safe and secure from external interventions. Accidental modifications
from the outside world are not possible. The private attributes are not
accessible to the outside world. Thus, the private part in the implementation is
hidden from the users. The outside world can only interact with the class book
through public interfaces, i.e. the operations.

10. Define Inheritance


Inheritance allows programmers to create classes that are built upon
existing classes, to specify a new implementation while maintaining the same
behaviors (realizing an interface), to reuse code and to independently extend
original software via public classes and interfaces.

11. Define polymorphism


Polymorphism means that the sender of a stimulus (message)does not
need to know the receiving instance’s class. Polymorphism can be achieved
through function overriding. For example, consider the media class with two
operations read and show. The publication media need to read and display
different attributes such as the number of pages and publisher, whereas
videotapes also need to read and display different attributes such as time.
Thus, the class publication and the class videotapes override the operations
read and show of the base class media and provide their own read and show
operations. Function overriding involves replacement of the same operation in
the base class with the one in the derived class.

12. Define Abstraction


An abstraction is the elimination of irrelevant and the amplification of
the essential details. We learn driving a car without knowing the internal
details of the engine, batteries, control system, etc. The details may not be
required to know for a learner and may create unnecessary confusion. Hence,
abstraction may improve the understanding of the system. All complex details
are not relevant for everyone. Levels of abstraction may vary in different
situations

13. What is Instance of Variable?


A variable is a place where you can put data. Each class declares a list
of variables corresponding to data that will be present in each instance; such
variables are called instance variables

14. Define System Test Phase.


The regression testing (a type of system testing) is performed on the
modified system to ensure that no new faults are introduced in the software as
a result of the maintenance activity. The input attribute comprises the updated
software documentation, test preparation review report, and the updated
system. In the process attribute, various types of testing such as system
functional testing, interface testing, and regression testing are performed on
the fully integrated system. While in the control attribute, system testing is
performed.

15. Define Acceptance Test Phase


Acceptance testing is performed on the fully integrated system by the
user or by a third party specified by the user. The objective is to detect errors
and verify that the software features are according to the requirements stated
in the modification request. The input attribute comprises the fully integrated
system, acceptance test plans, acceptance test cases, and acceptance test
procedures.

16. Define Deliver Phase.


The modified (or new) software system is delivered to the user. In addition,
users are provided with a proper documentation consisting of manuals and
help files that describe the operation of the software along with its hardware
specifications. The input attribute comprises a fully tested and accepted
version of the system.
PART - B
1. Describe Software Development and its Challenges.
2. Explain Software Development Process.
3. Elucidate the SDLC Model
PART - C
1. Briefly Explain
a. Iterative Development Process
b. Process Model
c. Unified Process Model
d. Iterative and Incremental Model
e. Agile Process Model
f. Life Cycle Methods
UNIT II MODELING OO SYSTEMS
PART – A
1. Define Classes
A class is a description of one or more objects that have a uniform set
of attributes and services, together with a description of how to create new
objects in the class.

2. Define Objects
Objects (in classes) are also ``dynamic,'' in the sense that that they can have
``states,'' just as states can be identified for systems when `structured analysis'' is
used to specify requirements.

3. Define Attributes
An attribute of a class is some data or state information, for which each
attribute in a class has its own value.

4. Define Instance Connections


Instance connections on class diagrams are extremely similar to binary
(two-way) relationships on entity-relationship diagrams: An instance connection
between a pair of classes represents a set of connections between pairs of
objects in the two classes, that the system must remember in order to function, and it
represents no other information besides that.

5. Define Services
A service is a ``specific behaviour that an object is responsible for
exhibiting.'' This can be thought of as an ``operation'' or ``function'' that the object
(or class) provides for the rest of the system.

6. Define Messages
A message connection on a class diagram is a directed connection (drawn
using an arrow) from one class on the diagram to other, that points in the direction of
some message can be sent between the classes, when the system is operating. Thus,
there will be an arrow pointing from ``Class A'' to ``Class B,'' if class A can ask class
B to perform one of the services that class B provides.

7. Define Structures
``structures'' are different kinds of connections between (and organizations of)
classes, and that there are two different kinds of structures that we should look
for and show on class diagrams. Each of these is a bit easier to describe.

8. Describe Whole-part Structures


It used to show that an object of one class is a part of or a component of an
object in another one.
9. Define Booch Method
Is a method for object-oriented software development. It is composed of an object
modeling language. An iterative object-oriented development process and a set of
recommended.

10. Define Macro Process Identifies Cycle


 Conceptualization : establish core requirements
 Analysis : develop a model of the desired behaviour
 Design : create an architecture
 Evolution: for the implementation
 Maintenance : for evolution after the delivery
11. Expand OMT and what is OMT?

Object Modeling Technique (OMT) is real world based modeling


approach for software modeling and designing. It was developed basically as a
method to develop object-oriented systems and to support object-oriented
programming. It describes the static structure of the system. Object Modeling
Technique is easy to draw and use. It is used in many applications like
telecommunication, transportation, compilers etc. It is also used in many real world
problems. OMT is one of the most popular object oriented development
techniques used now-a-days. OMT was developed by James Rambaugh.

12. Purpose of OMT


 To test physical entity before construction of them.
 To make communication easier with the customers.
 To present information in an alternative way i.e. visualization.
 To reduce the complexity of software.
 To solve the real world problems.
13. Define Object Model
Object Model encompasses the principles of abstraction, encapsulation,
modularity, hierarchy, typing, concurrency and persistence. Object Model
basically emphasizes on the object and class. Main concepts related with Object
Model are classes and their association with attributes. Predefined relationships in
object model are aggregation and generalization (multiple inheritance).
14. List down the Phase of OMT
 Analysis
 System Design
 Object Design
 Implementation
15. What Is Requirements Elicitation?
It is all about obtaining information from stakeholders. In other words,
once the business analysis has communicated with stakeholders for
understanding their requirements, it can be described as elicitation. It can also
be described as a requirement gathering.
16. List Down the Elicitation Techniques.
 Stakeholder Analysis
 Brainstorming
 Interview
 Document Analysis / Review
 Focus Group
 Interface Analysis
 Observation
 Prototyping
 JAD
 Survey

PART – B
1. Explain Requirment Elicitation
2. Discuss the characteristics of a Software Requirement Specification (SRS) document.
3. Describe the identification of classes and Relationships.
4. Explain about Interaction Diagram.
5. Illustrate OMT (Object Modeling Technique).
6. Annotate HOOD (Hierarchical Object Oriented Design)

PART – C
1. Briefly Explain about Usecases.
2. Discuss about SRS Document with example.
3. Explain about OOAD.
4. Explain the Following
a) Identification of Classes and Relationship
b) Identifying State and Behavior
c) Constructor
d) Destructor
5. Discuss about OOD
6. Unified Modeling Language and Tools.
UNIT – III DESIGN PATTERNS

PART – A
1. Software Design Principal Concepts
a. Problem Partitioning
b. Abstraction
c. Modularity
d. Top Down & Bottom Up Strategy
2. Benefits of Problem Partitioning
a. Software is easy to understand
b. Software becomes simple
c. Software is easy to test
d. Software is easy to modify
e. Software is easy to maintain
f. Software is easy to expand
3. Abstraction
An abstraction is a tool that enables a designer to consider a
component at an abstract level without bothering about the internal details of
the implementation. Abstraction can be used for existing element as well as
the component being designed.
4. Advantages of Modularity
a. There are several advantages of Modularity
b. It allows large programs to be written by several or different people
c. It encourages the creation of commonly used routines to be placed in the
library and used by other programs.
d. It simplifies the overlay procedure of loading a large program into main
storage.
e. It provides more checkpoints to measure progress.
f. It provides a framework for complete testing, more accessible to test
g. It produced the well designed and more readable program.
5. Disadvantages of Modularity
There are several disadvantages of Modularity Execution time maybe, but not
certainly, longer Storage size perhaps, but is not certainly, increased Compilation
and loading time may be longer Inter-module communication problems may be
increased More linkage required, run-time may be longer, more source lines must
be written, and more documentation has to be done

PART B
1. Explain the use and purpose of Static and Dynamic Modeling in Object Oriented
Design .
2. Present an outline of GRASP and GoF design Patterns.
UNIT – IV SYSTEM TESTING

PART A
1. What is Software Testing?
Software testing is the process of assessing the functionality of
software program. The process checks for errors and gaps and whether the
outcome of the application matches desired expectations before the software is
installed and goes live.

2. Principals of Software Testing


a. Testing shows the presence of defects
b. Exhaustive Testing is not possible
c. Early Testing
d. Defect Clustering
e. Pesticide Paradox
f. Testing is context-dependent
g. Absence of errors fallacy

3. Importance of Software Testing


a. Defects can be identified early
b. Improves quality of software
c. Increased customer satisfaction
d. Helps with scalability
e. Saves time and money

4. Types of Testing
Manual Testing
Automation Testing
Classification of Manual Testing
White Box Testing
Black Box Testing
Grey Box Testing
Types of Black Box Testing
Functional Testing
Non Functional Testing
Maintenance Testing / Regression Testing
Types of Functional Testing
Unit Testing
Integration Testing
Incremental Testing
Top Down Testing
Bottom Up Testing
Non- Incremental Testing
System Testing
Types of Non Functional Testing
Performance Testing
Load Testing
Stress Testing
Scalability Testing
Stability Testing
Usability Testing
Compatibility Testing

5. Levels of Testing
a. Levels of Testing
b. Different Levels of Testing
c. Levels of Testing in Software Development Life Cycle.

6. Define Unit Testing


In this type of testing, errors are detected individually from every
component or unit by individually testing the components or units of software
to ensure that if they are fit for use by the developers. It is the smallest
testable part of the software.

7. Define System Testing


In system testing, complete and integrated Softwares are tested i.e. all
the system elements forming the system is tested as a whole to meet the
requirements of the system.

8. Define Acceptance Testing


It is a kind of testing conducted to ensure whether the requirement of
the users are fulfilled prior to its delivery and the software works correctly in
the user’s working environment.

PART – B
1. Prepare a detail about Software Verification Techniques.
2. Write about Regression Testing
3. Describe about Level of Testing
4. Explain about Types of Testing
5. Illustrate the Categories and Challenges of Software Maintenance.

PART – C
1. Explain the following
a. Functional Testing
b. Structural Testing
c. Class Testing
d. Mutation Testing
e. Levels of Testing
f. Static and Dynamic Testing Tools
2. Discuss about Maintenance of OOS with example
UNIT – V SOFTWARE QUALITY AND METRICS

PART – A
1. What is the Need of OOSE
a. Software Management Activities
a. Project Planning
b. Scope Management
c. Project Estimation
i. Software Size Estimation
ii. Effort Estimation
iii. Time Estimation
iv. Cost Estimation
b. Project Estimation Technique
a. Decomposition Technique
b. Empirical Estimation Technique
c. Need of Object Oriented Software Estimation

2. Define Software Management Activities


 Project Planning
 Scope Management
 Project Estimation

3. Define Project Planning


Software project planning is task, which is performed before the
production of software actually starts. It is there for the software production
but involves no concrete activity that has any direction connection with
software production; rather it is a set of multiple processes, which facilitates
software production.

4. Define Scope Management


It defines the scope of project; this includes all the activities, process need
to be done in order to make a deliverable software product. Scope
management is essential because it creates boundaries of the project by clearly
defining what would be done in the project and what would not be done. This
makes project to contain limited and quantifiable tasks, which can easily be
documented and in turn avoids cost and time overrun.

5. Define Project Estimation


For an effective management accurate estimation of various measures
is a must. With correct estimation managers can manage and control the
project more efficiently and effectively.
6. Lorenz & Kidd Estimation methods
a. Use of Scenario Scripts
b. Use of Key and Support Classes
c. Examples for finding efforts

7. Steps in Use Case Points method


a. Classification of Actors and Use Cases
b. Computing unadjusted Use Case Points
c. Calculating Technical Complexity Factors
d. Calculating Environmental Complexity Factors
e. Calculating Use Case Points

8. What is Risk ?
"Tomorrow problems are today's risk."
"Risk" is a problem that could cause some loss or threaten the progress of the
project, but which has not happened yet.
Risk is defined as the combined effect of probability of occurrence of an
undesirable event and the impact of the occurrence of this event. Risk can
delay the delivery of the software and over budget a project. Risky projects
may not also meet specified quality levels.

9. What is Risk Management?


A software project can be concerned with a large variety of risks. In
order to be adept to systematically identify the significant risks which might
affect a software project, it is essential to classify risks into different classes.
The project manager can then check which risks from each class are relevant
to the project.

10. Classification of Risk


a. Project Risk
b. Technical Risk
c. Business Risk
d. Known Risk
e. Predictable Risk
f. Unpredictable Risk

11. Principal of Risk management

1. Global Perspective: In this, we review the bigger system description, design,


and implementation. We look at the chance and the impact the risk is going to
have.
2. Take a forward-looking view: Consider the threat which may appear in the
future and create future plans for directing the next events.
3. Open Communication: This is to allow the free flow of communications
between the client and the team members so that they have certainty about the
risks.
4. Integrated management: In this method risk management is made an integral
part of project management.
5. Continuous process: In this phase, the risks are tracked continuously
throughout the risk management paradigm.

12. Attributes of Software Quality


1. Functionality
2. Usability
3. Testability
4. Reliability
5. Maintainability
6. Adaptability

13. What is McCall Model


Is the first quality model developed, which defines a layout of the various
aspects that define the product's quality. It defines the product quality in the following
manner – Product Revision, Product Operation, Product Transition. Product revision
deals with maintainability, flexibility and testability, product operation is about
correctness, reliability, efficiency and integrity.

PART B & C

1) Discuss the need for Object Oriented Software Estimation. Explain how Lorenz and Kidd
method is used to calculate the estimation of size and effort.
2) Present a framework for managing risks
3) Why do we need metrics in software.
4) How do we measure Software Quality.
5) Explain about Use case points and Class Point method.
REFERENCE NOTES LINKS:

UNIT 1 – https://www.scribd.com/document/781957827/2024-MC4102-OOSE-UNIT-1-
KVL-NOTES
UNIT 2 – https://www.studocu.com/in/document/anna-university/object-oriented-software-
engineering/mc4102-oose-unit-2-kvl-notes/96916511
UNIT 3 – https://www.studocu.com/in/document/anna-university/object-oriented-software-
engineering/mc4102-oose-unit-3-kvl-notes/96916597
UNIT 4 – https://www.studocu.com/in/document/anna-university/object-oriented-software-
engineering/mc4102-oose-unit-4-kvl-notes/96916616
UNIT 5 – https://www.studocu.com/in/document/anna-university/object-oriented-software-
engineering/mc4102-oose-unit-5-kvl-notes/96916633

You might also like