1
2
3
4
100

What is software engineering?

  • Software engineering is the application of engineering principles to software development, including planning, designing, testing, and maintaining software systems.

100

What is the difference between functional and non-functional requirements?

  • Functional requirements define what the system should do (e.g., login functionality), while non-functional requirements define system qualities (e.g., performance, security).

100

What are the two main categories of UML diagrams?

  • Structural diagrams (e.g., Class, Object, Component, Deployment) and Behavioral diagrams (e.g., Use Case, Sequence, Activity, State).

100

What are the four main types of software testing?

Unit Testing, Integration Testing, System Testing, and Acceptance Testing.

200

How does software engineering differ from programming?

  • Programming focuses on writing code, while software engineering involves the entire software development lifecycle, including requirements analysis, design, implementation, testing, and maintenance.

200
  1. What does the WRSPM model stand for?

  • World (problem domain), Requirements (what the system must do), Specifications (how requirements are met), Program (implementation of specifications), Machine (physical system running the software).

200

What is the difference between static and dynamic UML diagrams?

Static diagrams (e.g., class diagrams) show the structure of a system, while dynamic diagrams (e.g., sequence and activity diagrams) illustrate behavior over time.

200

What are some key clean code principles?

  • YAGNI (You Aren’t Gonna Need It), KISS (Keep It Simple, Stupid), CRUD (Create, Read, Update, Delete), Separation of Concerns, and Single Responsibility Principle.

300

What are the main phases of the Software Development Life Cycle (SDLC)?

  • Requirement Analysis, Design, Implementation, Testing, Deployment, and Maintenance.

300

Why is modularity important in software design?

  • It improves maintainability, scalability, and reusability by breaking down software into independent modules.

300

What is Kanban used for in software engineering?

  • Kanban is a visual framework for workflow management that helps teams track work progress.

300

What is technical debt in software development?

  • The cost of taking shortcuts in development, leading to future issues requiring refactoring.

400

What is the purpose of the testing phase in SDLC?

  • To ensure the software meets requirements, functions correctly, and is free of critical bugs before deployment.

400
  1. What are the key characteristics of good software architecture?

  • Scalability, maintainability, security, and performance.

400
  1. What are the main phases of the Software Testing Life Cycle (STLC)?

  • Requirement Analysis, Test Planning, Test Case Development, Test Environment Setup, Test Execution, and Test Closure.

400
  1. What are the four key concepts of Object-Oriented Programming (OOP)?

  • Inheritance, Polymorphism, Encapsulation, and Abstraction.

500
  1. What are some essential Git commands and their purposes?

  • git add . (Stage changes), git commit (Save changes locally), git push (Upload changes to remote repository), git pull (Fetch latest changes), and git merge (Combine branches).

500

Name four common software architecture patterns.

  • Model-View-Controller (MVC), Layered Architecture, Microservices, and Client-Server Model.

500

What is the difference between verification and validation in software testing?

  • Verification ensures the software meets specifications, while validation ensures it meets user needs.

500

What is the difference between Git and GitHub?

  • Git is a version control system, while GitHub is a hosting service for Git repositories.

M
e
n
u