What is software engineering primarily concerned with?
Applying engineering principles to software development.
What does SDLC stand for?
Software Development Life Cycle.
What is modularity?
Dividing a system into smaller, manageable modules.
What does STLC stand for?
Software Testing Life Cycle.
What framework uses sprints and roles like Scrum Master and Product Owner?
Scrum.
True or False: Software engineering is just about coding.
False.
Name two stages of the SDLC.
Any two: requirements, design, implementation, testing, deployment, maintenance.
What is the main benefit of modularity?
Improves maintainability and scalability. Improves maintainability and scalability.
Verification vs. Validation — which checks if we built the product right?
Verification.
What are the four Agile Manifesto values?
Individuals > processes, Working software > docs, Customer collaboration > contracts, Responding > plan.
Name two activities software engineers perform besides coding.
Any two: analyze requirements, design architecture, test, debug, collaborate, deploy.
What are functional requirements?
Describe what the system should do (features/functions).
Name one characteristic of a “good” architecture.
Reusable, loosely coupled, high cohesion, scalable, or secure.
What does CRUD stand for?
Create, Read, Update, Delete.
What does SQL’s SELECT command do?
Retrieves data.
What is one thing software engineering is not?
Hacking code together without planning or testing.
What are non-functional requirements?
Describe how the system should behave (performance, usability, etc.).
What does MVC stand for, and what does it separate?
Model-View-Controller; separates data, logic, and UI.
What does “technical debt” refer to?
Shortcuts or poor decisions that cause future maintenance costs.
What does “git commit -m” do?
Saves a snapshot of staged changes with a message.
List three qualities good software focuses on.
Quality, maintainability, scalability, and/or meeting user needs.
In the WRSPM model, what does each letter stand for?
World, Requirements, Specification, Program, Machine.
Give one example of a structural and one of a behavioral UML diagram.
Structural: Class, Component, Deployment. Behavioral: Use Case, Sequence, Activity, or State.
Name two key programming principles mentioned.
Any two: Clean Code, YAGNI, KISS, Separation of Concerns, Single Responsibility, Document Your Code.
What’s the difference between a local and remote Git repository?
Local = on your machine; Remote = hosted (e.g., on GitHub).