Get IEEE Computer Society Real World Software Engineering Problems A Self Study Guide for Today s Software Professional 1st Edition J. Fernando Naveda PDF ebook with Full Chapters Now
Get IEEE Computer Society Real World Software Engineering Problems A Self Study Guide for Today s Software Professional 1st Edition J. Fernando Naveda PDF ebook with Full Chapters Now
com
OR CLICK BUTTON
DOWLOAD EBOOK
https://ebookname.com/product/software-engineering-for-game-
developers-software-engineering-series-1st-edition-ph-d/
ebookname.com
https://ebookname.com/product/computing-handbook-computer-science-and-
software-engineering-3ed-edition-allen-b-tucker/
ebookname.com
https://ebookname.com/product/the-globalization-of-poverty-and-the-
new-world-order-2nd-edition-michel-chossudovsky/
ebookname.com
Power and Politics in Globalization The Indispensable
State 1st Edition Howard H. Lentner
https://ebookname.com/product/power-and-politics-in-globalization-the-
indispensable-state-1st-edition-howard-h-lentner/
ebookname.com
https://ebookname.com/product/monitoring-animal-populations-and-their-
habitats-a-practitioner-s-guide-1st-edition-brenda-mccomb/
ebookname.com
https://ebookname.com/product/linear-operators-and-their-essential-
pseudospectra-1st-edition-aref-jeribi/
ebookname.com
https://ebookname.com/product/a-4-skyhawk-vs-north-vietnamese-aaa-
north-vietnam-1964-72-duel-1st-edition-peter-e-davies/
ebookname.com
https://ebookname.com/product/laboratory-practice-regulations-4th-
edition-sandy-weinberg/
ebookname.com
Voices of Autism The Healing Companion Stories for Courage
Comfort and Strength 1st Edition Doreen Granpeesheh
https://ebookname.com/product/voices-of-autism-the-healing-companion-
stories-for-courage-comfort-and-strength-1st-edition-doreen-
granpeesheh/
ebookname.com
IEEE Computer Society
Real World Software
Engineering Problems
IEEE
©coûter
society
60TH anniversary
Chair Editor-in-Chief
Roger U. Fujii Donald F. Shafer
Vice President Chief Technology Officer
Northrop Grumman Mission Systems Athens Group, Inc.
Board Members
To submit questions about the program or send proposals please e-mail dplum-
[email protected] or write to Books, IEEE Computer Society, 100662 Los Vaque-
ros Circle, LosAlamitos, CA 90720-1314. Telephone+1-714-821-8380.
Additional information regarding the Computer Society authored book pro-
gram can also be accessed from our web site at http://computer.org/cspress.
IEEE Computer Society
Real World Software
Engineering Problems
A Self-Study Guide for Today's Software Professional
J. Fernando Naveda
Stephen B. Seidman
^ IEEE
©computer
society
60TH anniversary
WILEY-
INTERSCIENCE
A JOHN WILEY & SONS, INC., PUBLICATION
Copyright © 2006 by IEEE Computer Society. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any
means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under
Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the
Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center,
Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600, or on the web at
www.copynght.com. Requests to the Publisher for permission should be addressed to the Permissions
Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-
6008 or online at http://www.wiley.com/go/perrnission.
Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in
preparing this book, they make no representations or warranties with respect to the accuracy or completeness of
the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a
particular purpose. No warranty may be created or extended by sales representatives or written sales materials.
The advice and strategies contained herein may not be suitable for your situation. You should consult with a
professional where appropriate. Neither the publisher nor author shall be liable for any loss of profit or any
other commercial damages, including but not limited to special, incidental, consequential, or other damages.
For general information on our other products and services or for technical support, please contact our
Customer Care Department within the U.S. at (800) 762-2974, outside the U.S. at (317) 572-3993 or fax (317)
572-4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be
available in electronic format. For information about Wiley products, visit our web site at www.wiley.com.
ISBN-13 978-0-471-71051-6
ISBN-10 0-471-71051-2
10 9 8 7 6 5 4 3
Preface
This software engineering problem book is the culmination of a team effort that
has spanned more than three years. It originated as a suggestion made by Leo-
nard Tripp, 1999 President of the IEEE Computer Society, at several meetings
that were part of the Society's project to develop a certification examination for
software engineering professionals.
Stephen Seidman then led an effort to further examine and refine this set of
sample questions. He identified a group of CSDP certificate holders who were
willing to evaluate these items. The members of this group of volunteers were
James Alstad, Edson Asaga, David Beck, Earl Beede, Mack Bishop, William
Blackburn, Edward Bodfish, Jorge Boria, Robert Burns, Adrian Carricart, John
Chilenski, Douglas Clark, Lawrence Cox, Weidong Cui, Donald Dylla, Fedor
Dzerjinski, Ralph Forey III, Eva Freund, Stephen Frezza, Jun Fukutomi, Pierce
Gibbs, Thomas Glenn, Rebecca Grasser, Jill Hamada, Joel Henry, Karl Hoech,
Bradey Honsinger, Pete Knoke , Stephen Masticola, Susan Mengel, Gilda Pour,
Steven Roach, Edward Slosky, Jennifer Stuart, Andrey Terekhov, Karen
Thurston, Edmundo Tovar, Michael Ulm, and Eric Yocam. This review process
was complete by early 2003.
Later that year, Stephen Seidman and J. Fernando Naveda led a comprehensive
problem review that was carried out by Heidi J. C. Ellis, Ann Gates, and James
Moore. During a final meeting in Washington DC, Stephen Seidman, James
Moore, Jenny Stuart, and J. Fernando Naveda compiled the final set of questions
that were to be included in this book.
In 2004, we began the process of turning the sample questions into this book.
We were greatly aided in this effort by our area editors, Heidi J. C. Ellis, Susan K.
v
Land, John Reisner, and Paula Strawser. The editors rewrote and reformatted
the questions and answers, and provided appropriate context and references.
Acknowledgments
We would like to thank all of those who participated in this project. First and
foremost, we would like to thank our area editors for their work on organizing the
problems and putting them into the appropriate contexts. We would also like to
thank Allen Parrish for contributing some problems at a crucial stage of the effort.
We would also like to thank Deborah Plummer and Angela Burgess of the IEEE
Computer Society.
Finally, we'd like to thank Stacy Saul of the IEEE Computer Society staff for her
consistent and invaluable support of this project.
J. Fernando Naveda would like to thank the faculty, staff, and students of RIT's
department of software engineering for their inspiration, support, and encour-
agement over the years.
Though we have received help from numerous individuals, any errors contained
in this book are our responsibility.
J. Fernando Naveda
Rochester, New York
September, 2005
Stephen B. Seidman
Newark, New Jersey
September, 2005
VII
About this Book
This book is intended for several audiences: prospective takers of the IEEE
Computer Society's Certified Software Development Professional (CSDP) ex-
amination, graduate students of software engineering, and software engineering
professionals. The chapters of the book correspond to the topics covered by
the examination: business practices and engineering economics, soft-
ware requirements, software design, software construction, software testing,
software maintenance, software configuration management, software engineer-
ing management, software engineering process, software engineering tools and
methods, and software quality. The questions, answers, explanations, and refer-
ences found in the book can also serve as a guide to students and professionals.
Under the continuing leadership of Leonard Tripp, the Computer Society con-
tracted with Chauncey Group International (CGI), a subsidiary of the Educational
Testing Service, to develop a certification examination. In 1999, a group of soft-
ware engineers met under the guidance of CGI to review and revise a draft listing
of task and knowledge statements. After validation by a group of software engi-
neers, final versions of the task and knowledge statements were produced. The
knowledge statements were mapped to the Guide to the Software Engineering
Body of Knowledge (SWEBOK) in 2004, and the task statements were mapped
to ISO/IEC 12207. Test specifications were then developed from information de-
rived from the job analysis. The specifications became the blueprint for defining
the final content of the examination.
2. Software requirements
A. Requirements engineering process
B. Requirements elicitation
C. Requirements analysis
VIII
D. Software requirements specification
E. Requirements validation
F. Requirements management
3. Software design
A. Software design concepts
B. Software architecture
C. Software design quality analysis and evaluation
D. Software design notations and documentation
E. Software design strategies and methods
F. Human factors in software design
G. Software and system safety
4. Software construction
A. Construction planning
B. Code design
C. Data design and management
D. Error processing
E. Source code organization
F. Code documentation
G. Construction quality assurance
H. System integration and deployment
I. Code tuning
J. Construction tools
5. Software testing
A. Types of tests
B. Test levels
C. Testing strategies
D. Test design
E. Test coverage of code
F. Test coverage of specifications
G. Test execution
H. Test documentation
I. Test management
6. Software maintenance
A. Software maintainability
B. Software maintenance process
C. Software maintenance measurement
D. Software maintenance planning
E. Software maintenance management
F. Software maintenance documentation
IX
B. Software configuration identification
C. Software configuration control
D. Software configuration status accounting
E. Software configuration auditing
F. Software release management and delivery
These categories correspond to the eleven chapters of this book. In the CSDP
specification, each category is divided into several subcategories that represent
the topics covered on the examination. The subcategories corresponding to each
chapter are listed under each category and on the first page of the corresponding
chapter.
x
In 2000, test items were written, edited and approved by groups of software en-
gineers trained in item development by CGI, who then edited the items for style,
format, logic, and grammar. The items were then evaluated for clarity, concise-
ness, and conformance to the test specifications. CGI ensured that the examina-
tion was psychometrically valid and culturally appropriate. Later that year, ap-
proved items were assembled into two independent exams, which were reviewed
by a test developer and by a group of software engineers.
As of the summer of 2005, there are more than 450 CSDP certificate holders.
These individuals reside in many countries. The examination is managed by
Computer Society staff and supervised by the Society's Professional Practices
Committee.
The chapters of this book correspond to the eleven categories of the CSDP ex-
amination specification. Each chapter contains a number of questions; the distri-
bution of questions across the chapters corresponds roughly to the category
weightings used for the examination. Each question is assigned to a specific
subcategory. Some questions can be associated with more than one subcate-
gory; in this case, we have made what we feel is the best subcategory assign-
ment. Our intention was not to provide complete coverage of all subcategories,
but rather to present a wide variety of problems and problem types. For that rea-
son, some subcategories do not have any questions assigned. The correct an-
swer for each question is provided, along with the appropriate context and refer-
ences to the literature.
The complexity of the questions contained in this book spans the six cognitive
levels described in Bloom's taxonomy: knowledge, understanding, application,
analysis, synthesis, and evaluation. Each question is designed to test the
reader's understanding of software engineering concepts at one of the levels of
abstraction in Bloom's taxonomy. Using Bloom's taxonomy and a framework,
questions in the CSDP exam and in this book can be classified into two broad
categories: direct questions and case study questions. Direct questions are de-
signed to gauge the exam taker's knowledge of software engineering concepts
that can be found in the literature. Direct questions are at the knowledge, under-
standing, and application levels in Bloom's taxonomy. Case study questions, on
the other hand, require a much deeper understanding of software engineering
concepts. They present the reader with a hypothetical situation and then ask the
reader a question.
XI
The questions on the CSDP examination and, consequently, those in this book
are all of the multiple choice type. Each question presents the reader with four
possible answers and only one of them is the right answer to the question.
Though the book is designed for potential candidates for CSDP certification,
other readers can benefit from it as well. Those interested in preparing for the
CSDP exam can systematically answer each of the questions contained in the
book from cover to cover. Others however, might prefer to jump to a specific
area of the book where they feel they need to exercise most. Software engineer-
ing graduate students can use the book as preparation for comprehensive
graduate level exams.
XII
TABLE OF CONTENTS
XIII
IEEE Computer Society Real World Software Engineering Problems: A Self-Study Guide
for Today's Software Professional. Edited by J. Fernando Naveda, Stephen B. Seidman.
© 2006 IEEE Computer Society. Published 2006 by John Wiley & Sons, Inc.
1
I BUSINESS PRACTICES AND ENGINEERING ECONOMICS
B Ethics
Question Jane is very pleased with the work a supplier does for her company and has
referred partner companies to this supplier. Wanting to show its gratitude,
the supplier has offered to update Jane's home network at a discount. This
would not be a problem if:
3
Answer: a
Explanation
The Software Engineering Code of Ethics and Professional Practice was developed by a
joint task force of members from the IEEE Computer Society and the Association for
Computing Machinery (ACM). Version 5.2 of this document was approved and finalized
in 1998. The Code describes the ethical and professional obligations of software engi-
neers. Principles 4.04 and 4.05 of the Code of Ethics state that software engineers
should "not engage in deceptive financial practices such as bribery, double billing, or
other improper financial practices," and that they are to "disclose to all concerned parties
those conflicts of interest that cannot reasonably be avoided or escaped." The supplier's
offer raises a potential conflict of interest and could be regarded as a deceptive or im-
proper financial practice. It is therefore in conflict with the Code.
References
1. IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional
Practices, Computer Society and ACM Approve Software Engineering Code of Eth-
ics, IEEE Computer Magazine, October 1999.
2. Software Engineering Code of Ethics and Professional Practice, IEEE Press, 1999.
4
I BUSINESS PRACTICES ENGINEERING AND ECÖNÖMleS
B Ethics
Question The IEEE Code of Ethics allows you to accept a position for which you have
no pertinent training or experience if:
a) I only.
b) I and II only.
c) I, II, and III only.
d) I, II, III, and IV.
5
Answer: a
Explanation
The Software Engineering Code of Ethics and Professional Practice was developed by a
joint task force of members from the IEEE Computer Society and the Association for
Computing Machinery (ACM). Version 5.2 of this document was approved and finalized
in 1998. The Code describes the ethical and professional obligations of software engi-
neers.
Principle 2 of the IEEE-CS/ACM Software Engineering Code of Ethics and Professional
Practice states that "software engineers shall act in a manner that is in the best interests
of their client and employer, consistent with the public interest." This is amplified in sec-
tion 2.01, which further states that software engineers shall "Provide service in their ar-
eas of competence, being honest and forthright about any limitations of their experience
and education."
References
1. IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional
Practices, Computer Society and ACM Approve Software Engineering Code of Eth-
ics, IEEE Computer Magazine, October 1999.
2. Software Engineering Code of Ethics and Professional Practice, IEEE Press, 1999.
6
3 I BUSINESS PRACTICES ENGiNEERING AND ECONOMICS
B I Ethtcs
A project manager is assigned to a new client who needs a web interface and database
for online ordering. After assessing the scope of work, the manager decides that three
GUI designers would be sufficient, and that they should work at the client's site. The
manager assigns the work to the first three people listed on the available staff sheet,
knowing that each of them has less than two months experience at the company, but
also knowing that company policy is to hire only personnel who have graduated from an
accredited university with a BS degree in a computing science.
Question The list below shows four ethical principles taken from the Software Engi-
neering Code of Ethics and Professional Practice. Which principles might
the manager have violated?
7
Answer: b
Explanation
The Software Engineering Code of Ethics and Professional Practice was developed by a
joint task force of members from the IEEE Computer Society and the Association for
Computing Machinery (ACM). Version 5.2 of this document was approved and finalized
in 1998. The Code describes the ethical and professional obligations of software engi-
neers.
I and II are taken directly from the Code of Ethics and Professional Practices (Principles
5.01 and 5.04, respectively). The manager's behavior directly contravenes both of these
principles, which are given below.
Principle 5.01: Ensure good management for any project on which they work, including
effective procedures for promotion of quality and reduction of risk.
Principle 5.04: Assign work only after taking into account appropriate contributions of
education and experience tempered with a desire to further that education and experi-
ence.
References
1. IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional
Practices, Computer Society and ACM Approve Software Engineering Code of Eth-
ics, IEEE Computer Magazine, October 1999.
2. Software Engineering Code of Ethics and Professional Practice, IEEE Press, 1999.
8
i BUSINESS PRACTICES iNGINEERING AND ECONOMICS
B Ethics
A project manager is assigned to a new client who needs a Web interface and database
for online ordering. After assessing the scope of work, the manager decides that three
GUI designers would be sufficient, and that they would work at the client's site. The
manager assigns the work to the first three people listed on the available staff sheet,
knowing that each of them has less than two months experience at the company, but
also knowing that company policy is to hire only personnel who have graduated from an
accredited university with a BS degree in a computing science.
Question The manager's decision is a potential violation of which of the following prin-
ciples from the Software Engineering Code of Ethics and Professional Prac-
tice?
a) Ensure proper and achievable goals and objectives for any project on which they
work or propose.
b) Ensure that any document upon which they rely has been approved, when required,
by someone authorized to approve it.
c) Use the property of a client or employer only in ways properly authorized, and with
the client's or employer's knowledge and consent.
d) Disclose to all concerned parties those conflicts of interest that cannot reasonably
be avoided or escaped.
9
Answer: a
Explanation
The Software Engineering Code of Ethics and Professional Practice was developed by a
joint task force of members from the IEEE Computer Society and the Association for
Computing Machinery (ACM). Version 5.2 of this document was approved and finalized
in 1998. The Code describes the ethical and professional obligations of software engi-
neers.
The answer is (a) as stated specifically in Principle 3.02 of version 5.2 of the Code of
Ethics and Professional Practice.
References
1. IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional
Practices, Computer Society and ACM Approve Software Engineering Code of Eth-
ics, IEEE Computer Magazine, October 1999.
2. Software Engineering Code of Ethics and Professional Practice, IEEE Press, 1999.
10
S I BUSINESS PRACTICES ENGINEERING AND ECONOMICS
B _ _ _ Ethics
11
Answer: d
Explanation
The ACM/IEEE-CS Software Engineering Code of Ethics and Professional Practice was
developed by a joint task force of members from the IEEE Computer Society and the
Association for Computing Machinery (ACM). Version 5.2 of this document was ap-
proved and finalized in 1998. The Code describes the ethical and professional obliga-
tions of software engineers [1]. Version 5.2 of the Code contains the following principles:
Principle 1 : Public
Principle 2: Client and Employer
Principle 3: Product
Principle 4: Judgment
Principle 5: Management
Principle 6: Profession
Principle 7: Colleagues
Principle 8: Self
The choices given above specifically appear in the Code:
Principle 6.01: Help develop an organizational environment favorable to acting ethically.
Principle 6.02: Promote public knowledge of software engineering.
Principle 6.03: Extend software engineering knowledge by appropriate participation in
professional organizations, meetings, and publications.
Principle 7.01 : Encourage colleagues to adhere to this Code.
Principle 7.03: Credit fully the work of others and refrain from taking undue credit.
References
1. IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional
Practices, Computer Society and ACM Approve Software Engineering Code of Eth-
ics, IEEE Computer Magazine, October 1999.
2. Software Engineering Code of Ethics and Professional Practice, IEEE Press, 1999.
12
6 i BUSINESS PRACTICES ENGINEERING AND ECONOMICS
c Professional Practice
You have recently created a new software product that applies a unique method. You
want to protect this unique method.
a) Copyright.
b) Patent.
c) Product Registration.
d) Trademark.
13
Other documents randomly have
different content
— Ainakin on minulla sinussa ystävä, johon saan turvautua ja jolta
voin pyytää neuvoa… jos niitä tarvitsen.
KOTIOPETTAJA JA PERHE.
Hän löi kättä, mutta tapa, jolla hän sen teki, oli niin kylmä ja veltto,
ettei se ensinkään ollut Haraldille mieleen. Ja yhtä vähän
vapaaherran ulkomuoto miellytti häntä. Hänen katseensa oli tosin
terävä ja hän katsoi ihmisiä suoraan silmiin, mutta tässä katseessa
ei kuitenkaan ollut mitään hyvää ja luotettavaa. Näytti ikäänkuin hän
olisi totuttautunut katsomaan ihmisiä silmiin, ikäänkuin sillä
peittääksensä teeskentelyänsä.
Herra v. Nit, joka tosin syötäessä oli lörpötellyt yhtä ja toista, mutta
sittemmin istunut aivan ääneti, katsoi nyt sopivaksi puuttua
puheeseen, vaikka hänen kielensä ei tahtonut oikein hyvin kääntyä
suussa:
Kappale, jonka hän nyt soitti, oli Andante Triosta Op. 97, josta
muuan
Beethovenin ihailijoista on sanonut, että sanat siihen ovat Göthen
Faustissa.
— Minä.
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebookname.com