IN4MATX 43
Recognition rather than recall
Auto-complete
In the requirements document, if you were to describe the list of desired features of the software and how they should work, into which section would they most likely go?
Functional Requirements
In user-centered design, a persona is:
A profile of a fictional potential user that helps you make user-centered decisions during development
The build-and-fix process model is:
Also often referred to ask simple "hacking"
In which section of a requirements document are you most likely to find the following statements: "The software shall run on iPads in the lobby of the library. The software shall also take input from scanners attached to the iPads, with which a patron can use to scan their cards and items. The software shall also interact with the county-wide library database to report checkouts and checkins."
Application Context
In a specification, which section would you describe that that software should be built to be secure and beautiful?
Software Qualities
If you go into a career in software engineering in the U.S., which one of the following situations is most likely outcome for you (or any random person)?
Working in the IT department of a company, writing software for "customers" who are also part of that same company
Which of the following is a true statement: "Black box testing is..."
based on the specifications of a system
Pair programming includes which of the following steps
coding with another person
The waterfall process model is:
linear and idealized
Imagine you are creating a UML class diagram of an e-commerce system, such as Amazon.com. Which of the following is most likely to be an attribute of a Customer class?
name
Which one of the following is true of white-box testing?
A graph model of the source code is used to inform what test cases should be written.
Fault/Bug
A line of code that should have contained ">=" actually contains ">"
What is relational database design?
Designing tables where data is stored and relationships between them
Which one of the following statements is not true about testing?
One goal of testing is to prove that the system has no bugs.
Which of the following best describes the Layered architectural style in software engineering?
involves organizing software into distinct layers, each with its specific role, where each layer interacts only with its immediate upper and lower layers, promoting separation of concerns, modularity, and abstraction.
accelerators
keyboard shortcuts
Which of the following is NOT a way to know when to stop testing?
When all bugs have been found and fixed
Business
Money
Mistake
A developer forgot the negative numbers need to be handled from the input
According to Brooks' "No Silver Bullet," what is a consequence of the inherent complexity and invisibility of modern software systems, and which of the following examples illustrates this issue?
One of the consequences is invisible errors; the complexity can conceal software flaws and vulnerabilities, making them difficult to locate.
According to the IEEE Spectrum software failure reading, what is another name for "Hubble Psychology?"
Over optimism disease
Architectural erosion happens when:
The "as-designed" architecture and the "as-implemented" architecture do not match
Which of the following is NOT an example of a test oracle:
The actual output of the software implementation that you are testing
The "requirements" phase of the software lifecycle can be broken down into two sub-phases: "analysis" and "specification".
The process of coming to know and understand what the software product should be
In user-centered design, a scenario is:
A story-like textual description of a system's usage
Which one of the following statements most naturally follows from Ziv's Law?
Assume that the requirements document will have to change at some point.
The term requirements specification is used to refer to the process of coming to know and understand what the software product should be. True or False?
False
Equivalence Class Partition Testing includes all of the following steps, EXCEPT:
Gather user feedback for validation
Which of the following software process models requires a "process expert?"
Rational Unified Process (RUP)
Which of the following is an example of unit testing?
Testing the functions of a single class
User acceptance testing is an example of:
Validation
Test cases, informed by the specifications with an input and an expected output, is an example of:
Verification
Imagine you are creating a UML class diagram of an e-commerce system (such as Amazon.com) that sells items. Which of the following is most likely to be an operation of an Item class?
addToCart
Component
elements that comprise functionality and/or computation
Connector
elements that handle interaction between the different parts of the architecture
In Brooks' "No Silver Bullet," the concept of "invisibility" is highlighted as a fundamental aspect of modern software systems. What is a consequence of this invisibility, and which of the following examples best illustrates this issue?
means the complexity of software is hidden from users, leading to challenges in understanding, troubleshooting, and maintaining the software. Example: A smartphone unexpectedly collapsing due to unseen complex code in its apps.
visibility of system status
progress bar during a file download
What does the principle of "rigor and formality" in software engineering involve, and which of the following examples best demonstrates this principle?
refer to the application of strict rules and methods to ensure correctness and precision in software development.
What does the principle of "incrementality" in software engineering entail, and which of the following examples best demonstrates this principle?
refers to the process of designing and testing a product incrementally (little by little) until it is fully complete, ensuring minimal errors.
Which one of the following requirements-analysis techniques is Netflix known for using the most to inform their software development?
Data analysis and business metrics
What is functional decomposition?
Decomposing a task, function, module, or system into smaller sub-tasks, sub-functions, or sub-modules
Error prevention
Disabling a button, that, when clicked, would lead to an error condition
Error
During execution of the program, a variable's value is incorrect
Which of the following is not true about an architect?
Usually is an entry-level position
A function call presents a simple interface and hides the logic that will be performed. This is an example of...
Abstraction
In software engineering, to what does the term "refactoring" refer?
Improving the design of existing code without changing its functionality
Engineering
Internal quality of the software
Which of the following statement is NOT correct?
It is outside the scope of a requirements engineer to document possible risks to the project.
High Coupling is
Many tight dependencies or associations across multiple components, and high levels of this is undesirable for a good design
Of the three essential ingredients of software engineering, which is the most important?
People
Which one of the following statements is true about software architecture?
Software architecture is a valuable tool in understanding, reasoning, and communicating about a software system.
Requirements should define:
The what, not the how
What is the purpose of a UML class diagram?
To create a detailed, object-oriented design of the code
Of which kinds of tests should there be the fewest in the collection of tests for a system?
UI/system tests
Test-driven development includes which of the following steps
Writing a test case before writing the functionality to allow it to pass
consistency and standards
a magnifying glass icon on the search button
In white-box testing, branch coverage ensures that:
every True/False edge is taken
User
"Everything that the user sees
User control and freedom
"Undo" button
In user-centered design, a storyboard is:
A series of pictures shown in sequence to visualize the user experience and interaction
In user-centered design, what are design guidelines?
A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience
Which one of the following is true about software architectural styles?
A software architectural style provides us with a named set of components, connectors, and configurations.
High Cohesion is
Many tight dependencies or associations within a component, and high levels of this is desirable for a good design
Which one of the following software process models involves the customer the most throughout the process?
Extreme Programming
Which of the following statement is NOT CORRECT?
Mixing different styles in software architecture is inappropriate. Architects should always stick to one single architectural style.
When testing, when do we achieve 100% confidence that the program contains no bugs?
Never
Which one of the following statements about requirements is true?
Requirements issues are at the root of many software failures.
Requirements analysis could be performed in a number of ways. Which of the following is NOT a requirements analysis technique?
Software quality assurance techniques, such as testing
In a UML class diagram, which two types of information are typically abstracted away?
The UML class diagram abstracts away the user interface, including the visual design and user interaction components, and the source code, consisting of the actual programming statements and code structure.
A descriptive architecture is necessarily...
The architecture that can be can always be inferred from the implementation
Mr. Brown wants to create a web application that can assist people buying tickets for a cruise ship. Which of the following is the POOREST example of the requirement?
The web's backend should use the most popular programming language, Python, so that it could be easily maintained since more people know how to use it.
The term requirements specification is used to refer to the process of documenting the requirements of the software product to be built. True or False?
True
The term requirements specification is used to refer to the requirements document. True or False?
True
A detailed, object-oriented design is usually depicted as a(n):
UML class diagram
In user-centered design, heuristic evaluation is:
Using principles based on research to assess the usability of a system
What is the main activity done in the third iteration in a spiral process?
Whatever activity addresses the biggest current risk
Based on his "No Silver Bullet" essay, which one of the following pieces of advice would Fred Brooks be least likely to give?
You should always build functionality yourself from scratch rather than reuse existing software that provides the functionality you need.
Configuration
all elements of the architecture laid out in a specific way that describes the overall architecture (or architectural style)
In white-box testing, statement coverage ensures that:
every source-code instruction is executed
Failure
the output of the program reveals in incorrect value