Visit https://ebookultra.com to download the full version and
explore more ebooks or textbooks
Software Engineering 8ed. Edition Sommerville I.
_____ Click the link below to download _____
https://ebookultra.com/download/software-engineering-8ed-
edition-sommerville-i/
Explore and download more ebooks or textbooks at ebookultra.com
Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Software Engineering Handbook 1st Edition Jessica Keyes
https://ebookultra.com/download/software-engineering-handbook-1st-
edition-jessica-keyes/
Human Centered Software Engineering Integrating Usability
in the Software Development Lifecycle Ahmed Seffah
https://ebookultra.com/download/human-centered-software-engineering-
integrating-usability-in-the-software-development-lifecycle-ahmed-
seffah/
Essentials of software engineering Fourth Edition Barbara
Bernal
https://ebookultra.com/download/essentials-of-software-engineering-
fourth-edition-barbara-bernal/
Essentials Of Software Engineering 3rd Edition Frank Tsui
https://ebookultra.com/download/essentials-of-software-
engineering-3rd-edition-frank-tsui/
Software Engineering and Computer Games 1st Edition Rucker
https://ebookultra.com/download/software-engineering-and-computer-
games-1st-edition-rucker/
Object Oriented Software Engineering 7th Edition Stephen
Schach
https://ebookultra.com/download/object-oriented-software-
engineering-7th-edition-stephen-schach/
Software Reliability Engineering More Reliable Software
Faster and Cheaper 2nd Edition John D. Musa
https://ebookultra.com/download/software-reliability-engineering-more-
reliable-software-faster-and-cheaper-2nd-edition-john-d-musa/
Fundamentals of software engineering 4th ed. Edition Rajib
Mall
https://ebookultra.com/download/fundamentals-of-software-
engineering-4th-ed-edition-rajib-mall/
Software engineering quality practices 1st Edition Ronald
Kirk Kandt
https://ebookultra.com/download/software-engineering-quality-
practices-1st-edition-ronald-kirk-kandt/
Software Engineering 8ed. Edition Sommerville I. Digital
Instant Download
Author(s): Sommerville I.
ISBN(s): 9780321313799, 0321313798
Edition: 8ed.
File Details: PDF, 9.61 MB
Year: 2006
Language: english
Log on to aw-bc.com/computing
for a full list of Computing titles.
The 8th edition of the best-selling
introduction to software engineering is
now updated with three new chapters on
state-of-the-art topics.
NEW CHAPTERS IN THE 8TH EDITION
• Security engineering, showing you how
you can design software to resist attacks
and recover from damage;
• Service-oriented software engineering,
explaining how reusable web services
can be used to develop new
applications;
• Aspect-oriented software development,
introducing new techniques based on
the separation of concerns.
Software
Engineering
Software
Engineering
KEY FEATURES
• Includes the latest developments in software
engineering theory and practice, integrated
with relevant aspects of systems engineering.
• Extensive coverage of agile methods and
reuse.
• Integrated coverage of system safety,
security and reliability – illustrating best
practice in developing critical systems.
• Two running case studies (an information
system and a control system) illuminate
different stages of the software lifecycle.
ONLINE RESOURCES
Visit www.pearsoned.co.uk/sommerville to
access a full range of resources for students
and instructors.
In addition, a rich collection of resources
including links to other websites, teaching
material on related courses and additional
chapters is available at
http://www.software-engin.com.
IAN SOMMERVILLE is Professor of Software
Engineering at the University of St. Andrews
in Scotland
8
8
8
SOMMERVILLE
SOMMERVILLE
SOMMERVILLE
Software
Engineering
Software Engineering
ISBN 0-321-31379-8
9 780321 313799
www.pearson-books.com
an imprint of
0321313798_cover.qxd 26/4/06 17:48 Page 1
••
Software Engineering Eighth Edition
Visit the Software Engineering, eighth edition Companion
Website at www.pearsoned.co.uk/sommerville to find
valuable student learning material including:
• Lecture presentations (in PowerPoint and PDF) for all
chapters in the book
• Class quiz questions for each chapter
• Case studies
• Project suggestions
• Suggestions for further reading and links to web
resources for each chapter
This 8th edition has enhanced the 7th edition with
new material on security engineering, service-oriented
software engineering and aspect-oriented software
development. For educational purposes, it is completely
compatible with the 7th edition.
SE8_A01.qxd 4/4/06 8:53 Page i
••
Operating Systems
J Bacon and T Harris
Programming Language Essentials
H E Bal and D Grune
Programming in Ada 95, 2nd ed
J G P Barnes
Java Gently, 3rd ed
J Bishop
Software Design, 2nd ed
D Budgen
Concurrent Programming
A Burns and G Davies
Real-Time Systems and Programming Languages, 3rd ed
A Burns and A Wellings
Database Systems, 4th ed
T Connolly and C Begg
Distributed Systems, 4th ed
G Coulouris, J Dollimore and T Kindberg
Fortran 90 Programming, 2nd ed
T M R Ellis, I R Phillips and T M Lahey
Program Verification
N Francez
Introduction to Programming using SML
M Hansen and H Rischel
Functional C
P Hartel and H Muller
Algorithms and Data Structures, 2nd ed
J Kingston
Introductory Logic and Sets for Computer Scientists
N Nissanke
Human-Computer Interaction
J Preece et al
Algorithms
F Rabhi and G Lapalme
Ada 95 From the Beginning, 3rd ed
J Skansholm
C++ From the Beginning, 2nd ed
J Skansholm
Java From the Beginning, 2nd ed
J Skansholm
Object-Oriented Programming in Eiffel, 2nd ed
P Thomas and R Weedon
Miranda
S Thompson
Haskell, 2nd ed
S Thompson
Discrete Mathematics for Computer Scientists, 2nd ed
J K Truss
Compiler Design
R Wilhem and D Maurer
Discover Delphi
S Williams and S Walmsley
Comparative Programming Languages, 3rd ed
R G Clark
International Computer Science Series
Selected titles in the series
SE8_A01.qxd 4/4/06 8:53 Page ii
••
Software Engineering
Eighth Edition
Ian Sommerville
SE8_A01.qxd 4/4/06 8:53 Page iii
••
Pearson Education Limited
Edinburgh Gate
Harlow
Essex CM20 2JE
England
and Associated Companies around the World.
Visit us on the World Wide Web at:
www.pearsoned.co.uk
First published 1982
Second Edition 1984
Third Edition 1989
Fourth Edition 1992
Fifth Edition 1995
Sixth Edition 2001
Seventh Edition 2004
Eighth Edition 2007
© Addison-Wesley Publishers Limited 1982, 1984
© Pearson Education Limited 1989, 1995, 2001, 2004, 2007
The right of Ian Sommerville to be identified as author of
this Work has been asserted by him in accordance with
the Copyright, Designs and Patents Act 1988.
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 or otherwise, without either the prior
written permission of the publisher or a licence permitting restricted copying
in the United Kingdom issued by the Copyright Licensing Agency Ltd,
90 Tottenham Court Road, London W1T 4LP.
All trademarks used herein are the property of their respective owners. The use
of any trademark in this text does not vest in the author or publisher any trademark
ownership rights in such trademarks, nor does the use of such trademarks imply
any affiliation with or endorsement of this book by such owners.
ISBN 13: 978-0-321-31379-9
ISBN 10: 0-321-31379-8
British Library Cataloguing-in-Publication Data
A catalogue record for this book is available from the British Library
Library of Congress Cataloging-in-Publication Data
A catalog record for this book is available from the Library of Congress
10 9 8 7 6 5 4 3 2
10 09 08 07 06
Typeset by 35 in 10/12.5pt Times
Printed and bound in the United States of America
SE8_A01.qxd 4/4/06 8:53 Page iv
••
Preface
The first edition of this textbook on software engineering was published more than
twenty years ago. That edition was written using a dumb terminal attached to an early
minicomputer (a PDP-11) that probably cost about $50,000. I wrote this edition on
a wireless laptop that cost less than $2,000 and is many times more powerful than
that PDP-11. Software then was mostly mainframe software, but personal computers
were just becoming available. None of us then realised how pervasive these would
become and how much they would change the world.
Changes in hardware over the past twenty or so years have been absolutely remark-
able, and it may appear that changes in software have been equally significant.
Certainly, our ability to build large and complex systems has improved dramatically.
Our national utilities and infrastructure—energy, communications and transport—
rely on very complex and, largely, very reliable computer systems. For building
business systems, there is an alphabet soup of technologies—J2EE, .NET, EJB, SAP,
BPEL4WS, SOAP, CBSE—that allow large web-based applications to be deployed
much more quickly than was possible in the past.
However, although much appears to have changed in the last two decades, when
we look beyond the specific technologies to the fundamental processes of soft-
ware engineering, much has stayed the same. We recognised twenty years ago that
the waterfall model of the software process had serious problems, yet a survey
published in December 2003 in IEEE Software showed that more than 40% of
companies are still using this approach. Testing is still the dominant program
validation technique, although other techniques such as inspections have been used
more effectively since the mid-1970s. CASE tools, although now based around the
UML, are still essentially diagram editors with some checking and code-generation
functionality.
SE8_A01.qxd 4/4/06 8:53 Page v
vi Preface
Our current software engineering methods and techniques have made us much
better at building large and complex systems than we were. However, there are still
too many projects that are late, are over budget and do not deliver the software
that meets the customer’s needs. While I was writing the 7th edition, a government
enquiry in the UK reported on the project to provide a national system to be used
in courts that try relatively minor offenders. The cost of this system was estimated
at £156 million and it was scheduled for delivery in 2001. In 2004, costs had
escalated to £390 million and it was still not fully operational. There is, therefore,
still a pressing need for software engineering education.
Over the past few years, the most significant developments in software engineer-
ing have been the emergence of the UML as a standard for object-oriented system
description and the development of agile methods such as extreme programming.
Agile methods are geared to rapid system development, explicitly involve the user
in the development team, and reduce paperwork and bureaucracy in the software
process. In spite of what some critics claim, I think these approaches embody good
software engineering practice. They have a well-defined process, pay attention to
system specification and user requirements, and have high quality standards.
However, this revision has not become a text on agile methods. Rather, I focus
on the basic software engineering processes—specification, design, development,
verification, and validation and management. You need to understand these processes
and associated techniques to decide whether agile methods are the most appropriate
development strategy for you and how to adapt and change methods to suit your
particular situation. A pervasive theme of the book is critical systems—systems whose
failure has severe consequences and where system dependability is critical. In
each part of the book, I discuss specific software engineering techniques that are
relevant to critical systems engineering.
Books inevitably reflect the opinions and prejudices of their authors. Some
readers will disagree with my opinions and with my choice of material. Such dis-
agreement is a healthy reflection of the diversity of the discipline and is essential
for its evolution. Nevertheless, I hope that all software engineers and software
engineering students can find something of interest here.
The structure of the book
The structure of the book is based around the fundamental software engineering
processes. It is organised into seven parts. The first six focus on software processes
and the final part discusses some important new software engineering technologies.
Part 1: Introduces software engineering, places it in a broader systems context
and presents the notions of software engineering processes and management.
••
••
SE8_A01.qxd 4/4/06 8:53 Page vi
Preface vii
Part 2: Covers the processes, techniques and deliverables that are associated with
requirements engineering. It includes a discussion of software requirements,
system modelling, formal specification and techniques for specifying dependability.
Part 3: This part is devoted to software design and design processes. Three out of
the six chapters focus on the important topic of software architectures. Other topics
include object-oriented design, real-time systems design and user interface design.
Part 4: Describes a number of approaches to development, including agile methods,
software reuse, CBSE and critical systems development. Because change is now
such a large part of development, I have integrated material on software evolution
and maintenance into this part.
Part 5: Focuses on techniques for software verification and validation. It includes
chapters on static V & V, testing and critical systems validation.
Part 6: This part covers a range of management topics: managing people,
cost estimation, quality management, process improvement and configuration
management.
Part 7: The final part includes three chapters that are devoted to important
new technologies that are already starting to be used. The chapters cover security
engineering, service-oriented software engineering and aspect-oriented software
development.
In the introduction to each part, I discuss the structure and organisation in more
detail.
Changes from the 7th edition
This new edition of my textbook can be thought of as a mid-life upgrade than a
radical new revision of the book. I have designed it to be completely compatible
with the 7th edition but have included a new section on Emerging Technologies.
This discusses recent developments which I believe are significant for the future of
software engineering. This section includes three additional chapters:
30. Security engineering where I discuss issues of how to ensure that your soft-
ware is secure and can resist external attacks.
31. Service-oriented software engineering where I describe new approaches to
application development using reusable web services.
32. Aspect-oriented software development where I introduce a new technique of
software development based around the separation of concerns.
As the other chapters in the book are still current and relevant, I have not mod-
ified these, apart from very small changes to link to the new material in Chapters
30–32. More information on changes and the differences between the 6th and 7th
editions is available from the book website.
••
••
SE8_A01.qxd 4/4/06 8:53 Page vii
viii Preface
Readership
The book is aimed at students taking undergraduate and graduate courses and at
software engineers in commerce and industry. It may be used in general software
engineering courses or in courses such as advanced programming, software specifica-
tion, and software design or management. Software engineers in industry may find
the book useful as general reading and as a means of updating their knowledge on
particular topics such as requirements engineering, architectural design, dependable
systems development and process improvement. Wherever practicable, the examples
in the text have been given a practical bias to reflect the type of applications that
software engineers must develop.
Using the book for teaching
The book is widely used in a range of software engineering courses and, if you already
use the 7th edition, then you will find this edition to be completely compatible with
it. I have deliberately left Chapters 1 to 29 of the 7th edition unchanged. If you
use these in your teaching, there is no need to change any of your supplementary
material or associated coursework. The new chapters are stand-alone chapters and
you may wish to introduce one or more of them to give students an understanding
of new developments in the subject.
I have designed the book so that it can be used in three types of software
engineering course:
1. General introductory courses in software engineering For students who have
no previous software engineering experience, you can start with the introductory
section, then pick and choose chapters from the other sections of the book.
This will give students a general overview of the subject with the opportunity
of more detailed study for those students who are interested. If the course’s
approach is project-based, the early chapters provide enough material to allow
students to get started on projects, consulting later chapters for reference and
further information as their work progresses.
2. Introductory or intermediate courses on specific software engineering topics
The book supports courses in software requirements specification, software design,
software engineering management, dependable systems development and soft-
ware evolution. Each part can serve as a text in its own right for an introductory
or intermediate course on that topic. As well as further reading associated with
each chapter, I have also included information on other relevant papers and books
on the web site.
••
••
SE8_A01.qxd 4/4/06 8:53 Page viii
Preface ix
3. More advanced courses in specific software engineering topics The chapters
can form a foundation for a specific software course, but they must be sup-
plemented with further reading that explores the topic in greater detail. For
example, I teach an MSc module in systems engineering that relies on material
here. I have included details of this course and a course on critical systems
engineering on the web site.
The benefit of a general text like this is that it can be used in several related
courses. The text can be used in an introductory software engineering course and
in courses on specification, design and critical systems. Courses on component-based
software engineering and systems engineering use the book along with additional
papers that are distributed to students. Having a single text presents students with
a consistent view of the subject—and they don’t have to buy several books.
To reinforce the student’s learning experience, I have included a glossary of key
terms, with additional definitions on the web site. Furthermore, each chapter has:
• a clearly defined set of objectives set out on the first page;
• a list of key points covered in the chapter;
• suggested further reading—either books that are currently in print or easily
available papers (lists of other suggested readings and links can be found on
my web site);
• exercises, including design exercises.
The Software Engineering Body of Knowledge project (http://www.swebok.org)
was established to define the key technical knowledge areas that are relevant to pro-
fessional software engineers. These are organised under 10 headings: requirements,
design, construction, testing, maintenance, configuration management, management,
process, tools and methods, and quality. While it would be impossible to cover all
of the knowledge areas proposed by the SWEBOK project in a single textbook, all
of the top-level areas are discussed in this book.
Web pages
The publishers web site that is associated with the book is:
http://www.pearsoned.co.uk/sommerville
To support the use of this book in software engineering courses, I have included
a wide range of supplementary material on the web site. If you follow the Material
for Instructors links, you can find:
••
••
SE8_A01.qxd 4/4/06 8:53 Page ix
x Preface
• lecture presentations (PowerPoint and PDF) for all chapters in the book;
• class quiz questions for each chapter;
• case studies;
• project suggestions;
• course structure descriptions;
• suggestions for further reading and links to web resources for each chapter;
• solutions for a selection of the exercises associated with each chapter and for
the quiz questions (available to instructor’s only).
My own web site, includes all of the material on the publishers web site plus
extensive supplementary material on software engineering such as links to other sites,
invited lectures that I have presented, teaching material that I have developed for
related courses such as Systems Engineering and the web sites of previous editions
of Software Engineering. The URL of this site is:
http://www.software-engin.com
It has been my policy, both in the previous edition and in this edition, to keep
the number of web links in the book to an absolute minimum. The reason for this
is that these links are subject to change and, once printed, it is impossible to update
them. Consequently, the book’s web page includes a large number of links to resources
and related material on software engineering. If you use these and find problems,
please let me know and I will update the links.
I welcome your constructive comments and suggestions about the book and the web
site. You can contact me at ian@software-engin.com. I recommend that you include
[SE8] in the subject of the e-mail message to ensure that my spam filters do not
accidentally reject your mail. I regret that I do not have time to help students with their
homework, so please do not ask me how to solve any of the problems in the book.
Acknowledgements
A large number of people have contributed over the years to the evolution of this book
and I’d like to thank everyone (reviewers, students and book users who have e-mailed
me) who has commented on previous editions and made constructive suggestions
for change. The editorial and production staff at Pearson Education in England and
the US were supportive and helpful, and produced the book in record time. So thanks
to Simon Plumtree, Mary Lince, Ros Woodward, Keith Mansfield, Patty Mahtani,
Daniel Rausch, Carol Noble and Sharon Burkhardt for their help and support.
••
••
SE8_A01.qxd 4/4/06 8:54 Page x
Preface xi
As I write, I am about to leave Lancaster University for new challenges at
St Andrews University in Scotland. I’d like to thank all of my current and pre-
vious colleagues at Lancaster for their support and encouragement over the years
as software engineering has evolved.
Finally, I’d like to thank my family, who tolerated my absence when the book
was being written and my frustration when the words were not flowing. A big thank-
you to my wife Anne and daughters Ali and Jane for their help and support.
Ian Sommerville,
February 2006
••
••
SE8_A01.qxd 4/4/06 8:54 Page xi
••
Contents at a glance
Preface v
Part 1 Overview 1
Chapter 1 Introduction 3
Chapter 2 Socio-technical systems 20
Chapter 3 Critical systems 43
Chapter 4 Software processes 63
Chapter 5 Project management 92
Part 2 Requirements 115
Chapter 6 Software requirements 117
Chapter 7 Requirements engineering processes 142
Chapter 8 System models 169
Chapter 9 Critical systems specification 193
Chapter 10 Formal specification 217
Part 3 Design 239
Chapter 11 Architectural design 241
Chapter 12 Distributed systems architectures 266
Chapter 13 Application architectures 292
Chapter 14 Object-oriented design 313
Chapter 15 Real-time software design 339
Chapter 16 User interface design 362
Part 4 Development 389
Chapter 17 Rapid software development 391
Chapter 18 Software reuse 415
Chapter 19 Component-based software engineering 439
Chapter 20 Critical systems development 462
Chapter 21 Software evolution 488
Part 5 Verification and validation 513
Chapter 22 Verification and validation 515
Chapter 23 Software testing 537
Chapter 24 Critical systems validation 566
Part 6 Managing people 589
Chapter 25 Managing people 591
Chapter 26 Software cost estimation 612
Chapter 27 Quality management 641
Chapter 28 Process improvement 665
Chapter 29 Configuration management 689
Part 7 Emerging technologies 715
Chapter 30 Security engineering 717
Chapter 31 Service-oriented software engineering 743
Chapter 32 Aspect-oriented software development 770
Glossary 794
References 806
Index 824
SE8_A01.qxd 4/4/06 8:54 Page xii
••
Contents
Preface v
Part 1 Overview 1
Chapter 1 Introduction 3
1.1 FAQs about software engineering 5
1.2 Professional and ethical responsibility 14
Key Points 17
Further Reading 18
Exercises 18
Chapter 2 Socio-technical systems 20
2.1 Emergent system properties 23
2.2 Systems engineering 25
2.3 Organisations, people and computer systems 34
2.4 Legacy systems 38
Key Points 40
Further Reading 41
Exercises 41
SE8_A01.qxd 4/4/06 8:54 Page xiii
xiv Contents
Chapter 3 Critical systems 43
3.1 A simple safety-critical system 46
3.2 System dependability 47
3.3 Availability and reliability 51
3.4 Safety 55
3.5 Security 58
Key Points 60
Further Reading 61
Exercises 61
Chapter 4 Software processes 63
4.1 Software process models 65
4.2 Process iteration 71
4.3 Process activities 74
4.4 The Rational Unified Process 82
4.5 Computer-Aided Software Engineering 85
Key Points 89
Further Reading 90
Exercises 91
Chapter 5 Project management 92
5.1 Management activities 94
5.2 Project planning 96
5.3 Project scheduling 99
5.4 Risk management 104
Key Points 111
Further Reading 112
Exercises 112
••
••
SE8_A01.qxd 4/4/06 8:54 Page xiv
Contents xv
Part 2 Requirements 115
Chapter 6 Software requirements 117
6.1 Functional and non-functional requirements 119
6.2 User requirements 127
6.3 System requirements 129
6.4 Interface specification 135
6.5 The software requirements document 136
Key Points 140
Further Reading 140
Exercises 141
Chapter 7 Requirements engineering processes 142
7.1 Feasibility studies 144
7.2 Requirements elicitation and analysis 146
7.3 Requirements validation 158
7.4 Requirements management 161
Key Points 166
Further Reading 167
Exercises 167
Chapter 8 System models 169
8.1 Context models 171
8.2 Behavioural models 173
8.3 Data models 177
8.4 Object models 181
8.5 Structured methods 187
Key Points 190
Further Reading 191
Exercises 191
••
••
SE8_A01.qxd 4/4/06 8:54 Page xv
xvi Contents
Chapter 9 Critical systems specification 193
9.1 Risk-driven specification 195
9.2 Safety specification 202
9.3 Security specification 204
9.4 Software reliability specification 207
Key Points 213
Further Reading 214
Exercises 214
Chapter 10 Formal specification 217
10.1 Formal specification in the software process 219
10.2 Sub-system interface specification 222
10.3 Behavioural specification 229
Key Points 236
Further Reading 236
Exercises 237
Part 3 Design 239
Chapter 11 Architectural design 241
11.1 Architectural design decisions 245
11.2 System organisation 247
11.3 Modular decomposition styles 252
11.4 Control styles 256
11.5 Reference architectures 260
Key Points 263
Further Reading 264
Exercises 264
Chapter 12 Distributed systems architectures 266
12.1 Multiprocessor architectures 269
••
••
SE8_A01.qxd 4/4/06 8:54 Page xvi
Contents xvii
12.2 Client–server architectures 270
12.3 Distributed object architectures 275
12.4 Inter-organisational distributed computing 282
Key Points 289
Further Reading 290
Exercises 290
Chapter 13 Application architectures 292
13.1 Data processing systems 295
13.2 Transaction processing systems 298
13.3 Event processing systems 304
13.4 Language processing systems 307
Key Points 310
Further Reading 310
Exercises 311
Chapter 14 Object-oriented design 313
14.1 Objects and object classes 316
14.2 An object-oriented design process 320
14.3 Design evolution 335
Key Points 336
Further Reading 337
Exercises 337
Chapter 15 Real-time software design 339
15.1 System design 342
15.2 Real-time operating systems 346
15.3 Monitoring and control systems 349
15.4 Data acquisition systems 355
Key Points 357
Further Reading 359
Exercises 359
••
••
SE8_A01.qxd 4/4/06 8:54 Page xvii
xviii Contents
Chapter 16 User interface design 362
16.1 Design issues 366
16.2 The UI design process 376
16.3 User analysis 378
16.4 User interface prototyping 381
16.5 Interface evaluation 383
Key Points 385
Further Reading 386
Exercises 386
Part 4 Development 389
Chapter 17 Rapid software development 391
17.1 Agile methods 396
17.2 Extreme programming 398
17.3 Rapid application development 405
17.4 Software prototyping 409
Key Points 412
Further Reading 413
Exercises 414
Chapter 18 Software reuse 415
18.1 The reuse landscape 418
18.2 Design patterns 421
18.3 Generator-based reuse 423
18.4 Application frameworks 426
18.5 Application system reuse 428
Key Points 437
Further Reading 437
Exercises 438
••
••
SE8_A01.qxd 4/4/06 8:54 Page xviii
Contents xix
Chapter 19 Component-based software engineering 439
19.1 Components and component models 442
19.2 The CBSE process 450
19.3 Component composition 452
Key Points 460
Further Reading 460
Exercises 461
Chapter 20 Critical systems development 462
20.1 Dependable processes 466
20.2 Dependable programming 467
20.3 Fault tolerance 475
20.4 Fault-tolerant architectures 482
Key Points 486
Further Reading 486
Exercises 487
Chapter 21 Software evolution 488
21.1 Program evolution dynamics 490
21.2 Software maintenance 492
21.3 Evolution processes 498
21.4 Legacy system evolution 504
Key Points 509
Further Reading 510
Exercises 510
Part 5 Verification and Validation 513
Chapter 22 Verification and validation 515
22.1 Planning verification and validation 519
22.2 Software inspections 521
••
••
SE8_A01.qxd 4/4/06 8:54 Page xix
Other documents randomly have
different content
This forehead indicates both genius and folly—this, at the first glance,
may appear a contradiction; but the termination of the frontal sinus in a
point—an almost infallible mark of folly—renders the position less
paradoxical.
A man of such a countenance speaks quickly, talks incoherently, and is
often absent, or in a deep reverie.
11
No. XI.
Here we see a countenance that evinces a capacity for great
achievements—in which patriotism and heroic virtue, worthy of ancient
Rome, are distinguishable; but it must be observed, that although it
promises fair, still it marks the man to be liable to the failings of humanity,
and often subject to be hurried by violence of passion, and false notions of
honour, beyond the bounds of reason.
This aquiline nose, curved at the root, is indicative of an imperious and
fiery temper; the cavity at the base of the forehead is not sufficiently large,
and there is too slight a projection of the bone of the eye;—hence we may
predict, that if the person of whom we are speaking takes to improper
courses, it will be difficult to restore him to the path of rectitude.
12
No. XII.
This is a head in which the observer will recognise a philosopher; but he
may search in vain for indications of courage—still less for that heroic
boldness which is the parent of brilliant achievement; the outline of the
nose, which is without swell or compass, and the sinking at its root, which
is too wide and deep, forbid such an inference. There is, however,
observable in this face, a delicacy of sentiment easy to be wounded, and it
indicates a mind qualified for profound and philosophic researches.
13
No. XIII.
Phlegmatic people are generally distinguishable by the following signs:
—the contour of their features is plump and round, but neither bold nor
prominent; their eyebrows are small and elevated, and their lips soft and
thick; these characteristics are always accompanied with blue and vacant
eyes: the head, in persons of this description, is often round; and the skin
almost white and colourless; their hair is generally of a light or chesnut
colour, and curls spontaneously; their convex forehead proclaims them
incapable of energy; and they are very frequently stout, tall, and plump: it
would seem as though nature had been beneficent to the body at the
expense of the mind, so sluggishly does the latter perform its functions; and
yet the exertions of the former are equally dull and spiritless.
14
No. XIV.
This broad, square forehead, betokens a strong memory, and a fund of
good sense; but its perpendicular form denotes a degree of inflexibility
which may degenerate into obstinacy; the slight projection of the lower lip,
and the flatness of the chin, are indicative of good nature.
This is the visage of a prudent, discerning man; of one devoid of poetic
genius, and whose writings will never attain to sublimity; but, persevering
and resolute, he can turn his mind to every subject, and may render himself
conspicuous in a deliberative assembly; he is peculiarly calculated for
profound and laborious investigation.
15
No. XV.
This is the physiognomy of one designed by nature to be a man of
business; he does not possess the forehead of a poet, nor of one whose
impetuous imagination transcends the barriers of cold reason; but its
elevation and roundness at the summit, are proofs of a sedate, cool, and
reflecting mind. The nose announces firmness—benevolence is imprinted
on the mouth; but the bold shape of the lips betrays a slight disposition to
choler. This chin denotes a man incapable of violating a trust, or betraying
the confidence reposed in him, and it would seem as if he had been formed
to be essentially useful: as a man of business, a lawyer, or a merchant, his
probity and integrity will always render him respectable.
16
No. XVI.
Firmness, judgment, and profundity, are the most striking characteristics
of this countenance. The bony formation of the head shows that this person
possesses a constancy of mind not easy to be shaken: what he has once
grasped will never escape him, and he will always advance straight forward
to the point. His materials will be disposed with diligence and reflection,
but without taste. His forehead, however, is too concave, which lessens the
superiority of his character.
This phisiognomy is peculiarly appropriate to a lawyer or a magistrate.
17
No. XVII.
Here is the phisiognomy of one who judges the actions and characters of
men with severity; he extends no indulgence to the follies of mankind,
although he yields them his commiseration when bewildered in the mist of
error. His scrutinizing look penetrates their thoughts, and his intrepidity
never suffers him to conceal from them the truth. His mouth disclaims
loquacity; on the contrary, he thinks much, and speaks little; the shape of
his forehead betokens a man of the highest intellectual endowments: his
mind, however, is methodical, and reason directs its operations. His
eyebrows designate a profound thinker, and the irregular shape of the face
holds forth the promise of originality of genius.
18
No. XVIII.
Benevolence and probity are depicted on this countenance, which is not
that of a man of the world, nor of one subservient to the punctilios of
etiquette, and the rules of politeness: for the face, bearing, as it does, the
stamp of frankness, seems rather to have the air of a person of inferior rank;
and its component features exhibit a kind of muscular strength which is
rarely discoverable in the wealthy inhabitants of a great city. This proves
that the face of a mechanic may display the noblest qualities as
unequivocally as the visage of a man of the most exalted rank; and although
not susceptible of the same delicacy of sentiment, and of that nice attention
to others, the deficiency is supplied by open and cordial good nature. His
features, collectively, proclaim him possessed of intrepidity and calmness.
19
No. XIX.
The following particulars are combined in the hateful character of the
miser: Egotistical, hard-hearted, and mistrustful, the slightest loss afflicts
him; and to confer a benefit upon him, is throwing it away; care is ever
brooding in his heart, and every look is fraught with suspicion; his
propensity cannot lie concealed; he cannot move, he cannot walk a step,
without betraying it. Persons of this description often have small and
sunken eyes; their lips are strongly made out, and compressed against one
another.
We may observe, that they almost always write badly, which is by no
means surprising, since a greater degree of attention would distract their
minds from their grand object—the amassing of wealth.
20
No. XX.
Here are indications of extraordinary genius. The features of this face,
the outlines of which are neither too angular nor too rigid, decisively evince
great energy; the nose alone is indicative of an exalted mind: the position of
the eyebrows, and the gentle projection and jutting of the chin, are
characteristic of resolution; and the perfectly happy formation of the
forehead displays genius, and designates a character in which reflection and
activity are at once combined: he, whose features unite so many marks of
greatness, can be no other than a hero.
21
No. XXI.
This countenance is thoroughly good, but it is difficult to discover its
constitution. The soundest reason, devoid of what may strictly be called
genius, a tender sensibility without affectation, wisdom profiting by every
lesson of experience, clearness of perception, elevation of language,
calmness, yet not without vigour when called upon to act, and modesty
without pusillanimity, are here all collected. The forehead unites the
phlegmatic and sanguine; the eye and nose, the choleric and sanguine; the
mouth, the sanguine and melancholic; the lower part of the face, the
phlegmatic and sanguine temperaments. (Extract from Lavater.)
22
No. XXII.
The features which characterise a choleric man are strongly marked; his
eye-brows are almost always thick, the end of his nose acute, his eyes very
often gray, and always lively, with red lids, and the ball of the eye, starting,
as it were, from the head, the upper eyelid rising high, and almost totally
disappearing. His nostrils are wide, which show strong respiration; his
forehead is covered with irregular protuberances; his blood-vessels are very
perceptible, and the colour of his skin varies from yellow to red. The neck
of a choleric man is almost always extremely short; and this is the most
unequivocal standard by which to determine his character.
23
No. XXIII.
It would be useless to search in this physiognomy for signs of genius: we
can only find patience, coldness, and obstinacy; firmness of character
difficult to manage; an understanding correct enough, but of little
penetration; benevolence without warmth, and fidelity without tenderness;
or, rather, that kind of faithful adherence which proceeds more from the
mind than the heart.
The convexity of the forehead presumes patience; but the inconsiderable
space between the eye and nose forbids perspicuity.
24
No. XXIV.
Here is a candid, ingenuous, frank, and honest countenance, without the
slightest vestige of vice, passion, or intrigue. Great talents are not to be
expected, for the shape of the forehead, although it does not deny
intelligence, yet evinces no energy, but is indicative of gentleness; the chin
betrays a degree of timidity, and the mouth betokens tranquillity of mind,
and love of order.
25
No. XXV.
A receding forehead, eyes black, and full of fire, their shape, the form of
the upper eyelid, an aquiline nose, and a large and projecting chin, are here
characteristic of a passionate man. The chin designates an enterprising
character, the nose denotes an ardent imagination, and lively passions,
beyond the control of reason, and the forehead affords no inference of a
reflecting mind.
Where there is no excavation between the bones of the eyes, or, in other
words, should they form no observable projection, we may anticipate a
headstrong and thoughtless character.
26
No. XXVI.
This face presents a most hateful character; craft, sordid avarice, and
hardened villany, have disfigured it, and distorted the eyes and mouth. None
of its muscles or features is expressive of benevolence or sensibility; the
scoundrel might always be recognised in these lineaments; however
sedulously he may endeavour to hide his soul behind the mask of
hypocrisy; however he may attempt to soften his lips into a smile, still his
countenance will infallibly belie him.
27
No. XXVII.
In the physiognomy of this person we may remark a degree of self-love
which has degenerated into dogmatism, an arrogant disposition, and a
certain irritability which years cannot allay, and which is strongly
manifested wherever his self-love is touched. Good sense and correct
judgment are, however, perceivable, and the shape of the forehead is by no
means incompatible with understanding; but the eyes, the nostrils, and the
mouth, denote a disputatious and dogmatical character.
28
No. XXVIII.
In this countenance we may recognise a rogue; the size and shape of the
forehead are declaratory, however, of a reflecting, and even of a profound
mind. The salient angle of the nose, the projection and sharpness of the
chin, indicate an astute, enterprising, and crafty character. On the whole,
these features, collectively, make up a countenance which we cannot regard
without repugnance, and in which it is impossible to confide.
29
No. XXIX.
In this physiognomy we distinguish taste, acuteness and sensibility.
Should a man of this description become an author, his style will be florid,
and he will describe the beauties of nature and the pleasures of friendship;
but he will avoid the discussion of scientific subjects, and sometimes turn
away from philosophical argument as dry and insipid.
The shape of his lips would seem to indicate a genius for poetry, and the
projection of the bone of the eye shows great aptness for mental exertion.
The chin denotes a character possessed of firmness and energy; in fine, we
may conclude that a man who bears a physiognomy like this is highly
gifted; it distinctly presents the impress of genius.
30
No. XXX.
A downcast look, longitudinal wrinkles on the cheeks, compressed lips,
and dull eyes, are all symptomatic of a melancholy man; his mouth is often
drawn in, his complexion bilious, and his skin dry. It is observable that
persons of this character have almost always defective teeth; their eyes are
seldom blue, but very frequently dark; their hair is generally long and sleek,
and the mouth is usually kept shut, to which the badness of their teeth may
be attributed.
31
No. XXXI.
In this head we may recognise the face of a gay and sprightly man;
repartee and epigram are his arms, and he is capable of wielding them with
spirit and effect. The mouth, with a little hollow in the middle of the under
lip, is almost always an indication of such a character, which is also
discoverable by the interval between the two eyes.
We must not confound a person of this description with the man that
scoffs and jeers; the cheeks of the latter assume a convex form, and
approach near to the eyes.
32
No. XXXII.
Here are collected the features of a character of extraordinary
melancholy, in which a discontented and sluggish disposition is perceptible.
The blue eyes and small eyebrows, and the thickness of the lips, mark the
intermixture of a phlegmatic tint; the elongation of the nose, as well as the
forehead, declare no want of judgment, and it is that which particularly
characterizes this physiognomy, and gives it its pensive air. The features of
this face, taken in connexion, exhibit a tranquil mind, fond of regularity,
and especially of quiet, and to which the functions of an ecclesiastic would
be most appropriate.
COMPARISON
OF
MAN WITH OTHER ANIMALS.
COMPARISON, &c.
John Baptiste Porta, an Italian, published, about three hundred years
ago, a treatise on Physiognomy, from which the extracts in the following
pages are translated. Although Lavater has ridiculed the system of Porta, he
is, nevertheless, indebted to him for many of his best ideas on the subject.
In this treatise Porta says, that Ptolemy Maternusa, Vitruvius, and others,
describe all known nations as follows: viz. “The Scythians are cruel, the
Italians noble, the Gauls merry and inconsiderate, the Greeks fickle,
Africans deceitful, Syrians covetous, Asiatics lecherous, Sicilians cunning,
Spaniards haughty, proud, and vain of their courage, Egyptians wise,
Babylonians prudent.”
It was the opinion of Plato, that the variety of manners and constitution
observable in the inhabitants of different countries is to be attributed solely
to the difference of climate.
Aristotle thus writes to Alexander, respecting the character of man.
Nature has formed him more perfect than all other animals, and still he
possesses all the different characters of the latter. He is as bold as the lion,
timid as the hare; he can be compared to the cock for his pride and
liberality, to the dog for his avarice; he is harsh and austere as the crow,
gentle as the turtle-dove, domestic as the pigeon, fickle as the roebuck,
passionate as the leopard, lazy as the bear, affectionate as the elephant,
stupid as the ass, vain as the peacock, industrious as the bee, ungovernable
as the bull, cross as the mule, mute as a fish; his malice renders him equal
to the lioness, his cunning to the fox, his meekness to the lamb, his love of
roving to the kid. The reason with which he is endowed renders him worthy
of being compared to angels; he is given to lust as the swine, is wicked as
the owl, useful as the horse, and hurtful as the rat. In short, there is no
vegetable, mineral, or other substance in the world, but what possesses
some quality that can be referred to man. Adamantius says that we may
judge of the manners and tempers of all animals by their looks. For
instance, it is natural for the lion to be strong and easily provoked, which
can be perceived by his form and looks. The leopard is pretty and delicate,
but is, nevertheless, subject to anger, to lying in ambush, to treachery, and is
at once timid and bold, which exactly corresponds with his external
appearance; and so it is with all other animals. The bear is cruel, deceitful,
unsocial and savage; the wild boar has a fearless fury, to which he gives
himself up; the ox is severe and simple; the horse is proud and desirous of
glory; the fox is cunning, and lies in wait; the monkey is jocose and
dissembling; the sheep is plain and dull; the goat is lazy; the hog is filthy
and gluttonous. The same thing holds good with respect to birds and
reptiles. If, then, it happens that a man possesses a member or feature which
resembles that of an animal or bird, it is by that resemblance he must be
judged. For if his eyes are of a tawny colour, and a little concave, you must
remember that they are similar to that of the lion; if very much concave,
they denote bad manners, and agree with those of the monkey; if level, they
resemble those of the bull; if they seem to start from his head, and are very
prominent, stupid, and disagreeable to the sight, they have some likeness to
those of the ass.
Man, that master-piece, formed by the Creator in his own image, and
impressed with the brilliancy of his character—in short, that earthly
divinity, was endowed with a strong and loud voice, a large body, and a
slow gait. With respect to his manners and disposition, he has a generous
and fearless heart, is equitable, candid, desirous of glory, and eager of
success in all his undertakings.
Fig. 1.
Fig. 2.
Fig. I.
According to Aristotle’s opinion on Physiognomy, he whose nose is
curved from the root of the forehead, and strongly marked like the beak of
an eagle, must be a brave man. It was also observed by Polemon and
Adamantius, that such a nose denotes courage; and Albert, upon the
authority of Loxus, conveys the same idea. Noses thus formed are
commonly distinguished by the term Aquiline, or Roman, and seem to bear
the character of something royal or majestic; for the eagle, whose bill is so
formed, is the king of birds: from this it may be inferred that an aquiline
nose denotes a dignified mind, capable of magnificent conceptions. Cyrus,
according to Xenophon and Plutarch, possessed such a nose, and the
Persians held them in such high estimation, that they granted royal honours
to none but those possessed of aquiline noses, and to that custom they still
adhere. They loved Cyrus above all other princes, and admired his
magnanimity and courage. I have noticed on a medal, in the collection of
my brother Porta, the antiquarian, that Artaxerxes, the descendant of Cyrus,
and a king of Persia, had a very crooked and prominent nose. This prince
proved the greatness of his mind on many occasions, insomuch that for a
trifling present, or some inconsiderable service which he had received from
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
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.
Let us accompany you on the journey of exploring knowledge and
personal growth!
ebookultra.com

Software Engineering 8ed. Edition Sommerville I.

  • 1.
    Visit https://ebookultra.com todownload the full version and explore more ebooks or textbooks Software Engineering 8ed. Edition Sommerville I. _____ Click the link below to download _____ https://ebookultra.com/download/software-engineering-8ed- edition-sommerville-i/ Explore and download more ebooks or textbooks at ebookultra.com
  • 2.
    Here are somerecommended products that we believe you will be interested in. You can click the link to download. Software Engineering Handbook 1st Edition Jessica Keyes https://ebookultra.com/download/software-engineering-handbook-1st- edition-jessica-keyes/ Human Centered Software Engineering Integrating Usability in the Software Development Lifecycle Ahmed Seffah https://ebookultra.com/download/human-centered-software-engineering- integrating-usability-in-the-software-development-lifecycle-ahmed- seffah/ Essentials of software engineering Fourth Edition Barbara Bernal https://ebookultra.com/download/essentials-of-software-engineering- fourth-edition-barbara-bernal/ Essentials Of Software Engineering 3rd Edition Frank Tsui https://ebookultra.com/download/essentials-of-software- engineering-3rd-edition-frank-tsui/
  • 3.
    Software Engineering andComputer Games 1st Edition Rucker https://ebookultra.com/download/software-engineering-and-computer- games-1st-edition-rucker/ Object Oriented Software Engineering 7th Edition Stephen Schach https://ebookultra.com/download/object-oriented-software- engineering-7th-edition-stephen-schach/ Software Reliability Engineering More Reliable Software Faster and Cheaper 2nd Edition John D. Musa https://ebookultra.com/download/software-reliability-engineering-more- reliable-software-faster-and-cheaper-2nd-edition-john-d-musa/ Fundamentals of software engineering 4th ed. Edition Rajib Mall https://ebookultra.com/download/fundamentals-of-software- engineering-4th-ed-edition-rajib-mall/ Software engineering quality practices 1st Edition Ronald Kirk Kandt https://ebookultra.com/download/software-engineering-quality- practices-1st-edition-ronald-kirk-kandt/
  • 5.
    Software Engineering 8ed.Edition Sommerville I. Digital Instant Download Author(s): Sommerville I. ISBN(s): 9780321313799, 0321313798 Edition: 8ed. File Details: PDF, 9.61 MB Year: 2006 Language: english
  • 6.
    Log on toaw-bc.com/computing for a full list of Computing titles. The 8th edition of the best-selling introduction to software engineering is now updated with three new chapters on state-of-the-art topics. NEW CHAPTERS IN THE 8TH EDITION • Security engineering, showing you how you can design software to resist attacks and recover from damage; • Service-oriented software engineering, explaining how reusable web services can be used to develop new applications; • Aspect-oriented software development, introducing new techniques based on the separation of concerns. Software Engineering Software Engineering KEY FEATURES • Includes the latest developments in software engineering theory and practice, integrated with relevant aspects of systems engineering. • Extensive coverage of agile methods and reuse. • Integrated coverage of system safety, security and reliability – illustrating best practice in developing critical systems. • Two running case studies (an information system and a control system) illuminate different stages of the software lifecycle. ONLINE RESOURCES Visit www.pearsoned.co.uk/sommerville to access a full range of resources for students and instructors. In addition, a rich collection of resources including links to other websites, teaching material on related courses and additional chapters is available at http://www.software-engin.com. IAN SOMMERVILLE is Professor of Software Engineering at the University of St. Andrews in Scotland 8 8 8 SOMMERVILLE SOMMERVILLE SOMMERVILLE Software Engineering Software Engineering ISBN 0-321-31379-8 9 780321 313799 www.pearson-books.com an imprint of 0321313798_cover.qxd 26/4/06 17:48 Page 1
  • 7.
    •• Software Engineering EighthEdition Visit the Software Engineering, eighth edition Companion Website at www.pearsoned.co.uk/sommerville to find valuable student learning material including: • Lecture presentations (in PowerPoint and PDF) for all chapters in the book • Class quiz questions for each chapter • Case studies • Project suggestions • Suggestions for further reading and links to web resources for each chapter This 8th edition has enhanced the 7th edition with new material on security engineering, service-oriented software engineering and aspect-oriented software development. For educational purposes, it is completely compatible with the 7th edition. SE8_A01.qxd 4/4/06 8:53 Page i
  • 8.
    •• Operating Systems J Baconand T Harris Programming Language Essentials H E Bal and D Grune Programming in Ada 95, 2nd ed J G P Barnes Java Gently, 3rd ed J Bishop Software Design, 2nd ed D Budgen Concurrent Programming A Burns and G Davies Real-Time Systems and Programming Languages, 3rd ed A Burns and A Wellings Database Systems, 4th ed T Connolly and C Begg Distributed Systems, 4th ed G Coulouris, J Dollimore and T Kindberg Fortran 90 Programming, 2nd ed T M R Ellis, I R Phillips and T M Lahey Program Verification N Francez Introduction to Programming using SML M Hansen and H Rischel Functional C P Hartel and H Muller Algorithms and Data Structures, 2nd ed J Kingston Introductory Logic and Sets for Computer Scientists N Nissanke Human-Computer Interaction J Preece et al Algorithms F Rabhi and G Lapalme Ada 95 From the Beginning, 3rd ed J Skansholm C++ From the Beginning, 2nd ed J Skansholm Java From the Beginning, 2nd ed J Skansholm Object-Oriented Programming in Eiffel, 2nd ed P Thomas and R Weedon Miranda S Thompson Haskell, 2nd ed S Thompson Discrete Mathematics for Computer Scientists, 2nd ed J K Truss Compiler Design R Wilhem and D Maurer Discover Delphi S Williams and S Walmsley Comparative Programming Languages, 3rd ed R G Clark International Computer Science Series Selected titles in the series SE8_A01.qxd 4/4/06 8:53 Page ii
  • 9.
    •• Software Engineering Eighth Edition IanSommerville SE8_A01.qxd 4/4/06 8:53 Page iii
  • 10.
    •• Pearson Education Limited EdinburghGate Harlow Essex CM20 2JE England and Associated Companies around the World. Visit us on the World Wide Web at: www.pearsoned.co.uk First published 1982 Second Edition 1984 Third Edition 1989 Fourth Edition 1992 Fifth Edition 1995 Sixth Edition 2001 Seventh Edition 2004 Eighth Edition 2007 © Addison-Wesley Publishers Limited 1982, 1984 © Pearson Education Limited 1989, 1995, 2001, 2004, 2007 The right of Ian Sommerville to be identified as author of this Work has been asserted by him in accordance with the Copyright, Designs and Patents Act 1988. 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 or otherwise, without either the prior written permission of the publisher or a licence permitting restricted copying in the United Kingdom issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP. All trademarks used herein are the property of their respective owners. The use of any trademark in this text does not vest in the author or publisher any trademark ownership rights in such trademarks, nor does the use of such trademarks imply any affiliation with or endorsement of this book by such owners. ISBN 13: 978-0-321-31379-9 ISBN 10: 0-321-31379-8 British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library Library of Congress Cataloging-in-Publication Data A catalog record for this book is available from the Library of Congress 10 9 8 7 6 5 4 3 2 10 09 08 07 06 Typeset by 35 in 10/12.5pt Times Printed and bound in the United States of America SE8_A01.qxd 4/4/06 8:53 Page iv
  • 11.
    •• Preface The first editionof this textbook on software engineering was published more than twenty years ago. That edition was written using a dumb terminal attached to an early minicomputer (a PDP-11) that probably cost about $50,000. I wrote this edition on a wireless laptop that cost less than $2,000 and is many times more powerful than that PDP-11. Software then was mostly mainframe software, but personal computers were just becoming available. None of us then realised how pervasive these would become and how much they would change the world. Changes in hardware over the past twenty or so years have been absolutely remark- able, and it may appear that changes in software have been equally significant. Certainly, our ability to build large and complex systems has improved dramatically. Our national utilities and infrastructure—energy, communications and transport— rely on very complex and, largely, very reliable computer systems. For building business systems, there is an alphabet soup of technologies—J2EE, .NET, EJB, SAP, BPEL4WS, SOAP, CBSE—that allow large web-based applications to be deployed much more quickly than was possible in the past. However, although much appears to have changed in the last two decades, when we look beyond the specific technologies to the fundamental processes of soft- ware engineering, much has stayed the same. We recognised twenty years ago that the waterfall model of the software process had serious problems, yet a survey published in December 2003 in IEEE Software showed that more than 40% of companies are still using this approach. Testing is still the dominant program validation technique, although other techniques such as inspections have been used more effectively since the mid-1970s. CASE tools, although now based around the UML, are still essentially diagram editors with some checking and code-generation functionality. SE8_A01.qxd 4/4/06 8:53 Page v
  • 12.
    vi Preface Our currentsoftware engineering methods and techniques have made us much better at building large and complex systems than we were. However, there are still too many projects that are late, are over budget and do not deliver the software that meets the customer’s needs. While I was writing the 7th edition, a government enquiry in the UK reported on the project to provide a national system to be used in courts that try relatively minor offenders. The cost of this system was estimated at £156 million and it was scheduled for delivery in 2001. In 2004, costs had escalated to £390 million and it was still not fully operational. There is, therefore, still a pressing need for software engineering education. Over the past few years, the most significant developments in software engineer- ing have been the emergence of the UML as a standard for object-oriented system description and the development of agile methods such as extreme programming. Agile methods are geared to rapid system development, explicitly involve the user in the development team, and reduce paperwork and bureaucracy in the software process. In spite of what some critics claim, I think these approaches embody good software engineering practice. They have a well-defined process, pay attention to system specification and user requirements, and have high quality standards. However, this revision has not become a text on agile methods. Rather, I focus on the basic software engineering processes—specification, design, development, verification, and validation and management. You need to understand these processes and associated techniques to decide whether agile methods are the most appropriate development strategy for you and how to adapt and change methods to suit your particular situation. A pervasive theme of the book is critical systems—systems whose failure has severe consequences and where system dependability is critical. In each part of the book, I discuss specific software engineering techniques that are relevant to critical systems engineering. Books inevitably reflect the opinions and prejudices of their authors. Some readers will disagree with my opinions and with my choice of material. Such dis- agreement is a healthy reflection of the diversity of the discipline and is essential for its evolution. Nevertheless, I hope that all software engineers and software engineering students can find something of interest here. The structure of the book The structure of the book is based around the fundamental software engineering processes. It is organised into seven parts. The first six focus on software processes and the final part discusses some important new software engineering technologies. Part 1: Introduces software engineering, places it in a broader systems context and presents the notions of software engineering processes and management. •• •• SE8_A01.qxd 4/4/06 8:53 Page vi
  • 13.
    Preface vii Part 2:Covers the processes, techniques and deliverables that are associated with requirements engineering. It includes a discussion of software requirements, system modelling, formal specification and techniques for specifying dependability. Part 3: This part is devoted to software design and design processes. Three out of the six chapters focus on the important topic of software architectures. Other topics include object-oriented design, real-time systems design and user interface design. Part 4: Describes a number of approaches to development, including agile methods, software reuse, CBSE and critical systems development. Because change is now such a large part of development, I have integrated material on software evolution and maintenance into this part. Part 5: Focuses on techniques for software verification and validation. It includes chapters on static V & V, testing and critical systems validation. Part 6: This part covers a range of management topics: managing people, cost estimation, quality management, process improvement and configuration management. Part 7: The final part includes three chapters that are devoted to important new technologies that are already starting to be used. The chapters cover security engineering, service-oriented software engineering and aspect-oriented software development. In the introduction to each part, I discuss the structure and organisation in more detail. Changes from the 7th edition This new edition of my textbook can be thought of as a mid-life upgrade than a radical new revision of the book. I have designed it to be completely compatible with the 7th edition but have included a new section on Emerging Technologies. This discusses recent developments which I believe are significant for the future of software engineering. This section includes three additional chapters: 30. Security engineering where I discuss issues of how to ensure that your soft- ware is secure and can resist external attacks. 31. Service-oriented software engineering where I describe new approaches to application development using reusable web services. 32. Aspect-oriented software development where I introduce a new technique of software development based around the separation of concerns. As the other chapters in the book are still current and relevant, I have not mod- ified these, apart from very small changes to link to the new material in Chapters 30–32. More information on changes and the differences between the 6th and 7th editions is available from the book website. •• •• SE8_A01.qxd 4/4/06 8:53 Page vii
  • 14.
    viii Preface Readership The bookis aimed at students taking undergraduate and graduate courses and at software engineers in commerce and industry. It may be used in general software engineering courses or in courses such as advanced programming, software specifica- tion, and software design or management. Software engineers in industry may find the book useful as general reading and as a means of updating their knowledge on particular topics such as requirements engineering, architectural design, dependable systems development and process improvement. Wherever practicable, the examples in the text have been given a practical bias to reflect the type of applications that software engineers must develop. Using the book for teaching The book is widely used in a range of software engineering courses and, if you already use the 7th edition, then you will find this edition to be completely compatible with it. I have deliberately left Chapters 1 to 29 of the 7th edition unchanged. If you use these in your teaching, there is no need to change any of your supplementary material or associated coursework. The new chapters are stand-alone chapters and you may wish to introduce one or more of them to give students an understanding of new developments in the subject. I have designed the book so that it can be used in three types of software engineering course: 1. General introductory courses in software engineering For students who have no previous software engineering experience, you can start with the introductory section, then pick and choose chapters from the other sections of the book. This will give students a general overview of the subject with the opportunity of more detailed study for those students who are interested. If the course’s approach is project-based, the early chapters provide enough material to allow students to get started on projects, consulting later chapters for reference and further information as their work progresses. 2. Introductory or intermediate courses on specific software engineering topics The book supports courses in software requirements specification, software design, software engineering management, dependable systems development and soft- ware evolution. Each part can serve as a text in its own right for an introductory or intermediate course on that topic. As well as further reading associated with each chapter, I have also included information on other relevant papers and books on the web site. •• •• SE8_A01.qxd 4/4/06 8:53 Page viii
  • 15.
    Preface ix 3. Moreadvanced courses in specific software engineering topics The chapters can form a foundation for a specific software course, but they must be sup- plemented with further reading that explores the topic in greater detail. For example, I teach an MSc module in systems engineering that relies on material here. I have included details of this course and a course on critical systems engineering on the web site. The benefit of a general text like this is that it can be used in several related courses. The text can be used in an introductory software engineering course and in courses on specification, design and critical systems. Courses on component-based software engineering and systems engineering use the book along with additional papers that are distributed to students. Having a single text presents students with a consistent view of the subject—and they don’t have to buy several books. To reinforce the student’s learning experience, I have included a glossary of key terms, with additional definitions on the web site. Furthermore, each chapter has: • a clearly defined set of objectives set out on the first page; • a list of key points covered in the chapter; • suggested further reading—either books that are currently in print or easily available papers (lists of other suggested readings and links can be found on my web site); • exercises, including design exercises. The Software Engineering Body of Knowledge project (http://www.swebok.org) was established to define the key technical knowledge areas that are relevant to pro- fessional software engineers. These are organised under 10 headings: requirements, design, construction, testing, maintenance, configuration management, management, process, tools and methods, and quality. While it would be impossible to cover all of the knowledge areas proposed by the SWEBOK project in a single textbook, all of the top-level areas are discussed in this book. Web pages The publishers web site that is associated with the book is: http://www.pearsoned.co.uk/sommerville To support the use of this book in software engineering courses, I have included a wide range of supplementary material on the web site. If you follow the Material for Instructors links, you can find: •• •• SE8_A01.qxd 4/4/06 8:53 Page ix
  • 16.
    x Preface • lecturepresentations (PowerPoint and PDF) for all chapters in the book; • class quiz questions for each chapter; • case studies; • project suggestions; • course structure descriptions; • suggestions for further reading and links to web resources for each chapter; • solutions for a selection of the exercises associated with each chapter and for the quiz questions (available to instructor’s only). My own web site, includes all of the material on the publishers web site plus extensive supplementary material on software engineering such as links to other sites, invited lectures that I have presented, teaching material that I have developed for related courses such as Systems Engineering and the web sites of previous editions of Software Engineering. The URL of this site is: http://www.software-engin.com It has been my policy, both in the previous edition and in this edition, to keep the number of web links in the book to an absolute minimum. The reason for this is that these links are subject to change and, once printed, it is impossible to update them. Consequently, the book’s web page includes a large number of links to resources and related material on software engineering. If you use these and find problems, please let me know and I will update the links. I welcome your constructive comments and suggestions about the book and the web site. You can contact me at [email protected]. I recommend that you include [SE8] in the subject of the e-mail message to ensure that my spam filters do not accidentally reject your mail. I regret that I do not have time to help students with their homework, so please do not ask me how to solve any of the problems in the book. Acknowledgements A large number of people have contributed over the years to the evolution of this book and I’d like to thank everyone (reviewers, students and book users who have e-mailed me) who has commented on previous editions and made constructive suggestions for change. The editorial and production staff at Pearson Education in England and the US were supportive and helpful, and produced the book in record time. So thanks to Simon Plumtree, Mary Lince, Ros Woodward, Keith Mansfield, Patty Mahtani, Daniel Rausch, Carol Noble and Sharon Burkhardt for their help and support. •• •• SE8_A01.qxd 4/4/06 8:54 Page x
  • 17.
    Preface xi As Iwrite, I am about to leave Lancaster University for new challenges at St Andrews University in Scotland. I’d like to thank all of my current and pre- vious colleagues at Lancaster for their support and encouragement over the years as software engineering has evolved. Finally, I’d like to thank my family, who tolerated my absence when the book was being written and my frustration when the words were not flowing. A big thank- you to my wife Anne and daughters Ali and Jane for their help and support. Ian Sommerville, February 2006 •• •• SE8_A01.qxd 4/4/06 8:54 Page xi
  • 18.
    •• Contents at aglance Preface v Part 1 Overview 1 Chapter 1 Introduction 3 Chapter 2 Socio-technical systems 20 Chapter 3 Critical systems 43 Chapter 4 Software processes 63 Chapter 5 Project management 92 Part 2 Requirements 115 Chapter 6 Software requirements 117 Chapter 7 Requirements engineering processes 142 Chapter 8 System models 169 Chapter 9 Critical systems specification 193 Chapter 10 Formal specification 217 Part 3 Design 239 Chapter 11 Architectural design 241 Chapter 12 Distributed systems architectures 266 Chapter 13 Application architectures 292 Chapter 14 Object-oriented design 313 Chapter 15 Real-time software design 339 Chapter 16 User interface design 362 Part 4 Development 389 Chapter 17 Rapid software development 391 Chapter 18 Software reuse 415 Chapter 19 Component-based software engineering 439 Chapter 20 Critical systems development 462 Chapter 21 Software evolution 488 Part 5 Verification and validation 513 Chapter 22 Verification and validation 515 Chapter 23 Software testing 537 Chapter 24 Critical systems validation 566 Part 6 Managing people 589 Chapter 25 Managing people 591 Chapter 26 Software cost estimation 612 Chapter 27 Quality management 641 Chapter 28 Process improvement 665 Chapter 29 Configuration management 689 Part 7 Emerging technologies 715 Chapter 30 Security engineering 717 Chapter 31 Service-oriented software engineering 743 Chapter 32 Aspect-oriented software development 770 Glossary 794 References 806 Index 824 SE8_A01.qxd 4/4/06 8:54 Page xii
  • 19.
    •• Contents Preface v Part 1Overview 1 Chapter 1 Introduction 3 1.1 FAQs about software engineering 5 1.2 Professional and ethical responsibility 14 Key Points 17 Further Reading 18 Exercises 18 Chapter 2 Socio-technical systems 20 2.1 Emergent system properties 23 2.2 Systems engineering 25 2.3 Organisations, people and computer systems 34 2.4 Legacy systems 38 Key Points 40 Further Reading 41 Exercises 41 SE8_A01.qxd 4/4/06 8:54 Page xiii
  • 20.
    xiv Contents Chapter 3Critical systems 43 3.1 A simple safety-critical system 46 3.2 System dependability 47 3.3 Availability and reliability 51 3.4 Safety 55 3.5 Security 58 Key Points 60 Further Reading 61 Exercises 61 Chapter 4 Software processes 63 4.1 Software process models 65 4.2 Process iteration 71 4.3 Process activities 74 4.4 The Rational Unified Process 82 4.5 Computer-Aided Software Engineering 85 Key Points 89 Further Reading 90 Exercises 91 Chapter 5 Project management 92 5.1 Management activities 94 5.2 Project planning 96 5.3 Project scheduling 99 5.4 Risk management 104 Key Points 111 Further Reading 112 Exercises 112 •• •• SE8_A01.qxd 4/4/06 8:54 Page xiv
  • 21.
    Contents xv Part 2Requirements 115 Chapter 6 Software requirements 117 6.1 Functional and non-functional requirements 119 6.2 User requirements 127 6.3 System requirements 129 6.4 Interface specification 135 6.5 The software requirements document 136 Key Points 140 Further Reading 140 Exercises 141 Chapter 7 Requirements engineering processes 142 7.1 Feasibility studies 144 7.2 Requirements elicitation and analysis 146 7.3 Requirements validation 158 7.4 Requirements management 161 Key Points 166 Further Reading 167 Exercises 167 Chapter 8 System models 169 8.1 Context models 171 8.2 Behavioural models 173 8.3 Data models 177 8.4 Object models 181 8.5 Structured methods 187 Key Points 190 Further Reading 191 Exercises 191 •• •• SE8_A01.qxd 4/4/06 8:54 Page xv
  • 22.
    xvi Contents Chapter 9Critical systems specification 193 9.1 Risk-driven specification 195 9.2 Safety specification 202 9.3 Security specification 204 9.4 Software reliability specification 207 Key Points 213 Further Reading 214 Exercises 214 Chapter 10 Formal specification 217 10.1 Formal specification in the software process 219 10.2 Sub-system interface specification 222 10.3 Behavioural specification 229 Key Points 236 Further Reading 236 Exercises 237 Part 3 Design 239 Chapter 11 Architectural design 241 11.1 Architectural design decisions 245 11.2 System organisation 247 11.3 Modular decomposition styles 252 11.4 Control styles 256 11.5 Reference architectures 260 Key Points 263 Further Reading 264 Exercises 264 Chapter 12 Distributed systems architectures 266 12.1 Multiprocessor architectures 269 •• •• SE8_A01.qxd 4/4/06 8:54 Page xvi
  • 23.
    Contents xvii 12.2 Client–serverarchitectures 270 12.3 Distributed object architectures 275 12.4 Inter-organisational distributed computing 282 Key Points 289 Further Reading 290 Exercises 290 Chapter 13 Application architectures 292 13.1 Data processing systems 295 13.2 Transaction processing systems 298 13.3 Event processing systems 304 13.4 Language processing systems 307 Key Points 310 Further Reading 310 Exercises 311 Chapter 14 Object-oriented design 313 14.1 Objects and object classes 316 14.2 An object-oriented design process 320 14.3 Design evolution 335 Key Points 336 Further Reading 337 Exercises 337 Chapter 15 Real-time software design 339 15.1 System design 342 15.2 Real-time operating systems 346 15.3 Monitoring and control systems 349 15.4 Data acquisition systems 355 Key Points 357 Further Reading 359 Exercises 359 •• •• SE8_A01.qxd 4/4/06 8:54 Page xvii
  • 24.
    xviii Contents Chapter 16User interface design 362 16.1 Design issues 366 16.2 The UI design process 376 16.3 User analysis 378 16.4 User interface prototyping 381 16.5 Interface evaluation 383 Key Points 385 Further Reading 386 Exercises 386 Part 4 Development 389 Chapter 17 Rapid software development 391 17.1 Agile methods 396 17.2 Extreme programming 398 17.3 Rapid application development 405 17.4 Software prototyping 409 Key Points 412 Further Reading 413 Exercises 414 Chapter 18 Software reuse 415 18.1 The reuse landscape 418 18.2 Design patterns 421 18.3 Generator-based reuse 423 18.4 Application frameworks 426 18.5 Application system reuse 428 Key Points 437 Further Reading 437 Exercises 438 •• •• SE8_A01.qxd 4/4/06 8:54 Page xviii
  • 25.
    Contents xix Chapter 19Component-based software engineering 439 19.1 Components and component models 442 19.2 The CBSE process 450 19.3 Component composition 452 Key Points 460 Further Reading 460 Exercises 461 Chapter 20 Critical systems development 462 20.1 Dependable processes 466 20.2 Dependable programming 467 20.3 Fault tolerance 475 20.4 Fault-tolerant architectures 482 Key Points 486 Further Reading 486 Exercises 487 Chapter 21 Software evolution 488 21.1 Program evolution dynamics 490 21.2 Software maintenance 492 21.3 Evolution processes 498 21.4 Legacy system evolution 504 Key Points 509 Further Reading 510 Exercises 510 Part 5 Verification and Validation 513 Chapter 22 Verification and validation 515 22.1 Planning verification and validation 519 22.2 Software inspections 521 •• •• SE8_A01.qxd 4/4/06 8:54 Page xix
  • 26.
    Other documents randomlyhave different content
  • 27.
    This forehead indicatesboth genius and folly—this, at the first glance, may appear a contradiction; but the termination of the frontal sinus in a point—an almost infallible mark of folly—renders the position less paradoxical. A man of such a countenance speaks quickly, talks incoherently, and is often absent, or in a deep reverie. 11 No. XI. Here we see a countenance that evinces a capacity for great achievements—in which patriotism and heroic virtue, worthy of ancient
  • 28.
    Rome, are distinguishable;but it must be observed, that although it promises fair, still it marks the man to be liable to the failings of humanity, and often subject to be hurried by violence of passion, and false notions of honour, beyond the bounds of reason. This aquiline nose, curved at the root, is indicative of an imperious and fiery temper; the cavity at the base of the forehead is not sufficiently large, and there is too slight a projection of the bone of the eye;—hence we may predict, that if the person of whom we are speaking takes to improper courses, it will be difficult to restore him to the path of rectitude. 12 No. XII.
  • 29.
    This is ahead in which the observer will recognise a philosopher; but he may search in vain for indications of courage—still less for that heroic boldness which is the parent of brilliant achievement; the outline of the nose, which is without swell or compass, and the sinking at its root, which is too wide and deep, forbid such an inference. There is, however, observable in this face, a delicacy of sentiment easy to be wounded, and it indicates a mind qualified for profound and philosophic researches. 13 No. XIII.
  • 30.
    Phlegmatic people aregenerally distinguishable by the following signs: —the contour of their features is plump and round, but neither bold nor prominent; their eyebrows are small and elevated, and their lips soft and thick; these characteristics are always accompanied with blue and vacant eyes: the head, in persons of this description, is often round; and the skin almost white and colourless; their hair is generally of a light or chesnut colour, and curls spontaneously; their convex forehead proclaims them incapable of energy; and they are very frequently stout, tall, and plump: it would seem as though nature had been beneficent to the body at the expense of the mind, so sluggishly does the latter perform its functions; and yet the exertions of the former are equally dull and spiritless. 14
  • 31.
    No. XIV. This broad,square forehead, betokens a strong memory, and a fund of good sense; but its perpendicular form denotes a degree of inflexibility which may degenerate into obstinacy; the slight projection of the lower lip, and the flatness of the chin, are indicative of good nature. This is the visage of a prudent, discerning man; of one devoid of poetic genius, and whose writings will never attain to sublimity; but, persevering and resolute, he can turn his mind to every subject, and may render himself conspicuous in a deliberative assembly; he is peculiarly calculated for profound and laborious investigation.
  • 32.
    15 No. XV. This isthe physiognomy of one designed by nature to be a man of business; he does not possess the forehead of a poet, nor of one whose impetuous imagination transcends the barriers of cold reason; but its elevation and roundness at the summit, are proofs of a sedate, cool, and reflecting mind. The nose announces firmness—benevolence is imprinted on the mouth; but the bold shape of the lips betrays a slight disposition to choler. This chin denotes a man incapable of violating a trust, or betraying the confidence reposed in him, and it would seem as if he had been formed
  • 33.
    to be essentiallyuseful: as a man of business, a lawyer, or a merchant, his probity and integrity will always render him respectable. 16 No. XVI. Firmness, judgment, and profundity, are the most striking characteristics of this countenance. The bony formation of the head shows that this person possesses a constancy of mind not easy to be shaken: what he has once grasped will never escape him, and he will always advance straight forward to the point. His materials will be disposed with diligence and reflection,
  • 34.
    but without taste.His forehead, however, is too concave, which lessens the superiority of his character. This phisiognomy is peculiarly appropriate to a lawyer or a magistrate. 17 No. XVII. Here is the phisiognomy of one who judges the actions and characters of men with severity; he extends no indulgence to the follies of mankind, although he yields them his commiseration when bewildered in the mist of error. His scrutinizing look penetrates their thoughts, and his intrepidity never suffers him to conceal from them the truth. His mouth disclaims
  • 35.
    loquacity; on thecontrary, he thinks much, and speaks little; the shape of his forehead betokens a man of the highest intellectual endowments: his mind, however, is methodical, and reason directs its operations. His eyebrows designate a profound thinker, and the irregular shape of the face holds forth the promise of originality of genius. 18 No. XVIII. Benevolence and probity are depicted on this countenance, which is not that of a man of the world, nor of one subservient to the punctilios of etiquette, and the rules of politeness: for the face, bearing, as it does, the
  • 36.
    stamp of frankness,seems rather to have the air of a person of inferior rank; and its component features exhibit a kind of muscular strength which is rarely discoverable in the wealthy inhabitants of a great city. This proves that the face of a mechanic may display the noblest qualities as unequivocally as the visage of a man of the most exalted rank; and although not susceptible of the same delicacy of sentiment, and of that nice attention to others, the deficiency is supplied by open and cordial good nature. His features, collectively, proclaim him possessed of intrepidity and calmness. 19 No. XIX.
  • 37.
    The following particularsare combined in the hateful character of the miser: Egotistical, hard-hearted, and mistrustful, the slightest loss afflicts him; and to confer a benefit upon him, is throwing it away; care is ever brooding in his heart, and every look is fraught with suspicion; his propensity cannot lie concealed; he cannot move, he cannot walk a step, without betraying it. Persons of this description often have small and sunken eyes; their lips are strongly made out, and compressed against one another. We may observe, that they almost always write badly, which is by no means surprising, since a greater degree of attention would distract their minds from their grand object—the amassing of wealth. 20
  • 38.
    No. XX. Here areindications of extraordinary genius. The features of this face, the outlines of which are neither too angular nor too rigid, decisively evince great energy; the nose alone is indicative of an exalted mind: the position of the eyebrows, and the gentle projection and jutting of the chin, are characteristic of resolution; and the perfectly happy formation of the forehead displays genius, and designates a character in which reflection and activity are at once combined: he, whose features unite so many marks of greatness, can be no other than a hero. 21
  • 39.
    No. XXI. This countenanceis thoroughly good, but it is difficult to discover its constitution. The soundest reason, devoid of what may strictly be called genius, a tender sensibility without affectation, wisdom profiting by every lesson of experience, clearness of perception, elevation of language, calmness, yet not without vigour when called upon to act, and modesty without pusillanimity, are here all collected. The forehead unites the phlegmatic and sanguine; the eye and nose, the choleric and sanguine; the mouth, the sanguine and melancholic; the lower part of the face, the phlegmatic and sanguine temperaments. (Extract from Lavater.)
  • 40.
    22 No. XXII. The featureswhich characterise a choleric man are strongly marked; his eye-brows are almost always thick, the end of his nose acute, his eyes very often gray, and always lively, with red lids, and the ball of the eye, starting, as it were, from the head, the upper eyelid rising high, and almost totally disappearing. His nostrils are wide, which show strong respiration; his forehead is covered with irregular protuberances; his blood-vessels are very perceptible, and the colour of his skin varies from yellow to red. The neck of a choleric man is almost always extremely short; and this is the most unequivocal standard by which to determine his character.
  • 41.
    23 No. XXIII. It wouldbe useless to search in this physiognomy for signs of genius: we can only find patience, coldness, and obstinacy; firmness of character difficult to manage; an understanding correct enough, but of little penetration; benevolence without warmth, and fidelity without tenderness; or, rather, that kind of faithful adherence which proceeds more from the mind than the heart. The convexity of the forehead presumes patience; but the inconsiderable space between the eye and nose forbids perspicuity.
  • 42.
    24 No. XXIV. Here isa candid, ingenuous, frank, and honest countenance, without the slightest vestige of vice, passion, or intrigue. Great talents are not to be expected, for the shape of the forehead, although it does not deny intelligence, yet evinces no energy, but is indicative of gentleness; the chin betrays a degree of timidity, and the mouth betokens tranquillity of mind, and love of order.
  • 43.
    25 No. XXV. A recedingforehead, eyes black, and full of fire, their shape, the form of the upper eyelid, an aquiline nose, and a large and projecting chin, are here characteristic of a passionate man. The chin designates an enterprising character, the nose denotes an ardent imagination, and lively passions, beyond the control of reason, and the forehead affords no inference of a reflecting mind. Where there is no excavation between the bones of the eyes, or, in other words, should they form no observable projection, we may anticipate a headstrong and thoughtless character.
  • 44.
    26 No. XXVI. This facepresents a most hateful character; craft, sordid avarice, and hardened villany, have disfigured it, and distorted the eyes and mouth. None of its muscles or features is expressive of benevolence or sensibility; the scoundrel might always be recognised in these lineaments; however sedulously he may endeavour to hide his soul behind the mask of hypocrisy; however he may attempt to soften his lips into a smile, still his countenance will infallibly belie him.
  • 45.
    27 No. XXVII. In thephysiognomy of this person we may remark a degree of self-love which has degenerated into dogmatism, an arrogant disposition, and a certain irritability which years cannot allay, and which is strongly manifested wherever his self-love is touched. Good sense and correct judgment are, however, perceivable, and the shape of the forehead is by no means incompatible with understanding; but the eyes, the nostrils, and the mouth, denote a disputatious and dogmatical character.
  • 46.
    28 No. XXVIII. In thiscountenance we may recognise a rogue; the size and shape of the forehead are declaratory, however, of a reflecting, and even of a profound mind. The salient angle of the nose, the projection and sharpness of the chin, indicate an astute, enterprising, and crafty character. On the whole, these features, collectively, make up a countenance which we cannot regard without repugnance, and in which it is impossible to confide.
  • 47.
    29 No. XXIX. In thisphysiognomy we distinguish taste, acuteness and sensibility. Should a man of this description become an author, his style will be florid, and he will describe the beauties of nature and the pleasures of friendship; but he will avoid the discussion of scientific subjects, and sometimes turn away from philosophical argument as dry and insipid. The shape of his lips would seem to indicate a genius for poetry, and the projection of the bone of the eye shows great aptness for mental exertion. The chin denotes a character possessed of firmness and energy; in fine, we
  • 48.
    may conclude thata man who bears a physiognomy like this is highly gifted; it distinctly presents the impress of genius. 30 No. XXX. A downcast look, longitudinal wrinkles on the cheeks, compressed lips, and dull eyes, are all symptomatic of a melancholy man; his mouth is often drawn in, his complexion bilious, and his skin dry. It is observable that persons of this character have almost always defective teeth; their eyes are seldom blue, but very frequently dark; their hair is generally long and sleek,
  • 49.
    and the mouthis usually kept shut, to which the badness of their teeth may be attributed. 31 No. XXXI. In this head we may recognise the face of a gay and sprightly man; repartee and epigram are his arms, and he is capable of wielding them with spirit and effect. The mouth, with a little hollow in the middle of the under lip, is almost always an indication of such a character, which is also discoverable by the interval between the two eyes.
  • 50.
    We must notconfound a person of this description with the man that scoffs and jeers; the cheeks of the latter assume a convex form, and approach near to the eyes. 32 No. XXXII. Here are collected the features of a character of extraordinary melancholy, in which a discontented and sluggish disposition is perceptible. The blue eyes and small eyebrows, and the thickness of the lips, mark the intermixture of a phlegmatic tint; the elongation of the nose, as well as the forehead, declare no want of judgment, and it is that which particularly
  • 51.
    characterizes this physiognomy,and gives it its pensive air. The features of this face, taken in connexion, exhibit a tranquil mind, fond of regularity, and especially of quiet, and to which the functions of an ecclesiastic would be most appropriate.
  • 52.
  • 53.
    COMPARISON, &c. John BaptistePorta, an Italian, published, about three hundred years ago, a treatise on Physiognomy, from which the extracts in the following pages are translated. Although Lavater has ridiculed the system of Porta, he is, nevertheless, indebted to him for many of his best ideas on the subject. In this treatise Porta says, that Ptolemy Maternusa, Vitruvius, and others, describe all known nations as follows: viz. “The Scythians are cruel, the Italians noble, the Gauls merry and inconsiderate, the Greeks fickle, Africans deceitful, Syrians covetous, Asiatics lecherous, Sicilians cunning, Spaniards haughty, proud, and vain of their courage, Egyptians wise, Babylonians prudent.” It was the opinion of Plato, that the variety of manners and constitution observable in the inhabitants of different countries is to be attributed solely to the difference of climate. Aristotle thus writes to Alexander, respecting the character of man. Nature has formed him more perfect than all other animals, and still he possesses all the different characters of the latter. He is as bold as the lion, timid as the hare; he can be compared to the cock for his pride and liberality, to the dog for his avarice; he is harsh and austere as the crow, gentle as the turtle-dove, domestic as the pigeon, fickle as the roebuck, passionate as the leopard, lazy as the bear, affectionate as the elephant, stupid as the ass, vain as the peacock, industrious as the bee, ungovernable as the bull, cross as the mule, mute as a fish; his malice renders him equal to the lioness, his cunning to the fox, his meekness to the lamb, his love of roving to the kid. The reason with which he is endowed renders him worthy of being compared to angels; he is given to lust as the swine, is wicked as the owl, useful as the horse, and hurtful as the rat. In short, there is no vegetable, mineral, or other substance in the world, but what possesses some quality that can be referred to man. Adamantius says that we may judge of the manners and tempers of all animals by their looks. For instance, it is natural for the lion to be strong and easily provoked, which can be perceived by his form and looks. The leopard is pretty and delicate, but is, nevertheless, subject to anger, to lying in ambush, to treachery, and is
  • 54.
    at once timidand bold, which exactly corresponds with his external appearance; and so it is with all other animals. The bear is cruel, deceitful, unsocial and savage; the wild boar has a fearless fury, to which he gives himself up; the ox is severe and simple; the horse is proud and desirous of glory; the fox is cunning, and lies in wait; the monkey is jocose and dissembling; the sheep is plain and dull; the goat is lazy; the hog is filthy and gluttonous. The same thing holds good with respect to birds and reptiles. If, then, it happens that a man possesses a member or feature which resembles that of an animal or bird, it is by that resemblance he must be judged. For if his eyes are of a tawny colour, and a little concave, you must remember that they are similar to that of the lion; if very much concave, they denote bad manners, and agree with those of the monkey; if level, they resemble those of the bull; if they seem to start from his head, and are very prominent, stupid, and disagreeable to the sight, they have some likeness to those of the ass. Man, that master-piece, formed by the Creator in his own image, and impressed with the brilliancy of his character—in short, that earthly divinity, was endowed with a strong and loud voice, a large body, and a slow gait. With respect to his manners and disposition, he has a generous and fearless heart, is equitable, candid, desirous of glory, and eager of success in all his undertakings. Fig. 1.
  • 55.
    Fig. 2. Fig. I. Accordingto Aristotle’s opinion on Physiognomy, he whose nose is curved from the root of the forehead, and strongly marked like the beak of an eagle, must be a brave man. It was also observed by Polemon and Adamantius, that such a nose denotes courage; and Albert, upon the authority of Loxus, conveys the same idea. Noses thus formed are commonly distinguished by the term Aquiline, or Roman, and seem to bear the character of something royal or majestic; for the eagle, whose bill is so formed, is the king of birds: from this it may be inferred that an aquiline nose denotes a dignified mind, capable of magnificent conceptions. Cyrus, according to Xenophon and Plutarch, possessed such a nose, and the Persians held them in such high estimation, that they granted royal honours to none but those possessed of aquiline noses, and to that custom they still adhere. They loved Cyrus above all other princes, and admired his magnanimity and courage. I have noticed on a medal, in the collection of my brother Porta, the antiquarian, that Artaxerxes, the descendant of Cyrus, and a king of Persia, had a very crooked and prominent nose. This prince proved the greatness of his mind on many occasions, insomuch that for a trifling present, or some inconsiderable service which he had received from
  • 56.
    Welcome to ourwebsite – the ideal destination for book lovers and knowledge seekers. With a mission to inspire endlessly, we offer a vast collection of books, ranging from classic literary works to specialized publications, self-development books, and children's literature. Each book is a new journey of discovery, expanding knowledge and enriching the soul of the reade 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. Let us accompany you on the journey of exploring knowledge and personal growth! ebookultra.com