Professional Documents
Culture Documents
Full Chapter Engineering Software Products An Introduction To Modern Software Engineering 1St Edition Ian Sommerville PDF
Full Chapter Engineering Software Products An Introduction To Modern Software Engineering 1St Edition Ian Sommerville PDF
Full Chapter Engineering Software Products An Introduction To Modern Software Engineering 1St Edition Ian Sommerville PDF
https://textbookfull.com/product/introduction-to-software-
engineering-second-edition-leach/
https://textbookfull.com/product/introduction-to-software-
engineering-2nd-edition-ronald-j-leach/
https://textbookfull.com/product/software-engineering-modern-
approaches-eric-j-braude/
https://textbookfull.com/product/fundamental-approaches-to-
software-engineering-alessandra-russo/
Fundamental Approaches to Software Engineering 1st
Edition Esther Guerra
https://textbookfull.com/product/fundamental-approaches-to-
software-engineering-1st-edition-esther-guerra/
https://textbookfull.com/product/a-guide-to-software-quality-
engineering-1st-edition-pargaonkar-shravan/
https://textbookfull.com/product/foundations-of-software-
engineering-ashfaque-ahmed/
https://textbookfull.com/product/re-engineering-legacy-
software-1st-edition-chris-birchall/
https://textbookfull.com/product/fundamentals-of-software-
engineering-fifth-edition-mall/
Engineering Software
Products
An Introduction to Modern Software
Engineering
Tan Sommerville
@ Pearson
Senior Vice President Courseware Portfolio Management: Engineering,
Computer Science, Mathematics, Statistics, and Global Editions: Marcia
J. Horton
Vice President, Portfolio Management: Engineering, Computer Science,
and Global Editions: Julian Partridge
Executive Portfolio Manager: Matt Goldstein
Portfolio Management Assistant: Meghan Jacoby
Managing Producer, ECS and Mathematics: Scott Disanno
Senior Content Producer: Erin Ault
Project Manager: Rose Kernan
Manager, Rights and Permissions: Ben Ferrini
Operations Specialist: Maura Zaldivar-Garcia
Inventory Manager: Bruce Boundy
Product Marketing Manager: Yvonne Vannatta
Field Marketing Manager: Demetrius Hall
Marketing Assistant: Jon Bryant
Cover Design: Black Horse Designs
Cover Image: Dmitrydesign/Shutterstock
Composition: Pearson CSC
Cover Printer: Phoenix Color/Hagerstown
Printer/Binder: Lake Side Communications, Inc. (LSC)
Copyright © 2020 Pearson Education, Inc. 221 River Street, Hoboken, NJ
07030. All rights reserved.
Manufactured in the United States of America. This publication is
protected by copyright, and permission should be obtained from the
publisher prior to any prohibited reproduction, storage in a retrieval
system, or transmission in any form or by any means, electronic,
mechanical, photocopying, recording, or otherwise. For information
regarding permissions, request forms and the appropriate contacts
within the Pearson Education Global Rights & Permissions department,
please visit www.pearsoned.com/permissions/.
Many of the designations by manufacturers and seller to distinguish
their products are claimed as trademarks. Where those designations
appear in this book, and the publisher was aware of a trademark claim,
the designations have been printed in initial caps or all caps.
The author and publisher of this book have used their best efforts in
preparing this book. These efforts include the development, research,
and testing of the theories and programs to determine their
effectiveness. The author and publisher make no warranty of any kind,
expressed or implied, with regard to these programs or the
documentation contained in this book. The author and publisher shall
not be liable in any event for incidental or consequential damages in
connection with, or arising out of, the furnishing, performance, or use
of these programs.
Library
of Congress Cataloging-in-Publication Data
Names: Sommerville, Ian, 1951—author.
Title: Engineering software products / Ian Sommerville.
Description: First edition. | Hoboken, NJ : Pearson, 2019. | Includes
bibliographical references and indexes.
Identifiers: LCCN 2019004631 | ISBN 9780135210642
Subjects: LCSH: Software engineering. | Computer software—
Development.
Classification: LCC QA76.758 .S67 2019 | DDC 005.1—dc23 LC record
available at https://lccn.loc.gov/2019004631
119
@ Pearson
ISBN10: 0-13-521064-X
ISBN 13: 978-0-13-521064-2
Preface
Software products, such as stand-alone programs, web apps and
services, and mobile apps, have transformed our everyday life and work.
There are tens of thousands of software product companies, and
hundreds of thousands of software engineers are employed worldwide
in software product development.
Contrary to what some people may think, engineering software products
needs more than coding skills. So, I've written this book to introduce
some of the software engineering activities that are important for the
production of reliable and secure software products.
https://iansommerville.com/engineering-software-products/
“out
with the UML (and other stuff too): reimagining introductory courses in software
engineering”
https: //iansommerville.com/systems-software-and-technology/what-should-we-teach-in-
software-engineering-courses/
https: //iansommerville.com/systems-software-and-technology/engineering-software-
products/
Acknowledgments
P'd like to thank the reviewers who made helpful and supportive
suggestions when they reviewed the initial proposal for this book:
Paul Eggert— UCLA Los Angeles
Jeffrey Miller— University of Southern California
Harvey Siy— University of Nebraska Omaha
Edmund S. Yu— Syracuse University
Gregory Gay— University of South Carolina
Josh Delinger— Towson University
Rocky Slavin— University of Texas San Antonio
Bingyang Wei— Midwestern State University
Thanks also to Adam Barker from St. Andrews University for keeping me
right on containers and to Rose Kernan who managed the production of
the book.
Thanks, as ever, to my family for their help and support while I was
writing the book. Particular thanks to my daughter Jane, who did a great
job of reading and commenting on the text. She was a brutal editor! Her
suggested changes significantly improved the quality of my prose.
Key Points
17 (0
Recommended Reading 18 |
Presentations, Videos,
and Links 18 |
Exercises
19 (0)
Chapter
3 Features, Scenarios, and Stories
50 0)
3.1 Personas 54 (0
3.2 Scenarios
59 10)
66 10)
3.3 User stories
3.4 Feature identification 70 |
Key Points79 10
Recommended Reading 80 |
Presentations, Videos, and Links 80 |0
Exercises 80 (0
Key Poin113
ts0
Recommended Reading 114 (01
Presentations, Vidand
eo Links 114 (01
s ,
Exercise
115 s|
Chapter 5 Cloud-Sof
Ba tware
se 116d 0
5.1 Virtuali
and con
za taiti 118 |)
ners on
5.2 Every
as t
a serv
hi icen124
g (01
5.3 Soft
as aw
serv
aice
re127 (01
5.4 Multi-tenant and multi-insys
st s 132
teman ce 0
5.5 Cloud software architectu
140re(0
Key Points
182 (0)
Recommended Reading 183 [0
Presentations, Vide
and Links
os, 1840)
Exercises
184 10
Key Points
217 0
Recommen
Reading
de218d
Presentations, Vide
and Links
os, 219 |
Exercises
219 (0
Index 329 (0
1 Software Products
This book introduces software engineering techniques that are used to
develop software products. Software products are generic software
systems sold to governments, businesses, and consumers. They may be
designed to support a business function, such as accounting; they may
be productivity tools, such as note-taking systems; or they may be
games or personal information systems. Software products range in size
from millions of lines of code in large-scale business systems to a few
hundred lines of code in a simple app for mobile phones.
‘We all use software products every day on our computers, tablets, and
phones. I am using a software product—the Ulysses editor—to write
this book. I’ll use another editing product Microsoft Word—to format
the final version, and Ill use Dropbox to exchange the files with the
publisher. On my phone, I use software products (apps) to read email,
read and send tweets, check the weather, and so on.
‘The engineering techniques that are used for product development have
evolved from the software engineering techniques developed in the 20th
century to support custom software development. When software
engineering emerged as a discipline in the 1970s, virtually all
professional software was “one-off,” custom software. Companies and
governments wanted to automate their businesses, and they specified
what they wanted their software to do. An in-house engineering team or
an external software company then developed the software.
Problem
generates helps-with
implemented-by
Requirements
Figure 1.1
Project-based software engineering
DEVELOPER
Opportunity
inspires realizes
implemented-by
Product.
features
DEVELOPER DEVELOPER
Figure 1.2
Product-based software engineering
If you read about software products, you may come across two other
terms: “software product lines” and “platforms” (Table 1.1 (2).
Software product lines are systems designed to be adaptable to meet the
specific needs of customers by changing parts of the source code.
Platforms provide a set of features that can be used to create new
functionality. However, you always have to work within the constraints
defined by the platform suppliers.
Table 1.1 Software product lines and platforms
‘Technology Description
Software product line Aset of software products that share
common core. Each member of the
product line includes customer-speci
fic adaptations and additions. Softwa
re product lines may be used to imple
ment a custom system for a custome
r with specific needs that can’t be me
tbya generic product.
The need for the first question is obvious—before you start, you need to
know what you are aiming for. The other questions concern the
commercial viability of the product. Most products are intended for use
by customers outside of the development team. You need to understand
their background to create a viable product that these customers will
find attractive and be willing to buy.
If you search the web for “product vision,” you will find several variants
of these questions and templates for expressing the product vision. Any
of these templates can be used. The template that I like comes from the
book Crossing the Chasm by Geoffrey Moore. Moore suggests using a
structured approach to writing the product vision based on keywords:
Geoffrey Moore, Crossing the Chasm: Marketing
and selling technology
products to mainstream customers (Capstone Trade Press, 1998).
FOR (target customer)
WHO (statement of the need or opportunity)
The (PRODUCT NAME) is a (product category)
THAT (key benefit, compelling reason to buy)
UNLIKE (primary competitive alternative)
OUR PRODUCT (statement of primary differentiation)
On his blog Joel on Software, Joel Spolsky gives an example of a product
described using this vision template:2
2J. Spolsky, Product Vision, 2002; http://www -joelonsoftware.com/articles/
JimHighsmithonProductVisi.html
You can see how this vision answers the key questions that I identified
above:
Schools and universities are the target customers for the iLearn system as it
will significantly improve the learning experience of students at relatively lo
‘weost. It will collect and process learner analytics that will reduce the costs of
progress tracking and reporting.
Language: Dutch
[1]
[Inhoud]
[Inhoud]
Inspecteur Baxter in het
Krankzinnigengesticht.
EERSTE HOOFDSTUK.
HET KRIJGSPLAN VAN RAFFLES.
Alsof er geen politie bestond, zoo kalm zat Raffles in het druk bezochte
lokaal, rookte zijn cigarette en fixeerde door zijn monocle af en toe de
overige gasten.
Plotseling nam hij uit zijn zak een zakmes, dat aan een gouden ketting
hing en waaraan zich ook een schaartje bevond en sneed een bericht uit
de Times uit.
Zorgvuldig stak hij het uitknipsel in zijn portefeuille. Daarop betaalde hij
de vertering en verliet met Charly Brand het café.
„Deze schedels hebben een merkwaardig model,” sprak hij tot Charly
Brand, die vol verbazing naar hem keek. „Als hier niet vermeld stond, dat
deze schedels afkomstig zijn van menschen, die voor ongeveer
twaalfduizend jaar hebben geleefd, dan zou ik bijna beweren, [2]dat het
schedels waren van Sumatra-apen die een jaar geleden gestorven zijn.”
Een fijn lachje zweefde om de lippen van Raffles, toen hij antwoordde:
„Aan deze ledige schedels kan men meer leeren dan aan volle, want
deze laatste bevatten meestal nog minder dan de leege.”
„Wil je een philosoof worden?” vroeg Charly Brand, „ik vind het een
vervelende geschiedenis.”
„Mijn lieve Charly,” sprak Raffles, terwijl hij zijn vriend op den schouder
klopte, „heb je wel ooit opgemerkt, dat ik iets doe zonder bedoeling?”
„En ben je daar nu achter?” vroeg Charly Brand vol belangstelling, terwijl
hij den grooten onbekende aankeek.
Bij die woorden sloeg Raffles zijn boek met aanteekeningen over apen-
en menschenschedels dicht en verliet, vergezeld door zijn trouwen
vriend, het natuurkundig museum.
Met de Londoner Rail (spoor) reden zij naar het Strand, naar het Charing
Cross station, en gingen van daar per rijtuig naar hun nieuwe woning
aan het Waterlooplein.
Het was een voornaam, oud-Engelsch huis, dat Raffles eenige maanden
geleden had gekocht en betrokken.
Zijn oude villa aan het Regentpark had hij verlaten, omdat deze te veel
bekend was geworden bij politie en andere belanghebbenden.
Het gebouw bood nog een groot voordeel aan, dat niet met geld te
betalen was. Er onderlangs liepen namelijk de telegraaf- en
telefoonkabels van verschillende groote banken en van het hoofdbureau
van politie. Dit maakte het terrein voor Raffles zeer waardevol.
Door een toeval had hij op een wandeling deze ontdekking gedaan, toen
werklieden voor het huis den grond hadden opgebroken om
herstellingen aan de kabels aan te brengen.
Aan het hek voor het huis was een groot bord aangebracht, waarop de
naam „Georg Jenning” te lezen stond.
Onder dien naam had Lord Lister het huis gekocht en stond hij in de
buurt bekend.
Zijn studeerkamer had hij op dezelfde wijze ingericht als in zijn vroegere
woning. Het zware leeren behangsel met echte gobelins bedekte aan
den eenen kant een kostbare verzameling wapens, terwijl oude
familieportretten—Raffles was de laatste afstammeling uit het voorname
geslacht der Lord Listers—de andere muren versierden.
Slechts een enkele deur gaf, naar het scheen, toegang tot het vertrek,
maar in werkelijkheid waren er, door gobelins en lederen behangsel
verborgen, nog drie geheime deuren, die zoo kunstig waren
aangebracht, dat slechts het toeval ze zou kunnen verraden.
Een dezer deuren leidde naar de kleedkamer van den meesterdief, een
langwerpig vertrek met in den muur gebouwde kasten en een grooten
spiegel.
Deze kunst oefende hij in het practische leven uit met de handigheid van
een acteur.
„De oude bankier moet in den laatsten tijd herhaaldelijk sporen hebben
getoond van vervolgingswaanzin en heeft dingen bedreven, die deden
vreezen, dat hij zijn vermogen zou weggeven aan onwaardigen.
Charly Brand begreep niet, wat Raffles met dit bericht van plan was te
doen. Met een vragenden blik keek hij zijn vriend aan.
„Ik was reeds meermalen van plan mij bezig te houden met de geheimen
der Londensche krankzinnigengestichten”, [4]sprak Raffles, haar het
courantenuitknipsel wijzend.
„Hij is, voor zoover ik te weten ben gekomen, een hartelooze zakenman,
voor wien geld een hoofdrol speelt in het leven, hoewel hij verschillende
eerebaantjes bekleedt in Londen en medelid is van allerlei
vereenigingen.
„In zijn inrichting heeft hij als doctoren alleen zijn beide zoons en een
zwager. Vreemde doctoren overschrijden nimmer den drempel er van.
Daardoor is het voor ieder, die daar is opgesloten, onmogelijk om iets
voor zijn bevrijding te doen. Nu wil ik beproeven, de geheimen van dat
huis te doorgronden en dr. Braddon met zijn beide zoons daarheen te
brengen, waar zij behooren—naar Old Bailey. Onze gele pers noemt
hem spottend: den koning der gekken.”
„Mijn lieve Charly, je weet, dat ik stalen zenuwen heb en dat er niet licht
iets kan gebeuren, dat mij vrees zou kunnen aanjagen. Maar”, Raffles
lachte weer en blies groote rookwolken in de lucht—„ik bedank er voor,
mij in dat roovershol te begeven, omdat het een nutteloos gevaar zou
zijn”.
„Zelfs de vlucht zou hen niet kunnen redden. Zoodra de politie of een
persoon, die er belang bij heeft, hun verblijfplaats ontdekte, zouden zij
weer binnen de muren van het gekkenhuis worden teruggebracht.”
„Ik zal hem inspecteur Baxter in zijn inrichting zenden. Die moet
inlichtingen inwinnen. De verklaringen voor het gerecht van dezen
hooggeplaatsten ambtenaar omtrent dat, wat hij in de inrichting heeft
gezien en ondervonden, zullen voldoende zijn om Dr. Braddon, als hij
werkelijk een schurk is, den nek te breken.”
„Mijn beste Charly,” sprak Raffles lachend, „dat kan ik niet onderzoeken.
„Volgens mijn meening is inspecteur Baxter niet zoo gezond als jij
meent.
„Heb je ooit opgemerkt, dat ik een of ander voornemen niet ten uitvoer
heb gebracht?”
„All right,” antwoordde Raffles, „ga nu met mij mee naar den koning der
gekken. Onderweg zal ik zeggen, wat je te doen hebt.”
[Inhoud]
TWEEDE HOOFDSTUK.
RAFFLES BIJ DEN KONING DER GEKKEN.
De inrichting van dr. Braddon bevatte een groot complex van terreinen.
Aan de zijde der straat bevond zich een groot gebouw, waarbij
verschillende villa’s en woonhuizen behoorden. Men kon daaraan
duidelijk zien, dat de inrichting in den loop der jaren was uitgebreid.
Zoodra dr. Braddon meer patiënten had dan hij kon plaatsen, kocht hij
een huis aan, dat grensde aan zijn eigendommen en verbond het aan
zijn inrichting.
Een breede tuin grensde aan den anderen kant aan de gebouwen en
een vier meter hooge schutting met een ijzeren poort maakte het elken
voorbijganger onmogelijk, in den voortuin te komen.
Alle vensters waren van stevige traliën voorzien en inplaats van gewone
ruiten had men ondoorzichtig en onbreekbaar glas gebruikt.
Aan den achterkant van deze huizen grensde een klein park met hooge
muren, waarin de patiënten konden wandelen.
Het kleine park was weer omringd door gebouwen, zoodat ontvluchten
tot de onmogelijkheden behoorde.
Een bediende in livrei stond bij de deur der ontvangkamer gereed om,
zoo noodig, oogenblikkelijk de wenschen der bezoekers ten uitvoer te
brengen.
Een zilveren bel in de kamer van dr. Braddon weerklonk ten teeken, dat
de bediende de wachtenden kon binnenlaten.
Met scherp onderzoekende blikken keek Raffles door het vertrek en naar
den persoon van dr. Braddon, die met een korten groet slechts even van
zijn stoel bij de schrijftafel opstond en met zijn vette hand vol ringen
Raffles en diens vriend uitnoodigde om naderbij te komen.
Van onder dikke wenkbrauwen keken een paar zwarte, loerende oogen
Raffles aan. Dikke wallen omgaven die oogen, terwijl de neus veel te dik
was en koperkleurig.
„Die kerel drinkt,” sprak Raffles tot zichzelf, den dokter nauwkeurig
opnemende.