Software Engineering
Software Development Cycle
Software Design
Software Testing
Programming Principles
100

This term refers to the application of engineering principles to software development

What is software engineering?

100

Determine requirements

What is the first step in the SDLC?

100

This practice divides a complex system into smaller, independent units called modules

What is modularity?

100

A deviation from expected software behavior that leads to failure

What is a defect?

100

principle that encourages writing simple and easy-to-understand code

What is KISS (Keep It Simple, Stupid)?

200

- Process control

- Verification, validation, and testing 

- Process planning

- Software design

- Requirement analysis

What are the functions of a software engineer?

200

requirements that must the developer must implement so that users can achieve their goal with the product 

What are functional requirements?

200

faster development, maintainable software, and reduced idle time

What are three benefits of good software architecture design

200

This type of testing evaluates whether the software meets the user’s needs rather than just specifications

What is validation?

200

principle states that every class or module should have only one function

What is the single responsibility principle?

300

Delivering high-quality software on time and on budget

What is a challenge for software engineers?

300
System should be able to handle 20 million users without performance detoriation 

What is an example of a Non-Functional requirement?

300

This architecture pattern is commonly used in e-commerce and desktop applications, organizing software into layers

What is layered architecture? 
300

This type of testing is done by customers to ensure the software meets their requirements

What is acceptance testing?


300

create, read, update, and delete

What does CRUD stand for?

400

Software engineering is not just this activity, which many people mistakenly assume is its sole focus

What is coding?

400

This SDLC activity involves identifying defects in the software and recording the results

What is testing?

400

This design principle ensures that different aspects of a program are kept separate, minimizing overlap of responsibilities

What is separation of concerns?

400

This type of testing evaluates the internal logic and structure of the code

What is white-box testing?

400

This principle advises developers to avoid adding unnecessary features that may never be used

What is YAGNI (You Aren't Going to Need It)?

500

Developing test strategies and test cases

What is an example of what a software engineer does?

500

The process of identifying and documenting the needs and expectations of stakeholders

What is requirements engineering?

500

This software design pattern separates an application into three interconnected components: model, view, and controller

What is the MVC (Model-View-Controller) pattern?


500

Unlike white-box testing, this type of testing focuses on software behavior and output without knowledge of the internal code

What is black-box testing?


500

This principle emphasizes writing code that is easy to maintain and debug

What is clean code?