Software Viva-Questions
Software Viva-Questions
VIVA QUESTIONS
-BACHELOR OF TECHNOLOGY-
In
Computer Science engineering
By
Shreya
(18001012022)
Guided by
- Answer: The purpose of an SRS is to precisely and unambiguously define the functional
and non-functional requirements of a software system. It serves as a blueprint for
developers, testers, and other stakeholders to understand what the system is expected to
do.
3. Can you explain the key components typically found in an SRS document?
- Answer: Key components include a description of the system's purpose, functional and
non-functional requirements, system architecture, use cases, data requirements, and
constraints.
➢ E-R Modelling:
- Answer: E-R modelling is a technique to visually represent the data model of a system
by defining entities and the relationships between them. It is used to understand and
document the structure of a database.
6. How do entities and relationships represent real-world concepts in E-R
diagrams?
9. What is a Data Flow Diagram (DFD) and its primary purpose in system analysis?
- Answer: A DFD is a graphical representation of how data flows within a system. Its
purpose is to show the processes, data stores, data flows, and external entities involved
in a system and how they interact.
10. How are processes, data stores, data flows, and external entities represented in
a DFD?
- Answer: Processes are represented by circles, data stores by rectangles, data flows by
arrows, and external entities by squares in a DFD.
- Answer: Balancing a DFD ensures that the input and output data match across all
levels of the diagram. It is achieved by ensuring that the data flow in and out of each
process is consistent and that the data store contents are properly updated.
12. Briefly describe Unified Modelling Language (UML) and its role in software
engineering.
- Answer: A Use Case diagram illustrates the interactions between actors (external
entities) and use cases (system functionalities). It provides a high-level view of the
system's functionality from a user's perspective.
14. How are actors and use cases represented in a Use Case diagram?
- Answer: Actors are represented by stick figures, and use cases are represented by
ovals. Relationships (lines) between actors and use cases indicate interactions.
15. What is the relationship between use cases and scenarios in UML?
- Answer: Use cases define the functionalities a system provides, while scenarios
describe how these functionalities are used. Scenarios are specific instances of
interactions between users and the system.
16. What are domain classes, and why are they important in object-oriented
design?
18. Can you provide an example of a domain class and its attributes?
- Answer: Example: In a library system, a "Book" class may have attributes such as title,
author, and publication date.
- Answer: State Chart diagrams depict the states and transitions of an object in response
to events. They show how an object behaves in response to stimuli over time.
20. How do Activity diagrams differ from State Chart diagrams, and when is each
used in the software development process?
- Answer: Activity diagrams model the flow of activities or processes, while State Chart
diagrams model the states of an object. Activity diagrams are used to describe workflows
or processes, while State Chart diagrams are used to model the behaviour of individual
objects over time.
- Answer: The primary purpose of a UML Class Diagram is to depict the static structure
of a system by showing classes, their attributes, methods, and relationships.
22. How are classes, attributes, and relationships represented in a UML Class
Diagram?
- Answer: Classes are represented by rectangles, attributes by name: type pairs, and
relationships by lines connecting related classes with multiplicity notations.
- Answer: Sequence Diagrams illustrate the interactions between objects over time.
They show the order of messages exchanged between objects to achieve a specific
behaviour or functionality.
26. Explain the concept of code coverage and its different types.
- Answer: Code coverage measures the percentage of code lines, branches, or paths
exercised by a set of tests. Types include line coverage, branch coverage, and path
coverage.
27. How does structural complexity impact testability, and what are common
indicators of high structural complexity?
- Answer: High structural complexity can make it challenging to design effective tests.
Indicators include nested loops, deeply nested conditionals, and a high cyclomatic
complexity.
30. Explain the importance of boundary value analysis in designing test cases?
- Answer: Boundary value analysis involves testing values at the edge or boundary of
input domains. It helps uncover errors that may occur at boundaries and is essential for
robust testing.