Home > Computing and Information Technology > Computer programming / software engineering > Software Engineering: Principles and Practice
Software Engineering: Principles and Practice

Software Engineering: Principles and Practice

          
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist
X

About the Book

In-depth coverage of the latest advances in software engineering Aimed at defining inherent problems and providing appropriate solutions when constructing large software systems, the study of software engineering is an essential practice in order to create and maintain successful software development. This new edition shows you how to appreciate the issues, design trade-offs, and teamwork required for successful software development. With a special emphasis placed on the managerial aspects and human factors involved in software projects, this book reflects the changes taking place within software engineering and includes a major update on architecture and the increasingly hybrid character of software engineering. Offers comprehensive coverage of the fundamentals of software engineering as well as revised and updated text on the latest advances in the field, including agile methods, open source, and UML2 Incorporates discussion of commercial off-the-shelf products and open source Examines the impact of lightweight versus heavyweight methods, paying particular attention to agile approaches Addresses the globalization of software development and the impact of the Web This new edition is an invaluable resource for anyone involved in software development and maintenance.

Table of Contents:
Foreword xvii Preface xix 1 Introduction 1 1.1 What Is Software Engineering? 5 1.2 Phases in the Development of Software 10 1.3 Maintenance or Evolution 15 1.4 From the Trenches 17 1.4.1 Ariane 5, Flight 501 18 1.4.2 Therac-25 19 1.4.3 The London Ambulance Service 21 1.4.4 Who Counts the Votes? 23 1.5 Software Engineering Ethics 24 1.6 Quo Vadis? 27 1.7 Summary 29 1.8 Further Reading 30 Exercises 31 Part I Software Management 35 2 Introduction to Software Engineering Management 37 2.1 Planning a Software Development Project 40 2.2 Controlling a Software Development Project 43 2.3 Summary 45 Exercises 46 3 The Software Life Cycle Revisited 49 3.1 The Waterfall Model 52 3.2 Agile Methods 54 3.2.1 Prototyping 56 3.2.2 Incremental Development 60 3.2.3 Rapid Application Development and Dynamic Systems Development Method 62 3.2.4 Extreme Programming 66 3.3 The Rational Unified Process (RUP) 68 3.4 Model-Driven Architecture 71 3.5 Intermezzo: Maintenance or Evolution 72 3.6 Software Product Lines 75 3.7 Process Modeling 77 3.8 Summary 80 3.9 Further Reading 81 Exercises 82 4 Configuration Management 85 4.1 Tasks and Responsibilities 87 4.2 Configuration Management Plan 92 4.3 Summary 93 4.4 Further Reading 94 Exercises 94 5 People Management and Team Organization 97 5.1 People Management 99 5.1.1 Coordination Mechanisms 101 5.1.2 Management Styles 102 5.2 Team Organization 104 5.2.1 Hierarchical Organization 104 5.2.2 Matrix Organization 106 5.2.3 Chief Programmer Team 107 5.2.4 SWAT Team 107 5.2.5 Agile Team 108 5.2.6 Open Source Software Development 108 5.2.7 General Principles for Organizing a Team 111 5.3 Summary 112 5.4 Further Reading 113 Exercises 113 6 On Managing Software Quality 115 6.1 On Measures and Numbers 118 6.2 A Taxonomy of Quality Attributes 123 6.3 Perspectives on Quality 130 6.4 The Quality System 134 6.5 Software Quality Assurance 135 6.6 The Capability Maturity Model (CMM) 137 6.6.1 Personal Software Process 142 6.6.2 BOOTSTRAP and SPICE 143 6.6.3 Some Critical Notes 143 6.7 Getting Started 144 6.8 Summary 147 6.9 Further Reading 148 Exercises 149 7 Cost Estimation 153 7.1 Algorithmic Models 158 7.1.1 Walston–Felix 160 7.1.2 COCOMO 162 7.1.3 Putnam 163 7.1.4 Function Point Analysis 165 7.1.5 COCOMO 2: Variations on a Theme 168 7.1.6 Use-Case Points: Another Variation on a Theme 173 7.2 Guidelines for Estimating Cost 175 7.3 Distribution of Manpower over Time 179 7.4 Agile Cost Estimation 183 7.5 Summary 184 7.6 Further Reading 186 Exercises 187 8 Project Planning and Control 189 8.1 A Systems View of Project Control 190 8.2 A Taxonomy of Software Development Projects 192 8.2.1 Realization Control Situation 194 8.2.2 Allocation Control Situation 195 8.2.3 Design Control Situation 195 8.2.4 Exploration Control Situation 196 8.2.5 Summary of Control Situations 197 8.3 Risk Management 198 8.4 Techniques for Project Planning and Control 201 8.5 Summary 207 8.6 Further Reading 208 Exercises 208 Part II The Software Life Cycle 211 9 Requirements Engineering 213 9.1 Requirements Elicitation 220 9.1.1 Requirements Engineering Paradigms 224 9.1.2 Requirements Elicitation Techniques 226 9.1.3 Goals and Viewpoints 234 9.1.4 Prioritizing Requirements 237 9.1.5 COTS selection 239 9.1.6 Crowdsourcing 240 9.2 Requirements Documentation and Management 241 9.2.1 Requirements Specification 241 9.2.2 Requirements Management 247 9.3 Requirements Specification Techniques 249 9.3.1 Choosing a Notation 250 9.3.2 Specifying Non-Functional Requirements 252 9.4 Verification and Validation 253 9.5 Summary 254 9.6 Further Reading 255 Exercises 257 10 Modeling 261 10.1 Classic Modeling Techniques 263 10.1.1 Entity–Relationship Modeling 263 10.1.2 Finite State Machines 265 10.1.3 Data Flow Diagrams 267 10.1.4 CRC Cards 267 10.2 On Objects and Related Stuff 268 10.3 The Unified Modeling Language 274 10.3.1 The Class Diagram 276 10.3.2 The State Machine Diagram 279 10.3.3 The Sequence Diagram 283 10.3.4 The Communication Diagram 284 10.3.5 The Component Diagram 285 10.3.6 The Use Case 286 10.4 Summary 287 10.5 Further Reading 287 Exercises 288 11 Software Architecture 289 11.1 Software Architecture and the Software Life Cycle 293 11.2 Architecture Design 294 11.3 Architectural Views 298 11.4 Architectural Styles 303 11.5 Software Architecture Assessment 317 11.6 Summary 321 11.7 Further Reading 322 Exercises 322 12 Software Design 325 12.1 Design Considerations 329 12.1.1 Abstraction 330 12.1.2 Modularity 333 12.1.3 Information Hiding 336 12.1.4 Complexity 337 12.1.5 System Structure 344 12.1.6 Object-Oriented Metrics 348 12.2 Classical Design Methods 351 12.2.1 Functional Decomposition 353 12.2.2 Data Flow Design (SA/SD) 356 12.2.3 Design Based on Data Structures 361 12.3 Object-Oriented Analysis and Design Methods 369 12.3.1 The Booch Method 376 12.3.2 Fusion 377 12.3.3 RUP Revisited 379 12.4 How to Select a Design Method 380 12.4.1 Design  Method Classification 381 12.4.2 Object Orientation: Hype or the Answer? 382 12.5 Design Patterns 385 12.6 Design Documentation 389 12.7 Verification and Validation 393 12.8 Summary 393 12.9 Further Reading 398 Exercises 399 13 Software Testing 405 13.1 Test Objectives 410 13.1.1 Test Adequacy Criteria 412 13.1.2 Fault Detection Versus Confidence Building 413 13.1.3 From Fault Detection to Fault Prevention 415 13.2 Testing and the Software Life Cycle 417 13.2.1 Requirements Engineering 417 13.2.2 Design 419 13.2.3 Implementation 420 13.2.4 Maintenance 420 13.2.5 Test-Driven Development (TDD) 421 13.3 Verification and Validation Planning and Documentation 422 13.4 Manual Test Techniques 425 13.4.1 Reading 425 13.4.2 Walkthroughs and Inspections 426 13.4.3 Correctness Proofs 428 13.4.4 Stepwise Abstraction 429 13.5 Coverage-Based Test Techniques 430 13.5.1 Control-Flow Coverage 431 13.5.2 Data Flow Coverage 433 13.5.3 Coverage-Based Testing of Requirements Specifications 435 13.6 Fault-Based Test Techniques 437 13.6.1 Error Seeding 437 13.6.2 Mutation Testing 438 13.7 Error-Based Test Techniques 440 13.8 Comparison of Test Techniques 441 13.8.1 Comparison of Test Adequacy Criteria 442 13.8.2 Properties of Test Adequacy Criteria 443 13.8.3 Experimental Results 446 13.9 Test Stages 448 13.10 Estimating Software Reliability 450 13.11 Summary 457 13.12 Further Reading 458 Exercises 459 14 Software Maintenance 465 14.1 Maintenance Categories Revisited 468 14.2 Major Causes of Maintenance Problems 471 14.3 Reverse Engineering and Refactoring 475 14.3.1 Refactoring 478 14.3.2 Inherent Limitations 480 14.3.3 Tools 484 14.4 Software Evolution Revisited 486 14.5 Organizational and Managerial Issues 488 14.5.1 Organization of Maintenance Activities 488 14.5.2 Software Maintenance from a Service Perspective 492 14.5.3 Control o fMaintenance Tasks 497 14.5.4 Quality Issues 500 14.6 Summary 501 14.7 Further Reading 502 Exercises 504 15 Software Tools 507 15.1 Toolkits 511 15.2 Language-Centered Environments 513 15.3 Integrated Environments and WorkBenches 514 15.3.1 Analyst WorkBenches 515 15.3.2 Programmer WorkBenches 516 15.3.3 Management WorkBenches 520 15.3.4 Integrated Project Support Environments 520 15.4 Process-Centered Environments 521 15.5 Summary 522 15.6 Further Reading 524 Exercises 525 Part III Advanced Topics 527 16 User Interface Design 529 16.1 Where Is the User Interface? 532 16.2 What Is the User Interface? 536 16.3 Human Factors in Human–Computer Interaction 537 16.3.1 Humanities 537 16.3.2 Artistic Design 538 16.3.3 Ergonomics 539 16.4 The Role of Models in Human–Computer Interaction 540 16.4.1 A Model of Human Information Processing 542 16.4.2 Mental Models of Information Systems 544 16.4.3 Conceptual Models in User Interface Design 547 16.5 The Design of Interactive Systems 549 16.5.1 Design as an Activity Structure 550 16.5.2 Design as Multi-Disciplinary Collaboration 552 16.6 Task Analysis 553 16.6.1 Task Analysis in HCI Design 554 16.6.2 Analysis Approaches for Collaborative Work 556 16.6.3 Sources of Knowledge and Collection Methods 557 16.6.4 An Integrated Approach to Task Analysis: GTA 558 16.7 Specification of the User Interface Details 559 16.7.1 Dialog 560 16.7.2 Representation 561 16.8 Evaluation 562 16.8.1 Evaluation of Analysis Decisions 562 16.8.2 Evaluation of UVM Specifications 563 16.8.3 Evaluation of Prototypes 566 16.9 Summary 567 16.10 Further Reading 568 Exercises 569 17 Software Reusability 571 17.1 Reuse Dimensions 574 17.2 Reuse of Intermediate Products 576 17.2.1 Libraries of Software Components 576 17.2.2 Templates 580 17.2.3 Reuse of Architecture 581 17.2.4 Application Generators and Fourth-Generation Languages 581 17.3 Reuse and the Software Life Cycle 582 17.4 Reuse Tools and Techniques 585 17.4.1 From Module Interconnection Language to Architecture Description Language 586 17.4.2 Middleware 588 17.5 Perspectives of Software Reuse 591 17.6 Non-Technical Aspects of Software Reuse 594 17.6.1 Economics 596 17.6.2 Management 597 17.6.3 Psychology of Programmers 598 17.7 Summary 599 17.8 Further Reading 601 Exercises 601 18 Component-Based Software Engineering 605 18.1 Why Component-Based Software Engineering? 607 18.2 Component Models and Components 608 18.2.1 Component Forms in Component Models 610 18.2.2 Architecture and Component Models 614 18.3 Component-Based Development Process and Component Life Cycle 619 18.3.1 Component-Based System Development Process 620 18.3.2 Component Assessment 622 18.3.3 Component Development Process 623 18.4 Architectural Approaches in Component-Based Development 625 18.4.1 Architecture-Driven Component Development 626 18.4.2 Product-Line Development 626 18.4.3 COTS-Based Development 627 18.4.4 Selecting an Approach 627 18.5 Summary 628 18.6 Further Reading 628 Exercises 629 19 Service Orientation 631 19.1 Services, Service Descriptions, and Service Communication 634 19.2 Service-Oriented Architecture (SOA) 639 19.3 Web Services 641 19.3.1 Extensible Markup Language (XML) 643 19.3.2 Simple Object Access Protocol (SOAP) 644 19.3.3 Web Services Description Language (WSDL) 644 19.3.4 Universal Description, Discovery, and Integration (UDDI) 646 19.3.5 Business Process Execution Language for Web Services (BPEL4WS) 647 19.4 Service-Oriented Software Engineering 650 19.5 Summary 652 19.6 Further Reading 652 Exercises 653 20 Global Software Development 655 20.1 Challenges of Global System Development 657 20.2 How to Overcome Distance 664 20.2.1 Common Ground 664 20.2.2 Coupling of Work 666 20.2.3 Collaboration Readiness 666 20.2.4 Technology Readiness 666 20.2.5 Organizing Work in Global Software Development 668 20.3 Summary 670 20.4 Further Reading 670 Exercises 671 Bibliography 673 Index 705


Best Sellers


Product Details
  • ISBN-13: 9781119959427
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: Standards Information Network
  • Edition: Revised edition
  • No of Pages: 7522
  • ISBN-10: 111995942X
  • Publisher Date: 18 Jan 2013
  • Binding: Digital (delivered electronically)
  • Language: English
  • Sub Title: Principles and Practice


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

REVIEWS           
Click Here To Be The First to Review this Product
Software Engineering: Principles and Practice
John Wiley & Sons Inc -
Software Engineering: Principles and Practice
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Software Engineering: Principles and Practice

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book
    Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!
    ASK VIDYA