Attendance Quiz
Which principle is part of the ACM/IEEE Code of Ethics?
Act in the public interest
A large safety-critical project has rigid requirements and minimal customer availability. Which model is least suitable?
Agile
Which of the following is NOT a reason Agile is preferred over Waterfall in fast-changing projects?
Agile avoids planning entirely
Which of the following is a typical technique for requirements analysis?
All of these are typical techniques for requirements analysis
In software testing terminology, what is a "fault"?
An incorrect step or process in the code
Your team needs to quickly estimate a small website with basic features for a nonprofit. Which method is fastest and most reasonable?
Analogy-based estimation
In software quality assurance, what does validation ask?
Are we building the right machine?
What is a key trait of ethical development?
Asking "Who could this harm?" early
A test file contains dozens of assertions with no labels or messages. A teammate complains it's unclear what failed. What's the problem?
Assertion roulette
What is an architectural smell?
Bad design choices that seem fine at first but cause long-term problems for your software
What type of testing does not look at the internal code structure?
Black-box testing
You're testing a function that accepts scores from 0 to 100. Your test inputs are 0, 50, and 100. What technique are you using?
Boundary value analysis
What does "ethics as a practice" mean?
Ethics is something you do regularly, like code review
What is paper prototyping especially good for?
Evaluating visual design and layout
What is one reason a regression test might fail?
Expected output is outdated
It's a bad idea to make sure that design speaks the users' language. We should use words, phrases, and concepts not familiar to the user. We should not follow real-world conventions, making information appear in a natural and logical order.
False
Which testing technique involves intentionally inserting defects to estimate real bug count?
Fault injection
What is the purpose of heuristic evaluation?
Find usability issues using established principles
You are working on a project with vague requirements and tight budget. Which estimation method is likely most appropriate early on?
Function Point Estimation
Which of these best supports ethical development?
Including diverse voices in design
A junior developer submits code with security vulnerabilities. Which formal review method would best catch such high-risk flaws?
Inspection
Which of the following is an advantage of using a layered architecture in software design?
It allows each layer to evolve independently, promoting modularity and abstraction
Why is architectural erosion problematic in software systems?
It causes the system to drift from its intended structure, making maintenance harder
In the refugee misinformation case, what role did Facebook's design play?
It enabled rapid spread of false rumors
A designer uses only color to indicate errors in a form. What accessibility issue is likely to arise?
It excludes users with color blindness
What made the Cambridge Analytica case unethical?
It harvested friend data without consent
Which of the following statements about inclusive design is true?
It improves experience for all users, not just those with disabilities.
Why is the Waterfall Model considered limited in modern software development?
It is non-iterative and assumes requirements won't change
Which of the following is false about accessibility?
It is only required by government websites.
What makes exploratory testing distinct from scripted testing?
It relies on human intuition and real-time exploration
What is a key benefit of story point estimation in Agile projects?
It supports team-based relative sizing
The COCOMO model estimates effort primarily using _______.
KLOC (thousands of lines of code)
In a software peer review, who should ideally not be involved in a formal inspection?
Manager
Which of these techniques is best suited to check for consistency between the requirements definition and specification?
Manual analysis
Which of these was labeled a "false silver bullet" by Brooks?
Object-oriented programming
In a UML class diagram, a class is represented by a rectangle with three vertically-stacked compartments. The bottom compartment contains the class's:
Operations
Which coverage criterion is the most exhaustive but least practical?
Path coverage
What is a common weakness of Agile methods?
Poor scalability for large teams
Agile is best suited for which of the following project conditions?
Projects with rapidly changing requirements
What is a key benefit of using Test-Driven Development (TDD)?
Promotes clean, testable design
What is the purpose of smoke testing?
Quickly verify system stability for further testing
Which of the following best reflects the key insight of Ziv's Law?
Requirements will inevitably change, so plan for that from the beginning.
Which of the following is not one of Wieger's Seven Deadly Sins of Software Reviews?
Reviewer critiques the product, not the producer
Which Agile methodology uses roles like Product Owner and Scrum Master?
Scrum
What is a "mutant" in mutation analysis?
Slightly altered version of original code
Your team releases working software every week and gets fast feedback. Which XP principle does this illustrate?
Small releases
Which of the following practices is not part of Extreme Programming (XP)?
Solo programming
Which of the following is a true statement about law and ethics?
Something can be legal but still unethical
In software engineering, what does "changeability" primarily imply?
Successful software is often updated and adapted
In a UML class diagram, what does an aggregation relationship indicate?
That one class is part of the other class
What is the main purpose of UML in software engineering?
To model and visualize software system structure and behavior
In equivalence class partitioning, inputs are grouped because they are expected to:
Trigger similar processing behavior
Personas are fictional representations of users created to guide design decisions.
True
Which one of the following statements is not true?
Use cases can be used to specify all of the requirements for a system
Your team is deciding whether to run a full regression suite overnight. The suite takes too long and many tests are never failing. What should you suggest?
Use change impact analysis to select relevant tests
Which of the following is NOT listed as a common cause of software failure?
Use of outdated software tools
In user observation, what is the primary benefit compared to user interviews?
Users reveal hidden workflows through actions, not words
What does the term "algorithmic amplification" refer to?
When content is promoted based on engagement
What activities are typically involved in the implementation phase of software engineering?
Writing comments, assisting others, documenting code, and refining code
Which of the following best describes a "direct" social impact of software?
A sign-up form that is inaccessible to screen readers
Which best represents "ethical design"?
Designing with privacy and clarity in mind
What is a "static analysis" in the context of code review?
Code review without executing the code
You're testing a web form with 5 input fields, each with 4 possible values. What is the main risk of trying to test all combinations directly?
Combinatorial explosion
In a software architecture, which elements handle data and processing?
Components
Software architecture is
The highest-level breakdown of a system into its parts; the decisions that are hard to change.
Which one of the following is true about the pipe-and-filter architectural style?
The main responsibility of connectors in this style is to transfer data from one filter to another.
In his essay "No Silver Bullet," what was the "werewolf" that Fred Brooks was hoping to "kill?"
The missed deadlines, flawed products, and blown budgets common to software projects
What does 'descriptive architecture' refer to?
The real structure of the implemented system
