Introduction to Software Engineering
Category: Software Design & Architecture
Software Testing
Agile Development & Version Control
100

This systematic approach to software development is more than just coding; it involves planning, designing, testing, and maintenance.

What is software engineering?

100

This principle divides a system into independent modules for maintainability and scalability.

What is modularity?

100

This testing method focuses on verifying the smallest parts of an application, such as functions or classes.

What is unit testing?

100

This Agile framework organizes work into time-boxed iterations called sprints.

What is Scrum?

200

This is the practice of identifying, documenting, and managing software requirements.

What is requirements engineering?

200

This popular architectural pattern separates an application into three layers: Model, View, and Controller.

What is MVC (Model-View-Controller)?

200

This testing phase ensures that the entire system meets user and business requirements before deployment.

What is acceptance testing?

200

This role in Agile ensures that the Scrum process is followed and removes obstacles for the team.

Who is the Scrum Master?

300

This type of requirement defines how the system performs its functions, focusing on performance, scalability, and usability.

What is a non-functional requirement?

300

This architectural pattern consists of small, independent services that communicate with each other.

What is microservices?

300

This document outlines test cases, expected results, and conditions for software testing.

What is a test plan?

300

This command in Git saves changes to the local repository before pushing them to a remote repository.  

What is git commit?

400

This development methodology consists of phases such as requirement analysis, design, implementation, testing, deployment, and maintenance.

What is the Software Development Life Cycle (SDLC)?

400

In UML, this type of diagram represents static structures like classes and components.

What is a structural diagram?

400

This concept refers to the trade-off when developers take shortcuts, leading to future maintenance challenges.

What is technical debt?

400

This version control system tracks changes in files and supports branching and merging.

What is Git?

500

In the WRSPM model, this component represents the physical system running the software.

What is the machine?

500

This software design principle states that different parts of an application should handle different concerns independently.

What is Separation of Concerns?

500

This principle encourages improving code structure without changing its behavior.

What is refactoring?

500

This is a hosting platform for Git repositories that enables collaboration and version control.

What is GitHub?