RAMCO INSTITUTE OF TECHNOLOGY
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Academic Year: 2025-2026 (Even Semester)
QUESTION BANK
Degree, Semester& Branch: VI Semester B.E Computer Science and Engineering
Course Code & Title: CCS356 & Object Oriented Software Engineering
Name of the Faculty member: Mrs.R Latha, AP/CSE
UNIT –I
Part-A
1. Write the IEEE definition of software engineering.
Software engineering is defined as the application of a systematic, disciplined, quantifiable
approach to the development, operation and maintenance of software and the study of these
approaches; that is the application of engineering to software.
2. Define Software and List its characteristics.
Software is a collection of computer programs and related documents that are intended to provide
desired features, functionalities and better performance.
Characteristics:
Software is engineered not manufactured.
Software does not ware out
Most software is custom built rather than being assembled from components.
3. Mention the various types of software products.
There are two types of software products -
Generic - These products are developed and to be sold to the range of different customers.
Custom -These type of products is developed and sold to the specific group of
Customers and developed as per their requirements.
4. Define software engineering. (Dec.22, May.22)
Software engineering is a modelling activity. Software engineers deal with complexity through
modelling. Software engineering is a problem-solving activity. Models are used to search for an
acceptable solution. Software engineering is a knowledge acquisition activity. It is a single piece of
additional data can invalidate complete models.
Software engineering is a rationale-driven activity. Rationale information represented as a set of
issue models enables us to understand the implication of proposed change when revisiting a
decision
5. Distinguish between process and methods.
Software process can be defined as the structured set of activities that are required to develop the
software system. Various activities under software process are-
Specification
• Design and implementation
• Validation
• Evolution
Method is used mainly in object-oriented programming; the term method refers to a piece of code
that is exclusively associated either with a class (called class methods) or with an object (called
instance methods).
6. Why software architecture is important in software process?
The system architecture defines the role of hardware, software, people, database procedures and
other system elements. The architectural design of the system helps the developer to understand the
system as a whole. Hence system architecture must be built before specifications are completed.
Thus architectural design is important in software engineering.
7. Differentiate structured analysis and structured design.
Traditional design consists of two different activities; first a structured analysis of the requirements
specification is carried out where the detailed structure problem is examined. This is followed by a
structured design activity. During structured design, the result of structured analysis are
transformed into the software design.
8. List the task regions in the spiral model.
Customer communication: In this region it is suggested to establish customer communication.
Planning: all planning activities are carried out in order to define resource timeline and other
project related activated
Risk Analysis: the task required to calculate technical and management risk.
Engineering: in this the task region, task is required to build one or more representations of
application are conducted.
Construct and release: all the necessary tasks required constructing, testing, install the application
are conducted.
9. List the advantages of prototyping model.
Advantages of prototyping model -
1. The working model of the system can be quickly designed by construction of prototype. This
gives the idea of final system to the user.
2. The prototype is evaluated by the user and the requirements can be refined during the process of
software development.
3. This method encourages active participation of developer and user.
4. This type of model is cost effective.
5. This model helps to refine the potential risks associated with the delivery of the final system.
6. The system development speed can be increased with this approach.
10. Mention any two software engineering challenges. (Dec-22)
The key challenges faced by software engineering are -
1. Delivery times challenge
There is increasing pressure for faster delivery of software. When the complexity of the systems
that we develop increases, this challenge becomes harder.
2. Heterogeneity challenge
Sometimes systems are distributed and include a mix of hardware and software. This implies that
software systems must cleanly integrate with other different software systems, built by different
organizations and team which may be using different hardware and software platform.
11. Define the terms product and process in software engineering.
The product in software engineering is a standalone entity that can be produced by development organization
a consist the open market to any customer who is able to buy ham. The software product consists of computer
programs, procedures, and associated documentation (documentation can be in hard copy form or it may be in
visual form). Some of the examples of software product are databases, word processors, drawing tools.
The process in software engineering can be defined as the structured set of activities that are required
to develop software system. Various activities under software process are-
Specification
Design and implementation
Validation
Evolution
12. What are the layers of software engineering?
13. What are the phases encompassed in the RAD model?
Various phases in the RAD model are
Business modelling
Data modelling
Process modelling
Application generation
Testing and turnover
14. Define a system and computer based system.
System: A system can be defined as a purposeful collection of inter-related components working
together to achieve some common objectives.
Computer based system: The computer based system can be defined as a set or an arrangement of
elements that are organized to accomplish some predefined goal by processing information.
15. Which process model leads to software reuse? Why?
The object oriented model is used for the software reuse because - this model is based on the
incremental development of the software product. This can be done in one or more iterations.
16. State the benefits of waterfall life cycle model for software development.
The waterfall model is simple to implement.
For implementation of small systems, the waterfall model is used.
17. How does "Project Risk" factor affect the spiral model of software development?
The spiral model demands considerable risk assessment because if a major risk is not uncovered
and managed, problems will occur in the project and then it will not be acceptable by end user.
18. Define software.
Software is a collection of computer programs and related documents that are intended to provide
desired features, functionalities and performance. A software can be of two types-1. Generic
software and 2. Custom software.
19. What is software process model? On what basis it is chosen?
The software process model can be defined as abstract representation of process. It is based on
nature of software project.
20. Define software process, Give its importance.
Software process is a set of activities, methods, practices and transformations that people use to
develop and maintain software and the associated products. (e.g., project plans, design document,
code, test cases and user manuals)
1. Specification
2. Design and Implementation
3. Validation
4. Evolution
21. Write the process framework and Umbrella activities.
Process Framework: Process framework is required for representing the common process activities.
The process framework activities are -
1. Communication
2. Planning
3. Modeling
4. Construction
5. Deployment
Umbrella Activities: The umbrella activities focus on project management, tracking and control.
These activities are -
1. Software Project tracking and Control
2. Risk Management
3. Software Quality Assurance
4. Formal Technical Review
5. Software Configuration Management
6. Work Production Preparation and production
7. Reusability Management
8. Measurement
22. What are the pros and cons of Iterative software development models?
Pros:
The changes in requirements or additions of functionality is possible.
Risks can be identified and rectified before they get problematic.
Cons:
This model is typically based on customer communication. If the communication is not proper the software
product that gets developed will not be exactly requirements.
The development process may get continued and never finish.
23. What led the transition from product-oriented development to process oriented development
to process oriented development? (Apr/May-21)
Software Process and Agile- The software process model led to the transition from product-oriented
development to process oriented development.
24. Mention the characteristics of software contrasting it with characteristics of hardware.
1. Software is engineered and not manufactured.
2. Software does not ware out.
3. The software is custom built rather than being assembled from components.
25. If you have to develop a word processing software product, what process model will you
choose? Justify your answer.
The incremental process model will be used to develop word processing software product.
Justification:
1. The working software can be generated quickly and early during the software life cycle.
2. The customers can respond to its functionalities after every increment.
26. Depict the relationship between work product, task, activity and system.
Each framework activity under umbrella activities of software process framework consists
of various task sets
Each task set consists of work tasks, work products, quality assurance points and project
milestones. The task sets accommodate the needs of the system getting developed.
27. List two deficiencies in waterfall model. Which process model do you suggest to overcome
each efficiency?
It is difficult to define all the requirement at the beginning of project; this model is not
suitable for accommodating any change.
To overcome this efficiency: Prototyping model.
It does not scale up to large projects.
To overcome this efficiency: Spiral model
28. Distinguish functional and non-functional requirements
Functional Requirements
The functional requirements specify what the product must do.
They relate to the actions that the product must carry out in order to satisfy the fundamental
reasons for its existence.
Non-functional requirements
Non-functional Requirement is a constraint on the operation of the system that is not related
directly to a function of the system.
The non-functional requirements add functionality to the product -- it takes some amount of
pressing to make a product easy to use, or secure, or interactive.
29. What is an Agile Process? (APR/MAY 2025)
Agile SDLC model is a combination of iterative and incremental process model which focus on
process adaptability and customer satisfaction by rapid delivery of working software product. Agile
methods break the product into small incremental builds. These builds provided in iterations.
Part B
1. Define software life cycle. List all life cycle models and explain all the models in detail with
neat diagram.
2. Describe about agile modelling in detail. (APR/MAY 2024)
3. Explain in brief about the Extreme Programming Process with a neat diagram. (APR/MAY 2024)
4. Illustrate an overview of Object-Oriented Software Engineering Development Activities and
their Products. (APR/MAY 2024)
5. Explain in detail about Software Process. Mention the umbrella activities.
6. Explain the iterative waterfall and spiral model for software life cycle and various activities in
each phase.
7. What is process model? Describe the process model that you would choose to manufacture a
car. Explain by giving suitable reasons. (APR/MAY
2024)
8. Explain the component-based software development model with a neat sketch.
9. Describe the various Evolutionary process models with neat diagram.
10. Compare the life cycle models based on their distinguishing factors, strengths and weaknesses.
11. Discuss the prototyping model, what is the effect of designing prototype on the overall cost of
the software project?
12. Describe in detail about Perspective Process Models with its advantages and disadvantages.
(APR/MAY 2025)
Part C
1. For the scenario describe below, which life cycle model would choose? Give the reason why you
choose this model. You are interacting with the MIS department of a very large oil company with
multiple departments. They have a complex legacy system. Migrating the data from this legacy
system is not easy task and would take a considerable time. The oil company is very particular
about processes, acceptance criteria and legal contracts.
2. Describe at least one scenario where RAD model would be applicable and not the waterfall model.
Waterfall model is preferable to all other models.
3. Assume that you are the technical manager of a software development organization. A client
approached you for a software solution. The problems stated by the client have uncertainties which
lead to loss if it not planned and solved. Which software development model you will suggest for
this project – justify. Explain that model with its pros and cons with neat sketch.
4. Explain how waterfall model is applicable for the development of the following systems:
a. University accounting system
b. Interactive system that allows railway passengers to find time and other information for the
terminals installed in the station.
5. Scenario:
"An Inventory Management System (IMS) for a Supermarket is set to be developed with the
following requirements: Each product's details including its name, price, and quantity are to be
stored in the central database upon arrival. Products are categorized based on their type and shelf
life. The IMS should provide a user-friendly interface for employees to update stock levels, mark
items as expired, and generate purchase orders automatically when stock levels run low.
Additionally, the system should track sales in real-time and generate daily, weekly, and monthly
sales reports for analysis. Special discounts and promotions are to be applied during festive seasons,
with notifications sent to customers via email and SMS. Furthermore, the IMS should have the
capability to integrate with the supermarket's existing accounting software for seamless financial
management".
Question
For the given scenario, identify the Functional Requirements and Non- Functional Requirements for
the given System and draw suitable use case diagrams. (APR/MAY 2024)
6. Show how Extreme Programming (XP) offer effective strategies for addressing the challenges of
modern software development in delivering high-quality software within tight deadlines due to
changing requirements and limited customer feedback. (APR/MAY 2025)