Uploaded by alg dreamer

500919171-Career-Paths-Software-Engineering-TG

advertisement
Table of Contents
Answer Key ................................................................................................................................... 4
Audioscripts ................................................................................................................................... 13
Answer Key ..................................................................................................................................... 16
Audioscripts ................................................................................................................................... 26
Answer Key .................................................................................................................................... 30
Audioscripts .................................................................................................................................. 41
Book 1 Answer Key
Unit 1
Unit 2
1 Suggested Answers
1 Suggested Answers
1 There are many steps involved in creating software.
Software must be written. Then, it is designed and further
developed. Software, once it is ready, is installed in the
hardware where it will be used. It then needs to be tested
to see if there are errors. The performance of the
software is evaluated to see if it is efficient.
2 Software engineers play an important role in computer
function. Computers use software to operate. Software
engineers are responsible for designing and developing
software that helps the computer to know what to do.
Software engineers must be able to write software on a
variety of topics that they may be unfamiliar with.
2
1C
2D
3B
3
1D
2H
3G
4A
5B
6C
4
1A
1 If someone has a computer for personal use, it is usually
a PC, which stands for personal computer. Many PCs
are desktops and are strictly for home use. Others are
laptops or notebooks, which can be easily transported
and used outside the home. Tablets are becoming more
popular, and are even easier to carry around.
2 Businesses and individuals often use similar hardware,
but many businesses have larger networks of computers.
Corporate servers can tie multiple workstations to the
same networks and databases. For industries that
require more advanced computing power, computing
clusters are sometimes used. Many businesses also
install embedded computers in company vehicles and
equipment.
7F
8E
2B
2
1D
2D
3B
3
1C
2A
3B
4
1 notebook
2 server
5 Suggested Answer
Programming-in-the-large involves writing software in large
groups over a longer period of time. Programming-in-thesmall involves smaller groups or individuals for writing
simpler software.
6 1T
7
2T
3F
1 software engineering
4 be hard
2 programming-in the-large 5 evaluate
3 investigate problems
6 sounds like
8 Suggested Answer
5
5D
3 computers
5 embedded computers
4 computing cluster
Suggested Answer
Tablets are useful because they are small and provide added
mobility.
6 1T
7
4E
1
2
3
2F
3T
working on
finish that
laptops and desktops
4 tablets
5 Lots of people
6 this version
8 Suggested Answer
A: What are you working on?
A: I’m interested in software engineering. Is it a good career
B: I’m working on the software for the corporate server.
choice?
A: Wait, didn’t you finish that already?
B: I think so. You are a good judge. You’d enjoy evaluating
B: Sort of. I finished setting it up with all the office
programs for efficiency.
workstations.
A: I agree. I like evaluating things.
B: Do you also like being creative when writing software?
A: So what are you doing now?
A: Yes, I do.
B: Next, I’m going to tie in the embedded computers in the
B: It can be challenging but it is very rewarding.
company vehicles.
A: I can’t wait to learn more about it.
A: That’s a good idea. Lots of employees work in the field.
B: Thant’s why this version needs to work well on a small
9 Suggested Answer
screen.
Is Software Engineering Right for You?
Rewards
9 Suggested Answer
- Engineers can design many types of programs.
Project: Corporate Server Software
- The job comes with opportunities to investigate problems
Current Progress: So far, I developed the program for use on
and develop creative solutions.
the office workstations.
Challenges
Reason for Extension: I would like to develop the program for
- It can be hard to take critical evaluation.
use on embedded computers in the company vehicles because
- Engineers must practice extensively to write effective
lots of employees work in the field. An important feature of the
programs.
4 Answer Key
Book 1 Answer Key
new version will be ease of use on a small screen.
9 Suggested Answer
Customer: Leah Carmichael
Order Number: 04772
Description of Problem: The customer was supposed to
receive four laser printers and four inkjet printers. Instead,
she received only four laser printers.
Correction Needed: We need to send four inkjet printers
right away.
Please describe any special offers you made to the
customer: I agreed to include a package of flash drives in
the order, free of charge.
Unit 3
1 Suggested Answers
1 Several accessories are used to put information into a
computer. A keyboard is the best device for putting
words, numbers, and other data into a computer. A
QWERTY keyboard is the most common type in many
countries. To navigate the screen and make selections,
users can move and click buttons on a mouse. Many
optical mice are now wireless. Scanners allow users to
copy images into a computer.
2 Computers typically display information on a screen, Unit 4
which is housed in a monitor. Most monitors today are
flat panel monitors. Users often need to produce hard 1 Suggested Answers
1 A computer is protected from damage primarily by the
copies of images on the screen. Printers allow for this
outer case. This part of the computer must be rigid and
function. Laser printers are very fast and precise, but
durable. Some computers have additional covers on
they do not display different colors well. For photos and
particular parts of extra protection. To prevent
other detailed images, inkjet printers are better.
overheating, computers have fans to increase overflow,
and heat sinks to carry heat away from the working parts
2 1T
2T
3F
of a computer.
3 1 wireless
3 flat panel
5 laser printer
2 A computer cannot function at all without a power supply.
2 scroll wheel 4 keyboard
6 peripherals
Some computers must be plugged into an outlet, while
others can operate from battery power. The power supply
4 Displaying information: inkjet printer, monitor
carries power to the motherboard, which routes it
Inputting information: optical mouse, scanner
appropriately. Once a computer has power, the way it
Storing information: flash drive
recognizes and interprets information is determined by
5 Suggested Answer
the processor.
Some optical mice have scroll wheels to facilitate easy
movement up and down on the screen. Some optical mice
are wireless, and do not need to be physically plugged into
the computer.
2
1T
3
1 A cover
6
1B
4
7
1 can I help
2 is incorrect
3 I’m sorry
2A
4 optical mice
5 How many
6 none of them
8 Suggested Answer
A: Thanks for calling Worldwide Comp Supply. How can I
help you?
B: I’m calling about order number 04772. Some of the order
is incorrect.
A: I’m sorry about that. What’s the problem?
B: I ordered eight printers. But only four arrived.
A: We’ll get this fixed right away. I see you ordered two
kinds. Which ones were missing?
B: I received the laser printers, but not the inkjet printers. I
needed this equipment immediately.
A: Again, I’m really sorry. I’ll throw in a package of flash
drives for free.
2F
3F
B processor
2 A case
B port
Cooling: heat sink, fan
Routing Energy: power supply, motherboard
Accessing Data: hard drive, CD/DVD drive
5 Suggested Answer
Most computers have a fan to improve airflow, and a heat sink to
carry heat away from the computer’s working parts.
6
7
8
1 slow processor
2 warm case
1 problem
2 overheating
4 loud fan
5 defective heat sink
3 really slow
4 make a lot
5 the fan
6 heat sink
Suggested Answer
A: Have you used the computer in the downstairs office?
B: No. Is there a problem with it?
A: Yes. I think it’s getting wet.
B: That’s not good. Why do you say that?
A: It’s really close to a window. And I heard some hissing
noises near the power supply.
Answer Key
5
Book 1 Answer Key
A: I agree. Modern software is much easier to understand.
B: Are you ready for the test next week?
A: I think so. I’ve been reviewing hardware components.
B: That’s good. Don’t forget to study about firmware too.
B: If I were you, I’d get a waterproof cover for it.
A: I’d better give that a try.
9 Suggested Answer
Machine: Computer in the downstairs office.
Describe problem: I noticed that the computer is really
close to a window and there are hissing noises coming from
near the power supply. I think that the computer is getting
wet.
Request: The computer needs a waterproof cover.
Unit 5
9
Suggested Answer
operating system
device driver
windowing system
easy navigation.
manages hardware, allows a user to
perform functions
allows a computer to interact with
additional devices
organizes applications into boxes for
1 Suggested Answers
Unit 6
1 A system software allows computers to operate and it
1 Suggested Answers
comes in many forms. A basic system software allows
1 Threats to computer security are often in the form of
users to enter commands directly into a computer. These
malware. Some malware is not designed to alter the
commands dictate what programs a computer will run.
computer’s performance, but simply to collect data from
The also dictate how a computer’s hardware will operate.
the computer. These programs are known as spyware,
Operating systems run a computer without direct
and they are typically used to gather sensitive personal
commands from a user. These systems manage
or financial information. Another type of malware is a
applications and hardware automatically.
computer virus. This can cause serious damage to a
2 Some systems’ software require users to enter
computer, and can even prevent it from functioning
commands directly. These commands are typed into the
altogether.
computer through a keyboard and carried out by the
2 To protect against security threats, computer users can
computer. More sophisticated operating systems use
install various types of security software. Firewalls keep
windowing systems. These systems display information
unauthorized users out of a network, so they cannot
and options in windows. These windows are easy for
access sensitive information. An antivirus software is
users to navigate and do not require users to enter
designed to detect various types of malware. It prevents
commands directly.
the installation of dangerous programs. It also detects
and removes these programs once they are present. It
2 1A
2D
3B
may have to quarantine certain files until the threat is
removed.
3 1D
2E
3A
4B
5F
6C
2 1T
2F
3F
4 1 A hardware
2 A device driver
B firmware
B system software
3 1 deny
2 permits
3 security software
4 Security threats: malware, spyware, virus
Security programs: antivirus software, firewall
Operating systems are used to manage the hardware and
Protective actions: quarantine, removal
software of a computer.
5 Suggested Answer
6 1F
2T
3T
Spyware and viruses are both malware, but they function
differently. Spyware is hidden software that collects personal
7
1 system software
4 quiz tomorrow
data from the computer, and users often do not notice it is
2 hard assignment
5 chapter again
there. Viruses, on the other hand, usually noticeably disrupt
3 modern operating systems
6 forget to study
computer functions.
5 Suggested Answer
8
Suggested Answer
6
A: What did you think of that assignment about firmware?
B: I think I did well. That assignment was hard, though.
7
A: I thought so, too.
B: I’m ready to study windowing systems. They are much
easier.
6 Answer Key
1C
2A
1 removed the spyware
4
2 confidential information 5
3 security software
6
happen again
keep trying
better update
Book 1 Answer Key
8
Suggested Answer
5
A: I removed the virus from your company’s system
B: Thank you. Our systems contain a lot of important
information.
A: I can see that. If you don’t update your security software,
you could really be in trouble.
B: Really? You think this will happen again?
A: Whoever wanted to damage your system is likely to keep
trying.
B: I guess we’d better update the company’s antivirus
software, then.
A: Definitely. And I recommend a better firewall.
B: What does that do?
A: It will prevent unauthorized access to the company
network.
Suggested Answer
An IDE usually provides a text editor for programmers to
enter code and a debugger. Other tools may include a linker,
a compiler, or an interpreter.
6
1B
7
1 about the difference
2 a linker connects
4 reads the information
5 what decodes
3 interpreter
6 programming languages
2A
8 Suggested Answer
A: Can you help me with something?
B: Sure. What is it?
A: I’m confused about the difference between IDEs and text
editors.
B: A text editor is used to write series of codes for programs.
A: Then what does an IDE do?
B: An IDE basically does the same thing but it provides the
programmer with more tools to use.
A: I see. I was under the impression that an IDE was a text
editor also.
B: It is, but it’s a text editor with additional tools to make
program writing easier.
9
Suggested Answer
Dear Mr. Greene,
I am concerned about your company’s computer security.
When I inspected your systems, I discovered a virus. This is
dangerous because it could have damaged your system and
lost your confidential information. To keep your systems safe,
I recommend upgrading your antivirus software. This will help
because it will prevent the installation of dangerous malware.
Let’s meet to discuss this further.
Danielle Corwin
SharpAlert Computing Systems
9 Suggested Answer
Debugger / Interpreter: A debugger is used for finding and
correcting errors in code. An interpreter is used for translating
code written in different programming languages.
1 Suggested Answers
Programing language / Text editor: A programming language
1 Programmers create new programs using programming
is used for writing code that a computer can interpret and
software. This software allows them to enter long series
execute. A text editor is used to enter lines of code and create
of instructions into a computer. When the computer
programs.
carries out these instructions, this is known as a program.
Programmers enter commands in code. This code is
known as a programming language. There are different Unit 8
types of software the programmers use to enter code. 1 Suggested Answers
Some software is very basic. Other software provides
1 Most businesses use an office suite. This software
programmers with additional tools to make programming
usually includes a word processor and a spreadsheet
easier.
application. Some offices use accounting software
2 The most basic programming software is a source code
applications. These software allow a business to keep
editor. This software provides programmers with a text
track of expenses and transactions. Some businesses
editor. Programmers enter code into the text editor to
may use desktop publishing software to create posters,
create programs. More complex software offer
brochures, or other printed material.
programmers more tools. IDEs generally provide
2 Many people use video editing software and image
programmers with a text editor, debugger, and other
editing software at home. This software allows them to
tools. These tools may include a linker, a compiler, or an
edit and their pictures and videos. Many people also use
interpreter.
accounting software at home to keep track of their
finances and do their taxes. People often use word
2 1F
2T
3F
processors at home to type documents or read
documents that have been sent to them.
3 1F 2B 3C 4A 5E 6D
Unit 7
4
1 A IDE
B text editor
2 A linker
B debugger
2 1C
2A
3C
3
2B
3B
1A
4A
Answer Key
7
Book 1 Answer Key
4
1 Accounting
2 office suite
5
Suggested Answer
3 enterprise software
4 Image editing
5 web browser 3
6 spreadsheet
4
The company offers an office suite, accounting software,
image and video editing software, enterprise software and
desktop publishing software.
1A
2B
3D
4E
5G
6H
7B
8F
A businessperson might use a variety of programs. One
example is a cost analysis program. Another example is
software that aids in processing payroll.
1F
7
1 the memo
3 the office suite 5 be updated
7
2 accounting software 4 other programs 6 see what you mean
8
Suggested Answer
3F
2A
5 Suggested Answer
6
2T
1C
6 1T
1
2
3
2F
3T
software developments
working
cost analysis
4 route planning
5 adapt
6 digital assistants
A: Did you see the memo from the CEO?
8 Suggested Answer
B: You mean the one about the video games?
A: Where are we on software developments?
A: I can’t believe they want to start making video games.
B: We are working on a few new projects.
B: I think it’s a good idea. It’s a whole market for us to break
A: I only know about the payroll program.
into.
B: We started working on a mobile app for route planning.
A: I’m worried about what that will mean for all the other
A: Can you tell me more about that?
applications that we make.
B: We used the computer program that already existed and
B: What do you mean?
downsized it.
A: I’m afraid if we focus on making video games the quality
A: When will it be ready for the market?
of our other software might go down.
B: It should be finished in a few days.
B: I see what you mean, but I don’t think that will happen.
9
9 Suggested Answer
Suggested Answer
Image editing software: Use this software to perfect your
photos and preserve your family memories.
Office suite: Use this software to create and print text
documents or to put together presentations.
Accounting software: This software will help you keep
track of your budget on a monthly or weekly basis. It’s a
good program to have when tax season comes.
Video editing software: use this software to edit video
footage from your camera or phone into movies with
captions and music.
Dear Ms. Thompson,
We recently finished a payroll program.
Another project is a mobile app for route planning.
So far, we have taken an existing computer program and
downsized it.
Since bioinformatics is so popular, we will begin writing a
new program for it.
Most of these programs will be accessible on digital
assistants.
Sincerely,
Owen
Unit 9
Unit 10
1 Suggested Answers
1 Suggested Answers
1 Software serves many varied purposes. Many
professional programs are for data management. For
example, some software keeps track of payrolls. Other
programs are for personal purposes, such as route
planning. These programs use satellite navigation to
create a map of the world.
2 Software engineers must be able to write for many
industries. Software has many professional and
recreational uses. Software engineers must be able to
create programs wherever they’re needed. That means
they must often write for industries that they are largely
unfamiliar with.
2
1B
8 Answer Key
2B
3A
1 A computer desktop usually has features that allow a
user to access programs quickly. Most have a button that
opens a menu of all the files and programs on the
computer. They also typically have the option to save
shortcuts to commonly-used files. These appear as
folders or icons on the desktop.
2 Starting programs from a GUI is usually an easy, intuitive
process. In many cases, users can select something by
simply clicking or double-clicking an icon. To install a
program, users may need to select “run” from a menu.
Depending on the program, commands like “open” or
“launch” may be available from a file selection menu.
Book 1 Answer Key
2
1F
2T
3F
3
1F
2E
3A
4
1B
2B
3A
5
Suggested Answer
3 1 A over B times
4D
5C
6G
7B
4
2 A Add B subtract
Combining amounts: multiplied by, plus
Splitting amounts: less, minus, divided by
Expressing results: equal
To bring up the dropdown menu, a user must right-click 5 Suggested Answer
If someone accidentally subtracts an amount instead of
the icon for the program.
adding it, the result will be lower than the original amount
6
1B
2B
instead of higher.
7
1 can I help
2 open it
3 your desktop
8
Suggested Answer
4 nothing happens
5 right-click
6 I try that
A: Thanks for calling DRD support. How can I help you?
B: I tried to run your new software. But I can’t get past the
setup guide.
A: I’m sorry to hear you’re having trouble. What does the
screen say?
B: It’s asking for my email address. But nothing happens
when I start typing.
A: Do you see the cursor in the box?
B: No. There’s nothing there.
A: Go ahead and click in the box.
B: I see. It’s letting me type now.
9 Suggested Answer
Problem: The program does not open when I click the icon.
Solution: Remember to right-click the icon to bring up the
dropdown menu.
Problem: The program does not accept my email address
when I start typing.
Solution: Click in the text box and make sure you see the
cursor appear there before typing.
Unit 11
61D
2A
7 1 new program 3
2 schedule
4
you finish
fifteen hundred
5 divided by
6 three engineers
8 Suggested Answer
A: What’s the status on the new program?
B: We’re right on schedule.
A: Will you finish it by Monday?
B: That’s five day away, right? And we need about twelve
hundred more lines of code.
A: Twelve hundred divided by five is two hundred forty lines
per day. Can you do it?
B: I think so. We have four engineers working on it.
A: So you need each engineer to do sixty lines per day.
B: Sixty? Oh, of course. Sixty lines times four engineers
equals two hundred forty.
9 Suggested Answer
Hi Grant,
The development of our new program is right on schedule. We
have four engineers working on the project. According to the
schedule, we have five days left to complete twelve hundred
lines of code. If each engineer completes sixty lines per day,
we can complete the project on time. Here are my
calculations: 4 engineers times 60 lines per day equals 240
lines per day. 1200 lines divided by five days also equals 240.
Let me know if you have any questions.
Susan
1 Suggested Answers
1 The simplest way to combine numbers in mathematics is
to add two quantities together. For example, two plus
three equals five. Numbers can also be multiplied by
each other. In multiplication, one quantity is added to
itself a certain number of times. For example, two times Unit 12
three equals six. In other words, two added to itself three
1 Suggested Answers
times is six.
1 Part of a whole are often expressed as fractions. A whole
2 Subtraction is a basic way to split numbers apart in
is divided into a number of equal parts. Then, the
mathematics. It involves simply removing one quantity
quantity is expressed as a smaller number of those parts.
from another quantity, so that the answer is the
¾ is fraction in which something occupies three parts of
difference between the two. For example, five minus
four
total possible parts. A percentage is another way to
three equals two. Division is also a way to split numbers
express
the same quantity. In this case, the quantity is
into parts. If x is divided by y, x is separated into y
the
number
of parts out of 100. 75% is the quantity of
number of parts. For example, six over two equals three.
something that occupies seventy-five parts of one
hundred total possible parts.
2 1F
2T
3T
Answer Key
9
Book 1 Answer Key
2
2 To convert a percentage into a fraction, 100 is always
used as the initial denominator. The percentage amount
is used as the numerator. For example, if the percentage
is 40%, the fraction is 40 over 100. Then the fraction
should be reduced to its lowest form. In this case, forty
parts out of one hundred is proportionally the same as
two parts out of five. Therefore, the final fraction equals
to 2�5.
1F
2T
3T
3
1E
2D
3C
4A
5B
6F
4
1 decimal number
2 converted
3 fraction
4 percent
5 Suggested Answer
If twelve out of fifteen is expressed as a fraction, it should be
reduced to its lowest form: 4/5. If expressed as a percentage,
it would show the number of parts out of 100 that it occupies:
80%.
6 1D
2C
7 1 wanted to
2 software update
3 out of
4 four-fifths
5 focus on
6 one hundred percent
Words like “increase” and “rise” describe a positive
change. When we say something decreases, or is in
decline, we describe a negative change. “Fluctuate” is a
way to indicate that something moves up and down
periodically. And if something is steady, it remains about
the same.
2 When the market changes, people hope to see desirable
outcomes. This usually involves increasing sales. If labor
and material costs decrease at the same time, then
people usually make money in a particular market. These
results often occur as technology improves and expands.
2 1A
2C
3 1H
2G
4
2B
Unit 13
1 Suggested Answers
1
There are many ways to describe changes in a market.
10 Answer Key
4A
5B
6E
7D
8F
If something is lower than it was, then it decreased.
Someone might also say that it is in decline.
6 1F
2T
3T
7 1 new programs
2 fluctuated
3 increase
4 steady pace
5 you think
6 no doubt
8 Suggested Answer
A: You wanted to see me?
B: Yes. Our clients are asking about the new program
release.
A: We’re working on it. We already updated six out of eight
components.
B: That’s three-fourths done. What about the other two?
A: We’re developing a whole new system display. It could
take a while.
B: I want you to focus on that. We’ll release the program as
9
soon as that’s done.
A: So you want us to spend one hundred percent of our time
on it?
B: Yes. The other component can wait until a software
update.
Project: Software Update
Update: We have finished 6 out of 8 items. That means the
project is 75% complete. To complete the project as quickly
as possible, we will spend 100% of our time on the new
system display. We will spend all of our time on this.
3C
5 Suggested Answer
8 SuggestedAnswer
9 Suggested Answer
1A
3B
A: How do the new programs do on the market?
B: The demand for the income tax software has really
fluctuated.
A: Why do you think that is?
B: It seems to increase drastically during tax season.
A: What about the mobile app?
B: We noticed the demand increased. It’s doing well.
A: How do you think it will do in the future?
B: I have no doubt that it will remain pretty steady.
Suggested Answer
Dear Mr. Billings,
We have just released several new programs.
The first software is a bill paying program. Sales are really
increasing. I believe this is because improvements in the
economy make people more comfortable with automatic
payments.
The other is a mobile app. It is not as unpredictable as we
thought it would be. The sales are increasing steadily.
Overall, the sales of our programs are expanding.
Sincerely,
Michelle
Book 1 Answer Key
What did the presenter do well?
I liked that the presenter spoke clearly because everyone
could hear her.
How could the presenter improve?
Next time, the presenter should use visual aids because she
was talking lots of numbers which was quite confusing for
the audience.
Unit 14
1 Suggested Answers
1
2
2 1
3
When giving presentations, speakers must demonstrate
confidence by standing up straight and making eye
contact with the audience. They also must clearly guide
audiences through ideas by signposting and
summarizing. Instead of just talking, speakers can also
use visual aids to help clarify or reinforce information.
Unit 15
Handouts are a good visual aid that leave audience
members with something to take away with them.
1 Suggested Answers
Engineers work in a field that requires complex and
1 Software engineering students typically start with
elaborate planning. They must be able to demonstrate
foundation studies in mathematics, including calculus
ideas clearly and convince others that projects are
and linear algebra. They must also have a general
worthwhile. Their arguments must be compelling and
understanding of electronics. Even though they focus
interesting. An engineer may have great ideas. But if he
primarily on software, they must understand the
or she has poor presentation skills, the projects may
hardware it will be applied to. Therefore, software
never be approved.
engineering students typically take computer engineering
B
2A
3D
1E
2B
3A
2
4C
5D
4 1 handout
2 review
3 note card
4 presentation
5 eye contact
5 Suggested Answer
Note cards are a useful presentation tool, but presenters
sometimes forget to look up and make eye contact with the
audience while they are reading their note cards.
6 1T
2F
8
4 note cards
5 wrong with
6 make eye contact
Area of study
Foundation year
3
1
2
3
2
1 A bachelor’s degree
2 A circuit analysis
3
Suggested Answer
Suggested Answer
A: What do you think of my presentation?
B: I was impressed with your ideas. But you need to work on
your presentation skills.
A: What do you mean?
B: For one, the audience was confused by all the numbers
you listed.
A: I didn’t realize that. Should I use a visual aid next time?
B: Yes, a handout would be great. And let’s work on using
more signposting.
A: Why? Was I being unclear?
B: People didn’t know when you switched to a new topic.
9
2
3F
7 1 was impressed with
2 couldn’t hear you
3 project my voice
Subjects covered
1 basic engineering principles,
linear algebra, calculus
Computer Engineering 2 computer architecture,
general electronics
3 Upper-level software
implementation of control systems,
engineering courses
complex programming
D
E
C
4
5
6
F
A
B
B computer engineering
B linear algebra
Software engineering students take foundation courses in
mathematics, such as calculus and linear algebra, before
they take upper-level courses.
4
1F
7
1 advanced courses
2 foundation
3 to take calculus
8
Suggested Answer
Suggested Answer
Presenter: Jill Steadman
Please rate the presentation between 1 (low) and 5
(high): 3
courses as well. In upper-level courses, they typically
learn about advanced programming and circuit analysis.
In my country, there are many jobs in the software
engineering field, but engineers almost always need a
strong education. While there is no official requirement,
about 80% of software engineers in my country have a
bachelor’s degree or higher. Some engineers have not
completed this education, but it is much easier to get a
job with a degree.
2F
3T
3 should I take
4 computer engineering
6 computer architecture
A: Let’s talk about next semester.
B: Can I enroll in software programming courses yet?
Answer Key
11
Book 1 Answer Key
A: Not quite. You still have some foundation work to finish.
B: Like what?
A: First, you need to take some basic electronics courses.
Then you can enroll in upper-level courses.
B: I guess I’ll do that, then. What else should I take next
semester?
A: Let’s get you started on some mathematics courses.
B: Yes, I think I’m ready for that.
A: I’ll sign you up for linear algebra.
9
Suggested Answer
Student: Ben Hampton
Advisor: Jean Bukowski
What courses did the student take already?
The student completed the foundation courses Calculus and
Computer Engineering last semester.
What courses do you recommend for next semester?
I recommend that students take Linear Algebra and Intro to
Electronics.
How will these courses help the student meet his or her
long-term goals?
These courses will help the student complete the foundation
education and prepare him for more advanced programming
courses.
12 Answer Key
Audioscripts
Unit 1
Unit 4
Student (М): Professor Wendell? I’m really interested in
software engineering. But is it a good career choice?
Instructor (W): I think so. You are a good leader. You’d enjoy
programming-in-the-large.
Student: I agree. I like working in groups.
Instructor: You like to investigate problems, right?
Student: Yes, I do. But software engineering seems like it
could be hard.
Instructor: It’s sometimes challenging when others evaluate
your work. But if you are patient, it is very rewarding.
Student: That sounds like something I can do.
Engineer 1 (M): Hey, Greta. Have you used the computer in
the conference room?
Engineer 2 (W): No. Is there a problem with it?
Engineer 1: Yeah. I think it’s overheating.
Engineer 2: Oh, that’s not good. What’s it doing?
Engineer 1: Well, the processor is working really slow. And the
case feels unusually warm.
Engineer 2: Does it make a lot of noise?
Engineer 1: Now that you mention it, the fan did seem really
loud.
Engineer 2: It sounds like you’re right. If I were you, I’d
replace the heat sink.
Engineer 1: Yeah, it’s probably defective. I’d better give that a
try.
Unit 2
Engineer 1 (M): Hey, Grace. What are you working on?
Engineer 2 (W): I’m still developing the home banking
application.
Engineer 1: Wait, didn’t you finish that already?
Engineer 2: Well, sort of. I finished a version for laptops and
desktops.
Engineer 1: So what are you doing now?
Engineer 2: Next, I’m going to create an application for tablets.
Engineer 1: Oh, that’s a good idea. Lots of people carry
tablets nowadays.
Engineer 2: Right. That’s why this version needs to work well
with a touchscreen.
Unit 3
Representative (M): Thanks for calling Worldwide Comp
Supply. How can I help you?
Customer (W): Hi, I’m calling about order number 25841.
Some of the order is incorrect.
Representative: I’m sorry to hear that. What’s the problem?
Customer: I ordered thirty-six optical mice. Thirty were
regular, and six were wireless.
Representative: I see that on your order information. How
many were in the shipment?
Customer: Well, I received all thirty-six mice. But none of
them are wireless.
Representative: Oh, no! We’ll get this fixed right away.
Customer: This is a real hassle. I needed this equipment
immediately.
Representative: Again, I’m really sorry. I’ll throw in two more
mice for free.
Unit 5
Student 1 (M): What did you think of that assignment about
early system software?
Student 2 (W): That was a really hard assignment!
Student 1: I thought so, too. I can’t believe people used to
enter everything manually.
Student 2: I know what you mean. I’m ready to study modern
operating systems.
Student 1: I agree. They’re so much easier to use.
Student 2: Are you ready for the quiz tomorrow?
Student 1: I need to review that chapter again.
Student 2: Don’t forget to study about device drivers.
Student 1: I’m not too worried about that.
Unit 6
Engineer (W): Well, Mr. Clay. I removed the spyware from
your company’s system.
Manager (M): Oh, thank you! Our systems contain a lot of
confidential information.
Engineer: Yes, I can see that. If you don’t update your security
software, you could really be in trouble.
Manager: Really. You think this will happen again?
Engineer: Whoever wanted your information is likely to keep
trying.
Manager: I guess we’d better update the company’s antivirus
software, then.
Engineer: Definitely. And I recommend a better firewall.
Manager: What does that do?
Engineer: That makes it harder for unauthorized users to
access the company’s network.
Answer Key
13
Audioscripts
Unit 7
Student 1 (M): Can you help me with something?
Student 2 (W): Sure. What is it?
Student 1: I’m confused about the difference between linkers
and compilers.
Student 2: Okay. Well, a linker connects a program to
information it needs from other programs.
Student 1: Wait, I thought an interpreter did that.
Student 2: No. An interpreter just reads the information so
the program can run.
Student 1: Okay. So then, a compiler is what decodes
program instructions?
Student 2: Exactly. It translates information from different
programming languages.
Student 1: I get it now. Thanks.
Unit 8
Engineer 1 (M): Did you see the memo from the CEO?
Engineer 2 (W): Do you mean the one about the accounting
software?
Engineer 1: Yeah. They want a whole new program for the
office suite. We’re supposed to develop it by the end of
the month.
Engineer 2: I think that’s a good idea. A lot of our customers
probably use accounting anyway.
Engineer 1: Yeah, but I’m worried. What will that mean for
the other programs in our office suite?
Engineer 2: What do you mean?
Engineer 1: Well, our word processor needs to be updated.
I’m afraid that a new program will take away from that.
Engineer 2: I see what you mean, but I think it’ll be fine.
Another team is scheduled to complete that update this week.
Unit 9
Owner (W): Owen, where are we on software developments?
Engineer (M): We’re working on a lot of new things, Ms.
Thompson.
Owner: Last I heard, you were finishing a mobile app for cost
analysis.
Engineer: We finished that. Now, we’re working on a
program for route planning.
Owner: Can you tell me more about that?
Engineer: We want to adapt a satellite navigation program.
But ours will be much smaller.
Owner: Why is that?
14 Answer Key
Engineer: It needs to be compatible with digital assistants.
Unit 10
Representative (W): Thanks for calling Mailbag Support.
How can I help you?
Customer (M): Hi, I just installed the new Mailbag Deluxe.
But I can’t open it.
Representative: I’m sorry to hear you’re having trouble. Do
you see the icon on your desktop?
Customer: Yes, it’s there. But nothing happens when I click
it.
Representative: Did you right-click the icon?
Customer: No. Should I try that?
Representative: Yeah, go ahead and right-click it instead.
Customer: Let’s see. Oh, I see. And now I click “Open
Mailbag”?
Representative: That’s right.
Unit 11
Engineer 1 (M): What’s the status on the new program?
Engineer 2 (W): We’re right on schedule.
Engineer 1: Great! Will you finish it by next Friday?
Engineer 2: That’s ten days away, right? And we need about
fifteen hundred more lines of code.
Engineer 1: Fifteen hundred divided by ten is one hundred
and fifty lines per day. Can you do it?
Engineer 2: I think so. We have three engineers working on
it.
Engineer 1: So you need each engineer to do fifty lines per
day.
Engineer 2: Fifty? Oh, of course. Fifty lines times three
engineers equals one hundred fifty. We can handle that.
Unit 12
Engineer (M): Hi, Mr. Lennox. You wanted to see me?
Manager (W): Yes, Jenna. Our clients are asking about the
new software update.
Engineer: We’re working on it. We already fixed twelve out of
the fifteen problems.
Manager: Well, that’s four-fifths done. What about the other
three problems?
Engineer: They’re tricky. The sudden shut-downs are the
biggest issue.
Manager: I want you to focus on fixing that. We’ll release the
Audioscripts
update as soon as that’s done.
Engineer: So you want us to spend one hundred percent of
our time on it?
Manager: Yes. The other fixes can wait until the next update.
Unit 13
Engineer 1 (M): Hey, Mary. How did the new programs do on
the market?
Engineer 2 (W): The demand for the route planning program
has really fluctuated.
Engineer 1: That’s strange. Why do you think that is?
Engineer 2: It seems to increase in the summer. That’s when
people travel the most.
Engineer 1: Oh, that makes sense. What about the budget
mobile app?
Engineer 2: That did better. The demand increased at a
steady pace.
Engineer 1: How do you think it will do in the future?
Engineer 2: I have no doubt it will do well.
Unit 14
Engineer (W): What do you think of my presentation?
Manager (M): I was impressed with your ideas. But you need
to work on your presentation skills.
Engineer: What do you mean?
Manager: For one, the audience couldn’t hear you towards
the back.
Engineer: Oh, I didn’t realize that. So I need to project my
voice next time.
Manager: Exactly. And let’s work on using fewer note cards
next time.
Engineer: Why? What’s wrong with them?
Manager: You looked at them too much. You need to make
eye contact with your audience.
Engineer: I see. I guess I should practice before my next
presentation.
Unit 15
Advisor (W): So, Ben. Let’s talk about next semester.
Student (M): Okay. Can I enroll in advanced courses yet?
Advisor: Well, not quite. You still have some foundation work
to finish.
Student: Really? Like what?
Advisor: First, you need to take calculus. Then you can enroll
in upper-level courses.
Student: I guess I’ll do that, then. What else should I take
next semester?
Advisor: Let’s get you started on some basic computer
engineering courses.
Student: Yes, I think I’m ready for that.
Advisor (W): I’ll sign you up for computer architecture.
Answer Key
15
Book 2 Answer Key
Unit 1
1 Suggested Answers
2
3
4
5
6
7
Qualifications: He has a PhD from Gelman Technical Institute.
Do you plan to hire this applicant? Why or why not? I do not
plan to hire this applicant. Even though he is goal-oriented, he
has not demonstrated any special abilities or innovative thinking.
Applicant: Alice DeWitt
Qualifications: She is still in college, but she helped develop
“Stones of Fury” video game.
Do you plan to hire this applicant? Why or why not? I plan to
hire this applicant because she has demonstrated strong
commitment and innovation.
1 Anyone who works alongside other people must have
good interpersonal skills and be a team player. Good
communication skills are essential. He or she must have a
commitment to the group, and should be dedicated to the
overall success of the work. Coworkers appreciate
someone who can focus and maintain a goal-oriented
attitude that benefits the entire organization.
2 Software engineering is a very technical field, and
engineers must have advanced technical expertise in
order to be successful. They must have the ability to think Unit 2
critically about something and solve problems in a logical 1 Suggested Answers
manner. However, they are also responsible for creating
1 The first step in problem solving is problem identification.
programs and solutions that have never been seen or
This is a process that determines why software might not
tried. That means they must also have the ability to think
be working. Once the cause of a problem is identified, it is
outside the box and develop innovative programs.
easier to find an appropriate solution for the problem. One
approach is to complete an analysis of the problem or of
1 A
2C
3A
the whole project. This analysis should try to account for
any factors that could be causing the problem. Completing
1 H
3F
5E
7C
an analysis involves careful observation and patience.
2 A
4B
6G
8D
Another way of identifying the problem is to check
standard procedures for common problems.
1 A goal-oriented
B innovative
2 Problem solving begins with problem identification. This is
2 A commitment
B expertise
usually done through an analysis of the problem. Once
the problem is identified, a solution can be found. A
Suggested Answer
solution may be simple, or it may involve a synthesis of
Someone who thinks of unusual ideas can be described as
multiple actions. A solution should be considered carefully
innovative, and as someone who thinks outside the box.
before it is applied. Once the solution is applied it is
important to make sure that the problem has been solved
1 T
2F
3F
completely. If it has not, another iteration of problem
solving begins. This involves further analysis of the
problem and application of new solutions.
1 technical expertise
4 think outside the box
2 still in college
5 interview with him
3 helped develop
6 curious, innovative person
2 1 F
2F
3T
8 Suggested Answer
A: How do the job applications look?
B: There are a couple of good applicants. I like this one:
George Nelson.
A: What does his résumé say?
B: He recently got a PhD from Gelman Technical Institute.
3 1 C
2 D
4 1 A redefine
2 A solution
3 A iteration
3A
4F
B address
B analysis
B procedure
5 Suggested Answer
The first step in problem solving is problem identification.
This begins with a complete analysis of the problem and its
possible causes.
A: That’s a tough school. He must be very goal-oriented.
Who else is there?
B: I like Alice DeWitt, too. She’s still in college, but she
helped develop the video game “Stones of Fury”.
6 1A
2A
A: That was a really elaborate project. Those engineers
really had to have serious commitment.
7 1 project going
4 common solutions
B: Should I set up an interview with her?
A:
2 lot of problems
5 will you do
Yes. Experience is nice. But I’d rather go with a
3 a quick analysis
6 more detailed
dedicated, innovative person.
9 Suggested Answer
8 Suggested Answer
Applicant: George Nelson
A: How is your project going?
16 Answer Key
5E
6B
Book 2 Answer Key
2 it’s extensive
5 don’t quite get
B: It’s going well, but I’m having trouble solving a couple
3 cannot be counted
6 temperature
of problems.
A:
What solutions have you tried?
B: I’ve been running some standard procedures, but none of 8 Suggested Answer
them have worked.
A: Are you ready for the accounting test?
A: Have you tried anything else?
B: I don’t know. I still mix up some of the concepts.
B: I also did a quick analysis of all the software code and
A: So do I. Do you remember the difference between input
I’m completing a more detailed analysis of all the code.
and generation?
A: That’s a good plan.
B: I think so. Input is added to a system, right?
A: That sounds right. On the other hand, generation is
9 Suggested Answer
what the system produces.
1. Identify the problem. A good way to do this is to complete
B: So input already exists, while generation is created.
an analysis of the project and think about possible causes of
A: I still don’t get where generation comes from.
the problem.
A: It’s related to consumption. Think about the smoke from a
2. Think of a solution. It’s a good idea to think of a few
fire. Consumption is the process of burning wood, and
possible solutions for the problem.
smoke is the generation from that process.
3. Apply the solution. A good way to do this is to try a
B: That makes sense.
synthesis of multiple solutions.
4. Complete an analysis to ensure that the problem has been 9 Suggested Answer
fully resolved.
1. Intensive Quantity Temperature. This a good example of
Unit 3
1 Suggested Answers
this concept because temperature is a
quantity that can be measured, but it
cannot be counted.
Smoke. This is a good example of
1 Engineers use principles of accounting to monitor changes 2. Generation
this concept because consumption is
in quantities. Since engineers are responsible for
the process of burning wood and smoke
developing various solutions and tools, they must be able
is
the generation from that process.
to determine whether a process is functioning. If
something is not working as expected, an engineer must Unit 4
be able to determine why. Accounting practices provide a
standard way to measure changes so that further 1 Suggested Answers
1 Requirements engineering is the practice of creating and
adjustments and formulations are accurate.
documenting specifications for software and other
2 Consumption and generation are two parts of the same
applications. Requirements engineers must define the
process. Consumption occurs when an amount of
purpose of software they are creating. Generally, this
something is used or destroyed. This usually occurs in
means deciding if software will be customer-driven or
order to power or drive something else. The use of the
market-driven. Once this has been decided, engineers
resource is then converted into a product, which is
must describe the specifications of the software. They
generation. This is usually the desired outcome of
record these specifications in requirements documents.
consumption. Some resources may be lost or wasted in
These documents are organized in a way that makes
the process, so consumption does not always translate
sense for the specific software being described. Before
directly into generation.
the software is made, the documents are given validation
and verification. This ensures that all data in the
2 1F
2F
3T
document is accurate and has been communicated
accurately.
3 1H
2E
3B
4F
5D
6A
7C
8G
2 Software specifications are organized into a requirements
document. Depending on the software, the specifications
4
1 A closed system
B open system
2 A generation
B consumption
are organized differently. For some software, the
specifications are organized by mode. This describes the
5 Suggested Answer
way the software will function in different settings. Some
Open systems allow mass to pass in and out of the system, while
documents organize the specifications by user class. This
closed systems always maintain constant mass.
describes how the software will operate for each type of
user. Documents organized by response describe how
6 1 A
2 D
the software will operate in terms of the information that it
will give to users. Requirements documents can be
7 1 get backwards
4 measure them
organized by any functional hierarchy
Answer Key
17
Book 2 Answer Key
2 1
3
C
2
1 A
2 C
D
3
3 B
4 H
4 1 objects
2 user class
A
5 D
6 E
3 functional hierarchy
4 mode
major components of a software system. Viewing
software in this way allows engineers and programmers
to understand how software works and to identify
problems with software. Software architecture works by
viewing components of software separately from each
other according to function. Once the components have
been isolated, they can be studied more closely.
2 There are a few ways that software is viewed in software
architecture. In a conceptual view, software is broken
down into its major design elements. This allows the
interactions between those elements to be examined
closely. When software is viewed in deployment view, it is
examined in terms of its relationship to physical nodes.
When software is viewed in process view, the software is
portrayed in terms of the tasks the system must perform.
7 F
8 G
5 response
5 Suggested Answer
Engineers find errors in requirements documents during the
validation and verification processes.
6 1T
7 1
2
3
2T
3F
on the requirements 4 Some of the specifications
the validation
5 updating the data
What happened
6 end of the week
8 Suggested Answer
A: Can you give me an update on the new project?
B: It’s going slowly. It was good at first, but we found some
major problems when we did the verification.
A: What were the problems?
B: All of the data was correct, but it was organized in a way
that didn’t make much sense.
A: Will we be able to fix the problem?
B: Yes. Instead of organizing it by mode, we’ve decided to
switch to user class.
A: How long will that take?
B: We should have it done by the end of the month.
A: Oh, good. I was worried we couldn’t make the client’s
deadline.
9 Suggested Answer
From the desk of: Allison Baxter
2
1A
2C
3D
3
1C
2A
3D
4
5
1 Software architecture
2 idiom
3 module
4 application framework
5 programming plan
6 design pattern
Suggested Answer
Sheryl will present on the progress of the application
framework for new accounting software. She will also talk
about plans for developing the deployment view of the
software.
6
1F
7
1 your presentation
2 describe software architecture
3 another client
8
Suggested Answer
Hi Greg,
Here is an update on the library catalog project.
Current stage: We are currently plugging new data into the
requirements document.
Problems encountered: During validation, we discovered
that our data was not organized well.
Next steps: When we finish updating the data, we will
complete validation again to ensure everything is correct this
time.
Let me know if you have any questions.
–Allison
Unit 5
1 Suggested Answers
1 Software architecture is the practice of viewing software
systems in terms of their major components. It also 9
involves characterizing the interactions between the
18 Answer Key
4B
2F
3T
4 application framework
5 put something
6 an implementation view
A: I really enjoyed your presentation last week on the
software architecture of our current project.
B: That’s good to hear. It’s hard to describe process view to
clients, but I did my best.
A: You did well. Would you be interested in putting together
another client presentation?
B: I’d be happy to.
A: I need to give some other clients an overview of the
progress we’ve made on the design patterns for their
project.
B: If you send me the information for the project, I can do it.
A: I’ll have all the data sent to you this afternoon.
B: When will the presentation be?
A: The presentation is next week, but I need you to finish your
notes by Friday so I can look over them first.
B: I’ll send them to you as soon as they are ready.
Suggested Answer
Linda will present on the benefits of developing the
Book 2 Answer Key
conceptual view before the deployment view.
Terry will present on the changes to the process view of
the word processing software.
Alan will present on the development of idioms and
design patterns for use in accounting software projects.
type.
A: I agree. But I don’t think we need one that complicated.
Our data will be more ordered than that.
B: What were you thinking then?
A: I think a repository might be good. That would be nice and
simple.
B: I really don’t like that idea. We also need the system to do
some pretty complicated functions. I don’t think a
repository will work well for that.
A: You’re right. We need something that lends itself to
functions.
B: What about a layered plan?
A: I think that could work.
Unit 6
1 Suggested Answers
1
2
Domain-specific software architecture is the practice of
using pre-established patterns and systems to create
plans for new software. Software engineers can consider
what kind of data they have and what kind of software
they are creating to select a pre-established system for
their software. The system defines the basics of how the
9 Suggested Answer
software will be structured. After that, the engineer only
Hi Ken,
needs to link the software to his or her specific data. A
I looked over your ideas for the new project. You suggested
few types of pre-established software structures exist for
using an abstract data type architectural style. I don’t think
engineers to choose from. Each type is suited to different
this is a good idea because it is much more complicated than
kinds of data structures or software functions.
our project requires.
There are a few types of architectural structures for
Instead,
why don’t you use the repository architectural style?
designing software. An abstract data type designs a
It’s
better
because it is a simpler system. Or you could use
system that matches the structure of the data being
the
layered
architectural style. The advantage of that is that
processed. In this system, components are designed to
it’s
still
relatively
simple but it can perform many functions.
maintain themselves. An implicit invocation relies on
Let
me
know
what
you decide.
computations that are provoked by internal events rather
Sylvia
than user input. A layered structure is organized into
seven layers. These layers are organized in ascending
functionality. The most basic functions are on the bottom
layers while the higher ordered operations are at the top. Unit 7
2 1F
3 1 E
2 A
2T
3 F
4 B
1 Suggested Answers
3F
5 D
6 C
4 1 control structure 3 system model
2 component
4 connector
5 DSSA
5 Suggested Answer
A software engineer decides to use an established
structure according to the data and necessary functions of
his or her software. He or she uses the framework of the
structure as a basis and changes the details according to
the specifics of the project.
6
1D
7
1 database software
2 architectural structure
3 about a repository
2A
4 our data will
5 were you thinking
6 pipes and filters
i ht
8 Suggested Answer
A: Do you have any ideas about how we should start with this
2
database software?
B: Since we’re going to be bringing in a lot of data from
outside sources, I thought about using an abstract data 3
1 A call graph shows an abstraction of a software system.
This abstraction is a basic system structure. It depicts a
system in terms of its modularity. A call graph shows
modules as well as the connections between modules.
The connections are described in terms of their coupling
and cohesion. Engineers use call graphs to design a
system in the most general terms possible. They can then
examine the system and correct errors before the system
becomes very complex
2 Call graphs provide programmers with a basic plan of
how a system will work. Because a call graph does not as
many details or as much data as a completed system, it is
easier to edit. Problems that arise in a call graph can be
changed relatively easily. Call graphs are less susceptible
to wicked problems. These are problems that have
multiple causes and are very difficult to solve. A call
graph’s simplicity makes it easier to correct and perfect.
Once a call graph is perfected, it provides a strong basis
for a software design.
1B
2D
3A
1 wicked problem
2 call graph
3 information hiding
4 stopping rule
5 simplify
Answer Key
19
Book 2 Answer Key
4
1 A Coupling
2 A intra-modular attributes
3 A system structure
4 A Complexity
B Cohesion
B Inter-modular attributes
B abstraction
B Modularity
subfunctions to support these user functions. Typically,
neither process is used purely by itself.
2 Engineers need to identify and manage problems that
come up in their software. One way engineers can do this
is by decomposing programs. This means that they split
the higher-level functions of the software into smaller
subfunctions. This allows engineers to study the
subfunctions closely and identify problems. It also helps
to split problems up into more manageable sizes. The
process of decomposing software to identify problems is
known as functional decomposition.
5
Suggested Answer
Programmers can avoid wicked problems in their designs by
using call graphs. These plans allow programmers to eliminate
problems before the software becomes too complex.
6 1F
2F
3T
7 1 still confused
2 cleared up
3 make a call graph
8
9
4 add the details
5 abstraction
6 before the software
Suggested Answer
A: Is there anything you need help with?
B: Yes, actually. I’m still confused about some parts of our
projects.
A: Let’s see if we can get that cleared up then. What is
confusing you?
B: I don’t really understand the difference between cohesion
and coupling.
A: Cohesion describes the measure of interactions between
modules. Does that help?
B: Yes, I’m still not sure what coupling is.
A: Coupling tells us how strong those interactions are.
B: I see. Why do we need to define those in the system plan?
Won’t the data set those limits for us?
A: That’s part of creating a strong design. Putting cohesion
and coupling into our call graphs allows us to eliminate
any problems with the software before they arise.
Suggested Answer
Design
Benefits
call graph
provides a plan of what a final product
will look like
abstraction
provides a broad plan before details
have been decided
cohesion and
allows elimination of problems before
coupling
they arise
Unit 8
2
D
1
3 1A
2A
2 B
3A
4B
3A
5A
4
1 A top-down design
B bottom-up design
2 A idealistic
B primitive
3 A subfunction
B Philosophy
5 Suggested Answer
Students will learn the philosophy behind design methods. They
will also learn about problem solving in software design.
6 1T
2F
3F
7 1 a bottom-up design
2 managing problems
3 to eliminate them
4 what about top-down
5 it’s easier to
6 by decomposing
8 Suggested Answer
A: Can anyone tell me about the limitations of a top-down
design?
B: Yes. With a top-down design the engineer starts with the
higher function. This means they’re more likely to have
complicated problems.
A: Can you tell me about some of the benefits of a top-down
design?
B: A top-down design allows for functional decomposition
when problems come up.
A: And what about bottom-up designs?
B: It’s easier to avoid problems with a bottom-up design than
with a top-down design.
A: How so?
B: Since the engineer is building the most basic elements of
the software first, they’re less likely to make mistakes.
A: That’s correct. It looks like you’ve been keeping up on the
reading.
1 Suggested Answers
1 There are two basic types of design methods. The first is
bottom-up design. In a bottom-up design, an engineer
begins by creating the most primitive subfunctions of the
9 Suggested Answer
design. These subfunctions are then connected to each
Top-Down
other and built upon. Eventually, the engineer will create
Pros
Cons
higher level functions until he or she reaches the main
allows
engineer
to
define
user
- more likely to have
user functions. The other type is top-down design. In this
functions
first
complicated problems
system, an engineer begins by defining the user functions
allows
for
functional
decomposition
more
difficult to correct
of the software. From there, the engineer creates the
20 Answer Key
Book 2 Answer Key
Bottom-Up
Pros
- easier to avoid problems
8 Suggested Answer
mistakes
Cons
- does not allow for
functional decomposition
until the end of the process
- engineer must begin at
the most basic level
Unit 9
1 Suggested Answers
1
2
There are a few ways that software engineers visualize
software structures. Software engineers design systems
according to data flow. This means that they examine the
way data moves through a system. Software engineers
can represent the data flow of a system in charts called
DFDs. These charts map the movement of data from
module to module in a system. They allow software
engineers to optimize data flow in a system. Software
engineers also use structure charts and structure
diagrams. These charts and diagrams use schematic logic
to represent the objects and functions in a system.
There are three distinct phases in Jackson System
Development, or JSD. The first stage is the modeling
stage. At this stage, engineers consider the real-world
problems that their software needs to solve. They
describe these problems carefully and consider the best
means of operation for their software. The second stage is
the network stage. In this stage a system is represented
graphically. Engineers make note of the modules of a
system and the connections between modules. In this
way, the system as shown as a network of communication
processes. The final stage is the implementation stage. In
this stage the system is transformed from a network of
processes to a complete working design.
2
1B
2C
3A
3
1C
2B
3E
4D
5A
4
1 structure chart
2 JSD
3 schematic logic
4 structure diagram
5 Data flow design
6 JSP
Data Flow Diagrams help engineers visualize how their
software will work.
2T
3F
7 1 working in JSP
2 For this project
9 Suggested Answer
1. Begin with the modeling stage. This involves
assessing what functions the software will need to
perform. Try to imagine a system which is capable of
managing those functions.
2. Continue to the networking stage. In this stage, try to
map out the objects in the system and define the
interactions between them. Express the elements of
the system with schematic logic.
3. Finally, execute the implementation stage. This is when
you use your system map to create a functioning system.
Unit 10
1 Suggested Answers
1
7 DFD
5 Suggested Answer
6 1F
A: Do you mind if I ask you a few questions about the
project you’re working on?
B: Go ahead.
A: I’m interested in different software design methods. I
was just wondering if you were working in JSP.
B: No, but you’re close. For this project I’m using a data
flow diagram.
A: What made you decide to plan it that way?
B: I prefer it because I want the software to run fast, so I
need to make sure that the data is moving in the most
efficient way possible.
A: How is the project going?
B: I’m still looking for ways to optimize some of the
processes.
A: Let me know if I can help. I’d love to be involved.
B: OK. I will.
3 easier to gauge 5 the network stage
4 What stage
6 The data flow
2
Object-oriented design is the practice of structuring
designs according to the objects within them.
Engineers focus on the nodes and modules of a
system and the relationships between those objects.
They also focus on the attributes or properties of
objects in a system. To create designs in objectoriented design, engineers make diagrams that map
different aspects of the objects in a system. Each
diagram depicts the same system in different terms.
Engineers can use these diagrams to plan and
optimize their designs. The Fusion method and the
Booch method are two popular procedures of objectoriented design.
There are many types of diagrams used in objectoriented design. Each type of diagram depicts a
different aspect of a system or of the objects in a
system. A collaboration diagram shows each object in
a system in relation to a particular interaction. A
sequence diagram gives the time ordering of events
in an interaction. A class diagram models the
relationships between objects in a system. This type
of diagram also depicts the decomposition of a
Answer Key
21
Book 2 Answer Key
outcome of a fault. Engineers can find errors in code by
detecting faults. They do this with a fault detection model.
2 There are a few models of fault detection. One is the
demonstration model. This model ensures that software
satisfies its specified purpose. This model is generally
used at the early stages of development. Another model is
destruction model. This model detects implementation
failures in new software. Another model is the evaluation
model. This model detects faults in all areas of software.
These areas include design, implementation, and
requirements. Another model is the prevention model.
This model attempts to prevent faults in all areas of
software before they occur.
system. A state diagram depicts the dynamic
behavior of single objects in a system.
2 1T
2F
3F
3
1E
2B
3D
4C
4 1 property
2 state
5F
6A
3 relationship
4 OMTs
7G
8H
5 attribute
6 object-oriented
5 Suggested Answer
The Booch method is a popular model of object-oriented
design which uses its own modeling language to describe
objects in a system. The Fusion method is another popular
model of object-oriented design.
61A
2 1F
2C
7 1 create some diagrams
2 Sounds interesting
3 an interaction diagram
4 mapping the object interactions
5 Can you send me
6 end of the month
8 Suggested Answer
A: Do you want to speak to me?
B: I have a project for you. I need you to create some
diagrams for the accounting software.
A: What kind of diagrams do you need?
B: We’ll need a state diagram, a sequence diagram, and a
collaboration diagram.
A: Have the engineers finished defining all of the object
functions yet?
B: No, they haven’t. This means that you’ll have to work on
the sequence diagram last. In the meantime, you can get
started on the other two diagrams. These diagrams need to
be done in the next two weeks. We’re going to use them in
a client presentation.
A: So they need to look really professional, right?
B: Right.
9 Suggested Answer
1. class diagram
2. state diagram
depicts the decomposition of a system
shows the dynamic behavior of single
objects
3. sequence diagram shows time ordering of events in an
interaction
4. collaboration
depicts objects in relation to an
diagram
interaction
Unit 11
1 Suggested Answers
2T
3 1 expected
2 error
4
3F
3 prevention model
4 evaluation model
1 A fault
2 A Fault prevention
3 A compare
4 A demonstration model
5 test criteria
6 oracle
B failure
B Fault detection
B satisfy
B destruction model
4 Suggested Answer
The company uses oracles to compare test results and find
faults. They also use different test models to detect and
prevent faults.
5 1A
2D
6 1 on the testing
2 looking over
3 few failures
4 the destruction model
5 Use an oracle
6 run some more
7 Suggested Answer
A: I need an update on the testing for the latest project.
B: It looks like the software didn’t do very well. We detected a
lot of faults.
A: What testing model did you use?
B: For this test we used the prevention model.
A: Use an oracle to determine where the failures are coming
from. Then have a team of engineers fix them.
B: I will do that. We will probably run some more tests while
we do that.
A: That’s a good idea. I think you’re going to find more failures
when you look at other models.
B: What testing model should we use?
A: I’d like to see the results from a demonstration model.
1 Software failures occur because of human error. When an
engineer enters something into a computer incorrectly, 8 Suggested Answer
this is called an error. In software engineering, errors
Project: TX907
usually take place in software code. When a computer
Tests completed: prevention model testing
tries to execute code that is incorrect, a fault occurs. This
Results: The software fulfills its intended purpose, but small
fault often creates a failure. A failure is the detectable
faults were found in the primitive code.
22 Answer Key
Book 2 Answer Key
Recommendation: Before continuing the project, we need
to use an oracle and address the errors in the code.
Tests to Complete: demonstration model testing
Unit 12
A: Maybe you should run some scenario-based evaluations
also.
B: That’s a good idea.
9 Suggested Answer
Test Method
1 Suggested Answers
Advantages
Disadvantages
1
2
3
4
5
6
There are many different types of software testing.
black-box testing
uses pre-set test
may not be best for
Software testing is divided between dynamic and static
criteria
all types of software
analysis. In dynamic analysis, testing is conducted while
static analysis
tests unexecuted
may not find certain
a program is being executed. This type of testing
program
failures and errors
includes scenario-based evaluation and fault-based
Fagan inspection
more likely to reveal may not be worth it
testing. In static analysis, the code of a program is
errors
for small projects
analyzed but the program is not executed. This type of
Unit 13
testing includes stepwise abstraction, peer review, and
Fagan inspection. Other types of testing are coverage- 1 Suggested Answers
based testing and proof of correctness.
1 Test adequacy criteria are sets of properties or rules that
2 There are a few ways that software engineers work
engineers should follow to ensure that the software tests
together in the testing phases. One way is in Fagan
they perform are sufficient. Test adequacy criteria cover
inspection. This is a process in which engineers test
all aspects of a software system. The properties consider
software as a team. The tests they conduct are rigorous.
the size of software and the percentage of the software
It is up to the development team to complete the tests
that is tested. The properties also consider how test sets
and analyze the results. Another way that engineers work
can and cannot be reused among similar software
together is in peer review. This is a process in which one
programs.
engineer reads and edits code that another engineer
2 There are many different properties of test adequacy. The
wrote.
anticomposition property ensures that programs are not
only tested in isolation but also in simulated environments.
A
2C
3 A
The complexity property reminds engineers that more
1
complex programs require more complex test sets. The
1C
2E
3A
4H
5D
6B
7G
8F
monotonicity property asserts that traditional tests can
1 Fagan inspection
3 stepwise abstraction
2 static analysis
4 peer review
always be performed on a software program. The
applicability property states that sufficient test sets exist
Suggested Answer
for every program. The renaming property states that
Engineers can decide what type of testing to use
programs that differ only in inconsequential ways can be
according to the function and size of the software.
tested with the same test sets.
1T 2F
3F
2 1B
2C
3A
7 1 The white-box testing
2 making any changes
3 dynamic and static
8 Suggested Answer
4 ready for Fagan inspection
5 whole team working
6 do a peer review
3
1F
2B
3A
4E
5C
6D
7G
8H
4
1 A test adequacy criteria
B complexity property
A: How is the testing going on the accounting software?
2 A anticomposition property B antiextensionality property
B: I have some bad news about that. The static analysis
found a lot of faults.
5 Suggested Answer
A: That’s not good. What are going to do about them?
Some of the properties that employees should use are:
B: We’re going to do some dynamic testing before we start
complexity, renaming and monotonicity.
making any changes.
A: Are you using white-box testing or black-box testing?
6 1T
2F
3F
B: For now we’re just doing white-box testing. We’ll use
black-box testing later.
4 last project’s tests
A: Try to get this taken care of quickly. I want this software7 1 good for a first try
2 the statement coverage property 5 write new tests
ready for Fagan inspection by next month.
3 are some problems
6 whenever you can
B: I understand. I’ve got the whole team working on the
testing.
Answer Key
23
Book 2 Answer Key
8 Suggested Answer
2B
A: Your test sets were good for a first try. But I have some
feedback for you.
B: I’d love to hear it.
A: You covered the applicability property really well, so
that was great.
B: I’m glad you noticed. I worked really hard on that.
A: But there are some problems too.
B: What were the problems?
A: I noticed that you didn’t test the software in all possible
environments.
B: I was using the non-exhausting applicability property.
A: I see. I’d advise you to be more thorough with your
tests. Remember the antidecomposition property.
B: So I should test program components together?
A: Yes.
9 Suggested Answer
All employees should observe the following guidelines in
regards to test sets.
Antidecomposition property – Make sure to test
systems in multiple environments. Tests in isolated
circumstances are not sufficient.
Renaming property – Employees should be cautious with
this property. Only a few systems are similar enough to fit
the
requirements
for
similar
test
sets.
Complexity property – Remember that the more
complex software is, the more complex the test sets for
software should be.
4H
6D
4 1 insufficient
2 repair
8C
3 release
4 enhance
5 Suggested Answer
The CEO wants engineers to perform adaptive
maintenance to keep the company growing and
competitive.
6 1T
2F
3F
7 1 a lot of maintenance 4 of corrective maintenance
2 not looking forward to 5 work on updating
3 First, we need to
6 run on new operating systems
8 Suggested Answer
A: It looks like we’re going to be busy with the
maintenance on that accounting software.
B: I’m really not looking forward to all of that work.
A: I think if we make a plan, we can save ourselves a lot
of time.
B: First, we need to do some preventive maintenance.
A: That way, the other editing we need to do will be
easier.
B: Exactly. Next we need to work on fixing all of the faults in
the software.
A: So we need to do some perfective maintenance?
B: Yes. We also need to make changes to account for all of
the system upgrades.
A: For that we can do adaptive maintenance.
Unit 14
1 Suggested Answers
1 Software maintenance is the process of updating
existing software. Software can be updated to fix
problems or to meet new technical specifications.
Engineers can enhance software features. They can
also adapt it to new hardware or software. This is an
important process because it prevents engineers from
having to constantly write new software programs.
Software maintenance is also done as a program that
is being written. This is maintenance that makes the
software easier to edit later.
2 There are a few kinds of software maintenance.
Adaptive maintenance is work that is done to make
software adaptable to new technologies. These
technologies could be new types of hardware or new
operating systems. Perfective maintenance is
performed to fix faults in software. Preventive
maintenance is performed on the structure of a
system. This maintenance improves the structure so
that the software can be updated more easily.
2 1D
2B
3C
3 1G
3F
5A
24 Answer Key
9 Suggested Answer
Hi Karen,
I’m pleased with the new programs your team is developing.
However, I want you to shift your focus to software
maintenance for a few weeks.
On the GrayWhite 9.7 software, we need adaptive
maintenance. This is because our competitors released a
similar program with newer, more advanced technology. We
have to keep up.
On the SP008 software, we need perfective maintenance.
This is because people don’t find the software useful. It
needs some major functional improvements.
On the FANFARE II software, we need corrective
maintenance. This is because there are several errors in the
code.
Arnold
Unit 15
1 Suggested Answers
1
7E
There are a few ways that legacy systems are
updated. Some legacy systems are updated so that
they are compatible with new hardware or software.
Some are updated to remove faults and errors from
Book 2 Answer Key
the program. Others are updated with revamped user
interfaces. Engineers perform these updates by
changing the code and structures of a legacy system.
Engineers perform reengineering, renovation, and
restructuring on existing systems.
Redocumentation and design recovery are forms of
software maintenance. Redocumentation creates a
new version of an existing program that exists at the
same level of abstraction. This means that the new
program may have new features, but the structure of
the program is essentially the same. Design recovery
creates a new version of a program that is better
organized than the original program. Though both
programs perform the same function, the new program
has a structure that is more organized and easier to
edit.
2
2
1T
3
1 Design recovery
2 legacy system
3 Redocumentation
4 Functional equivalence
5 web-based
6 Reverse engineering
7 modernize
4
1 A Revamping
2 A renovation
B Reengineering
B Restructuring
2F
on corrections.
3F
5 Suggested Answer
Restructuring creates programs that are functionally
equivalent to other programs. These programs can be edited
and updated easily.
6 1B
2C
7 1 reverse engineering
2 do some redocumentation
3 code is too unstructured
4 have to edit
5 work to modernize
6 revamp the user interface
8 Suggested Answer
A: What do you think about the reverse engineering on
the database software?
B: I’ve been thinking about it. We’re definitely going to
have to do some reengineering.
A: Really? Won’t that take a long time?
B: It will, but the software is too complex to edit right now.
A: Do you think we’ll have to edit the software after
reengineering?
B: Definitely. It’s going to take a lot of work to revamp this
software.
9 Suggested Answer
Software ID: X920
Maintenance needed: The user interface needs to be
revamped. Also, parts of the program need to be
restructured.
We are performing this maintenance because some parts
of the code have errors and the user interface is outdated.
Current Progress: Revamping of the user interface is
underway. Engineers are identifying errors and working
Answer Key
25
Audioscripts
Unit 1
Owner (M): How do the job applications look?
Manager (W): There are a couple of good applicants. I like
this one: Paula Gardner.
Owner: Oh yeah? What does her résumé say?
Manager: Let’s see. She has a degree from Lord Technical
Institute. And she worked for several high-profile firms.
Owner: So she has strong technical expertise. What else is
there?
Manager: I like Henry Pacheco, too. But he’s still in college.
Owner: That might be okay. What’s his experience like?
Manager: He helped develop the X-99 traffic analysis
software.
Owner: Really? That was a fascinating project. Those
engineers really had to think outside the box.
Manager: Yeah, that’s what I thought. Should I set up an
interview with him?
Owner: Definitely. Experience is nice. But I’d rather go with a
curious, innovative person.
Manager: Okay, I’ll call Henry right away.
Unit 2
Engineer 1 (M): Hey. How is your project going?
Engineer 2 (W): Not very well. I’m still having a lot of
problems when I try to run the software.
Engineer 1: Really? What have you done to fix it?
Engineer 2: I did a quick analysis of the code.
Engineer 1: Have you tried anything else?
Engineer 2: Yeah, I ran some standard debugging
procedures. Then I tried applying some common
solutions.
Engineer 1: Huh. What will you do next?
Engineer 2: Well, I just started a more detailed analysis of all
the code.
Engineer 1: That’s a good way to start.
Engineer 2: My two earlier changes helped in different ways.
If this doesn’t work, I might try a synthesis of both
iterations.
Engineer 1: That’s a good plan. It sounds like you’re
addressing the problem from all angles.
Engineer 2: If I keep looking, I’m bound to find the solution
soon.
Unit 3
Student 1 (W): Are you ready for the accounting test this
week?
Student 2 (M): I don’t know. I still mix up some of the
concepts.
Student 1: Yeah, so do I. Do you remember the difference
between an open system and a closed system?
Student 2: I think so. An open system allows mass to move
in and out, right?
Student 1: Let me make sure. Yes, that’s right.
26 Answer Key
Student 2: The ones that always confuse me are the
extensive and intensive quantities.
Student 1: Those are easy to get backwards.
Student 2: So let me see if I can remember this. If you can
count something, it’s extensive.
Student 1: That sounds right. On the other hand, intensive
quantities cannot be counted.
Student 2: Right, but you can measure them.
Student 1: I still don’t quite get how that works.
Student 2: Think about temperature. You can’t count it. But
you can still monitor its changes.
Student 1: Okay, that makes sense.
Unit 4
Engineer 1 (M): Can you give me an update on the
requirements for the library catalog application?
Engineer 2 (W): It’s going slowly. It was good at first, but we
found some major problems when we did the validation.
Engineer 1: I don’t like the sound of that. What happened?
Engineer 2: Some of the specifications were based on old
data. The requirements didn’t include the library’s new
DVD catalog.
Engineer 1: Oh, that’s right. Originally, they only included
books. Will we be able to fix the problem?
Engineer 2: We’re updating the data now. Then we’ll just
plug it into the existing requirements document.
Engineer 1: How long will that take?
Engineer 2: We should have it done by the end of the week.
Engineer 1: Oh, good. I’m really glad to hear it. I was worried
that we wouldn’t make the client’s deadline.
Engineer 2: I don’t think that’ll be a problem. We’ll keep you
updated.
Unit 5
Manager (M): Come in, Evelyn. Please have a seat.
Engineer (W): Is there a problem?
Manager: No. Actually, quite the opposite. I really enjoyed
your presentation last week on the design pattern for our
current project.
Engineer: Really? Thank you. It’s hard to describe software
architecture to clients, but I did my best.
Manager: You did a great job. Would you be interested in
putting together another client presentation?
Engineer: Sure. I’d be happy to.
Manager: Great. I need to give a presentation to some other
clients. It’s an overview of our progress on the application
framework.
Engineer: Sure. Just send me the information. I’m sure I can
put something together.
Manager: Great. We already have an implementation view.
I’ll send it to you this afternoon.
Engineer: When will the presentation be?
Audioscripts
Manager: The presentation is next week. Can you finish your
notes by Friday? I’d like to look over them.
Engineer: No problem. I’ll send them to you as soon as they
are ready.
Unit 6
Engineer 1 (M): We need to start on this database software.
So you have any ideas?
Engineer 2 (W): Well, first, we need to decide on an
architectural structure.
Engineer 1: I agree. But I’m not sure which one we should
use.
Engineer 2: Hmm. We’re going to bring in a lot of data from
outside sources. Maybe we should think about a
repository.
Engineer 1: I thought about that. But I don’t think our data will
work with a repository system.
Engineer 2: Okay. What were you thinking then?
Engineer 1: I think pipes and filters might work better. It has
better mechanisms for ordering data.
Engineer 2: I really don’t like that idea. Pipes-and-filters plans
are more complicated than we need.
Engineer 1: Really? I guess I don’t have much experience
with them.
Engineer 2: I do. And I think we can do this with a simpler
plan.
Engineer 1: What about an abstract data type?
Engineer 2: That could work. We could just have to design
components and connectors that match our data.
Unit 7
Engineer (M): Is there anything you need help with?
Intern (W): Actually there is. I’m still confused about a few
things.
Engineer: Let’s see if we can get that cleared up. What is
confusing you?
Intern: Why do we need to make a call graph before adding
the details?
Engineer: What do you mean?
Intern: Wouldn’t it save time to add the details as we create
the design?
Engineer: No, you need to consider the purpose of an
abstraction.
Intern: An abstraction?
Engineer: Yes. Creating a design without details lets us find
problems early. That way we can fix them before the
software is too complex. Does that make sense?
Intern: Yes, I think I understand. So, the cohesion of different
modules is clearer in an abstraction?
Engineer: Exactly. Do you have any other questions?
Intern: No, I think I get it now. Thanks.
Unit 8
Instructor (M): Can anyone tell me about the limitations of a
bottom-up design? Yes, Linda.
Student (W): A bottom-up design has to be created from
scratch. The designer has no previous function to work
with.
Instructor: Very good. Can you tell me about some of the
benefits of a bottom-up design?
Student: Um. I’m not sure.
Instructor: What about in regards to managing problems in a
design?
Student: Oh, well, a bottom-up design is less likely to have
problems. But, if it does, it’s more difficult to eliminate
them.
Instructor: Great. And what about top-down designs?
Student: Well, top-down designs tend to have more
problems. But it’s easier to eliminate them.
Instructor: And how would one do that?
Student: I’m not sure. Maybe by decomposing the software?
Instructor: That’s correct. It looks like you’ve been keeping
up on the reading.
Unit 9
Intern (M): Excuse me. Do you mind if I ask you a few
questions about your project?
Engineer (W): Not at all. Go ahead.
Intern: I’m interested in different software design methods.
Are you working in JSP?
Engineer: No, but you’re close. For this project, I’m using the
JSD system.
Intern: Oh, that’s interesting. What made you decide to plan it
that way?
Engineer: Well, I prefer the structured stages of the JSD
system. It’s easier to gauge how far along you are with
the project.
Intern: That makes sense. What stage of the project are you
in now?
Engineer: Right now, I’m working on the network stage. But
I’m having some problems.
Intern: What kind of problems?
Engineer: The data flow isn’t working like I hoped. I might
have to go back to my DFDs before I continue.
Intern: I see. Let me know if I can help. I’d love to be involved
in this project.
Engineer: Sounds good, thanks.
Unit 10
Intern (M): Hi. Did you want to speak to me?
Engineer (W): Yes. Please come in and have a seat. I have a
project for you.
Intern: That’s exciting. What is it?
Engineer: I need you to create some diagrams. They’re for
our new accounting software.
Answer Key
27
Audioscripts
Intern: Sounds interesting. I can definitely do that. What kind
of diagrams do you need?
Engineer: We’ll need a collaboration diagram, a class
diagram, and an interaction diagram.
Intern: Okay. Did the engineers finish mapping the object
interactions yet?
Engineer: No, so you’ll have to work on the interaction
diagram last. In the meantime, you can get started on the
collaboration diagram.
Intern: Okay. Can you send me the interaction data when it’s
available?
Engineer: Of course. Now listen, these diagrams need to be
done by the end of the month. They’re for a client.
Intern: So they need to be especially clear, right?
Engineer: Right. I’ll send you that data as soon as it’s ready.
Unit 11
Manager (M): I need an update on the testing for the latest
project.
Engineer (W): I was just looking over the latest test results.
Manager: What do they say?
Engineer: It looks like the software did pretty well. Only a few
failures were detected.
Manager: What testing model did you use?
Engineer: For this test we used the destruction model.
Manager: Good. Use an oracle to determine where the
failures are coming from. Then have an engineer fix
them.
Engineer: Okay. We will probably run some more tests while
we do that.
Manager: That’s a good idea. I think you’re going to find more
faults when you look at other models.
Engineer: Do you have a suggestion about what testing
model we should use?
Manager: I’d like to see the results from a prevention model
test. But do the oracle comparison first.
Engineer: Okay. I’ll bring you the results shortly.
Unit 12
Owner (M): How is the testing going on the accounting
software?
Engineer (W): Actually, I have some bad news about that.
The white-box testing we did found a lot of faults.
Owner: That’s not good. What are you going to do?
Engineer: We’re going to do some black-box testing before
we start making any changes.
Owner: Good. Are you using both dynamic and static
analysis?
Engineer: For now we’re just doing static analysis.
Owner: Okay. Try to get this taken care of quickly. I want this
software ready for Fagan inspection by next month.
Engineer: I understand. I’ve got the whole team working on it.
Owner: Maybe you should get another team leader to do a
28 Answer Key
peer review.
Engineer: That’s a good idea. I can have someone do
stepwise abstraction on it.
Owner: Yes, do that. I’ll check back with you in a week.
Engineer: Okay. We should have a lot of the problems fixed
by then.
Unit 13
Engineer (M): Your test sets were good for a first try. But I
have some feedback for you.
Intern (W): Okay. I’d love to hear it.
Engineer: You covered the statement coverage property
really well, so that was great.
Intern: I’m glad you noticed. I worked really hard on that.
Engineer: But there are some problems too.
Intern: Like what?
Engineer: It seems like you relied too much on the last
project’s tests.
Intern: Well, I used the renaming property.
Engineer: I see. I’d advise you to be careful about that.
Remember the general multiple change property.
Intern: So I should try to write new tests?
Engineer: Yes, whenever you can. Even if programs are
similar, they often need different tests.
Intern: Oh, right. That’s the antiextensionality property, isn’t
it?
Engineer: Yes, that’s absolutely right. Just remember that
next time, and you’ll be fine.
Intern: I will, thanks.
Unit 14
Engineer 1 (M): We have a lot of maintenance to do on that
accounting software.
Engineer 2 (W): Yeah. I’m really not looking forward to all of
that work.
Engineer 1: Neither am I. But I think if we make a plan, we
can save ourselves a lot of time.
Engineer 2: That’s a good idea. First, we need to fix all of the
problems with the software.
Engineer 1: Okay. We can start with a round of corrective
maintenance, then.
Engineer 2: Exactly. Next, we need to work on updating all of
the code.
Engineer 1: Why do we need to do that?
Engineer 2: So that it can run on new operating systems.
Engineer 1: Oh right. I forgot about all the recent system
upgrades.
Engineer 2: So that will be a lot of adaptive maintenance.
Engineer 1: That doesn’t sound so bad, I guess.
Engineer 2: Yeah. Let’s just hope we don’t run into any
unstructured code.
Audioscripts
Unit 15
Engineer 1 (M): The database software needs some reverse
engineering. What are we doing about that?
Engineer 2 (W): We’ll definitely need to do some
redocumentation.
Engineer 1: Really? Won’t that take a long time?
Engineer 2: It will, but the code is too unstructured to edit
right now.
Engineer 1: Okay. Do you think we’ll have to edit the
software after redocumentation?
Engineer 2: Definitely. It’s going to take a lot of work to
modernize this software.
Engineer 1: Should we revamp the user interface also?
Engineer 2: I think so. But we should work on that last.
Engineer 1: This seems like a lot of work. Why don’t we just
write a whole new program?
Engineer 2: I thought about that. But I really think the legacy
system has a lot of useful features.
Engineer 1: Maybe you’re right. The update probably won’t
take as long as starting from the beginning.
Engineer 2: Exactly. Restructuring is much faster than writing
new software.
Engineer 1: Okay. We’d better get started.
Answer Key
29
Book 3 Answer Key
Unit 1
1 Suggested Answers
5
6
7
8
B: I agree. Do you want to split up the levels and then work
on them separately?
A: That’s a good idea. I’ll take the keystroke level and you get
started on the syntax level.
B: What goes into the keystroke level again?
A: You describe the user’s physical actions, like keystrokes
and mouse clicks.
1 Engineers use a few tactics to optimize their user interface
designs. They use different models and views to imagine
their software. This allows them to imagine all aspects of
the user interface. Engineers use cognitive view to
understand what information users need to know to
operate a system. They use linguistic view to imagine the 9 Suggested Answer
different ways a user will interact with a system. They use
1. Communication Component:
design view to examine the screens and hardware
- keystroke level: describes how a user will physically interact
configurations that users need to interact with a system.
with a computer
2 CLG is divided into three components, each of which is
- syntax level: describes the potential dialog between users
made up of two levels. The communication component
and computers
includes the keystroke level and the syntax level. The
2. Conceptual Component:
conceptual component includes the task level and the
- semantic level: describes the way tasks will be performed in
semantic level. The material component includes the
a system
spatial layout level and the apparatus level. Each of these
- task level: specifies tasks performed by the machine and by
levels provides a view of a different aspect of a software
the user
system. Engineers use these views to optimize the user
3. Material Component:
interface designs of their software.
- apparatus level: describes the way hardware will be designed
and the way it will operate
2 1 A
2 C
3 D
- spatial layout level: describes the way screens and windows
3 Conceptual Component Views:
task level,
will be designed
semantic level
Communication Component Views: syntax level,
Unit 2
keystroke level
Material Component Views:
1 Suggested Answers
spatial layout level, apparatus level
1 There are a few ways that engineers can improve the
4 1 A communication component B conceptual component
user experience with user interface designs. First, they
2 A conceptual model
B mental model
must consider the ergonomics of computer hardware.
3 A Cognitive view
B Linguistic view
This means that they need to think about how the physical
4 A material component
B CLG
hardware of a computer works for the user. They also
5 A user interface
B design view
need to think about artistic design. This means that they
Suggested Answer
should consider the graphic interfaces that they are using
Engineers use cognitive view to understand what information
and try to make them simple and attractive. They also
a user needs to operate a system. They also use linguistic
need to think about the functionality of the software of the
view to understand the ways that users will interact with a
computer. They should try to make a range of functions
system.
easily available to users. Throughout the process,
engineers should be designing for the end user. This
1F
2T
3T
means that their designs should be intended for the
consumer who will actually be using the computer.
1 about the components
4 split up the levels
2 The Seeheim model splits software design into two
2 is almost finished
5 started on the task level
distinct parts. These parts are the software itself and the
3 the conceptual component
6 by the user
software’s user interface. This means that the user does
not have to interact with the software directly. The user
Suggested Answer
interacts with an interface that is intended to be attractive
A: We need to talk about the components on the accounting
to the user and easy to use. The software responds to
software.
commands dictated to it by the user interface. ModelB: The conceptual component is almost finished.
view-controller paradigm splits software into three parts.
A: When will it be done?
These parts are the model, the view, and the controller.
B: Probably by the end of this week.
These systems are similar in that they both decompose
software into distinct parts.
A: What about the communication component?
B: That hasn’t been started yet.
2
1C
2D
3A
A: I think we should get to work on that as soon as possible.
30 Answer Key
Book 3 Answer Key
3
4
1 C
2D
3A
4H
5E
6B
7F
8G
1 ergonomics
4 functionality
2 dialog
5 UVM
3 Seeheim model 6 Humanities
7 user-centered design
5 Suggested Answer
Applicants should have a degree in software engineering or
related field. They should also have 3+ years experience in
software engineering and design. In addition, a specialization
in HCI or task analysis would be preferred.
6 1F
7
2T
3F
1 worked on ergonomic design
2 designed keyboards
3 into software design
8 Suggested Answer
4 hardware for their systems
5 with artistic design
6 web interfaces
history in software design. Thank you for taking the time to
consider this application.
Sincerely,
Wanda Mayfield
Unit 3
1 Suggested Answers
1 The software crisis is caused by an increased demand for
new software and applications. Because demand for new
software is so high, engineers cannot keep up with it.
Software reuse could make it easier and quicker for
engineers to develop new software. Software reuse
allows developers to derive parts of new software from
pieces of code that have already been written. Engineers
can use existing software as the basis for new software
and tailor other parts of the software to suit their specific
needs. If developers reuse software on a large-scale
basis, the productivity of the software industry could
increase drastically.
2 White-box reuse and black-box reuse are two different
kinds of software reuse. White-box reuse is an ad hoc
method of software reuse. This means that an engineer
takes a piece of code and modifies it to suit his or her
specific needs. With black-box reuse, engineers do not
make modifications to the software they reuse. This
software is used unchanged as the basis for new software
or applications. Because this software is used unmodified,
it is common that engineers do not even know the full
contents of the software .
A: I’m here for the interview.
B: Please come in.
A: I’m excited to meet with you today.
B: Let’s talk about your experience. Have you worked on
designing presentation layers before?
A: Yes. I designed interfaces that were intended for the end
user.
B: That’s very impressive. How would you incorporate that
experience into software design?
2D
3C
A: I think it’s really important that software engineers keep the 2 1 B
end user in mind. Sometimes they get caught up in the
3 1E
3F
5G
7B
functions of their systems. Then they forget that a novice
2A
4C
6D
will have to use those systems.
B: Interesting. Do you have any experience with dialogs?
4 1 A software crisis
B Software reuse
A: In school, I did studies on dialogs between users and
2 A approach
B usage
systems.
3 A White-box reuse B Black-box reuse
B: And what place do you think dialogs have in software
4 A Compositional
B Generative
design?
A: They’re very important. The best software in the world is
5 Suggested Answer
useless if users don’t know how to interact with it correctly.
Black-box reuse saves engineers time because they do not
B: And you have a degree in computer programming?
need
to make modifications to the code.
A: That’s correct.
9 Suggested Answer
6 1F
2F
3T
To whom it may concern:
7 1 reusing some software
4 source codes that
I am very interested in your open position for a user interface
2
some
black-box
reuse
5 might not be
designer. I have worked in software design for five years. I’ve
3
time
on
the
project
6 ad hoc application
primarily worked in writing primitive code. I would really like to
write more sophisticated programs. I am also very interested
8 Suggested Answer
in HCI.
A: Do you know anything about reusing?
I think user interface design would be a very good fit for me.
B: I reused some source code on the last application I
I am comfortable working with the entire UVM. I have studied
developed.
ergonomics and would be happy to put that knowledge to
A:
Did it work well for you?
use. I am good at task analysis and artistic design.
B:
It really saved me a lot of time on the project.
I have a degree in computer science and a strong work
Answer Key
31
Book 3 Answer Key
A: Would you recommend white-box reuse?
3 1 ADL
5 Domain analysis
B: No. You’ll save more time if you can find codes to reuse
2 intermediate product
6 application generator
without having to change them.
3 code scavenging
7 transformation system
A: Is it possible to do black-box reuse without paying for the
4 VHLL
8 MIL
software pieces?
4 1 instantiate
4 program library
B: Yes, but I’ve never tried that.
2 template
5 middleware
A: I can do ad hoc application if I have to, but I’d prefer not to.
3 skeleton
B: It would take more time than black-box reuse, but I think it
5 Suggested Answer
would still save you time in the long run.
Domain analysis programs search for information in existing
pieces of code. They do this work automatically so that
9 Suggested Answer
engineers do not have to do it manually.
Hi Taylor,
6
1T
2F
3F
I saw your email about software reuse. I did a fair amount of
software reuse on the last application I developed. It saved
7 1 of transformation systems 4 task they perform
me a lot of time! I would recommend doing black-box reuse.
2 transforms their code
5 explain middleware
This means that the codes you use don’t need to be modified.
6 connects individual applications
3 will make mistakes
White-box reuse requires a lot of ad hoc modification. This is
really time-consuming. It’s also unsystematic, which makes it 8
Suggested Answer
harder for other engineers to check your work for you. I would
A: I don’t understand the benefits of program libraries. It
also recommend looking into codes that are marketed as
seems like it would be hard to find the codes you need.
products. They can be relatively cheap and they will be much
B: Not really. Engineers can use domain analysis programs
easier to use.
to search for specific codes.
Hope that helps!
A: Aren’t they worried that those programs will make
Best,
mistakes?
Fred
B: No. These systems are usually pretty sophisticated.
A: I understand. Can you explain MILs to me?
Unit 4
B: MILs provide a general plan on how an application will be
1 Suggested Answers
structured.
A: But why are they necessary?
1 There are many tools that allow engineers to reuse
B: The benefit of MILs is that they let the engineer know
software quickly and easily. These tools and the overall
exactly what codes they will need to create a
practice of software reuse allow engineers to develop
complete system.
software more quickly. This lets them keep up with the
9
Suggested
Answer
rising demand for new software and applications.
2
2
Engineers can use program libraries to find usable pieces
of code for new applications. Domain analysis systems let
them search for code and information that is relevant for
their projects. Transformation systems help engineers
translate vague ideas and plans for software into working
systems. Middleware provides a network of connections
between applications and operating systems for
engineers to use.
A transformation system saves engineers a lot of time
and effort when developing new applications.
Transformation systems are able to take vague plans for
software systems and translate them into specific,
functioning applications. An engineer must first make a
plan for a system. This plan can be an MIL, an ADL, or
another type of plan. Once the engineer makes a
skeleton plan for the system, the transformation system
translates and inserts code to add details to the system.
This means that the engineer is not required to write all of
the code manually.
1B
2C
3A
32 Answer Key
One tool engineers use for software reuse is program
libraries. These are libraries of codes that are available
for insertion into new applications. These libraries allow
engineers to search for the codes that they need. Since
all the codes are collected in one place, they save
engineers time.
Another tool that engineers use is domain analysis
programs. With these programs, engineers can specify
what kind of data or codes they need. The program then
searches for those pieces automatically in other software.
It identifies usable pieces for engineers. These pieces
can then be inserted into new applications. Without
programs like these, engineers would have to search for
code manually. This would be very time-consuming.
Unit 5
1 Suggested Answers
1
Defensive programming is a practice that seeks to
anticipate and prevent malfunctions in software. First,
engineers must anticipate exception domains. Engineers
think of ways that user input could cause problems with a
Book 3 Answer Key
program. Then, they create error messages for the user in 9 Suggested Answer
those situations. The errors that the system catches are
Hi Lucy,
known as expected exception domains. However,
I hear that you’re ready to perform reliability checks on your
engineers can’t always predict exception domains. The
new program. I recommend the N-version programming
ones that the system does not detect are most likely to
software reliability model. This programming uses a special
cause damage. Therefore, defensive programming also
technique to protect software against errors. In N-version
involves creating systems that prevent errors from being
programming, multiple programs are generated from the
damaging. This means creating redundancy, or saving a
same initial specifications. These programs are functionally
second version of the information in a program.
equivalent, meaning that they perform the same function. If
2 There are a few software reliability models. The creation of
one program runs into an error, the other programs exist
recovery blocks is an important tactic in software reliability.
unharmed. This provides a backup system for programs. It’ll
These blocks save information from a program before a
give you insight into what might be causing malfunctions.
user action takes place. If the user action causes an error,
Hope that helps!
the program can revert to those files to undo the error.
-Greg
Other software reliability models are BM and LPM. Each of
these models uses statistics to predict the probability of Unit 6
error of a system.
1 Suggested Answers
2
1T
2F
3F
3
1 D
2 C
3G
4F
5 A
6 E
4
1 A
2B
3 B
4 A
5 B
6 A
7 H
8 B
9 I
5 Suggested Answer
When a program is not fault-tolerant, it can malfunction.
Software that malfunctions can be frustrating or dangerous.
6
1C
7
1 exception domains yet
2 your reliability checks
3 make a program
2A
4 accurate error probabilities
5 to that stage
6 in the long run
8 Suggested Answer
A: How will you check the reliability of your new program?
B: I haven’t even finished the standard and exception domains
yet.
A: You still need to think about building recovery blocks.
B: What would you recommend I do?
A: When I make a program, I like to use the N-version
programming software reliability model.
B: Why do you prefer that?
A: I find it protects software against errors and provides a
backup system for programs. Accurate error checks now
will save you a lot of trouble in the long run.
B: Yes. I want to have a lot of redundancy in this application
so that it’s really fault-tolerant.
A: You’ll definitely have a strong piece of software.
B: That’s what I’m hoping for. I don’t want any problems like I
had last time.
1 CASE stands for Computer Aided Software Engineering.
CASE programs assist engineers in developing new
software. These programs are generally known as
environments. Environments provide different tools for
developers to use. Some environments provide individual
tools. Others provide tools in a workbench or toolkit.
CASE programs can be integrated environments,
processcentered environments, or language-centered
environments. Each environment is suited to a different
aspect of the development process. Different
environments also allow different numbers of engineers to
work on a project.
2 There are a few different levels of user scale. User scale
refers to the number of people who will be working on an
application. Different levels provide different tools for
engineers. The lowest level of user scale is individual. An
environment for individual use provides basic software
development tools. Higher levels such as family, city, or
state provide more complex features. These levels
provide features that manage a network of engineers
working simultaneously. They ensure that all engineers
are following the same procedures. They also encourage
cooperation between individuals.
2 1A
3 1A
2E
2D
3F
4B
3C
5C
6D
4 1 A family
B city
2 A state
B individual
3 A integrated environment B process-centered environment
4 A workbench
B toolkit
5 Suggested Answer
Engineers at the company use language-centered
environments. They also use integrated environments and
process-centered environments.
Answer Key
33
Book 3 Answer Key
6 1T
2T
3F
7 1 the user scale
2 going to be
3 family level
4 need a lot of engineers
5 selecting the environmens
6 kind of environment
8 Suggested Answer
2 1
F
2 T
3 F
3 1
2
B
A
3 D
4 E
5 C
6 F
4 1 Reserved checkout
2 Back-end
3 programming environment
4 UNIX
5 Unreserved checkout
6 visual programming
environment
A: Did you finish the specifications for the new project?
B: I’m just putting the final touches on them now.
5 Suggested Answer
A: I need to talk to you about the user scale.
A: I think it’s going to be smaller than we anticipated. I’m
An MWB environment was added. Graphical improvements
looking at family level. We’re still going to need some
were also made to the PCTE and SCCS.
interaction between engineers.
2C
B: What kind of environment do you think you’re going to go 6 1 C
with?
7 1 the engineering staff
4 the reserved checkout
A: We need really good tools for our engineers.
2 the CASE software
5 on the program files
B: So do you think you will use an integrated environment?
3 a new UNIX program
6 our project managers
A: Probably. I just want to make sure the one we’re looking at
has all of the workbenches that our engineers need.
B: How soon do you think you can get the environment set up??8 Suggested Answer
A: Probably within the next few weeks.
9 Suggested Answer
Team,
Since this is going to be a fairly small project, I recommend
that we use an environment with a family level user scale. We
should also use an integrated environment. The environment
should include a toolkit or workbench for engineers so that
they do not have to worry about finding individual tools. This
will save the company a lot of time and money in the long run.
It will also keep the engineers happy.
Marty
Unit 7
1 Suggested Answers
A: I have a request from the engineering staff about our
CASE software.
B: Is there a problem with it?
A: It’s outdated. We’d like to replace the software with a new
UNIX program.
B: What does the UNIX program offer that our software
doesn’t?
A: A newer program would come with a visual programming
environment. This would make it a lot easier to edit our
programs.
B: Are there other benefits?
A: Yes. A new program would come with a PWB, which our
current software doesn’t have.
B: It sounds good, but I’m not sure if we have the budget for
it. Is this program really necessary?
A: Yes. If we want to produce software at a competitive rate,
we need a program that supports our engineers.
1 Programming environments provide a number of features
to help engineers. One feature is unreserved checkout.
This means that multiple engineers can edit the same
program at the same time. Another feature is SCCS. This 9 Suggested Answer
is a system that keeps track of all changes made to a
PebSoft Releases New CASE Software
system. This helps engineers in case mistakes are made
PebSoft’s new CASE software is very good because it
in a program. Another feature is PCTE. This is a program
includes a lot of features that other CASE software does not
that provides tools for engineers to use in developing
have. It comes with AWB, MWB, and PWB. Other CASE
other programs.
software available right now do not include MWB. It also has
2 There are a few types of workbenches found in integrated
a good visual programming environment for most basic backenvironments. Each workbench supports a different
phase of development. A PWB is a programmer
end actions. Unfortunately, it features reserved checkout.
workbench. This is used in the implementation and test
Other available software allow for unreserved checkout.
phases of development. An MWB is a management
Overall, however, it is a very user-friendly program.
workbench. This workbench is used by a project
manager. It is used for the planning and control of a
project. An AWB is an analyst workbench. It is used in the Unit 8
early phases of software development.
1 Suggested Answers
1 Configuration management prevents flaws by creating
multiple copies of a program. If a mistake is made in a
34 Answer Key
Book 3 Answer Key
2
3
4
5
program, these copies can be accessed. In some 9 Suggested Answer
methods, a new copy is made every time a change is
Hi team,
made to a program. Another method is parallel
We need to fix a flaw in the Phinneas project. Greg, I want
development. This allows engineers to work on identical
you to retrace recent steps until the origin of the flaw is
copies of the same program. This method allows
discovered. Then, remove the flaw from the code. It may be
engineers to isolate some elements and continue working.
necessary to create new configuration items to replace the
Later, engineers can merge multiple documents created
flawed ones. If this is necessary, send a change request to
in parallel development.
the CCB. If they approve your request, Alice will make the
2 There are a few methods of configuration management. In
changes to the baseline of the system. Henry, I need you to
some methods, copies of a program are saved every time
work with Alice to integrate the fixed version of the program
a change is made. These changes, or deltas, are recorded
with your corresponding parallel developments.
so that engineers can retrace them. If a mistake is made,
Thanks,
engineers can access the software version prior to the
June Willis
mistake. Some methods are change-oriented. This means
Project Manager
that they identify a program by describing changes that
have been made to it. Other methods are version-oriented.
Unit 9
This means that new versions of software are tracked with
1 Suggested Answers
a linear numbering system.
1 There are many management styles. One is the
1F
2T
T
commitment style. In this style, decisions about a project
3
are decided by the overall goals of the project. This
1 configuration items
5 approve
means that engineers do not need to consult with their
2 CCB
6 change request
managers every time a decision needs to be made.
3 corresponding
7 configuration management
Another style is the separation style. This style is
4 parallel development
1 A flaw
B delta
designed to promote maximum efficiency within a
2 A incorporate
B retrace
corporation. Another style is called task directedness.
3 A Change-oriented B Version-oriented
This style focuses on the tasks that need to be achieved
4 A workflow
B baseline
for a project. It prompts employees to think carefully about
the best strategies for achieving those tasks.
Suggested Answer
Allen needs to retrace the deltas from last week. Mary and
Robert need to work on parallel development for the next
phases.
6 1D
2 There are a few ways of organizing employees into
teams. One way is to organize them into SWAT teams.
These are teams of employees who share the same
specific skills. These teams are usually given very
specialized tasks to work on. Another type of team is a
chief programmer team. These are teams of three
employees in which one is the chief programmer. Th
chief programmer is in charge of the project and the
other two employees assist him or her. Employees can
also be organized into a hierarchy. This makes it clear
who is managing which parts of a project.
2C
7 1 changing the baseline
2 to approve it
3 before this flaw
4 of the parallel development
5 merge the fixed version
6 end of the week
8 Suggested Answer
A: Can you give me an update on that flaw that we found last
week?
B: I’ve been retracing all the steps to get rid of it. It’s going
really well.
A: And did you send a request to change the baseline to the
CCB?
B: Yes. They already approved it. But there’s still a lot to be
done before this flaw is totally gone.
A: Like what?
B: First, I need to change the problem in all of the
corresponding developments. Then, I need to delete the
deltas that still have the flaw in them.
A: That sounds like it could be time-consuming.
B: I should be able to finish it by the end of the week.
2 1T
2F
3 1D
2H
3B
4A
4
3F
5F
6C
7E
8G
1 chief programmer team
2 SWAT team
3 specialize in
4 open structured team
5 unit
5 Suggested Answer
The woman suggests that the company use: commitment style,
integration style, or relation style. She also recommends using
chief programmer teams.
6 1D
2C
7 1 divide the employees
4 the most efficient
Answer Key
35
Book 3 Answer Key
2 units of employees
3 create a hierarchical
5 structure with defined
6 use chief programmer
8 Suggested Answer
A: Do you have any ideas for the team organization for the
new project?
B: For this project, commitment style will be most efficient.
A: What benefit would that offer us?
B: With commitment style, employees don’t have to consult
their managers for every decision. They know what the
goals are, so they can make decisions themselves.
A: That sounds good, but I’m worried that the project will get
off track without managers, though.
B: That’s a good point. We could use relation directedness
instead.
A: I think that might be a better idea.
B: Maybe. But I’m not sure if it would be the most efficient.
A: You’re right. We need a structure that is efficient but still
has a definite procedure.
B: We could use integration style.
A: I was just thinking that. That way people are encouraged
to follow a procedure but they can also be creative. Can
you start working on planning who will be on which units?
process area.
2 There are a few sets of guidelines for software quality
control. One is the CMM. This stands for the Capability
Maturity Model. This model focuses on the software
development process. The CMM has a set of directions
and procedures for engineers to follow. These directions
improve the development process and create more
reliable software. Another set of guidelines is the IEEE
Standard for Quality Assurance Plan. This plan is also a
set of procedures aimed at ensuring quality in software.
Another set of guidelines is the ISO 9001. This is a set of
requirements that software must meet.
2 1T
3
4
9 Suggested Answer
Hi Lou,
We need a new management style for our expanding
department. I think we should try task directedness. This style
works by focusing on the individual tasks that need to be
achieved as part of a project. In task directedness, employees
are encouraged to think about good methods for achieving
those tasks. The advantage of this style is that it is very goaloriented. Employees are constantly encouraged to think about
end results and achieve them. However, one of the
disadvantages of this style is that it does not focus on
communication or relationships between employees. This
means that the style forms no clear hierarchical structure. For
that reason, we might consider combining it with another style.
Let me know what you think.
-Theresa
Unit 10
1 Suggested Answers
1 There are many ways that software companies maintain
quality control. Companies follow the guidelines set forth
by various quality control models. They have engineers
develop quality factors for different stages of their
software. These are attributes that software must have at
different stages in its development. Engineers develop
quality criteria to determine if quality factors are met. They
also develop key process areas. These are other
indications of the quality of a software system. Engineers
think of key practices. These are activities and
implementations that will aid the development of a key
36 Answer Key
2F
3F
1 IEEE Standard for Quality Assurance Plans
2 Quality control
3 key practice
4 TQM
5 key process area
1 A Quality factors
2 A ISO 9001
3 A conform to
4 A common feature
B Quality criteria
B CMM
B improve
B maturity level
5 Suggested Answer
The company can improve its quality control by focusing on
quality criteria instead of quality factors.
6
1C
7
1 on quality control
2 find some problems
3 if we redefine
2A
4 notice any other
5 quality factors
6 about the quality criteria
8 Suggested Answer
A: Did you see the latest quality control report?
B: It looks like a lot of things are going to change around here.
A: I was surprised because I felt we did a good job on quality
control.
B: Really? I expected that they were going to find some
problems.
A: Now that you mention it, we are having a lot of trouble
meeting maturity levels in my department.
B: That’s been a problem in my department too. I think it will
be good if we focus on developing better key practices.
A: But I haven’t noticed any other problems. Have you?
B: A few. I think the company needs to adhere to the ISO
9001. It’s a standard way for us to prove that our software
is reliable.
A: You’re right. We should try to live up to those guidelines.
B: That makes sense. Hopefully management will address all
of this at the next meeting.
Book 3 Answer Key
9 Suggested Answer
8 Suggested Answer
Quality Control Report for: KernSoft Industries
The company can improve its quality control using a few
simple methods. One is to set better definitions of software
maturity levels. This will help engineers understand the key
process areas and key practices that they need to work with.
The end result of this will be more mature software. Another
tactic is to set quality factors which can be measured by
quality criteria.
The company should adhere to the IEEE Standard for Quality
Assurance Plans. This will help them maintain quality control
in their procedures. The company should also adhere to the
ISO 9001. This ensures that their software meets strict
guidelines for quality.
A: The latest budget and cost reports are a little different
depending on which algorithm you look at.
B: Give me the good news first.
A: The good news is that according to Watson-Felix, we are right
on schedule.
B: What about if you look at the comparison method?
A: According to the comparison method, we are just barely
behind schedule on the project.
B: Why are we behind schedule?
A: This project has presented us with some different challenges
than the last one. We underestimated the amount of manmonths needed to finish it.
B: Will this affect the overall cost of the project?
A: It will, but the budget estimates are still pretty accurate.
Luckily, we didn’t make them too optimistic.
Unit 11
B: That’s good. I really can’t afford to have another project go
1 Suggested Answers
over budget.
1 There are a few factors that should be taken into account
A: We’re working really hard to get the development time down.
in a budget. It is important to consider the size of the
project. Software projects are measured by how many 9 Suggested Answer
lines of code they need. This is measured in KLOC.
Hello Andrea,
Engineers should try to estimate the KLOC before
We need a new model for our budget estimate. One option is the
creating a budget. When they know the KLOC, they can
comparison method. This method works by using a budget from a
estimate how many man-months it will take to create the
completed project to form a budget for a new project. The
code. This tells them how long it will take to write the
advantage of this method is that most of the work has already
software and how much money they will have to pay the
been done to estimate the budget. However, the disadvantage to
engineers.
this method is that the budget must be modified to fit the new
2 There are a few models for calculating budgets. One
project. If the budget is not modified properly, the budget is likely
model is the comparison method. This method compares
a new project to one that is already completed. The to be inaccurate. If we use this method, we’ll have to be careful to
accuracy.
Let
me
know what
you
think.
budget for the new project can be based on the budget ensure
for the completed one. Another method is an algorithmic Harold
model. This uses a formula to estimate how much time
and money it will take to complete a project.
Unit 12
2 1F
2T
3T
1 Suggested Answers
3
1B
2A
4
1 A base formula
2 A KLOC
3H
4E
5J
6C
7D
8F
1
9G
10 I
B man-month
B budget
5 Suggested Answer
The budget for the last project was inaccurate because the
comparison method was used hastily. It was also inaccurate
because the learning effect was incorrectly estimated.
61C
2
2A
7 1 budget and cost reports
2 on which algorithm
3 good news first
4 according to the Putnam model
5 barely behind schedule
6 have a higher KLOC
2
When a new project begins, there are risks that threaten
the success of the project. A project manager must
identify these risks in order to avoid problems. Risks are
possible threats to the health and safety of the people
working on the project and the project itself. Risks and
risk management play a huge role in successful projects.
If risks are not dealt with early on the project, the entire
project can fail.
Project managers have many tools that help them
organize projects. One tool is a PERT chart. This helps
organize the tasks in a project. It uses critical paths to
show which steps need to be accomplished for the
project to be successful. Another useful chart is a Gantt
chart. This chart shows the time frame of the project. It
organizes when certain tasks need to be accomplished.
1B
2D
3D
Answer Key
37
Book 3 Answer Key
3 1H
2F
3G
4C
4
1 A Gantt chart
2 A product certainty
3 A allocation problem
5A
6B
7D
8E
all employees know what kind of behavior is expected of
them.
2 It is important to maintain integrity in any kind of work.
Honesty is a quality that is necessary for good business to
take place. It is especially important for software
engineers. Engineers have the responsibility of
developing good, useful software that customers can
depend upon. If engineers do not work with integrity, the
client will likely not receive the best product possible.
B PERT chart
B Process certainty
B realization problem
5 Suggested Answer
Degree of certainty is a scale from high to low. It is measured
by product certainty, process certainty, and resource certainty.
6 1F
2F
2
3T
3 1
2
7 1 workshop on project management 4 Did they give
2 degree of certainty
5 last topic
3 identify risk factors early
6 talked about PERT charts
8 Suggested Answer
A: I was at the project management workshop. It was
interesting.
B: What did they discuss?
A: They discussed three main areas of project management.
First, they covered degree of certainty, which I learned a
lot about. Then, they covered risk management. I already
knew plenty about risk factors.
B: What else did they discuss?
A: The last topic was PERT charts and Gantt charts for
organization. I actually thought that session was really
useful.
B: I wish I had signed up.
A: Overall I thought it was very worthwhile.
4
1 Suggested Answers
1 A code of ethics is an important set of rules or guidelines
that many businesses have. It details certain principles
that employees should follow. An example of a principle in
a code of ethics is that employees should maintain their
integrity at all times. A code of ethics is important so that
38 Answer Key
H
G
2B
3C
3 A
4 D
5 B
6 C
7 F
8 E
2 A
3B
1 A
5 Suggested Answer
One example of ethical behavior is having high standards for
the quality of a product. Another example is having integrity
when dealing with clients and coworkers.
6 1F
2T
3F
7
1
2
3
8
Suggested Answer
A: Let’s talk about ethics.
B: It is very important in software engineering and to me
personally.
A: Can you tell me about a time that you had to defend your
principles?
B: One time my manager wanted me to approve software
that hadn’t been tested.
A: Why didn’t you?
B: I knew that there would be some problems with the
software.
A: Wouldn’t it be better to get it to the client on time?
B: I have high standards for the software I produce. It’s more
important to look out for the public interest.
A: That’s great.
B: I want to emphasize that integrity is important in my
personal practices.
9 Suggested Answer
Dear Jim,
I’m sorry you weren’t able to go to the project management
workshop. Here are some things that you missed: The first
topic of discussion was control situations. The presenter
covered realization problems, allocation problems, design
problems, and exploration problems. I actually learned a lot in
this session, especially about exploration problems.
Next they presented on risk management. I already knew a lot
about risk factors and how to identify them. I assume you
already know quite a bit about it too. Lastly, they discussed
charts for organizing project tasks. They handed out copies of
examples.
I picked up a set for you.
Shirley
9
Unit 13
1D
defend your principles 4 protect the best interests
meet a deadline
5 make that decision
wasn’t tested yet
6 high standards for the software
Suggested Answer
To Whom It May Concern:
I think I would be a good fit for your software engineer
position. As you’ll see from my résumé, I am very qualified.
But I believe that my principles set me apart from other
candidates for this position. I am a person that values
integrity. I always ensure that the software I approve has
been adequately tested. I have never been deceptive or
unethical in my work or in my interactions with the public. I
believe that unethical behavior can lead to frustrating and
Book 3 Answer Key
sometimes dangerous situations for employers, co-workers,
and clients. If you hire me, you will find that I uphold excellent
standards.
Unit 14
A: What are your thoughts on SaaS?
B: In my opinion, it is a fast and reliable way of sharing
information and software.
9 Suggested Answer
SaaS and PaaS Review
Both SaaS and PaaS offer a wide variety of services. SaaS
offers software hosted by a provider. PaaS offers software
that can be rented by users. In both cases, fees are charged
to the users. Some companies charge metered fees, and
others prefer a pay-as-you-go system. To access cloud
technology with both SaaS and PaaS, the computer must be
online. From there, any web browser can access the cloud.
1 Suggested Answers
1 Software is in high demand. To meet the demand, there
are several ways that it is distributed. One common way
is software as a product. In this model, software is
packaged and sold as a commodity to users. There is
also software on demand. In this version, software can be
rented at the user’s request. Cloud computing allows
software to be accessed over an online network through
SaaS and PaaS.
Unit 15
2
3
4
5
6
2 When companies purchase software licenses, they are able 1 Suggested Answers
to distribute that software. Users can gain access to the
1 Software engineering is an expanding field with many
software by paying a fee. Some companies allow users to
carrier opportunities. Developers are the engineers who
pay a metered fee. A metered fee is charged when users
are responsible for creating and designing software.
only pay for the information they have accessed. There is
Testers and analysts ensure that the software works, and
also pay-as-you-go where users pay for software in
identify areas that need improvement. Researches and
advance as they need it.
educators typically work in the academic environment,
studying theories and methods for software use and
1D
2A
3B
development. Those who work in the field may be
employed by large companies, or they might own their
1H
3F
5A
7C
own businesses. Some work as freelancers and
2G
4D
6B
8E
contractors.
2 The abundance of jobs in the software development
1A
2B
3B
industry is largely a result of the quickening software life
cycle. Software technology changes rapidly. As soon as a
Suggested Answer
program is developed, programmers are working on ways
In order to gain access to cloud computing, computers must
to expand and improve it. As computer capabilities
meet certain requirements. First, the computer must be
improve, consumers expect more from their software.
online. Also, a large bandwidth allows faster sending and
Developers must constantly evaluate, test, and implement
receiving of information.
new and better ideas. Since this process is ongoing, the
need for talented software engineers grows constantly.
1F
2F
3T
7 1 you know about SaaS
4 software license
2 operates under cloud computing
5 do they pay
3 distribution of computing and storage 6 prefer pay-as-you-go
2
8 Suggested Answer
A: I’m thinking of upgrading to SaaS. But I’m not very familiar
with it.
B: SaaS is a networking model that operates under cloud
computing.
A: What’s cloud computing?
B: Cloud computing is a way for a large number of people to
receive information. For example, a company purchases
the software licenses and then makes the software
available to a group of users over an online network.
A: How do they pay for that?
3 1J
B: They charge their users a fee. Some prefer a metered fee,
2F
and others use a pay-as-you-go system.
Action
Starting as a tester or
analyst
2 Working in the
educational field
3 Becoming a
developer
Becoming an architect
Joining a professional
organization
3I
4E
5H
6A
Benefit
1 Promotes critical thinking
and problem-solving skills.
Is an opportunity for
professional development.
Most industries have
software development
needs.
4 Hardware development is
an expanding industry.
5 Comes with opportunities
for networking and career
development.
7C
8B
9G
10 D
Answer Key
39
Book 3 Answer Key
4 1 developers
2 IEEE
3 analyst’s
4 contractor
5 Educators
6 software life cycle
5 Suggested Answer
Professional organizations provide opportunities for networking
and career development.
6 1F
2T
3F
7 1 be a developer
2 might want to
3 do you think
4 analyze technology
5 on the side
6 lots of options
8
Suggested Answer
A: I wanted to thank you again for your letter of recommendation.
B: You’re welcome. I hope you get into that engineering degree
program. Have you decided what your focus will be?
A: Eventually, I want to be a manager of my own firm. But
technical support interests me, too.
B: Have you thought about being an analyst?
A: I’m considering it. What do you think of that idea?
B: I think that’s a smart move. Before you develop technology, it
helps to be able to recognize problems and solutions.
A: That’s what I was thinking. Then maybe I could be a freelancer
on the side.
.
B: That’s a great way to advance your career.
A: Do you know where I can get more information about career
options?
B: The ACM is a well-respected organization.
9
Suggested Answer
To whom it may concern,
I am very interested in your software engineering degree
program. I hope to be a developer someday, and I think this
program will be an excellent foundation. Immediately after I
graduate, I would like to work in technical support. I think this will
help me gain a deeper knowledge of the principles. If I can
recognize problems and find solutions, I can be a better
developer myself. Furthermore, your program has great research
opportunities, and I am especially interested in the analyst
internship that you offer.
Thank you for considering my application.
Sincerely,
Clyde Feldman
40 Answer Key
Audioscripts
Unit 1
Unt 3
Engineer 1 (M): Hey have you got a second?
Engineer 2 (W): Sure. What’s up?
Engineer 1: We need to talk about the components on the library
software.
Engineer 2: Okay. Well, the material component is almost
finished.
Engineer 1: When will it be done?
Engineer 2: Probably by the end of this week.
Engineer 1: That’s good. What about the conceptual
component?
Engineer 2: We didn’t start that yet.
Engineer 1: Oh. I think we should get to work on that as soon as
possible.
Engineer 2: I agree. Do you want to split up the levels and work
on them separately?
Engineer 1: That’s a good idea. I’ll take the semantic level. You
get started on the task level.
Engineer 2: What goes into the task level again?
Engineer 1: You define the tasks performed by the user and the
tasks performed by the software.
Engineer 2: Right. And the semantic level describes the tasks
more generally, right?
Engineer 1: Yeah. That’s correct. Do you think you can manage
it?
Engineer 2: It shouldn’t be a problem. I’ll keep you updated on
my progress.
Engineer 1 (M): Hey can you help me with something?
Engineer 2 (W): Sure. What do you need help with?
Engineer 1: I’m thinking about reusing some software on a new
project. But I never tried that before.
Engineer 2: I did some black-box reuse on my last application.
Engineer 1: Did it work well for you?
Engineer 2: Yeah, it was great. It really saved me a lot of time on
the project.
Engineer 1: Huh. Would you recommend black-box reuse?
Engineer 2: Yeah, it was okay. I used source codes that were for
sale. They were more suited to the project I was working on.
Engineer 1: Is it possible to get source codes for free?
Engineer 2: I think so, but they might not be as specific as the
kind I used.
Engineer 1: I could just do some ad hoc application.
Engineer 2: Yeah. It would take more time than black-box reuse.
But I think it would still save you time in the long run.
Engineer 1: Do you think software reuse is a good idea? Or
should I just write the code myself?
Engineer 2: Try the reuse. If it doesn’t work out, you can start
from scratch on your next project.
Engineer 1: I guess that’s true. I’ll look into getting the codes I
need. Thanks for your help.
Unit 4
Student (M): Excuse me, could I talk to you for a moment? I
have a few questions on software reuse.
Unit 2
Instructor (W): Sure. What do you need?
Student: I don’t really understand the benefits of transformation
Engineer (M): I’m excited to meet with you today.
systems. Why can’t engineers do that work themselves?
Manager (W): Good. Let’s talk about your experience. It says
Instructor: Transformations systems save time. While the
here that you worked on ergonomic design before?
Engineer: Yes. I designed keyboards for a hardware production system transforms their code, engineers can work on other
company.
projects.
Manager: How would you incorporate that experience into
Student: Aren’t they worried that the system will make mistakes?
software design?
Engineer: I think it’s really important that software engineers Instructor: Not really. These systems are usually pretty
sophisticated. The task they perform is more basic than it
understand the hardware for their systems.
might sound.
Manager: How do you think they can do that?
Engineer: They need to think about the physical way a user Student: Okay. I guess I understand. Can you explain
middleware to me?
interacts with a computer.
Manager: I agree. Do you have experience with artistic design? Instructor: Sure. Middleware is go-between software. It connects
individual applications to an operating system.
Engineer: Yes. I worked on web interfaces at my previous firm.
Manager: And what place do you think artistic design has in Student: But why is it necessary?
Instructor: The benefit of middleware is that it helps the
software design?
operating system make sure that applications are running
Engineer: I think it’s one of the most important factors Good
smoothly. Middleware works even if there are a lot of
software is useless if it has an inefficient interface.
applications running at the same time.
Manager: That’s a great point. And it says here that you have a
Student:
Oh, I see. It’s like an application manager.
degree in computer science.
Instructor:
No, I think that clears everything up.
Engineer: Yes, that’s right.
Instructor:
Great. We’ll talk about this more in class today.
Manager: Well, it certainly seems like you have the qualifications
for this job. I’ll make my decision soon.
Unit 5
Engineer 1 (M): How do you plan to check the reliability of your
Answer Key
41
Audioscripts
new program?
Engineer 2 (W): I haven’t even finished the standard and
exception domains yet.
Engineer 1: Yeah, but you still need to think about your reliability
checks.
Engineer 2: I guess so. What would you recommend?
Engineer 1: When I make a program, I like to use BM and LPM.
Engineer 2: Why do you prefer those?
Engineer 1: I find that they give more accurate error probabilities
than other methods.
Engineer 2: I didn’t know that. I’ll keep it in mind when I get to
that stage.
Engineer 1: You definitely should. Accurate error checks will
save you a lot of trouble in the long run.
Engineer 2: I understand that. I’m probably going to use recovery
blocks in this application, too.
Engineer 1: That’s a good idea. It sounds like you’ll have a
strong piece of software.
Engineer 2: That’s what I’m hoping for. I don’t want any
problems like last time.
Engineer 1: What happened before?
Engineer 2: The application wasn’t as fault-tolerant as I thought it
was.
Engineer 1: That’s too bad. Did it malfunction a lot?
Engineer 2: It did. It was disappointing, but I learned a lot from
that experience.
Unit 6
Engineer 1 (M): Have you finished the specifications for the new
project yet?
Engineer 2 (W): I’m just putting the final touches on them now.
Engineer 1: Great! I need to talk to you about the user scale.
Engineer 2: I think it’s going to be pretty big.
Engineer 1: Do you think it will be family level?
Engineer 2: Actually, I’m looking at city level. If we’re going to
finish on time, we’ll need a lot of engineers.
Engineer 1: Wow. I guess it’s even bigger that I thought it would
be.
Engineer 2: Yeah. Anyway, you might want to start selecting the
environments.
Engineer 1: Great. I’ll do that right away.
Engineer 2: What kind of environment do you think is best?
Engineer 1: Well, we definitely need something that can manage
input from a lot of people.
Engineer 2: So do you think you will use a process-centered
environment?
Engineer 1: Probably. I just want to make sure the one we’re
looking at has the right tools. I want our engineers to have
everything they need.
Engineer 2: How soon can you get the environment set up?
Engineer 1: Probably within the next few weeks.
Unit 7
Engineer (M): Can I talk to you for a minute? I have a request
42 Answer Key
from the engineering staff.
Owner (W): Sure. What’s up?
Engineer: It involves the CASE software that we are currently
using.
Owner: Is it malfunctioning?
Engineer: Not exactly. It’s kind of outdated though. We’d like to
get a new UNIX program.
Owner: How is the UNIX program going to help?
Engineer: Well, one of our problems is the reserved checkout.
Right now, only one engineer at a time can work on the
program files. With unreserved checkout, several engineers
could work at once.
Owner: I see. Are there other benefits?
Engineer: Yes. The UNIX program comes with an MWB. This
would help out our project managers.
Owner: It sounds good, but I’m not sure if we have the budget for
it. Is this program really necessary?
Engineer: I think so. To produce software at a competitive rate,
we need programs that support our engineers.
Owner: I understand that. I’ll go over the budget and see if the
upgrade is possible.
Engineer: Great. Let me know what you decide.
Unit 8
Manager (M): Can you give an update on that flaw that we found
last week?
Engineer (W): Yeah. I retraced all the steps to find the problem.
Manager: And were you successful?
Engineer: Yes. I just finished double-checking my work.
Manager: Great. Did you send a request to the CCB about
changing the baseline?
Engineer: The request is already sent. I’m just waiting for them
to approve it.
Manager: Great. You’re really on top of things!
Engineer: Well, there are still a few steps before this flaw is
fixed.
Manager: Like what?
Engineer: First, I need to get the latest copy of the parallel
development documents.
Manager: That shouldn’t take too long. What else do you have to
do?
Engineer: Well, then I need to merge the fixed version with the
updated version.
Manager: Oh. That sounds like it could be time-consuming.
Engineer: It will be. But I should be able to finish it by the end of
the week.
Manager: That’s the spirit. I just hope this is the only flaw we
have to deal with on this project.
Engineer: I do, too. I definitely don’t want to have to do all of this
again.
Unit 9
Owner (M): Hi, Cindy. Do you have a minute to discuss the new
Audioscripts
team organization?
Manager (W): Yes, I’d be happy to.
Owner: Did you come up with any ideas for the latest project?
Manager: I did. I think it will be most efficient to divide the
employees into SWAT teams.
Owner: What benefit will that offer us?
Manager: With SWAT teams, we can assign specific tasks to
units of employees. Each unit works independently on a
particular task.
Owner: That sounds good. But I’m worried that the units won’t
communicate with each other enough.
Manager: Hmm, that’s a good point. We could create a
hierarchical structure instead.
Owner: I think that might be a better idea.
Manager: Maybe. But I’m not sure if it would be the most efficient.
Owner: You’re right. We need a structure with defined units. But
we also need strong management.
Manager: We could use chief programmer teams.
Owner: I was just thinking that. That way everyone knows whom
to report to.
Manager: Right. But they would still be working on specialized
tasks.
Owner: I like this idea. Can you start assigning employees to
different units?
Manager: Sure. I can send you some lists tomorrow.
Unit 10
Engineer 1 (M): Did you see the latest quality control report?
Engineer 2 (W): I did. It looks like a few things are going to
change around here.
Engineer 1: I know. I was really surprised! I felt we did a good
job on quality control.
Engineer 2: Really? I expected them to find some problems. My
department’s having trouble meeting key practices.
Engineer 1: Now that you mention it, I guess that’s a problem in
my department, too.
Engineer 2: I think we’ll be okay if we redefine the key process
areas.
Engineer 1: But I didn’t notice any other problems. Did you?
Engineer 2: A few. I think the company needs to stop focusing so
much on quality factors.
Engineer 1: Really? Why?
Engineer 2: Because it’s hard for a lot of engineers to work that
way. It’s better to think about the quality criteria.
Engineer 1: Oh, I understand. That way, engineers can actually
measure their improvement.
Engineer 2: Exactly.
Engineer 1: That makes sense. Hopefully, management will
address all of this at the next meeting.
Engineer 2: I think they will. I know that most of the managers
were not very pleased with the audit results.
Unit 11
Manager (M): I have the latest budget and cost reports for the
accounting software project.
Owner (W): Great. I’d love to hear them. How do they look?
Manager: It’s hard to say. The reports are a little different
depending on which algorithm you look at.
Owner: Give me the good news first.
Manager: Okay. Fortunately, according to the Putnam model, we
are right on schedule.
Owner: That’s great! What about if you look at the Delphimethod?
Manager: According to the Delphi-method we are just barely
behind schedule.
Owner: That’s not too bad. Why are we behind schedule?
Manager: We estimated some software sizes incorrectly. Some
have a higher KLOC than we expected.
Owner: Will this affect the cost of the project?
Manager: It will, but the overall budget estimate is still pretty
accurate. Luckily, we didn’t make it too optimistic.
Owner: That’s good. I can’t afford to have another project go
over budget.
Manager: I understand. We’re working really hard to get the
development time down.
Owner: Good. Keep me updated on any other changes in the
budget.
Manager: I will. I’m hoping we won’t have to make any more.
Unit 12
Engineer 1 (M): Hi Shirley. Where have you been?
Engineer 2 (W): I was at the workshop on project management.
It was interesting.
Engineer 1: I didn’t sign up for it. Was there any good
information?
Engineer 2: Overall, it was really informative. They discussed
three main topics in project management. I learned a lot
about degree of certainty.
Engineer 1: Interesting. What else did they discuss?
Engineer 2: They also talked about risk management. I didn’t
realize how important it actually is to identify risk factors early.
Engineer 1: I hadn’t really thought about it either. Did they give
any tips for organization?
Engineer 2: Yeah, that was the last topic they addressed. I
already knew about a lot of them, though.
Engineer 1: Which methods did they discuss? I’m about to run
my first project, and I’m wondering what might be useful.
Engineer 2: Well, they talked about WBS, which I use all the
time. They also talked about PERT charts.
Engineer 1: Did they cover Gantt charts?
Engineer 2: Time ran short, so they just told us where to find
more information.
Engineer 1: I’d like to know more about it.
Engineer 2: I’ll give you some handouts from the workshop.
Answer Key
43
Audioscripts
Unit 13
Interviewer (W): All right, Jon. Let’s talk about ethics.
Engineer (M): It is an increasingly important topic in software
engineering.
Interviewer: I’m glad to hear you say that. Can you tell me about
a time when you had to defend your principles?
Engineer: At my last job, my manager really pushed me to meet
a deadline. But the software wasn’t ready for public use yet.
Interviewer: What was wrong with it?
Engineer: It was designed to protect private records. But it
wasn’t tested yet to ensure security.
Interviewer: So what did you do?
Engineer: Well, I wanted to protect the best interests of the
public. I refused to deliver the software without adequate testing.
Interviewer: That was very bold. Why did you make that
decision?
Engineer: For one thing, I have high standards for the software
that I produce.
Interviewer: Weren’t you afraid that you would be fired?
Engineer: That’s easy. You can access the cloud through any
web browser.
Unit 15
Intern (M): Hey, Dana. I wanted to thank you again for your letter
of recommendation.
Engineer (W): Oh, you’re welcome, Clyde. I hope you get into
that engineering degree program.
Intern: Yeah. It should be a great experience for me.
Engineer: Do you know what your focus will be?
Intern: Eventually, I want to be a developer. But the academic
side interests me, too.
Engineer: So you might want to be a researcher?
Intern: I’m considering it. What do you think of that idea?
Engineer: I think that’s a smart move. You have to be able to
analyze technology before you can develop it.
Intern: That’s what I thought. Then maybe I could be a freelancer
on the side.
Engineer: Oh, sure. That’s a great way to advance your career.
Engineer: Not really. In the long run, I was protecting the welfare
Intern: Right. Wow, it really seems like there are lots of options in
of the company, too.
this field.
Interviewer: That’s great. High standards for software are
Engineer: There are. Software engineering is an exciting industry
important. But they should never be valued more than
to work in.
integrity.
Intern: Do you know where I can get more information about
Engineer: Yeah, integrity is important to me. I want employees
career options?
and clients to trust me.
Engineer: The IEEE is a well-respected international
organization. Check out their website.
Unit 14
Intern: Great. I’ll take a look.
Manager (M): Hey, Tonya. I’m thinking about upgrading the
company’s network, and I was wondering what you know
about SaaS.
Engineer (W): SaaS is a networking model.
Manager: I don’t know much about computers. What does that
mean?
Engineer: Let me explain the basics. SaaS stands for Software
as a Service. It is a model that operates under cloud
computing.
Manager: What’s cloud computing?
Engineer: It’s a distribution of computing and storage services.
Manager: So it’s a way to access information?
Engineer: Yes, partly. Clients purchase the rights to a software
license. Then they share that software with their users.
Manager: Okay. How do they pay for that, though?
Engineer: Clients typically pay regular fees. Some companies
charge users metered fees, while others prefer pay-as-yougo. It just depends on your needs.
Manager: I see. So what role does SaaS play in cloud
computing?
Engineer: SaaS is a type of cloud in which software is available
over a network. In my opinion, it is a reliable way of sharing
information and software.
Manager: How does someone access the software?
44 Answer Key
Download
Study collections