Quiz 1-9 for Mr. Justin
Q1 P4 A simple button in a user interface that performs complex operations behind-the-scenes is a good example of: A) Divide and Conquer B) Prototyping C) Incrementality D) Rigor and Formality E) Abstraction
E) Abstraction
Q6 P3 Recall the Wired article about Margaret Hamilton. Hamilton's superiors made an incorrect assumption that lead to the near loss of the Apollo 8 spacecraft. What was this assumption? A) The software interlocks protecting the reaction control fuel tanks are just as reliable as the hardware ones. B) Only two digits will ever be needed to store a year (e.g., 1967 can be represented as 67) C) The software controlling the launch escape system had passed all unit tests. D) The backup server will always be online. E) Astronauts don't make mistakes.
E) Astronauts don't make mistakes.
Q3 P2 In a software architecture, which elements handle data and processing? A) Configurations B) Connectors C) Models D) Styles E) Components
E) Components
Q2 P5 According to the IEEE Spectrum software failure reading, what is another name for "Hubble Psychology?" A) Over rigorous disease B) Under rigorous disease C) Under optimism disease D) Extreme bias disease E) Over optimism disease
E) Over optimism disease
Q1 P5 Source code is one particular representation of a software system. It highlights some details and hides others. This is a good example of: A) Abstraction B) Prototyping C) Divide and Conquer D) Rigor and Formality E) Incrementality
A) Abstraction
Q2 P4 Which one of the following requirements analysis techniques does Netflix use the most? A) Data analysis and business metrics B) Creating use cases C) Interviewing the customer D) Netflix uses all of these techniques equally E) Physically observing the customer
A) Data analysis and business metrics
Q4 P2 What is relational database design? A)Decomposing a task, function, module, or system into smaller sub-tasks, sub-functions, or sub-modules B) Designing a sequence of user interactions in their environmental context C) Designing tables where data is stored and relationships between them D) Decomposing the user interface into the detailed layout E) Decomposing UML objects and classes into functions
C) Designing tables where data is stored and relationships between them
Q5 P3 Which one of the following user interface examples best incorporates the Nielsen heuristic "Consistency and standards?" A) Auto-complete B) Keyboard shortcuts C) A detailed error message that suggests ways to recover from the error D) A magnifying glass icon on a search button E) Disabling a button that, when clicked, would lead to an error condition
D) A magnifying glass icon on a search button
Q6 P5 Which one of the following statements is not true about testing? A) One goal of testing is to prove that the system has no bugs. B) Test cases should be designed in such a way that they can easily be run more than once. C) Test cases should be chosen systematically, to cover a wide range of possible inputs D) One goal of testing is to improve confidence that the system works correctly. E) One goal of testing is to find bugs.
A) One goal of testing is to prove that the system has no bugs.
Q4 P4 Imagine you are creating a UML class diagram of an e-commerce system (such as amazon) that sells items. Which of the following is most likely to be an operation of an Item class? A) price B) addToCart C) fileSize D) description E) logIn
B) addToCart
Q8 P6 Which one of the following statements is not true about Open Source Software Development? A) Developers are usually paid for their participation. B) Users often become co-developers. C) Developers working together are usually not all in the same physical location D) Developers are often highly motivated. E) Source code is publicly accessible.
A) Developers are usually paid for their participation.
Q3 P5 Reuse is a major benefit of the Layered architectural style. Which layer(s) are usually the most reusable? A) Lower layers B) Upper and lower layers C) Upper layers D) Upper and middle layers E) Middle layers
A) Lower layers
Q9 P3 Imagine you're developing software according to the Extreme Programming process model, and you have just written some new code. What do you do next? A) Run tests B) Write more code C) Integrate your code with the rest of the system D) Refactor E) Create tests
A) Run tests
Q7 P4 Which of the following is not true of black-box testing: A) The internal structure of the code is assumed to be unknown B) A graph model of the source code is built as part of the process C) Equivalence class is often used to choose test cases D) An oracle is used to determine whether or not a test case passes E) Test cases are chosen based on the specifications of the software
B) A graph model of the source code is built as part of the process
Q2 P8 Which one of the following statements is true about use cases? A) In an alternative flow, the goal of the use case is not achieved. B) An actor in a use case diagram can be an external system with which the system under development interacts. C) A use case diagram shows the different flows (basic, alternative, exception) of a use case. D) A use case always consists of a basic flow, an alternative flow, and an exception flow. E) The system being developed is always an actor in a use case diagram.
B) An actor in a use case diagram can be an external system with which the system under development interacts.
Q5 P4 Which one of the following user interface examples best incorporates the Nielsen heuristic "Visibility of system status?" A) A magnifying glass icon on a search button B) A detailed error message that suggests ways to recover from the error C) Disabling a button that, when clicked, would lead to an error condition D) Keyboard shortcuts E) Auto-complete F) Progress bar during a file download
F) Progress bar during a file download
Q3 P3 Which one of the following statements is true about software architecture? A) Software architecture is a valuable tool in understanding, reasoning, and communicating about a software system. B) Software architecture consists of all the design decisions about a software system. C) Software architecture defines the detailed, low-level structure of an implementation. D) Software architecture dictates the process a team uses to develop use cases for a system. E) Software architecture has no value in facilitating the evolution of a software system.
A) Software architecture is a valuable tool in understanding, reasoning, and communicating about a software system.
Q6 P4 Which of the following is an example of unit testing? A) Testing the functions of a single class B) Testing a feature of the system from the perspective of a user C) Analysis of program properties using a static analyzer D) Testing the interaction between two classes E) Testing the usability of an interface based on a heuristic checklist
A) Testing the functions of a single class
Q3 P6 Architectural erosion happens when: A) The "as-designed" architecture and the "as-implemented" architecture do not match B) A system evolves and its descriptive architecture is not updated C) The prescriptive architecture is modified before the descriptive architecture is modified D) Faulty components are used in the architecture E) A client-server style is used when a peer-to-peer style would have been more effective
A) The "as-designed" architecture and the "as-implemented" architecture do not match
Q2 P2 Which one of the following statements about requirements is false? A) The requirements phase is the mostly costly phase in the software life cycle, in terms of dollars spent. B) Requirements issues are at the root of many software failures C) What the customer wants is sometimes not the same as what the customer needs. D) If you get the requirements right, it will help avoid many costly fixes later on in the software life cycle. E) Requirements describe what the software should do, without saying how it should do it.
A) The requirements phase is the mostly costly phase in the software life cycle, in terms of dollars spent.
Q9 P4 What is the main purpose of Git in software engineering? A) To support change management and coordination of multiple people developing software collaboratively B) To assist developers in choosing a software process that is most appropriate for their domain and project size C) To support user interface designers in incorporating well-known usability heuristics into their software development D) To support management of black-box testing, specifically using equivalence class partitioning and boundary value analysis E) To predict the effort (i.e., money and time) involved in developing a software project, given a set of project factors
A) To support change management and coordination of multiple people developing software collaboratively
Q8 P4 Based on the MS Windows 10 article assigned reading, choose the best group of words to fill in the blanks: Microsoft's process for developing Windows 8 was most like a(n) _________________ model; their process for developing Windows 10 was most like a(n) _________________ model. A) Waterfall, incremental B) Rational Unified Process (RUP), waterfall C) Build-and-fix, Open Source Software (OSS) D) Spiral, Rational Unified Process (RUP) E) Rapid prototyping, build-and-fix
A) Waterfall, incremental
Q6 P6 All successful software: A) all of these B) changes/evolves C) none of these D) has complexity E) has bugs
A) all of these
Q5 P5 In user-centered design, a storyboard is: A) A story-like textual description of a system's usage B) A series of pictures shown in sequence to visualize the user experience and interaction C) Using principles based on research to assess the usability of a system D) A profile of a fictional potential user that helps you make user-centered decisions during development E) A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience
B) A series of pictures shown in sequence to visualize the user experience and interaction
Q2 P7 Which one of the following statements most naturally follows from Ziv's Law? A) A requirements document is the best way to represent requirements because its format makes it easy to understand for non-technical audiences. B) Despite our best efforts, we must always assume that requirements will change and understanding will grow, resulting in changes to the requirements document. C) Functional requirements should be written at a level of abstraction that is relevant to the user, and that shows what kind of data is being passed between user and system. D) Modern requirements analysis techniques help us create requirements documents that are high quality and rarely need to change after they are written. E) Requirements documents are not amenable for specifying user interfaces, data formats, business rules, and non-functional requirements.
B) Answer Despite our best efforts, we must always assume that requirements will change and understanding will grow, resulting in changes to the requirements document.
Q5 P2 Which one of the following user interface examples best incorporates the Nielsen heuristic "Error prevention?" A) A magnifying glass icon on a search button B) Disabling a button that, when clicked, would lead to an error condition C) Keyboard shortcuts D) Progress bar during a file download E) "Undo" button F) Auto-complete
B) Disabling button that, when clicked, would lead to an error condition
Q9 P5 In software engineering, to what does the term "refactoring" refer? A) Adapting existing code to a new environment B) Improving the design of existing code without changing its functionality C) Adding new features to existing code D) Fixing bugs in existing code E) Testing and fixing bugs in existing code
B) Improving the design of existing code without changing its functionality
Q1 P7 Consider the three perspectives on software engineering discussed in lecture. Match each perspective with what matters most from that perspective. A) Programmer Welfare B) Money C) Internal quality of the software D) Software tools E) None of these Business - ? Engineering - ? User - ?
B) Money C) Internal quality of the software E) None of these
Q7 P5 What is the significance of the word "equivalence" in the phrase Equivalence Class Partitioning? A) All classes are numerical or all classes are non-numerical B) For the purposes of testing, each class has the same likelihood of containing a test case with a bug. C) For the purposes of testing, every element of the class is considered the same as the others in that class D) The UML Class Diagrams has only one-to-one relationships E) The class is divided into the same number of "what" and "how" subjects
C) For the purposes of testing, every element of the class is considered the same as the others in that class
Q8 P5 What is the main activity done in the third iteration in a spiral process? A) Whatever activity addresses the biggest current risk B) Requirements C) Implementation D) Testing E) Design
C) Implementation
Q9 P2 Imagine you're developing software according to the Extreme Programming process model, and you have just written some new tests. What do you do next? A) Integrate your code with the rest of the system B) Refactor C) Run those tests D) Create more tests E) Write code
C) Run those tests
Q5 P7 In user-centered design, what are design guidelines? A) A story-like textual description of a system's usage B) Using principles based on research to assess the usability of a system C) A series of pictures shown in sequence to visualize the user experience and interaction D) A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience E) A profile of a fictional potential user that helps you make user-centered decisions during development
D) A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience
Q3 P4 Which one of the following is true about software architectural styles? A) Using a software architectural style broadens the architectural design decisions we can make. B) Using a software architectural style usually makes it harder to evolve the resulting system C) The client-server style is applicable to any given problem/context. D) A software architectural style provides us with a named set of components, connectors, and configurations. E) A software architectural style rarely offers benefits to the resulting system.
D) A software architectural style provides us with a named set of components, connectors, and configurations.
Q2 P6 In which section of a requirements document are you most likely to find the following statement: "Because the software is being developed for use on mobile devices with limited memory, it must be highly efficient in its memory usage." A) Software Qualities B) Assumptions/Risks C) Functional Requirements D) Application Context E) Future Changes
D) Application Context
Q1 P3 A software development process in which preliminary versions of the system are created to get immediate feedback from the customer is a good example of: A) Rigor and Formality B) Divide and Conquer C) Abstraction D) Incrementality E) Complexity
D) Incrementality
Q1 P2 Of the three essential ingredients of software engineering, which one can make up for shortcomings in the other two? A) Processes B) Tools C) These are all equally important D) People E) Incrementality
D) People
Q8 P3 Which of the following software process models requires a "process expert?" A) Build-and-fix B) Waterfall C) Open Source Software (OSS) D) Rational Unified Process (RUP) E) Rapid Prototyping
D) Rational Unified Process (RUP)
Q7 P3 Which of the following is not true of white-box testing: A) An oracle is used to determine whether or not a test case passes B) Test cases are chosen based on the structure of the code C) A graph model of the source code is built as part of the process D) The internal structure of the code is unknown E) When to stop testing is determined by coverage criteria
D) The internal structure of the code is unknown
Q1 P6 Based on his "No Silver Bullet" essay, which one of the following pieces of advice would Fred Brooks be least likely to give? A) We should not expect to get orders of magnitude improvement in software engineering just by building new languages and tools B) It is best to build software in small, iterative chunks. C) It is vital to invest in growing great software designers. D) You should always build functionality yourself from scratch rather than reuse existing software that provides the functionality you need. E) It is impossible to accurately capture a customer's needs without prototyping.
D) You should always build functionality yourself from scratch rather than reuse existing software that provides the functionality you need.
Q4 P3 A detailed, object-oriented design is usually depicted as a(n): A) Entity-relationship diagram B) Architecture diagram C) Storyboard D) UML use case diagram E) UML class diagram
E) UML class diagram
Q5 P6 In user-centered design, a scenario is: A) A profile of a fictional potential user that helps you make user-centered decisions during development B) Using principles based on research to assess the usability of a system C) A series of pictures shown in sequence to visualize the user experience and interaction D) A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience E) A story-like textual description of a system's usage
E) A story-like textual description of a system's usage
Q9 P6 Which one of the following software process models involves the customer the most throughout the process? A) Rational Unified Process (RUP) B) Spiral C) Waterfall D) Incremental E) Extreme Programming
E) Extreme Programming
Q2 P3 If you go into a career in software engineering in the U.S., regardless of what you want to do, which one of the following situations is most likely what you will end up doing? A) Writing software whose source code is released for free on the Internet with a team of geographically distributed individuals, on an unpaid, volunteer basis B) These are all equally likely C) Developing the next great virus that will steal millions of peoples' personal information D) Working for a company who contracts out their services to build software for other companies E) Working in the IT department of a company, writing software for "customers" who are also part of that same company
E) Working in the IT department of a company, writing software for "customers" who are also part of that same company
Q7 P2 In white-box testing, edge coverage ensures that: A) all possible exceptions are thrown B) every loop boundary is tested C) all possible inputs are tested D) every possible path is taken E) every branch is taken
E) every branch is taken
Q8 P2 The waterfall process model is: A) nonlinear and ideal B) a process that responds well to requirements changes C) nonlinear and realistic D) linear and realistic E) linear and ideal
E) linear and ideal
Q6 P2 Which one of the following terms means "checking that the software fulfills the customer's/user's intent?" A) unit testing B) verification C) integration testing D) fault E) validation
E) validation