Oose Ia2 2 Marks

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

1. Define the Command pattern in software design.

The Command Design Pattern is a behavioral design pattern that encapsulates a request as
an object, thereby allowing parameterization of clients with queues, requests, and
operations. It enables the parameterization of clients with queues, requests, and operations.

2. What is the purpose of the Strategy pattern?


A good system design is to organize the program modules in such a way that are easy to
develop and change. Structured design techniques help developers to deal with the size and

complexity of programs. System Design Strategy refers to the approach that is taken to
design a software system.

3. Explain the Observer pattern briefly.


The Observer Design Pattern is a behavioral design pattern that defines a one-to-many
dependency between objects so that when one object changes state, all its dependents are
notified and updated automatically. It's commonly used to implement distributed event
handling systems, where subjects or publishers broadcast events to multiple subscribers or
observers.

4. Define the Proxy pattern and its usage.


The Proxy Design Pattern is a structural design pattern that provides a surrogate or
placeholder for another object to control access to it. It acts as an intermediary, allowing
clients to interact with the proxy instead of the actual object. The proxy object can perform
additional tasks such as lazy initialization, caching, access control, logging, or monitoring
without changing the original object's interface.

5. What is a Facade in software architecture?


The Facade Design Pattern is a structural design pattern that provides a simplified interface
to a complex system, making it easier to use. It encapsulates a set of interfaces in a higher-
level interface, thus hiding the complexities of the underlying system.

6. Explain Regression testing


Regression testing is a black box testing techniques. It is used to authenticate a code change
in the software does not impact the existing functionality of the product. Regression testing
is making sure that the product works fine with new functionality, bug fixes, or any change in
the existing feature.

7. Define verification, validation,testing, debugging


Verification: It refers to the set of tasks that ensure that the software correctly implements a
specific function. It means “Are we building the product right?”.
Validation: It refers to a different set of tasks that ensure that the software that has been
built is traceable to customer requirements. It means “Are we building the right product?”.
Software Testing is a method to assess the functionality of the software program. The
process checks whether the actual software matches the expected requirements and
ensures the software is bug-free.
Debugging is the process of identifying and resolving errors, or bugs, in a software system. It
is an important aspect of software engineering because bugs can cause a software system to
malfunction, and can lead to poor performance or incorrect results.

8. Compare blackbox testing and whitebox testing


Black-box testing is a type of software testing in which the tester is not concerned with the
internal knowledge or implementation details of the software but rather focuses on
validating the functionality based on the provided specifications or requirements.
White box testing techniques analyze the internal structures the used data structures,
internal design, code structure, and the working of the software rather than just the
functionality as in black box testing. It is also called glass box testing or clear box testing or
structural testing.

9. Define Unit Testing and its importance in software development.


Unit testing is a type of software testing that focuses on individual units or components of a
software system.
The purpose of unit testing is to validate that each unit of the software works as intended
and meets the requirements. Unit testing is typically performed by developers, and it is
performed early in the development process before the code is integrated and tested as a
whole system.

10. Explain symbolic execution testing


Symbolic execution is a software testing technique that is useful to aid the generation of test
data and in proving the program quality.

11. List out various factors affect project plan

12. What are the main components of a Deployment Pipeline in DevOps?


 Continuous integration and continuous delivery
 continuous testing
 continuous monitoring
 continuous deployment
 continuous feedback
 continuous operations

13. Write about Devops


DevOps, short for Development and Operations, is a methodology that combines software
development (Dev) with IT operations (Ops), aiming to shorten the systems development life
cycle and provide continuous delivery with high software quality.
14. Explain PERT
A PERT chart is a network diagram that allows project managers to create project schedules.
They’re used in the Program Evaluation Review Technique (PERT) to represent a project
timeline, estimate the duration of tasks, identify task dependencies and find the critical path
of a project.

15. Public subscribe design pattern


The Publish-Subscribe (PubSub) design pattern is a behavioral pattern used in software
engineering to establish communication between different components or systems in a
loosely coupled manner. It's commonly employed in distributed systems, event-driven
architectures, and messaging systems.

You might also like