inf 43 final study guide
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
model-view-controller architectural style
atm model - portion that user or computer wants to manipulate view - controls what user sees controller - allows user to change application
recognition rather than recall
auto-complete
which of the following is a true statement: "Black box testing is..."
based on the specifications of a system
incrementality
breaking things into smaller steps aka "divide and conquer" ex. releasing updated versions of a software
pair programming includes which of the following steps
coding with another person
error
during execution of the program, a variable's value is incorrect
component
elements that comprise functionality and/or compuation
connector
elements that handle interaction between the different parts of the architecture
which of the following statement is NOT correct?
it is outside of the scope of a requirements engineer to document possible risks to the project
accelerators
keyboard shortcuts
abstraction
making easy to use interface and hiding complex code underneath ex. buttons
generality
making solutions usable in multiple ways, broad solutions to problems
high coupling
many tight dependencies or associations across multiple components. high levels of this is undesirable for a good design
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
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
in user-centered design, a scenario is
a story-like textual description of a system's usage
high cohesion
many tight dependencies or associations within a component. high levels of this is desirable for a good design
when testing, when do we achieve 100% confidence that the program contains no bugs?
never
of the three essential ingredients of software engineering, which one can make up for shortcomings in the other two?
people
complexity
portions of software are continuously interlocked, meaning changes in one part affects another
user control and freedom
"undo" button
a detailed, object-oriented design is usually depicted as a(n)
UML class diagram
mistake
a developer forgot that negative numbers need to be handled from the input
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 ">"
the build-and-fix process model is
also often referred to ask simple "hacking"
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
rigor and formality
coding standard, and adhering to common conventions ex. commenting on code
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
what is a relational database design?
designing tables where data is stored and relationships between them
error prevention
disabling a button that when clicked, would lead to an error condition
the waterfall process model is
linear and idealized
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
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
recall the CNBC article about software used in health care. which one of the following requirements analysis techniques was it most focused on?
observing the customer
which of the following statements is NOT TRUE about testing?
one goal of testing is to prove that the system has no bugs
visibility of system status
progress bar during a file download
which of the following software process models requires a "process expert"
rational unified process (RUP)
which one of the following statements about requirements is true?
requirement issues are at the root of many software failures
in the layered architectural style
the lower layers are the most reusable
failure
the output of the program reveals an incorrect value
the "requirements" phase of the software lifecycle can be broken down into two sub-phases: "analysis" and "specification". what is requirements analysis?
the process of coming to know and understand what the software project should be
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
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
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
anticipation of change
understanding that people expect latest software and constantly developing ex. new phones from apple
in user-centered design, heuristic evaluation is
using principles based on research to assess the usability of a system
which of the following is not true about an architect
usually is an entry level position
user acceptance testing is an example of
validation
test cases, informed by the specifications with and input and an expected output, is an example of
verification
what is the main activity done in the third iteration in a spiral process
whatever activity address the biggest current risk
which of the following is NOT a way to know when to stop testing?
when all bugs have been found and fixed
which of the following statements is true about software architecture?
which software evolves, architecture is a valuable tool in facilitating that evolution
if you go into a career in software engineering in the US, which one of the following situations is more likely outcome for you?
working in the IT department of a company, writing software for "customers" who are also part of that same company
test-driven development includes which of the following steps
writing a test case before writing the functionality to allow it to pass
of which kinds of tests should there be the fewest in the collection of tests for a system?
UI/system tests
configuration
all the elements of the architecture laid out in a specific way that describes the architecture
consistency and standards
a magnifying glass icon on a search button
in user-centered design, a persona is
a profile of a fictional potential user that helps you make user-centered decisions during development
which of the following is true about software architectural styles?
a software architectural style provides us with a named set of components, connectors, and configurations
a function call presents a simple interface and hides the logic that will be performed. this is an example of
abstraction
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 operation of an item class?
addToCart
consider the three perspectives on software engineering discussed in lecture. match each perspective with what matters most from that perspective
engineering - internal quality of the software business - money user - "everything that the user sees"
in white-box testing, brach coverage ensures that
every True/False edge is taken
in white-box testing, statement coverage ensures that
every source-code instruction is executed
which one of the following software process models involves the customer the most throughout the process?
extreme processing
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
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
equivalence class participation testing includes all of the following steps, EXCEPT
gather user feedback for validation
in software engineering, to what does the term "refactoring" refer?
improving the design of existing code without changing its functionality
boundary values
included in partition
invisibility
software is invisible, meaning it is difficult to visualize failures
in a specification, which section would you describe that the software should be build to be secure and beautiful?
software qualities
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
which of the following is an example of unit testing?
testing the functions of a single class
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
a descriptive architecture is necessarily
the architecture that can always be inferred from the implementation