🧾 Viva Questions & Answers – Software Engineering
📘 Unit 1: Software Engineering Process Framework & Models
Capability Maturity Model (CMM)
1. What is the Capability Maturity Model (CMM)?
CMM is a structured framework that evaluates the maturity of software
development processes. It helps organizations improve their process
quality and predictability through five levels of maturity.
2. List and briefly explain the five levels of CMM.
o Initial: Processes are chaotic and undocumented.
o Repeatable: Basic project management practices are established.
o Defined: Processes are standardized and documented.
o Managed: Processes are measured and controlled.
o Optimizing: Focus on continuous improvement.
Prescriptive Process Models
3. What is the Waterfall model?
A linear and sequential model where each phase (requirements, design,
implementation, testing, maintenance) is completed before moving to the
next. It’s simple but rigid.
4. What is the Incremental model?
Software is developed in small increments. Each increment adds
functionality and is tested independently, allowing partial deployment and
early feedback.
5. What is the Spiral model?
Combines iterative development with risk analysis. Each cycle (spiral)
includes planning, risk analysis, engineering, and evaluation, making it
suitable for large, high-risk projects.
6. What is RAD (Rapid Application Development)?
A model focused on fast development using reusable components,
prototyping, and user feedback. It’s ideal for time-sensitive projects with
well-defined requirements.
⚡ Unit 1.3: Agile Process Models
7. What is Agile methodology?
Agile is an iterative and flexible approach to software development that
emphasizes collaboration, customer feedback, and rapid delivery of
functional software.
8. What is Extreme Programming (XP)?
XP is an Agile method that promotes high-quality code through practices
like pair programming, test-driven development (TDD), and continuous
integration.
9. What is Scrum?
Scrum is a lightweight Agile framework with defined roles (Scrum Master,
Product Owner, Team), events (Sprint, Daily Scrum), and artifacts (Product
Backlog, Sprint Backlog).
[Link] is Kanban?
Kanban is a visual workflow management method that uses boards to
track tasks through stages like To Do, In Progress, and Done. It emphasizes
continuous delivery and WIP limits.
[Link] does Scrum differ from Kanban?
Scrum uses fixed-length sprints and roles, while Kanban is flow-based with
no fixed iterations, allowing more flexibility.
📙 Unit 2: Software Requirements Analysis and Modeling
[Link] is Requirement Engineering?
It involves gathering, analyzing, documenting, and validating software
requirements to ensure the final product meets user needs.
[Link] are functional and non-functional requirements?
o Functional: Describe what the system should do (e.g., login, data
processing).
o Non-functional: Define system attributes (e.g., performance,
security).
[Link] is a Data Flow Diagram (DFD)?
A graphical tool that shows how data moves through a system, including
processes, data stores, and external entities.
[Link] is a scenario-based model?
It uses use cases or user stories to describe system behavior from the
user's perspective, helping capture functional requirements.
[Link] is an SRS document?
A Software Requirements Specification (SRS) document outlines all
software requirements in a structured format, often following IEEE
standards.
[Link] are the key sections of IEEE SRS format?
Introduction, Overall Description, Specific Requirements, External
Interfaces, and Appendices.
📕 Unit 3: Software Estimation Metrics
[Link] are software metrics?
Quantitative measures used to assess software quality, productivity, and
performance (e.g., LOC, Cyclomatic Complexity).
[Link] is LOC (Lines of Code)?
A metric that estimates effort based on the number of lines in the source
code. It’s simple but doesn’t reflect functionality.
[Link] is Function Point (FP) analysis?
Measures software functionality from the user’s perspective, considering
inputs, outputs, files, and interfaces.
[Link] is COCOMO II?
A cost estimation model that predicts effort, time, and cost based on
project size, complexity, and development environment.
[Link] are the types of COCOMO II models?
o Application Composition: For GUI-based systems.
o Early Design: For rough estimates.
o Post-Architecture: For detailed estimates after design.
[Link] is project scheduling?
Planning tasks and timelines using tools like Gantt charts and PERT
diagrams to ensure timely delivery.
[Link] is project tracking?
Monitoring progress using metrics like earned value, milestone charts, and
burndown charts to ensure alignment with goals.
📒 Unit 4: Software Design
[Link] are key design principles?
Abstraction, modularity, encapsulation, separation of concerns, and reuse
—all aimed at creating maintainable and scalable software.
[Link] is modular design?
Dividing software into independent modules that perform specific tasks,
improving maintainability and testing.
[Link] cohesion and coupling.
o Cohesion: How closely related the functions within a module are.
o Coupling: Degree of dependency between modules. High cohesion
and low coupling are ideal.
[Link] is architectural design?
High-level structuring of software into components and their interactions,
often using patterns like MVC or layered architecture.
[Link] are common architectural styles?
Layered, Client-Server, Microservices, Pipe-and-Filter, and Event-Driven.
📓 Unit 5: Software Testing
[Link] is unit testing?
Testing individual components or functions to ensure they work as
intended.
[Link] is integration testing?
Testing interactions between integrated modules to detect interface
defects.
[Link] is validation testing?
Ensures the software meets user requirements and expectations.
[Link] is system testing?
Testing the complete integrated system to verify overall functionality and
performance.
[Link] is white-box testing?
Testing internal logic and structure of code, including paths, conditions,
and loops.
[Link] is basis path testing?
A white-box technique that uses control flow graphs to identify
independent paths for thorough testing.
[Link] is control structure testing?
Tests logical structures like loops, conditions, and branches to ensure
correct flow.
[Link] is black-box testing?
Testing without knowledge of internal code, focusing on inputs and
expected outputs.
[Link] is equivalence partitioning?
Divides input data into valid and invalid partitions to reduce test cases.
[Link] is boundary value analysis?
Tests at the edges of input ranges where errors are most likely.
[Link] is graph-based testing?
Models input/output relationships using graphs to design test cases.
[Link] of software maintenance?
o Corrective: Fixing bugs.
o Adaptive: Updating for new environments.
o Perfective: Enhancing performance.
o Preventive: Preventing future issues.
[Link] is re-engineering?
Improving software structure or performance without changing its
functionality.
[Link] is reverse engineering?
Analyzing software to extract design and specifications from existing code.
📔 Unit 6: SCM, Quality Assurance & Maintenance
[Link] is Software Configuration Management (SCM)?
A discipline for tracking and controlling changes in software, ensuring
consistency and traceability.
[Link] is version control?
Managing changes to source code using tools like Git, allowing
collaboration and rollback.
[Link] is change control?
A formal process to evaluate, approve, and implement changes
systematically.
[Link] is risk analysis?
Identifying and assessing potential project risks to minimize impact.
[Link] is RMMM plan?
A strategy for Risk Mitigation, Monitoring, and Management to handle
uncertainties.
[Link] are software quality metrics?
Measures like defect density, mean time to failure, and test coverage that
assess software quality.
[Link] is a Formal Technical Review (FTR)?
A peer review process to evaluate software artifacts for defects and
improvements.
[Link] is software reliability?
The probability that software will function without failure under specified
conditions for a given time.