Software Architecture Viva Questions |Software Architecture Question for Engineer Student|
Software Architecture Viva Questions
What is a software development methodology?
Ans:-
Software development is a process or series of processes used in
software development. Again, quite broad but that it is things like a design phase, a
development phase.
It is ways of thinking about things like waterfall being a non
iterative kind of process. Generally it takes the form of defined phases. It is
designed to describe the how of the life cycle of a piece of software.
What is Agile in software development?
Ans:-
Teams use the agile development methodology to minimize risk (such as bugs, cost
overruns, and changing requirements) when adding new functionality.
In all agile
methods, teams develop the software in iterations that contain mini-increments of
the new functionality. There are many different forms of the agile development
method, including scrum, crystal, extreme programming (XP), and feature-driven
development (FDD).
What is DevOps deployment?
Ans:-
DevOps is not just a development methodology but also a set of practices that
supports an organizational culture. DevOps deployment centers on organizational
change that enhances collaboration between the departments responsible for
different segments of the development life cycle, such as development, quality
assurance, and operations.
What is water fall development method in software architecture?
Ans:-
The waterfall method is a rigid linear model that consists of
sequential phases (requirements, design, implementation, verification,
maintenance) focusing on distinct goals. Each phase must be 100% complete
before the next phase can start. There’s usually no process for going back to
modify the project or direction.
What is RAD (Rapid Application Dvelopment) method in software architecture?
Ans:-
Rapid application development (RAD) is a condensed development process that
produces a high-quality system with low investment costs. Scott Stiner, CEO and
president of UM Technologies, said in Forbes, “This RAD process allows our
developers to quickly adjust to shifting requirements in a fast-paced and constantly
changing market.” The ability to quickly adjust is what allows such a low
investment cost.
The rapid application development method contains four phases: requirements
planning, user design, construction, and cutover. The user design and construction
phases repeat until the user confirms that the product meets all requirements.
What is layer Architecture?
Ans:-
Layered Architecture :-
Layered architecture patterns are n-tiered patterns where the
components are organized in horizontal layers. This is the traditional method for
designing most software and is meant to be self-independent. This means that all the
components are interconnected but do not depend on each other.
How many types of layer in layered architecture?
Ans:-
There are four layers in this architecture where each layer has a connection between
modularity and component within them. From top to bottom, they are:
The presentation layer : It contains all categories related to the presentation
layer.
The business layer : It contains business logic.
The persistence layer : It’s used for handling functions like object-relational
mapping
The database layer : This is where all the data is stored.
What is scalability?
Ans:-
Scalability is developing software that is capable of growing as needed, usually in terms of data and bandwidth. That is how many users access the system and how much data is moving through the system (in and/or out).
What is clustering and what’s its purpose?
Ans:-
Software clustering is a method of turning multiple computer servers into a cluster (a group of servers that acts like a single system). Clustering software is installed in each of the servers in the group. Each of the servers maintains the same information and collectively they perform administrative tasks such as load balancing, determining node failures, and assigning failover duty. The other clustering method, hardware clustering, requires that specialized hardware be installed in a single server that controls the cluster.
Name the differences between object-oriented and component-based design.
Ans:-
In a nutshell, object-oriented programming focuses on the relationships between classes that are combined into one large binary executable, while component-oriented programming focuses on interchangeable code modules that work independently and don't require you to be familiar with their inner workings to use them.
What are the requirements for enabling a Java EE application session replication?
Ans:-
Session replication is a mechanism used to replicate the data stored in a session across different instances. However, the replicated instance must be part of the same cluster. When session replication is enabled in a cluster environment, the entire session data is copied on a replicated instance. However, the session replication operation does not copy the attributes that cannot be serialized in a session and any instance specific data.
Session replication along with load balancing provides good failover capabilities for web applications.
Post a Comment