Software Engineering Basics
Requirements & Design
UML & Modeling
Agile & Project Management
Testing & Deployment
100

What is Software Engineering?

A systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineering of software.

100

What’s the difference between functional and non-functional requirements?

Functional describe what the system does; non-functional describe how it performs.

100

What does UML stand for?

Unified Modeling Language.

100

What are the four core values of the Agile Manifesto?

Individuals/interactions, working software, customer collaboration, responding to change.

100

What is a Software Process Model? Explain its importance.

A Software Process Model is a structured framework that describes the sequence of activities required to develop a software system.

200

What is one thing that software engineering is not?

Just coding, software engineering enveloped a wide variety of functions. 

* Verification, Validation and Testing

* Requirement Analysis

* Process Control

* Software Design

* Process Planning

200

Explain Use Case Diagram  

A Use Case Diagram represents the interaction between users (actors) and the system.

200

What’s the difference between structural and behavioral diagrams?

Structural show system components; behavioral show interactions and workflows.

200

What is a “Sprint”?

A time-boxed period during which specific work is completed in Scrum.

200

What’s a software defect?

A flaw or bug that causes incorrect or unexpected behavior.

300

What are the main phases of SDLC?

Requirements, Design, Implementation, Testing, Deployment, Maintenance.

300

What makes a “good” architecture design?

Modularity, scalability, maintainability, and clarity.

300

Give one example of a static (structural) UML diagram.

Class diagram, Object diagram, Component diagram, Deployment diagram, Package diagram, Composite structure diagram.

300

Describe the Spiral Model and its focus on risk.

The Spiral Model combines iterative development and risk analysis.

300

Explain the Incremental Model with example.

In the Incremental Model, software is developed in small parts (increments).

400

What is Prototyping Model

In the Prototyping Model, a working prototype is developed to understand requirements.

400

Give two examples of architectural patterns.

Examples: MVC, layered, client-server, microservices.

400

Give one example of a dynamic (behavioral) UML diagram.

Sequence diagram, Activity diagram, Use case diagram, State machine diagram, Communication diagram, Interaction overview diagram, Timing diagram.

400

What is the difference between Agile and Waterfall?

Agile is iterative and flexible; Waterfall is linear and sequential.

400

Can software ever be completely bug-free?

No—real-world constraints make it nearly impossible.

500

How to choose the right Process Model for a project?

Selection depends on:

  1. Project size

  2. Requirement stability

  3. Risk level

  4. Team expertise

  5. Client involvement

  6. Budget and time constraints

500

What’s the purpose of modularity in software design?

To divide the system into manageable, independent components.

500

What’s the main purpose of UML diagrams?

To visually model and communicate a system’s structure, behavior, and interactions — improving understanding and design across the team.

500

Explain Activity Diagram and its importance.

An Activity Diagram represents workflow of activities.

500

What’s the relationship between testing and deployment?

Deployment often overlaps testing, ensuring the software works in production environments.