1.
Which mechanism is applied to use a design pattern in OO system?
Correct Answer
C. Both
Explanation
Both inheritance and composition can be used to apply a design pattern in an object-oriented system. Inheritance allows a class to inherit properties and behaviors from another class, which can be useful when implementing certain design patterns that involve creating specialized subclasses. Composition, on the other hand, involves creating objects that contain other objects as properties, allowing for more flexibility and reusability. Depending on the specific design pattern and requirements of the system, either inheritance or composition, or a combination of both, can be used to effectively apply the design pattern.
2.
The use of design patterns for the development of OO software has important implications for
Correct Answer
C. Both
Explanation
The use of design patterns for the development of OO software has important implications for both component-based software engineering and reusability in general. Design patterns provide proven solutions to common design problems, making it easier to develop software components that can be reused in different projects. By using design patterns, developers can create software components that are modular, flexible, and easily maintainable, which are key principles of component-based software engineering. Additionally, design patterns promote reusability by encapsulating reusable design and implementation knowledge, allowing developers to leverage existing solutions and avoid reinventing the wheel.
3.
The recurring aspects of designs are called design
Correct Answer
A. Patterns
Explanation
Design patterns are a set of recurring solutions to common design problems in software development. They provide a way to capture and communicate best practices and proven solutions in a reusable format. By identifying and using design patterns, developers can save time and effort by leveraging existing knowledge and solutions. Therefore, the correct answer for this question is "Patterns".
4.
Explain what is meant by PRODUCT with reference to one of the eight principles as per the ACM/IEEE Code of Ethics ?
Correct Answer
B. Software engineers shall ensure that their products and related modifications meet the highest professional standards possible
Explanation
The correct answer means that software engineers have a responsibility to ensure that the products they create and any modifications they make to those products meet the highest professional standards possible. This includes adhering to ethical guidelines, following best practices, and striving for excellence in the quality and functionality of the product. By meeting these standards, software engineers can ensure that their products are reliable, secure, and effective for the end-users.
5.
Efficiency in a software product does not include ________
Correct Answer
B. Licensing
Explanation
Efficiency in a software product refers to its ability to perform tasks quickly and effectively, utilizing system resources optimally. It focuses on factors such as responsiveness, memory utilization, and processing time. Licensing, on the other hand, is not directly related to the performance or effectiveness of the software. It pertains to the legal permission and terms of use for the software, which may affect its distribution and cost but does not impact its efficiency.
6.
Which technique is applied to ensure the continued evolution of legacy systems ?
Correct Answer
C. Reverse Engineering and Reengineering
Explanation
Reverse engineering and reengineering are techniques applied to ensure the continued evolution of legacy systems. Reverse engineering involves analyzing the existing system to understand its structure, behavior, and functionality. This helps in identifying any shortcomings or areas for improvement. Reengineering, on the other hand, involves making significant changes to the existing system to enhance its performance, maintainability, and functionality. By combining these two techniques, organizations can effectively update and modernize their legacy systems to meet the evolving needs of their business.
7.
Which document is generated as part of user system requirement gathering?
Correct Answer
C. SRS
Explanation
The document that is generated as part of user system requirement gathering is the SRS (Software Requirements Specification). This document outlines the functional and non-functional requirements of the system to be developed. It serves as a communication tool between the stakeholders and the development team, ensuring a clear understanding of what needs to be built. The SRS includes information such as system features, user interfaces, performance requirements, and constraints.
8.
Conflicting requirements are common in Requirement Engineering, with each client proposing his or her version is the right one.
Correct Answer
A. True
Explanation
Conflicting requirements are indeed common in Requirement Engineering. Different clients may have their own preferences and opinions on what the right requirements should be. This can lead to disagreements and conflicts between clients, making it necessary for requirement engineers to carefully manage and negotiate these conflicting requirements to find a suitable solution.
9.
Which testing integrates the set of classes required to respond to one input or event for the system?
Correct Answer
B. Thread-based testing
Explanation
Thread-based testing is the correct answer because it involves testing the set of classes that are required to respond to one input or event for the system. In thread-based testing, multiple threads are used to simulate different inputs or events, allowing for the testing of how the system handles concurrent or parallel execution. This type of testing is particularly useful for identifying issues related to synchronization, race conditions, and deadlock. Cluster testing, use-based testing, and none of the mentioned are not specifically focused on testing the set of classes required to respond to one input or event for the system.
10.
What type of relationship is represented by Shape class and Square ?
Correct Answer
D. Generalization
Explanation
The relationship between the Shape class and Square is a generalization. This means that Square is a specific type of Shape, inheriting all the attributes and behaviors of the Shape class. The Square class is a specialized version of the more general Shape class, representing a specific shape with four equal sides and right angles.
11.
What is used to pass SQL requests and associated data from one component to another?
Correct Answer
B. Client/server SQL interaction
Explanation
Client/server SQL interaction is the correct answer because it refers to the process of passing SQL requests and associated data between a client and a server. In this interaction, the client sends SQL queries to the server, which then processes the queries and returns the results back to the client. This mechanism allows for effective communication and data retrieval between different components in a client/server architecture. SQL Injection is a security vulnerability, and remote procedure calls are a different concept unrelated to passing SQL requests and data.
12.
Which web app attribute is defined by the statement:”A large number of users may access the WebApp at one time”?
Correct Answer
B. Concurrency
Explanation
Concurrency is the correct answer because it refers to the ability of a web application to handle multiple requests from users simultaneously. In this case, the statement mentions that a large number of users may access the web app at one time, indicating the need for concurrency to ensure smooth and efficient handling of these simultaneous requests.
13.
Which of the following statements are incorrect with reference to web-based systems?
Web-based systems
Correct Answer
A. Should be unscalable
14.
Which among the following best defines abstraction?
Correct Answer
D. Hiding the implementation and showing only the features
Explanation
Abstraction refers to the concept of hiding the implementation details of a system or object and only exposing the essential features or functionalities to the user. This allows the user to interact with the system or object without needing to understand the intricate details of how it works internally. By hiding the implementation, abstraction promotes simplicity and ease of use, making it easier for users to work with complex systems or objects.
15.
Which feature can be implemented using encapsulation?
Correct Answer
B. Abstraction
Explanation
Encapsulation is a concept in object-oriented programming that allows the bundling of data and methods within a single unit, known as a class. It provides the ability to hide the internal details of an object and only expose the necessary information to the outside world. Abstraction, on the other hand, is a feature that allows the creation of abstract classes and interfaces, providing a way to define common characteristics and behaviors for a group of related classes. By using encapsulation, we can achieve abstraction by hiding the implementation details of the abstract classes and only exposing the necessary methods and properties.
16.
Which among the following doesn’t come under OOP concept?
Correct Answer
D. Platform independent
Explanation
Platform independence is not a concept specific to object-oriented programming (OOP). It refers to the ability of a program or software to run on different operating systems or platforms without any modification. OOP concepts, on the other hand, include data hiding, data binding, and message passing, which are fundamental principles of OOP languages like Java or C++. Therefore, platform independence does not come under the OOP concept.