here

advertisement
Chapter 10 Multiple Choice and True/False Answer Keys for Parts 1 and 2
Check Your Understanding Part 1
For a quick review to see what you've learned so far, answer the following questions. Visit pearsonhighered.com/techinaction to check your answers.
Multiple Choice
1. In the SDLC, in which phase is the program specification developed?
a. problem and opportunity identification
b. analysis
c. design
d. development
2. The step of the SDLC in which we document the transfer of data from the
point where it enters the system to its final storage or output is the
a. problem and opportunity identification phase.
b. analysis phase.
c. design phase.
d. development phase.
3. The life cycle of a program begins with describing a problem and making a
plan. Then the PDLC requires
a. coding, debugging, and testing.
b. process, input, and output.
c. data, information, and method.
d. an algorithm.
4. A yes/no decision point in an algorithm is called a
a. loop.
b. binary decision.
c. test condition.
d. control structure.
5. In object-oriented analysis, classes are defined by their
a. objects and data.
b. data and methods.
c. operators and objects.
d. behaviors and keywords.
True–False
_____ 1. Object-oriented design promotes a high level of reuse of existing code.
TRUE
_____ 2. The SDLC and the PDLC are different because one is for mobile devices and one is for developing desktop applications. FALSE
Part 1: Critical Thinking
1. Using Data and Methods
Think about which classes would be important in modeling a band that is about to
go on a national concert tour. The band already has a website, a presence on Twitter and Facebook, and a local following at area clubs. The band signed a new
manager last year, and the members have all been with the group for a while.
They hope to get on bills with other independent-label bands. What data and
methods would each class need? How would the classes be related to each other?
Students would need to recall that in the object-oriented approach, programmers identify and define each class, as well as their data and meth-
ods. Programmers then determine how classes interact with each other.
The following table shows some examples of classes that can be used.
Students can brainstorm additional classes, data, and methods that would
be needed. The classes listed in this example are base classes when using the object-oriented approach. Students may have additional information to add. Responses from students with programming majors should
be more detailed than from students with other majors.
Class
Data
Method
Concert
ConcertDate, ConcertLength
DisplayConcertInfo
Location
City, State
DisplayLocation
TicketSales
CostEach
TotalSales
Expenses
Mileage, Lodging, Meals
TotalExpenses
2. Class Hierarchy
A common test for deciding the structure of a class hierarchy is the “is a” versus
“has a” test. For example, a motorcycle “has a” sidecar, so Sidecar would be a data field of a Motorcycle object. However, a motorcycle “is a” kind of vehicle, so
Motorcycle would be a subclass of the base class Vehicle. Use the “is a” versus
“has a” test to decide how a class structure could be created for computer peripherals. For example, consider that printers are a type of peripheral and that there
are laser printers, inkjet printers, 3-D printers, color printers, black-and-white
printers, and thermal printers. Work to separate the unique features into objects
and to extract the most common features into higher-level classes.
Students might work together to create classes and to extract them into
higher-level classes. They should research the terminology used to define
classes in object-oriented programming and how some terms are interchanged. (Derived and base classes are often referred to as subclasses
and superclasses.)
Check Your Understanding Part 2
For a quick review to see what you've learned so far, answer the following questions. Visit pearsonhighered.com/techinaction to check your answers.
Multiple Choice
1. What do software companies provide to repair code errors for a program
that has been released to the public?
a. beta versions
b. service packs
c. service agreements
d. maintenance programs
2. Which language is best for creating iOS-based mobile applications?
a. C/C++
b. Objective C
c. Java
d. ASP
3. Which is NOT an advantage of Java?
a. Java is architecture neutral.
b. Java needs to compile only once prior to distribution.
c. Java supports network communications.
d. Java performs faster than C++.
4. Which is TRUE about XML?
a. XML supports the development of rich multimedia.
b. XML makes it possible to update Web pages without refreshing.
c. XML enables designers to define their own data-based tags.
d. XML has classes that represent drop-down lists and other Web elements.
5. HTML5 features helpful new tags like
a. <audio> and <video>
b. <movie> and <actor>
c. <metaheader>
d. <div>
True–False
_____ 1. When producing the fastest executable program is essential, programmers use a language with an interpreter. FALSE
_____ 2. Programmers often use ActionScript to code prototypes for Windows
applications. FALSE
Part 2 Critical Thinking
3. Something for Nothing
The open-source software movement depends on the participation of a number of
people from all over the world. Some individuals donate time by writing code;
others do testing or documentation. Projects are then made available free to users.
Does the open-source movement threaten or strengthen the software industry?
Could it replace the existing business model for distributing software? Are there
any benefits to working for free and giving your intellectual property away?
This question is suitable for debate. For an in-class situation, students
could be assigned to one of two groups which will debate one position or
the other (in favor of the open-source movement or opposed to it). Students should analyze what outcomes might result from either extreme (the
open-source movement diminishes to practically nothing, or it grows tremendously in strength and participation). For other class situations, students could prepare a report supporting one position or the other, or they
could prepare a report analyzing both scenarios. Students could report on
how they are most capable of contributing to the open-source movement.
Students could analyze how likely it is for the open-source movement to
either lose or to gain a significant amount of strength and participation.
4. Gathering Insights
There are many different ways to decide which programming languages are the
most popular today. The Google Insights beta tool lets you compare search patterns and usage across specific regions, categories, or time periods. How would
Insights help you to determine the most popular programming languages? If you
didn’t have a tool such as Insights available, where would you go to conduct a
survey on which programming languages are popular? What individuals would
you survey? How would you expect their answers to differ from one another?
This is a good overall analysis questions for both programming majors and other
majors. Student responses should be organized and easy to follow. Regardless of
the specific recommendations or viewpoints, thoroughness should be evident.
Download