INF 43 Quiz

Ace your homework & exams now with Quizwiz!

What is relational database design? Designing a sequence of user interactions in their environmental context Decomposing UML objects and classes into functions Decomposing the user interface into the detailed layout Decomposing a task, function, module, or system into smaller sub-tasks, sub-functions, or sub-modules Designing tables where data is stored and relationships between them

Designing tables where data is stored and relationships between them

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." Future Changes Software Qualities Assumptions/Risks Priorities/Implementation Phases Application Context

Application Context

Which of the following is NOT a way to know when to stop testing? Reveal as many faults as possible in a fixed period of time with a fixed budget Meet the quality requirements established for the project; perform all planned quality assurance activities When all bugs have been found and fixed When the rate of finding new faults stabilizes to near zero

When all bugs have been found and fixed

Which one of the following is true of white-box testing? An oracle is used to choose which test cases to run. Test cases are chosen based on the specifications of the software. A graph model of the source code is used to inform what test cases should be written. Testing is considered complete when the error find rate stabilizes to near 0.

A graph model of the source code is used to inform what test cases should be written.

In user-centered design, a persona is: A profile of a fictional potential user that helps you make user-centered decisions during development A story-like textual description of a system's usage A series of pictures shown in sequence to visualize the user experience and interaction Using principles based on research to assess the usability of a system A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience

A profile of a fictional potential user that helps you make user-centered decisions during development

In user-centered design, what are design guidelines? A story-like textual description of a system's usage Using principles based on research to assess the usability of a system A series of pictures shown in sequence to visualize the user experience and interaction A profile of a fictional potential user that helps you make user-centered decisions during development A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience

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: Using principles based on research to assess the usability of a system A profile of a fictional potential user that helps you make user-centered decisions during development A series of pictures shown in sequence to visualize the user experience and interaction A story-like textual description of a system's usage A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience

A story-like textual description of a system's usage

Equivalence Class Partition Testing includes all of the following steps, EXCEPT: Test for each subdomain, including representative values or possibly boundary values Gather user feedback for validation Identify the set of all possible inputs (to what is being tested), aka "domain" From each subdomain, select [a] representative(s) to be [a] test case input(s) Identify a basis for subdividing the set of inputs Use this basis to divide the set of all possible inputs into classes/subdomains

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 Testing and fixing bugs in existing code Fixing bugs in existing code Adapting existing code to a new environment Adding new features to existing code

Improving the design of existing code without changing its functionality

Which of the following statement is NOT correct? In a requirement document, executive summary shouldn't be too long and should be concise and to-the-point. In a use-case diagram, the stick figures are drawn to always represent humans that interact with the system. Use cases are bad for describing the quality of software. The majority of software developers are employed to produce software for their own company's use.

In a use-case diagram, the stick figures are drawn to always represent humans that interact with the system.

Pair programming includes which of the following steps Writing a test case to verify correctness immediately after each feature is implemented Coding with another person Writing a test case before writing the functionality to allow it to pass Using rigor and formality when developing software

Coding with another person

Requirements analysis could be performed in a number of ways. Which of the following is NOT a requirements analysis technique? Observing the customer Gathering and utilizing data analytics Interviewing the customer Prototyping solutions and getting feedback from the customer Software quality assurance techniques, such as testing Researching other past solutions

Software quality assurance techniques, such as testing

Which of the following is NOT an example of a test oracle: Human intuition, knowledge, judgment, or experience The actual output of the software implementation that you are testing A calculator, or separate computing device An older, legacy program that computed the same function

The actual output of the software implementation that you are testing

What is the purpose of a UML class diagram? To create a data model to be implemented in a database schema To show the goals that an actor has with a system To create a detailed, object-oriented design of the code To show what the user interface will look like To depict sequences of user interaction for soliciting feedback in early design

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? Unit tests There should be an equal amount of each kind of test UI/system tests Integration/service tests

UI/system tests

User acceptance testing is an example of: Verification Validation

Validation

Test cases, informed by the specifications with an input and an expected output, is an example of: Validation Verification

Verification

What is the main activity done in the third iteration in a spiral process? Design Requirements Testing Implementation Whatever activity addresses the biggest current risk

Whatever activity addresses the biggest current risk

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? description fileSize logIn addToCart price

addToCart

Which of the following is a true statement: "Black box testing is..." is also known as "structural testing" capable of proving there are no bugs based on the specifications of a system based on the source code

based on the specifications of a system

The waterfall process model is: (Note: for this question, "idealized" means that it largely assumes that each step is performed ideally, whereas "realistic" means that it works well for non-ideal and imperfect/flawed steps.) linear and idealized nonlinear and idealized a process that responds well to requirements changes linear and realistic nonlinear and realistic

linear and idealized

Imagine you are creating a UML class diagram of an e-commerce system, such as amazon. Which of the following is most likely to be an attribute of a Customer class? fileSize writeReview logOut price name

name

What is functional decomposition? Decomposing tables where data is stored into their associated attributes Decomposing a task, function, module, or system into smaller sub-tasks, sub-functions, or sub-modules Decomposing UML objects and classes into functions Decomposing the user interface into the detailed layout Decomposing a software architecture into components and connectors

Decomposing a task, function, module, or system into smaller sub-tasks, sub-functions, or sub-modules

Which one of the following statements most naturally follows from Ziv's Law? A requirements document is the best way to represent requirements because its format makes it easy to understand for non-technical audiences. Despite our best efforts, we must always assume that requirements will change and understanding will grow, resulting in changes to the requirements document. Requirements documents are not amenable for specifying user interfaces, data formats, business rules, and non-functional requirements. Modern requirements analysis techniques help us create requirements documents that are high quality and rarely need to change after they are written. 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.

Despite our best efforts, we must always assume that requirements will change and understanding will grow, resulting in changes to the requirements document.

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? Application Context Future Changes Software Qualities Functional Requirements Assumptions/Risks

Functional Requirements

A detailed, object-oriented design is usually depicted as a(n): Entity-relationship diagram UML class diagram UML use case diagram Storyboard Architecture diagram

UML class diagram

Consider if we have a function that takes an integer input. This input can be partitioned into the following partitions/equivalence classes: Partition A: x ≤ 0 Partition B: 0 < x ≤ 100 Partition C: x > 100 for the integer x, which of the following are boundary values for Partition B. Choose all that apply for this specific partition. 101 ∞ Integer.MIN_VALUE 1 0 100 -∞ Integer.MAX_VALUE

1 100

Which one of the following is true about software architectural styles? Using a software architectural style broadens the architectural design decisions we can make. Using a software architectural style usually makes it harder to evolve the resulting system A software architectural style provides us with a named set of components, connectors, and configurations. A software architectural style rarely offers benefits to the resulting system. The client-server style is applicable to any given problem/context.

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... Incrementality Prototyping Abstraction Divide-and-conquer Rigor and formality

Abstraction

The build-and-fix process model is: A good choice for large software Also often referred to ask simple "hacking" A good choice for software involving many developers and other stakeholders Very rigorous

Also often referred to ask simple "hacking"

Which one of the following software process models involves the customer the most throughout the process? Incremental Waterfall Spiral Rational Unified Process (RUP) Extreme Programming

Extreme Programming

Which one of the following requirements analysis techniques does Netflix use the most? Creating use cases Physically observing the customer Data analysis and business metrics Interviewing the customer Netflix uses all of these techniques equally

Data analysis and business metrics

Consider the three perspectives on software engineering discussed in lecture. Match each perspective with what matters most from that perspective. Engineering Business User Internal Quality of the software Money "Everything that the user sees" Invisibility

Engineering - Internal Quality of the software Business - Money User - "Everything that the user sees"

Coupling is Many tight dependencies or associations within a component, and high levels of this is desirable for a good design Many tight dependencies or associations within a component, and high levels of this is undesirable for a good design Many tight dependencies or associations across multiple components, and high levels of this is undesirable for a good design Many tight dependencies or associations across multiple components, and high levels of this is desirable for a good design

Many tight dependencies or associations across multiple components, and high levels of this is undesirable for a good design

Which of the following statement is NOT CORRECT? Software Architecture consists of components and connectors, which can be arranged into configuration Mixing different styles in software architecture is inappropriate. Architects should always stick to one single architectural style. Architectural erosion happens when the software is not grown as it was prescribed. Not all design decisions should be considered as part of software architecture.

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? When all specifications have been tested Never When all planned test activities have been performed When the "sweet spot" has been reached for amount of testing and confidence in correctness When we achieve white-box coverage When we exhaust our testing budget

Never

In the Layered architectural style: None of these Any component can communicate with any other component in the architecture. The upper layers are the most reusable. Components are organized around one centralized server.

None of these

Which one of the following statements is not true about testing? Test cases should be chosen systematically, to cover a wide range of possible inputs One goal of testing is to prove that the system has no bugs. One goal of testing is to find bugs. One goal of testing is to improve confidence that the system works correctly.

One goal of testing is to prove that the system has no bugs.

According to the IEEE Spectrum software failure reading, what is another name for "Hubble Psychology?" Under rigorous disease Over rigorous disease Under optimism disease Extreme bias disease Over optimism disease

Over optimism disease

Of the three essential ingredients of software engineering, which is the most important? Tools These are all equally important Modularity Processes People

People

According to the Nielsen heuristics for assessing usability, match the heuristic on the left to their best examples on the right. Recognition rather than recall User control and freedom Error prevention Consistency and standards Accelerators Visibility of system status Auto-complete "Undo Button" Disabling a button that, when clicked, would lead to an error condition A magnifying glass icon on a search button Keyboard Shortcuts Progress bar during a file download

Recognition rather than recall - Auto-complete User control and freedom - "Undo Button" Error prevention - Disabling a button that, when clicked, would lead to an error condition Consistency and standards - A magnifying glass icon on a search button Accelerators - Keyboard Shortcuts Visibility of system status - Progress bar during a file download

Which one of the following statements about requirements is true? Requirements errors generally cause only minor problems in the resulting system. These problems are simple and cheap to fix. Requirements issues are at the root of many software failures. The requirements phase is the mostly costly phase in the software life cycle, in terms of dollars spent. Requirements describe how the software should work, without saying what it should do. Requirements analysis/engineering should only be done once the architecture of the system has been designed.

Requirements issues are at the root of many software failures.

In a specification, which section would you describe that that software should be built to be secure and beautiful? Future Changes Application Context Software Qualities Functional Requirements Assumptions/Risks

Software Qualities

Which one of the following statements is true about software architecture? Software architecture has no value in facilitating the evolution of a software system. Software architecture dictates the process a team uses to develop use cases for a system. Software architecture defines the detailed, low-level structure of an implementation. Software architecture consists of all the design decisions about a software system. Software architecture is a valuable tool in understanding, reasoning, and communicating about a software system.

Software architecture is a valuable tool in understanding, reasoning, and communicating about a software system.

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 page should provide some space for online advertising so that the advertising place could be sold to other commercial companies. Customers can not only purchase tickets but also join the waiting list if the tickets are temporarily sold out. The web should support people with reading disabilities so that they could purchase the tickets smoothly. 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 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: Neither what nor how The what, not the how The what and how The how, not the what

The what, not the how

In user-centered design, heuristic evaluation is: A series of pictures shown in sequence to visualize the user experience and interaction A story-like textual description of a system's usage Using principles based on research to assess the usability of a system A profile of a fictional potential user that helps you make user-centered decisions during development Correct Answer A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience

Using principles based on research to assess the usability of a system

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 for a company who contracts out their services to build software for other companies These are all equally likely Developing the next great virus that will steal millions of peoples' personal information Writing software whose source code is released for free on the Internet with a team of geographically distributed individuals, on an unpaid, volunteer basis Working in the IT department of a company, writing software for "customers" who are also part of that same company

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 Using rigor and formality when developing software Coding with another person Writing a test case to verify correctness immediately after each feature is implemented

Writing a test case before writing the functionality to allow it to pass

Based on his "No Silver Bullet" essay, which one of the following pieces of advice would Fred Brooks be least likely to give? It is best to build software in small, iterative chunks. It is vital to invest in growing great software designers. It is impossible to accurately capture a customer's needs without prototyping. You should always build functionality yourself from scratch rather than reuse existing software that provides the functionality you need. We should not expect to get orders of magnitude improvement in software engineering just by building new languages and tools

You should always build functionality yourself from scratch rather than reuse existing software that provides the functionality you need.

In software architecture, map the definitions on the left to the terminology on the right. elements that handle interaction between the different parts of the architecture elements that comprise functionality and/or computation all elements of the architecture laid out in a specific way that describes the overall architecture (or architectural style) connector component configuration clients styles

elements that handle interaction between the different parts of the architecture - connector elements that comprise functionality and/or computation - component all elements of the architecture laid out in a specific way that describes the overall architecture (or architectural style) - configuration

In white-box testing, branch coverage ensures that: every True/False edge is taken every loop boundary is tested every possible path is taken all possible exceptions are thrown all possible inputs are tested

every True/False edge is taken

In white-box testing, statement coverage ensures that: every possible path is taken all possible exceptions are thrown all possible inputs are tested every source-code instruction is executed every branch is taken

every source-code instruction is executed

void function(int x, int y, int z) {1: int q = 0; 2: if (x > y) { 3: if (x > z) { 4: q++; } else { 5: q--;}} else { 6: if (y > z) { 7: q = q + 10;}} 8: print q;}

1 2 6 8

In user-centered design, a storyboard is: A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience A story-like textual description of a system's usage Using principles based on research to assess the usability of a system A profile of a fictional potential user that helps you make user-centered decisions during development A series of pictures shown in sequence to visualize the user experience and interaction

A series of pictures shown in sequence to visualize the user experience and interaction

Cohesion is Many tight dependencies or associations across multiple components, and high levels of this is desirable for a good design Many tight dependencies or associations across multiple components, and high levels of this is undesirable for a good design Many tight dependencies or associations within a component, and high levels of this is desirable for a good design Many tight dependencies or associations within a component, and high levels of this is undesirable for a good design

Many tight dependencies or associations within a component, and high levels of this is desirable for a good design

Which of the following software process models requires a "process expert?" Rapid Prototyping Build-and-fix Rational Unified Process (RUP) Waterfall

Rational Unified Process (RUP)

Which of the following is an example of unit testing? Testing the interaction between two classes Analysis of program properties using a static analyzer Testing the functions of a single class Testing the usability of an interface based on a heuristic checklist Testing a feature of the system from the perspective of a user

Testing the functions of a single class

Architectural erosion happens when: The prescriptive architecture is modified before the descriptive architecture is modified A system evolves and its descriptive architecture is not updated The "as-designed" architecture and the "as-implemented" architecture do not match A client-server style is used when a peer-to-peer style would have been more effective Faulty components are used in the architecture

The "as-designed" architecture and the "as-implemented" architecture do not match

A prescriptive architecture is... Often an undisciplined mess of tangled dependencies The result of architectural erosion The architecture that the architect decides for the project to guide how the software will be designed and implemented The architecture that can be can always be inferred from the implementation

The architecture that the architect decides for the project to guide how the software will be designed and implemented

The "requirements" phase of the software lifecycle can be broken down into two sub-phases: "analysis" and "specification". What is requirements analysis? The requirements document The process of coming to know and understand what the software product should be The process of drawing use case diagrams The process of documenting what the software product should be

The process of coming to know and understand what the software product should be

The term "requirements specification" is used to refer to which of the following? The process of coming to know and understand what the software product should be The process of documenting the requirements of the software product to be built The requirements document

The process of documenting the requirements of the software product to be built The requirements document

Which of the following is not true about an architect? Usually is a key decision maker on the direction of how to make difficult implementation choices Often leads the technical development team Usually has broad training (in the domain and in software development) No answer text provided. Often serves as an interface between key business stakeholder and the technical team Usually is an entry-level position

Usually is an entry-level position


Related study sets

Chapter 4- The Tissue Level of Organization (chapter questions)

View Set

MASS Communication Specialist BASIC

View Set

HW 7 Strategy of international Business

View Set