What is Software Engineering?
A systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineering of software.
What’s the difference between functional and non-functional requirements?
Functional describe what the system does; non-functional describe how it performs.
What does UML stand for?
Unified Modeling Language.
What are the four core values of the Agile Manifesto?
Individuals/interactions, working software, customer collaboration, responding to change.
What does STLC stand for?
Software Testing Life Cycle.
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
What does WRSPM stand for?
World, Requirements, Specification, Program, Machine.
What’s the difference between structural and behavioral diagrams?
Structural show system components; behavioral show interactions and workflows.
What is a “Sprint”?
A time-boxed period during which specific work is completed in Scrum.
What’s a software defect?
A flaw or bug that causes incorrect or unexpected behavior.
What are the main phases of SDLC?
Requirements, Design, Implementation, Testing, Deployment, Maintenance.
What makes a “good” architecture design?
Modularity, scalability, maintainability, and clarity.
Give one example of a static (structural) UML diagram.
Class diagram, Object diagram, Component diagram, Deployment diagram, Package diagram, Composite structure diagram.
What’s the role of a Scrum Master?
To facilitate the Scrum process and remove blockers for the team.
What’s the difference between unit and integration testing?
Unit tests individual components; integration tests how components work together.
What's the difference between verification and validation?
Verification checks if the product is built right; validation checks if it’s the right product.
Give two examples of architectural patterns.
Examples: MVC, layered, client-server, microservices.
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.
What is the difference between Agile and Waterfall?
Agile is iterative and flexible; Waterfall is linear and sequential.
Can software ever be completely bug-free?
No—real-world constraints make it nearly impossible.
What is technical debt?
The cost of shortcuts in software development that must be paid back later.
What’s the purpose of modularity in software design?
To divide the system into manageable, independent components.
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.
What does Kanban focus on?
Visualizing workflow, limiting work in progress, and improving efficiency.
What’s the relationship between testing and deployment?
Deployment often overlaps testing, ensuring the software works in production environments.