This term refers to the application of engineering principles to software development
What is software engineering?
Determine requirements
What is the first step in the SDLC?
This practice divides a complex system into smaller, independent units called modules
What is modularity?
A deviation from expected software behavior that leads to failure
What is a defect?
principle that encourages writing simple and easy-to-understand code
What is KISS (Keep It Simple, Stupid)?
- Process control
- Verification, validation, and testing
- Process planning
- Software design
- Requirement analysis
What are the functions of a software engineer?
requirements that must the developer must implement so that users can achieve their goal with the product
What are functional requirements?
faster development, maintainable software, and reduced idle time
What are three benefits of good software architecture design
This type of testing evaluates whether the software meets the user’s needs rather than just specifications
What is validation?
principle states that every class or module should have only one function
What is the single responsibility principle?
Delivering high-quality software on time and on budget
What is a challenge for software engineers?
What is an example of a Non-Functional requirement?
This architecture pattern is commonly used in e-commerce and desktop applications, organizing software into layers
This type of testing is done by customers to ensure the software meets their requirements
What is acceptance testing?
create, read, update, and delete
What does CRUD stand for?
Software engineering is not just this activity, which many people mistakenly assume is its sole focus
What is coding?
This SDLC activity involves identifying defects in the software and recording the results
What is testing?
This design principle ensures that different aspects of a program are kept separate, minimizing overlap of responsibilities
What is separation of concerns?
This type of testing evaluates the internal logic and structure of the code
What is white-box testing?
This principle advises developers to avoid adding unnecessary features that may never be used
What is YAGNI (You Aren't Going to Need It)?
Developing test strategies and test cases
What is an example of what a software engineer does?
The process of identifying and documenting the needs and expectations of stakeholders
What is requirements engineering?
This software design pattern separates an application into three interconnected components: model, view, and controller
What is the MVC (Model-View-Controller) pattern?
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?
This principle emphasizes writing code that is easy to maintain and debug
What is clean code?