Description

Book Synopsis

Shari Lawrence Pfleeger (Ph.D., Information Technology and Engineering, George Mason University; M.S., Planning, The Pennsylvania State University; M.A., Mathematics, The Pennsylvania State University; B.A., Mathematics with high honors, Harpur College, Binghamton, NY) is a senior researcher at RAND's Arlington, VA office where she helps organizations and government agencies understand whether and how information technology supports their mission and goals.  Dr. Pfleeger began her career as a mathematician and then a software developer and maintainer for real-time, business-critical software systems. From 1982 to 2002, Dr. Pfleeger was president of Systems/Software, Inc., a consultancy specializing in software engineering and technology. From 1997 to 2000, she was also a visiting professor at the University of Maryland's computer science department. In the past, she was founder and director of Howard University's Center for Research in Evaluating Softwa

Table of Contents

Preface

1 Why Software Engineering?

1.1 What Is Software Engineering?

1.2 How Successful Have We Been?

1.3 What Is Good Software?

1.4 Who Does Software Engineering?

1.5 A Systems Approach

1.6 An Engineering Approach

1.7 Members of the Development Team

1.8 How Has Software Engineering Changed?

1.9 Information Systems Example

1.10 Real-Time Example

1.11 What this Chapter Means for You

1.12 What this Chapter Means for Your Development Team

1.13 What this Chapter Means for Researchers

1.14 Term Project

1.15 Key References

1.16 Exercises


2 Modeling the Process and Life Cycle

2.1 The Meaning of Process

2.2 Software Process Models

2.3 Tools and Techniques for Process Modeling

2.4 Practical Process Modeling

2.5 Information System Example

2.6 Real-Time Example

2.7 What this Chapter Means for You

2.8 What this Chapter Means for Your Development Team

2.9 What this Chapter Means for Researchers

2.10 Term Project

2.11 Key References

2.12 Exercises


3 Planning and Managing the Project

3.1 Tracking Progress

3.2 Project Personnel

3.3 Effort Estimation

3.4 Risk Management

3.5 The Project Plan

3.6 Process Models and Project Management

3.7 Information System Example

3.8 Real-Time Example

3.9 What this Chapter Means for You

3.10 What this Chapter Means for Your Development Team

3.11 What this Chapter Means for Researchers

3.12 Term Project

3.13 Key References

3.14 Exercises


4 Capturing the Requirements

4.1 The Requirements Process

4.2 Requirements Elicitation

4.3 Types of Requirements

4.4 Characteristics of Requirements

4.5 Modeling Notations

4.6 Requirements and Specification Languages

4.7 Prototyping Requirements

4.8 Requirements Documentation

4.9 Validation and Verification

4.10 Measuring Requirements

4.11 Choosing a Specification Technique

4.12 Information Systems Example

4.13 Real-Time Example

4.14 Term Project

4.15 Key References

4.16 Exercises


5 Designing the Architecture

5.1 The Design Process

5.2 Decomposition and Views

5.3 Modeling Architectures

5.4 Architectural Styles and Strategies

5.5 Achieving Quality Attributes

5.6 Collaborative Design

5.7 Architecture Evaluation and Refinement

5.8 Documenting Software Architectures

5.9 Architecture Design Review

5.10 Software Product Lines

5.11 Information System Example

5.12 Real-Time Example

5.13 What this Chapter Means for you

5.14 What this Chapter Means for Your Development Team

5.15 What this Chapter Means for Researchers

5.16 Term Project

5.17 Key References

5.18 Exercises


6 Designing the Modules

6.1 Design Methodology

6.2 Design Principles

6.3 Object-Oriented Design

6.4 Representing Object-Oriented Designs in the UML

6.5 Object-Oriented Design Patterns

6.6 Other Design Considerations

6.7 Object-Oriented Measurement

6.8 Design Documentation

6.9 Information Systems Example

6.10 Real-Time Example

6.11 What this Chapter Means for You

6.12 What this Chapter Means for your Development Team

6.13 What this Chapter Means for Researchers

6.14 Term Project

6.15 Key References

6.16 Exercises


7 Writing the Programs

7.1 Programming Standards and Procedures

7.2 Programming Guidelines

7.3 Documentation

7.4 The Programming Process

7.5 Information Systems Example

7.6 Real-Time Example

7.7 What this Chapter Means for You

7.8 What this Chapter Means for Your Development Team

7.9 What this Chapter Means for Researchers

7.10 Term Project

7.11 Key References

7.12 Exercises


8 Testing the Programs

8.1 Software Faults and Failures

8.2 Testing Issues

8.3 Unit Testing

8.4 Integration Testing

8.5 Testing Object-Oriented Systems

8.6 Test Planning

8.7 Automated Testing Tools

8.8 When to Stop Testing

8.9 Information Systems Example

8.10 Real-Time Example

8.11 What this Chapter Means for You

8.12 What this Chapter Means for Your Development Team

8.13 What this Chapter Means for Researchers

8.14 Term Project

8.15 Key References

8.16 Exercises


9 Testing the System

9.1 Principles of System Testing

9.2 Function Testing

9.3 Performance Testing

9.4 Reliability, Availability, and Maintainability

9.5 Acceptance Testing

9.6 Installation Testing

9.7 Automated System Testing

9.8 Test Documentation

9.9 Testing Safety-Critical Systems

9.10 Information Systems Example

9.11 Real-Time Example

9.12 What this Chapter Means for You

9.13 What this Chapter Means for Your Development Team

9.14 What this Chapter Means for Researchers

9.15 Term Project

9.16 Key References

9.17 Exercises


10 Delivering the System

10.1 Training

10.2 Documentation

10.3 Information Systems Example

10.4 Real-Time Example

10.5 What this Chapter Means for You

10.6 What this Chapter Means for your Development Team

10.7 What this Chapter Means for Researchers

10.8 Term Project

10.9 Key References

10.10 Exercises


11 Maintaining the System

11.1 The Changing System

11.2 The Nature of Maintenance

11.3 Maintenance Problems

11.4 Measuring Maintenance Characteristics

11.5 Maintenance Techniques and Tools

11.6 Software Rejuvenation

11.7 Information Systems Example

11.8 Real-Time Example

11.9 What this Chapter Means for You

11.10 What this Chapter Means for Your Development Team

11.11 What this Chapter Means for Researchers

11.12 Term Project

11.13 Key References

11.14 Exercises


12 Evaluating Products, Processes, and Resources

12.1 Approaches to Evaluation

12.2 Selecting an Evaluation Technique

12.3 Assessment vs. Prediction

12.4 Evaluating Products

12.5 Evaluating Processes

12.6 Evaluating Resources

12.7 Information Systems Example

12.8 Real-Time Example

12.9 What this Chapter Means for You

12.10 What this Chapter Means for Your Development Team

12.11 What this Chapter Means for Researchers

12.12 Term Project

12.13 Key References

12.14 Exercises


13 Improving Predictions, Products, Processes, and Resources

13.1 Improving Prediction

13.2 Improving Products

13.3 Improving Processes

13.4 Improving Resources

13.5 General Improvement Guidelines

13.6 Information Systems Example

13.7 Real-Time Example

13.8 What this Chapter Means For You

13.9 What this Chapter Means for your Development Team

13.10 What this Chapter Means for Researchers

13.11 Term Project

13.12 Key References

13.13 Exercises


14 The Future of Software Engineering

14.1 How Have We Done?

14.2 Technology Transfer

14.3 Decision-Making in Software Engineering

14.4 The Professionalization of Software Engineering: Licensing, Certification, and Ethics

14.5 Term Project

14.6 Key References

14.7 Exercises


Annotated Bibliography

Index

Software Engineering

    Product form

    £167.89

    Includes FREE delivery

    Order before 4pm today for delivery by Fri 26 Jun 2026.

    A Hardback by Shari Pfleeger, Joanne Atlee

    Out of stock


      View other formats and editions of Software Engineering by Shari Pfleeger

      Publisher: Pearson Education (US)
      Publication Date: 23/07/2009
      ISBN13: 9780136061694, 978-0136061694
      ISBN10: 0136061699

      Description

      Book Synopsis

      Shari Lawrence Pfleeger (Ph.D., Information Technology and Engineering, George Mason University; M.S., Planning, The Pennsylvania State University; M.A., Mathematics, The Pennsylvania State University; B.A., Mathematics with high honors, Harpur College, Binghamton, NY) is a senior researcher at RAND's Arlington, VA office where she helps organizations and government agencies understand whether and how information technology supports their mission and goals.  Dr. Pfleeger began her career as a mathematician and then a software developer and maintainer for real-time, business-critical software systems. From 1982 to 2002, Dr. Pfleeger was president of Systems/Software, Inc., a consultancy specializing in software engineering and technology. From 1997 to 2000, she was also a visiting professor at the University of Maryland's computer science department. In the past, she was founder and director of Howard University's Center for Research in Evaluating Softwa

      Table of Contents

      Preface

      1 Why Software Engineering?

      1.1 What Is Software Engineering?

      1.2 How Successful Have We Been?

      1.3 What Is Good Software?

      1.4 Who Does Software Engineering?

      1.5 A Systems Approach

      1.6 An Engineering Approach

      1.7 Members of the Development Team

      1.8 How Has Software Engineering Changed?

      1.9 Information Systems Example

      1.10 Real-Time Example

      1.11 What this Chapter Means for You

      1.12 What this Chapter Means for Your Development Team

      1.13 What this Chapter Means for Researchers

      1.14 Term Project

      1.15 Key References

      1.16 Exercises


      2 Modeling the Process and Life Cycle

      2.1 The Meaning of Process

      2.2 Software Process Models

      2.3 Tools and Techniques for Process Modeling

      2.4 Practical Process Modeling

      2.5 Information System Example

      2.6 Real-Time Example

      2.7 What this Chapter Means for You

      2.8 What this Chapter Means for Your Development Team

      2.9 What this Chapter Means for Researchers

      2.10 Term Project

      2.11 Key References

      2.12 Exercises


      3 Planning and Managing the Project

      3.1 Tracking Progress

      3.2 Project Personnel

      3.3 Effort Estimation

      3.4 Risk Management

      3.5 The Project Plan

      3.6 Process Models and Project Management

      3.7 Information System Example

      3.8 Real-Time Example

      3.9 What this Chapter Means for You

      3.10 What this Chapter Means for Your Development Team

      3.11 What this Chapter Means for Researchers

      3.12 Term Project

      3.13 Key References

      3.14 Exercises


      4 Capturing the Requirements

      4.1 The Requirements Process

      4.2 Requirements Elicitation

      4.3 Types of Requirements

      4.4 Characteristics of Requirements

      4.5 Modeling Notations

      4.6 Requirements and Specification Languages

      4.7 Prototyping Requirements

      4.8 Requirements Documentation

      4.9 Validation and Verification

      4.10 Measuring Requirements

      4.11 Choosing a Specification Technique

      4.12 Information Systems Example

      4.13 Real-Time Example

      4.14 Term Project

      4.15 Key References

      4.16 Exercises


      5 Designing the Architecture

      5.1 The Design Process

      5.2 Decomposition and Views

      5.3 Modeling Architectures

      5.4 Architectural Styles and Strategies

      5.5 Achieving Quality Attributes

      5.6 Collaborative Design

      5.7 Architecture Evaluation and Refinement

      5.8 Documenting Software Architectures

      5.9 Architecture Design Review

      5.10 Software Product Lines

      5.11 Information System Example

      5.12 Real-Time Example

      5.13 What this Chapter Means for you

      5.14 What this Chapter Means for Your Development Team

      5.15 What this Chapter Means for Researchers

      5.16 Term Project

      5.17 Key References

      5.18 Exercises


      6 Designing the Modules

      6.1 Design Methodology

      6.2 Design Principles

      6.3 Object-Oriented Design

      6.4 Representing Object-Oriented Designs in the UML

      6.5 Object-Oriented Design Patterns

      6.6 Other Design Considerations

      6.7 Object-Oriented Measurement

      6.8 Design Documentation

      6.9 Information Systems Example

      6.10 Real-Time Example

      6.11 What this Chapter Means for You

      6.12 What this Chapter Means for your Development Team

      6.13 What this Chapter Means for Researchers

      6.14 Term Project

      6.15 Key References

      6.16 Exercises


      7 Writing the Programs

      7.1 Programming Standards and Procedures

      7.2 Programming Guidelines

      7.3 Documentation

      7.4 The Programming Process

      7.5 Information Systems Example

      7.6 Real-Time Example

      7.7 What this Chapter Means for You

      7.8 What this Chapter Means for Your Development Team

      7.9 What this Chapter Means for Researchers

      7.10 Term Project

      7.11 Key References

      7.12 Exercises


      8 Testing the Programs

      8.1 Software Faults and Failures

      8.2 Testing Issues

      8.3 Unit Testing

      8.4 Integration Testing

      8.5 Testing Object-Oriented Systems

      8.6 Test Planning

      8.7 Automated Testing Tools

      8.8 When to Stop Testing

      8.9 Information Systems Example

      8.10 Real-Time Example

      8.11 What this Chapter Means for You

      8.12 What this Chapter Means for Your Development Team

      8.13 What this Chapter Means for Researchers

      8.14 Term Project

      8.15 Key References

      8.16 Exercises


      9 Testing the System

      9.1 Principles of System Testing

      9.2 Function Testing

      9.3 Performance Testing

      9.4 Reliability, Availability, and Maintainability

      9.5 Acceptance Testing

      9.6 Installation Testing

      9.7 Automated System Testing

      9.8 Test Documentation

      9.9 Testing Safety-Critical Systems

      9.10 Information Systems Example

      9.11 Real-Time Example

      9.12 What this Chapter Means for You

      9.13 What this Chapter Means for Your Development Team

      9.14 What this Chapter Means for Researchers

      9.15 Term Project

      9.16 Key References

      9.17 Exercises


      10 Delivering the System

      10.1 Training

      10.2 Documentation

      10.3 Information Systems Example

      10.4 Real-Time Example

      10.5 What this Chapter Means for You

      10.6 What this Chapter Means for your Development Team

      10.7 What this Chapter Means for Researchers

      10.8 Term Project

      10.9 Key References

      10.10 Exercises


      11 Maintaining the System

      11.1 The Changing System

      11.2 The Nature of Maintenance

      11.3 Maintenance Problems

      11.4 Measuring Maintenance Characteristics

      11.5 Maintenance Techniques and Tools

      11.6 Software Rejuvenation

      11.7 Information Systems Example

      11.8 Real-Time Example

      11.9 What this Chapter Means for You

      11.10 What this Chapter Means for Your Development Team

      11.11 What this Chapter Means for Researchers

      11.12 Term Project

      11.13 Key References

      11.14 Exercises


      12 Evaluating Products, Processes, and Resources

      12.1 Approaches to Evaluation

      12.2 Selecting an Evaluation Technique

      12.3 Assessment vs. Prediction

      12.4 Evaluating Products

      12.5 Evaluating Processes

      12.6 Evaluating Resources

      12.7 Information Systems Example

      12.8 Real-Time Example

      12.9 What this Chapter Means for You

      12.10 What this Chapter Means for Your Development Team

      12.11 What this Chapter Means for Researchers

      12.12 Term Project

      12.13 Key References

      12.14 Exercises


      13 Improving Predictions, Products, Processes, and Resources

      13.1 Improving Prediction

      13.2 Improving Products

      13.3 Improving Processes

      13.4 Improving Resources

      13.5 General Improvement Guidelines

      13.6 Information Systems Example

      13.7 Real-Time Example

      13.8 What this Chapter Means For You

      13.9 What this Chapter Means for your Development Team

      13.10 What this Chapter Means for Researchers

      13.11 Term Project

      13.12 Key References

      13.13 Exercises


      14 The Future of Software Engineering

      14.1 How Have We Done?

      14.2 Technology Transfer

      14.3 Decision-Making in Software Engineering

      14.4 The Professionalization of Software Engineering: Licensing, Certification, and Ethics

      14.5 Term Project

      14.6 Key References

      14.7 Exercises


      Annotated Bibliography

      Index

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account