0% found this document useful (0 votes)
13 views8 pages

Software Viva-Questions

The document contains a series of viva questions and answers related to software engineering, covering topics such as Software Requirement Specification (SRS), E-R Modelling, Data Flow Diagrams (DFD), UML Diagrams, domain classes, and testing metrics. Each section provides insights into the purpose, components, and significance of various software engineering concepts and methodologies. Additionally, it discusses the importance of project metrics and estimation techniques in managing software projects.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views8 pages

Software Viva-Questions

The document contains a series of viva questions and answers related to software engineering, covering topics such as Software Requirement Specification (SRS), E-R Modelling, Data Flow Diagrams (DFD), UML Diagrams, domain classes, and testing metrics. Each section provides insights into the purpose, components, and significance of various software engineering concepts and methodologies. Additionally, it discusses the importance of project metrics and estimation techniques in managing software projects.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

SOFTWARE ENGINEERING

VIVA QUESTIONS

Submitted in partial fulfillment of the


requirements for the award of the degree
Of

-BACHELOR OF TECHNOLOGY-
In
Computer Science engineering
By
Shreya
(18001012022)

Guided by

IGDTUW- Faculty: Mr. Indra Tanaya


➢ Software Requirement Specification (SRS):

1. What is the purpose of a Software Requirement Specification (SRS)?

- 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.

2. How does an SRS document contribute to the software development process?

- Answer: An SRS provides a common understanding among stakeholders, guides the


development team in creating the system, serves as a basis for system testing, and helps
in managing project scope and changes.

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.

4. Why is it important to have clear and concise requirements in an SRS?

- Answer: Clear and concise requirements help prevent misunderstandings, reduce


development errors, facilitate effective testing, and contribute to the successful delivery
of a system that meets user expectations.

➢ E-R Modelling:

5. What is Entity-Relationship (E-R) modelling, and why is it used in software


development?

- 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?

- Answer: Entities represent real-world objects or concepts, and relationships depict


how these entities are related. For example, in a university database, "Student" and
"Course" are entities, and the "Enrolment" relationship links students to courses.

7. Explain the differences between entities and attributes in E-R modelling.

- Answer: Entities are objects or concepts with an independent existence, while


attributes are properties that describe entities. For example, in a "Person" entity, "Name"
and "Age" could be attributes.

8. What is cardinality, and how is it represented in an E-R diagram?

- Answer: Cardinality defines the numerical relationship between entities in a


relationship. It is represented using symbols such as "1" and "M" (many) to indicate the
number of instances on each side of the relationship.

➢ Data Flow Diagrams (DFD):

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.

11. What is the significance of balancing a DFD, and how is it achieved?

- 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.

➢ UML Diagrams and Use Case Scenarios:

12. Briefly describe Unified Modelling Language (UML) and its role in software
engineering.

- Answer: UML is a standardized modelling language used in software engineering to


visually represent software systems. It includes various diagram types that capture
different aspects of a system's design and behaviour.

13. Explain the purpose of a Use Case diagram in UML.

- 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.

➢ Domain Classes Identification:

16. What are domain classes, and why are they important in object-oriented
design?

- Answer: Domain classes represent real-world entities in an object-oriented system.


They encapsulate attributes and behaviours related to specific concepts within the
problem domain, forming the foundation of the object model.

17. How do you identify domain classes during system analysis?

- Answer: Domain classes are identified by analysing the problem domain,


understanding the requirements, and recognizing entities with relevant attributes and
behaviours.

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.

➢ State Chart and Activity Modelling:

19. Explain the purpose of State Chart diagrams in UML.

- 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.

➢ UML Class Diagrams and Sequence Diagrams:

21. What is the primary purpose of a UML Class Diagram?

- 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.

23. What is the significance of associations, aggregations, and compositions in UML


Class Diagrams?

- Answer: Associations represent relationships between classes, aggregations depict a


whole-part relationship with weaker coupling, and compositions indicate a stronger
whole-part relationship.

24. How do Sequence Diagrams represent the interactions between objects in a


system?

- 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.

Estimation of Test Coverage Metrics and Structural


Complexity:

25. What is test coverage, and why is it essential in software testing?


-Answer: Test coverage measures the extent to which a set of test cases exercises the
functionality of a system. It is crucial to ensure that different parts of the code are tested
to identify areas of potential defects.

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.

28. What is cyclomatic complexity, and how does it relate to testing?


- Answer: Cyclomatic complexity measures the number of linearly independent paths
through a program. Higher complexity suggests a greater number of test cases are
needed to achieve adequate coverage.

Designing Test Suites:


29. What factors should be considered when designing a test suite?
- Answer: Factors include system requirements, risk analysis, input combinations,
boundary conditions, and prioritization of test cases.

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.

31. How do equivalence partitioning and boundary value analysis complement


each other in test case design?
- Answer: Equivalence partitioning divides input data into classes of equivalent values,
and boundary value analysis focuses on testing values at the edges of these partitions.
Together, they provide comprehensive test coverage.

Estimation of Project Metrics:


32. What are project metrics, and why are they important in project estimation
and management?
- Answer: Project metrics are quantitative measures that provide insights into the
project's progress, quality, and performance. They are crucial for making informed
decisions and managing project risks.

33. Explain the concept of effort estimation in project management.


- Answer: Effort estimation involves predicting the amount of work required to
complete a project or a specific task. It helps in resource allocation, schedule planning,
and overall project management.

34. How can historical data be utilized in project estimation?


- Answer: Historical data, such as past project metrics and performance, can be
analysed to make more accurate estimates for similar tasks or projects. It provides a
basis for understanding trends and improving estimation accuracy.

35. What is the significance of Earned Value Management (EVM) in project


metrics?
- Answer: Earned Value Management is a project management technique that
integrates project scope, schedule, and cost to assess project performance and progress.
It helps in measuring project efficiency and forecasting future performance.

You might also like