Week 2
Which one of the following statements most naturally follows from Ziv's law? -Assume that the requirements document is set in stone -Use cases should describe what kind of data is being passed between user and system -use cases map well to design and implementation constructs -assume that the requirements document will have to change at some point -use cases are the most understandable way to represent requirements
Correct answer: assume that the requirements document will have to change at some point
According to the IEEE Spectrum software failure reading, what is another name for Hubble Psychology? -under optimism disease -over rigorous disease -over optimism disease -under rigorous disease -extreme bias disease
Correct answer: over optimism disease
For this question, you will be considering two example software systems and software qualities ("ilities"/non-functional requirements). Consider two software products: TikTok (social media video sharing service) Tesla Autopilot (advanced driver-assistance software system) (go over ilities) For this question, answer all four parts: A1. Name a quality (non-functional requirement quality) that is more important for TikTok than Autopilot. A2. Describe why you think that that quality is more important for TikTok. B1. Name a quality (non-functional requirement quality) that is more important for Autopilot than TikTok. B2. Describe why you think that that quality is more important for Autopilot.
A1: A non-functional requirement that is more important for TikTok than Autopilot is portability. A2: This quality is more important for TikTok because the app needs the ability to work in different systems than what it was originally made for. For example, TikTok should be able to work on the phone, tablet, computer, etc. Whereas Tesla Autopilot does not have to. B1: A non- functional requirement that is more important for Autopilot is reliability. B2: This is more important for Autopilot because the safety of people on the roads is very important. Being able to rely on a system to work a human's exact motions of driving a car comes with great responsibility, and great trust in the system that it is reliable. TikTok does not need the same reliability feature, or to that same extent.
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 country-wide library database to report checkouts and checkins: -future changes -application context -software qualities -priorities/implementation phases -assumptions/risks
Correct answer: application context
Which one of the following requirements analysis techniques does Netflix use the most? -interviewing the customer -data analysis and business metrics -Netflix uses all of these techniques equally -Physically observing the customer -creating use cases
Correct answer: data analysis and business metrics
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 -future changes -application context -assumptions/risks -software qualities
Correct answer: functional requirements
Which of the following statement is NOT correct? -In a use case diagram, the stick figures are drawn to always represent humans that interact with the system -In a requirement document, executive summary shouldn't be to long and show be concise and to the point -the majority of software developers are employed to produce software for their company's use -use cases are bad for describing the quality of software
Correct answer: in a use case diagram, the stick figures are drawn to always represent humans that interact with the system
Which one of the following statements about requirements is true? -the requirements phase is the most 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 -requirements errors generally cause only minor problems in the resulting system. These problems are simple and cheap to fix
Correct answer: 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? -functional requirements -software qualities -future changes -assumptions/risks -application context
Correct answer: software qualities
Requirements analysis could be performed in a number of ways. Which of the following is NOT a requirements analysis technique? -gathering and utilizing data analytics -researching other past solutions interviewing the customer -prototyping solutions and getting feedback from the customer -software quality assurance techniques, such as testing -observing the customer
Correct answer: software quality assurance techniques, such as testing
The requirements phase of the software cycle can be broken down into two sub-phases: "analysis" and "specification" What is requirements analysis? -The process of documenting what the software product should be -the process of drawing use case diagrams -the process of coming to know and understand what the software product should be -the requirements document
Correct answer: the process of coming to know and understand what the software product should be
The terms requirements specification is used to refer to which of the following -the requirements document -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
Correct answer: the requirements document, the process of documenting the requirements of the software product to be built
Which software development situation is the most common in the U.S.? -all of these are equally common in the U.S -a software development/consulting company is paid to develop software for a different company -software is developed mostly by geographically distributed volunteers, and the code is made available for free (open source) -viruses, ransomware, and other malware are developed by bad guys in dark rooms wearing black hoodies and ski masks -the software development group in a company writes software for another department in the same company
Correct answer: the software development group in a company writes software for another department in the same company
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 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 -Customers can not only purchase tickets but also join the waiting list if the tickets are temporarily sold out -The web's page should provide some space for online advertising so that the advertising place could be sold to other commercial companies
Correct answer: 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 -the what and how -the how, not the what -neither what nor how
Correct answer: the what, not the how