SE Important Questions
SE Important Questions
SE Important Questions
PART A
1. Compare "programming in the small" and "programming in the
large".
2. List two main concepts of Agile Software Engineering.
3. What are the two key practices of Extreme Programming (XP)?
4. Apply Agile principles to manage changes in a project’s
requirements. How would you handle evolving requirements?
5. Explain Jackson Structured Programming (JSP).
6. What is Agile Development?
7. What is extreme programming in Agile?
8. Analyze how you would use scenarios and user stories in Scrum
to manage project requirements.
9. Analyze the impact of software quality on project success.
10. Evaluate the advantages and limitations of Jackson Structured
Programming.
PART-B
11. Analyze the significance of software quality and timely availability
in the successful execution of large software projects. Provide
examples of projects that succeeded or failed due to these
factors.
12. Contrast the differences between "programming in the small" and
"programming in the large" with examples.
13. Analyze the evolution of software engineering as a discipline,
tracing its development from Jackson Structured Programming
(JSP) to Agile Development. Highlight key milestones and their
impact on modern software engineering practices.
14. Compare and contrast traditional software development
methodologies with Agile methods, particularly focusing on
Scrum and Extreme Programming. Discuss their advantages and
disadvantages in handling feature scenarios and stories.
15. Analyze how the Scrum roles interact during each Scrum event to
ensure effective project management and successful delivery
16. Explain the Feature-Driven Development (FDD) process model.
17. What are the core principles of Extreme Programming (XP), and
how do they influence practices like continuous integration, pair
programming, and test-driven development?
18. Define what user stories and scenarios are in the context of Agile
development. Illustrate how you would create user stories and
scenarios to capture and communicate requirements.
19. List the key concepts of Extreme Programming (XP) and discuss
how these concepts can address common challenges in software
development.
20. Design a project plan using the Agile Process Model,
incorporating elements of Scrum and Feature Scenarios.
Describe how this plan would address common challenges in
software development.
UNIT II
PART A
1. What is a software life cycle model?
2. List two techniques used for estimating software project
schedules.
3. Explain the concept of risk mitigation in software projects.
4. Define one software cost estimation model.
5. Explain the purpose of a feasibility study in software project
planning.
6. What is the role of software project control?
7. Analyze the impact of configuration management on maintaining
software quality and consistency.
8. Draw the Rapid Application Development (RAD) model and label
its key phases.
9. Apply a basic technique for measuring software size to a simple
project. Describe how you would use this technique.
10. Analyze how version control and change management in
configuration management enhance software project stability and
quality.
PART-B
11. List and describe four basic life cycle models used in software
engineering. For each model, identify key milestones and explain
their significance in the software development process.
12. Explain the concepts of risk management in software projects.
Describe how identifying, assessing, and mitigating risks
contribute to the overall success of a project.
13. Define the key metrics used in the measurement of software size
and explain basic concepts of risk and its mitigation in software
projects.
14. Identify and explain the key activities and resources necessary for
effective software project planning. How do these factors
contribute to achieving project success?
15. Explain the techniques of software project control and reporting.
How do these techniques ensure project success and what are
the common challenges faced?
16. Analyze the importance of a feasibility study in software project
planning. Provide examples of projects that benefited from a
thorough feasibility study.
17. Analyze and compare software cost estimation models like
COCOMO and function point analysis, evaluating their impact on
budgeting and financial planning in software projects.
18. Apply different techniques for estimating software project
schedules and efforts to a given scenario. Analyze the
advantages and disadvantages of each technique and their
impact on project planning.
19. Apply configuration management principles to a project, detailing
how you would implement version control, change management,
and build management.
20. Design a configuration management plan for a large software
project. Highlight the key components and discuss how
configuration management ensures project integrity and quality.
UNIT III
PART A
1. List two principles to achieve software quality.
2. List one aspect considered in the FURPS+ model for software
quality assessment.
3. Explain the key attributes of the ISO 9126 software quality model?
4. Explain the significance of creating a Software Requirements
Specification (SRS) in software development.
5. What is the difference between internal and external software
quality?
6. Define internal and external quality in the context of software
quality.
7. Distinguish between process quality and product quality in
software engineering.
8. Analyze how the ISO 9126 quality model differs from the McCall
quality model in terms of quality attributes.
9. Apply the FURPS model to evaluate the quality of a software
product. What aspects does it cover?
10. Analyze the impact of using UML diagrams in software design and
their effectiveness in communicating design decisions.
PART-B
11. Analyze the Capability Maturity Models (CMM and CMMI) and
their role in enhancing software process quality. Provide
examples of how these models have been applied in real-world
projects.
12. Analyze the importance of software reliability in software
engineering. Discuss different reliability models and techniques
for reliability estimation, including their applications in industry.
13. Compare and contrast different requirement elicitation
techniques, such as interviews, questionnaires, and
brainstorming sessions. Discuss their effectiveness and when
each technique is most appropriate.
14. Evaluate various software quality models, such as McCall,
Boehm, FURPS/FURPS+, Dromey, and ISO 9126. Compare their
strengths and weaknesses in different software development
scenarios.
15. What is a Software Requirements Specification (SRS)? List its
main components and explain the purpose of each component in
the SRS.
16. Define internal and external quality in software engineering.
Explain how each type contributes to overall software quality.
17. Describe the main characteristics of the McCall quality model.
How does it differ from the Boehm quality model?
18. Explain how decision tables and state transition tables are used
in requirement modeling. Provide examples of how these
techniques can clarify complex requirements.
19. Discuss the role of software metrics in project management. How
can metrics-based control methods be used to monitor and
improve software development processes?
20. Design a comprehensive software quality assurance plan that
incorporates principles from different quality models and metrics-
based control methods. Describe how this plan would be
implemented in a real-world project.
UNIT IV
PART A ( 2 Marks)
1. Define abstraction in software design.
2. What is modularity in the context of software engineering?
3. Explain the concept of encapsulation and information hiding.
4. Define design pattern in software engineering.
5. What is refactoring?
6. Apply the principles of encapsulation and information hiding to a
provided class design. How would you adjust the design to
enhance these principles?
7. Given a design pattern, apply it to a small software project
scenario and explain how it solves a specific design problem.
8. Analyze the effectiveness of using abstract data types (ADTs) in
managing complex data structures. How do ADTs contribute to
software modularity and maintenance?
9. Compare and analyze the impact of applying different object-
oriented metrics, such as cohesion and coupling, on the quality of
a software design.
10. Analyze the concept of object-oriented construction principles
and their impact on software development.
PART - B
11. Explain the concept of abstract data types (ADTs) and their role
in software design. Provide examples to illustrate how ADTs
improve software modularity and maintainability.
12. Examine the role of design patterns in enhancing software
architecture. How do design patterns aid in communicating design
concepts effectively and resolving typical design challenges?
13. Analyze the Class Responsibility Collaborator (CRC) model.
Discuss its components and how it aids in object-oriented design.
14. Evaluate the use of object-oriented metrics in assessing software
quality. Discuss specific metrics such as coupling, cohesion, and
inheritance metrics, and how they are used to measure the quality
of object-oriented designs.
15. Apply the principles of abstraction, encapsulation, and modularity
to design a simple object-oriented system. Illustrate your design
with UML diagrams and explain how each principle is
implemented.
16. Explain the effectiveness of using abstract data types (ADTs) in
managing complex data structures. How do ADTs contribute to
software modularity and maintenance?
17. Define the following concepts in software design: abstraction,
modularity, encapsulation, and information hiding. Give a
example for each concepts
18. Explain the Class Responsibility Collaborator (CRC) model and
its role in object-oriented design. Describe how CRC cards are
used to identify classes, responsibilities, and collaborators, and
discuss their benefits in designing a software system.
19. Evaluate the effectiveness of different refactoring techniques in
improving code quality. Discuss their benefits and potential
drawbacks using examples from a real-world project.
20. Design a software module using the principles of abstraction,
modularity, encapsulation, and information hiding. Explain how
these principles are applied in your design to ensure
maintainability and scalability.
UNIT V
PART A ( 2 Marks)
1. Define the terms 'fault' and 'failure' in software testing.
2. What is unit testing?
3. Compare verification and validation in software testing.
4. Explain the basic concept of black-box testing.
5. Explain the concept of equivalence class partitioning in black-box
testing. How does it help in designing test cases?
6. Compare integration testing and system testing.
7. Apply the principles of black-box testing to design test cases for
a simple login system, including equivalence classes and
boundary values.
8. List the main types of testing techniques used in black-box
testing.
9. Apply black-box testing techniques to design test cases for a
function that calculates the discount based on the user’s
membership status. Include test cases for equivalence classes
and boundary values.
10. Compare the impact of performance testing versus volume testing
on a web application’s overall quality. Discuss how each type of
testing addresses different aspects of system performance.
PART -B
11. Explain the concepts of verification and validation in the software
testing process. Discuss their significance and provide examples
of techniques used for each.
12. Outline the distinct levels of software testing: unit testing,
integration testing, system testing, and acceptance testing.
Describe the specific goals of each testing level and illustrate how
they collectively enhance the effectiveness of the overall testing
strategy in software development.
13. Explain the distinction between faults and failures in software
systems. Provide examples of each and discuss their respective
implications for software reliability.
14. Analyze the role of inspection as a technique in the software
testing process. Compare its effectiveness with other testing
methods in detecting defects early in the development cycle.
15. Discuss the importance of testing non-functional requirements
such as volume, performance, and efficiency. How do these tests
ensure the robustness of a software application?
16. Explain the principles and purposes of black-box testing and
white-box testing. Discuss how each technique is used to test
different aspects of software.
17. Apply the concepts of black-box testing to a given software
application. Design test cases using equivalence classes,
boundary value analysis, and state tables.
18. Analyze the effectiveness of unit testing, integration testing, and
system testing in identifying and fixing defects.
19. Evaluate the importance of testing for non-functional
requirements, such as volume, performance, and efficiency.
Provide examples of how these tests are conducted and discuss
their impact on software quality.
20. Design a comprehensive testing plan for a software application,
incorporating black-box and white-box testing techniques, testing
for non-functional requirements, and different levels of testing.
Explain how this plan ensures the software's reliability and quality.