0% found this document useful (0 votes)
18 views7 pages

OOSE Two Marks

The document covers various aspects of software engineering, including software processes, Agile development methodologies, requirements analysis, software design principles, testing techniques, and project management. Key topics include the Agile methodology, software requirement specifications, design patterns, testing processes, and project management practices such as DevOps and risk management. The content is structured into units with definitions, characteristics, advantages, and comparisons of different models and methodologies.

Uploaded by

danukrishnan003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views7 pages

OOSE Two Marks

The document covers various aspects of software engineering, including software processes, Agile development methodologies, requirements analysis, software design principles, testing techniques, and project management. Key topics include the Agile methodology, software requirement specifications, design patterns, testing processes, and project management practices such as DevOps and risk management. The content is structured into units with definitions, characteristics, advantages, and comparisons of different models and methodologies.

Uploaded by

danukrishnan003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

UNIT-I: SOFTWARE PROCESS AND AGILE DEVELOPMENT

PART- A

1. Define software engineering.


Software engineering is the systematic approach to the development, operation,
maintenance, and retirement of software using engineering principles and methodologies.
2. What is a software process model?
A software process model is a structured approach used for planning, developing, and
maintaining software systems, such as the Waterfall model, Agile model, and Spiral
model.
3. List different types of software process models.
Waterfall Model, Spiral Model, Agile Model, V-Model, and Incremental Model.
4. Define Agile methodology.
Agile is a software development approach that focuses on iterative progress,
collaboration, and flexibility to adapt to changing requirements.
5. What are the characteristics of Agile development?
Customer collaboration, iterative development, continuous feedback, adaptability, and
high responsiveness to changes.
6. What is Extreme Programming (XP)?
XP is an Agile methodology that emphasizes frequent releases, continuous feedback, test-
driven development, and pair programming.
7. Explain the term ‘iterative development’.
Iterative development is a software development approach where software is built in
small, incremental cycles, refining and improving with each iteration.
8. List the four values of Agile Manifesto.
o Individuals and interactions over processes and tools
o Working software over comprehensive documentation
o Customer collaboration over contract negotiation
o Responding to change over following a plan
9. What is the significance of the Agile process?
It improves software quality, increases customer satisfaction, and enables quick
adaptation to changes.
10. Define Software Development Life Cycle (SDLC).
SDLC is a structured process that defines phases for software development, including
planning, analysis, design, implementation, testing, and maintenance.
11. What are the advantages of the Agile model over the Waterfall model?
Agile allows flexibility, faster delivery, continuous feedback, and better handling of
changing requirements.
12. Define Scrum methodology.
Scrum is an Agile framework for managing complex software development with roles,
events, and artifacts for iterative progress.
13. What is a case study in software engineering?
A case study in software engineering is an in-depth analysis of a real-world software
project to understand and improve development practices.
14. Explain the term ‘customer collaboration’ in Agile.
It refers to continuous communication with customers to ensure the software meets their
needs and expectations.
15. What is meant by ‘continuous integration’ in Agile development?
Continuous integration is a practice where developers frequently merge code changes
into a shared repository, ensuring automated testing and early bug detection.

PART -B
16-Mark Questions

1. Explain different software process models with advantages and disadvantages.


2. Discuss the Agile methodology, its values, principles, and how it differs from traditional
models.
3. Explain Extreme Programming (XP) in detail with a case study.
4. Compare and contrast Waterfall, Spiral, and Agile models.
5. Explain the XP process and how it improves software quality.
6. Analyze the challenges of Agile development and suggest solutions.
7. Evaluate the benefits and drawbacks of specialized process models.
8. Explain the perspective process models and their applications.
9. How does Agile development impact software quality and maintenance?
10. Discuss the role of software engineers in different process models.

UNIT-II: REQUIREMENTS ANALYSIS AND SPECIFICATION

PART-A

1. What is requirement analysis?


Requirement analysis is the process of gathering, analyzing, and defining the needs and
functionalities required for a software system.
2. Define Software Requirement Specification (SRS).
SRS is a formal document that specifies the functional and non-functional requirements
of a software system.
3. What is meant by functional and non-functional requirements?
Functional requirements define system behavior, while non-functional requirements
define system performance, usability, and security.
4. What are the major steps in requirement gathering?
Elicitation, analysis, specification, validation, and documentation.
5. What is the significance of UML in software engineering?
UML (Unified Modeling Language) helps in visualizing, designing, and documenting
software systems using diagrams.
6. Define Finite State Machine (FSM).
FSM is a computational model used to design systems with a finite number of states and
transitions.
7. What are Petri nets?
Petri nets are mathematical models used for representing concurrent processes in
software systems.
8. What is the purpose of a Use Case Diagram?
It represents user interactions with the system to define system functionalities.
9. Define class diagram.
A class diagram represents system classes, their attributes, operations, and relationships.
10. What are interaction diagrams?
Diagrams that show how objects interact in a system, including sequence and
communication diagrams.
11. Explain the importance of state chart diagrams.
They represent object states and transitions based on events.
12. What is a Data Flow Diagram (DFD)?
DFD visually represents data flow within a system using processes, data stores, and
external entities.
13. What is meant by CASE tools?
CASE (Computer-Aided Software Engineering) tools assist in software analysis, design,
and development.
14. What is formal system specification?
It is the precise mathematical description of software requirements and behavior.
15. List the types of UML diagrams used in requirement analysis.
Use Case Diagram, Class Diagram, Activity Diagram, Sequence Diagram, and State
Chart Diagram.

PART -B
16-Mark Questions

1. Explain Software Requirement Specification (SRS) and its characteristics.


2. Discuss Functional and Non-functional requirements with examples.
3. Explain Finite State Machines and Petri Nets in detail.
4. Compare different UML diagrams and explain their uses.
5. Explain Use Case Modeling with a case study.
6. How do DFDs help in functional modeling? Explain with an example.
7. Discuss the challenges in requirement analysis and propose solutions.
8. Explain Object-Oriented Analysis using UML with a case study.
9. How do formal system specifications help in software development?
10. Describe CASE tools and their impact on requirement analysis.

UNIT-III: SOFTWARE DESIGN

PART-A

1. What is software design?


Software design is the process of defining the architecture, components, and interfaces of
a system before implementation.
2. List the principles of good software design.
Modularity, abstraction, encapsulation, reusability, and maintainability.
3. Define coupling and cohesion.
Coupling measures interdependence between modules, while cohesion measures how
closely related the functions within a module are.
4. What is functional independence?
It refers to designing modules with high cohesion and low coupling for better
maintainability.
5. List different design patterns.
Singleton, Factory, Observer, Strategy, Adapter, Facade, Proxy, MVC.
6. What is the Model-View-Controller (MVC) pattern?
MVC separates application logic into three components: Model (data), View (UI), and
Controller (logic).
7. Explain the Adapter pattern.
It allows incompatible interfaces to work together by acting as a bridge between them.
8. What is the Proxy design pattern?
Proxy acts as an intermediary between the client and the actual object, adding security
and control.
9. Explain the Facade design pattern.
Facade provides a simplified interface to a complex subsystem.
10. What is the Strategy pattern?
It defines a family of algorithms and allows them to be selected at runtime.
11. Define architectural style.
Architectural style defines the structure and interaction of software components.
12. What is a Client-Server architecture?
It is a distributed model where clients request services from a central server.
13. Explain Pipe and Filter architectural style.
It processes data through a series of filters connected by pipes.
14. What are the key elements of User Interface Design?
Layout, navigation, consistency, feedback, and accessibility.
15. What is software design documentation?
It describes the design decisions, architecture, and implementation details.

16-Mark Questions

1. Explain the design process and design concepts with examples.


2. Compare and contrast Coupling and Cohesion in software design.
3. Explain any five design patterns with real-world examples.
4. Discuss Model-View-Controller (MVC) with an example.
5. Compare different architectural styles and their significance.
6. How does User Interface Design impact software usability?
7. Discuss Layered architecture vs. Client-Server architecture.
8. Explain Facade, Proxy, and Strategy design patterns with a case study.
9. Discuss the role of software documentation in design.
10. How do design patterns improve software maintainability?
UNIT-IV: SOFTWARE TESTING AND MAINTENANCE

PART-A

1. Define software testing.


Software testing is the process of evaluating a software system to detect and fix defects to
ensure quality and reliability.
2. What is unit testing?
Unit testing involves testing individual components or modules of a software system to
verify correctness.
3. Differentiate between Black Box and White Box testing.
o Black Box Testing: Tests functionality without considering internal code.
o White Box Testing: Tests internal logic and structure of the code.

4. What is regression testing?


Regression testing ensures that modifications in software do not introduce new defects
into previously working functionality.
5. What is debugging?
Debugging is the process of identifying, analyzing, and fixing software bugs or defects.
6. Explain symbolic execution.
Symbolic execution is a technique in software testing where variables are represented as
symbols instead of actual values to detect errors.
7. What is program analysis?
Program analysis examines software to detect potential bugs, inefficiencies, or
vulnerabilities.
8. Define model checking in software testing.
Model checking is a formal verification technique that checks if a system meets specific
properties using mathematical models.
9. What is Integration testing?
Integration testing evaluates interactions between multiple components of a software
system.
10. What is system testing?
System testing verifies that the complete software system meets the specified
requirements.
11. What is test automation?
Test automation involves using software tools to execute test cases, reducing human
effort and improving efficiency.
12. Explain static vs. dynamic testing.

 Static Testing: Examines the code without executing it (e.g., code review, walkthrough).
 Dynamic Testing: Involves executing the software and checking its behavior (e.g., functional
testing).

13. What is Test-Driven Development (TDD)?


TDD is a software development approach where test cases are written before the actual
code, ensuring early bug detection.
14. What are testing metrics?
Testing metrics measure the effectiveness and efficiency of the testing process, such as
defect density and test coverage.
15. What is defect tracking?
Defect tracking is the process of identifying, recording, and managing software bugs
using tools like JIRA and Bugzilla.

PART –B 16-Mark Questions

1. Explain different types of testing techniques with examples.


2. Compare Black Box and White Box testing with case studies.
3. Discuss Regression Testing and its importance.
4. Explain the Software Debugging Process in detail.
5. How does Symbolic Execution help in software testing?
6. Compare Static and Dynamic testing techniques.
7. How does Test-Driven Development (TDD) improve software quality?
8. Discuss Model Checking and its applications.
9. Explain the role of defect tracking in software maintenance.
10. Discuss Case Studies on software testing failures and lessons learned.

UNIT-V: PROJECT MANAGEMENT

PART-A

1. Define software project management.


Software project management involves planning, organizing, leading, and controlling
software development projects to ensure timely delivery.
2. What is software configuration management?
Software Configuration Management (SCM) is the process of tracking and controlling
changes in software to maintain consistency and integrity.
3. Explain project scheduling.
Project scheduling involves defining tasks, allocating resources, and setting deadlines to
ensure project completion on time.
4. Define DevOps.
DevOps is a methodology that integrates software development (Dev) and IT operations
(Ops) to improve collaboration, automation, and delivery speed.
5. What is cloud computing in DevOps?
Cloud computing provides scalable infrastructure for DevOps, enabling automation,
deployment, and collaboration over the internet.
6. What is a Deployment Pipeline?
A deployment pipeline automates the process of building, testing, and deploying software
to production environments.
7. Explain Continuous Integration and Continuous Deployment (CI/CD).
o Continuous Integration (CI): Merging and testing code frequently.
o Continuous Deployment (CD): Automatically deploying tested code into production.
8. Define cloud as a platform.
Cloud platforms provide computing resources and services over the internet for software
development and deployment.
9. What are DevOps tools?
DevOps tools like Jenkins, Docker, Kubernetes, and Ansible automate development,
testing, and deployment processes.
10. Explain software cost estimation.
Software cost estimation predicts the resources, effort, and time required for software
development.
11. Define Risk Management in software projects.
Risk management involves identifying, analyzing, and mitigating potential risks that
could impact a software project.
12. What is meant by project tracking?
Project tracking monitors project progress, deadlines, and resource utilization to ensure
timely completion.
13. Explain Agile project management.
Agile project management focuses on iterative development, collaboration, and flexibility
to respond to changing requirements.
14. What is the significance of software maintenance?
Software maintenance ensures a system remains functional, secure, and up-to-date after
deployment.
15. What are the benefits of software project scheduling?
Project scheduling helps in resource allocation, progress monitoring, and on-time project
delivery.

You might also like