欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 软件工程(实践者的研究方法英文精编版原书第9版)/经典原版书库
      • 作者:(美)罗杰·S.普莱斯曼//布鲁斯·R.马克西姆|责编:姚蕾
      • 出版社:机械工业
      • ISBN:9787111690726
      • 出版日期:2021/09/01
      • 页数:432
    • 售价:35.6
  • 内容大纲

        本书是软件工程领域的经典著作,自第1版出版至今,近40年来在软件工程界产生了巨大而深远的影响。第9版在继承之前版本风格与优势的基础上,不仅更新了全书内容,而且优化了篇章结构。本书共四个部分,涵盖软件过程、建模、质量与安全、软件项目管理等主题,对概念、原则、方法和工具的介绍细致、清晰且实用。此外,书中还提供了丰富的扩展阅读资源和网络资源。
        本版基于原书第9版进行改编,保留基本的软件工程知识体系,删除面向研究生的高级话题、面向专门化的软件开发实践的内容、面向软件行业高级工程人员的参考内容、其他课程中应包含的知识和内容,从而更加适合作为高等院校计算机、软件工程及相关专业本科生的软件工程课程教材。
  • 作者介绍

  • 目录

    改编者序
    Preface
    Aboout the authors
      CHAPTER 1 SOFTWARE AND SOFTWARE ENGINEERING
        1.1  The Nature of Software
          1.1.1  Defining Software
          1.1.2  Software Application Domains
          1.1.3  Legacy Software
        1.2  Defining the Discipline
        1.3  The Software Process
          1.3.1  The Process Framework
          1.3.2  Umbrella Activities
          1.3.3  Process Adaptation
        1.4  Software Engineering Practice
          1.4.1  The Essence of Practice
          1.4.2  General Principles
        1.5  How It All Starts
        1.6  Summary
    PART ONE THE SOFTWARE PROCESS
      CHAPTER 2 PROCESS MODELS
        2.1  A Generic Process Model
        2.2  Defining a Framework Activity
        2.3  Identifying a Task Set
        2.4  Prescriptive Process Models
          2.4.1  The Waterfall Model
          2.4.2  Prototyping Process Model
          2.4.3  Evolutionary Process Model
          2.4.4  Unified Process Model
        2.5  Product and Process
        2.6  Summary
      CHAPTER 3 AGILITY AND PROCESS
        3.1  What Is Agility
        3.2  Agility and the Cost of Change
        3.3  What Is an Agile Process
          3.3.1  Agility Principles
          3.3.2  The Politics of Agile Development
        3.4  Scrum
          3.4.1  Scrum Teams and Artifacts
          3.4.2  Sprint Planning Meeting
          3.4.3  Daily Scrum Meeting
          3.4.4  Sprint Review Meeting
          3.4.5  Sprint Retrospective
        3.5  Other Agile Frameworks
          3.5.1  The XP Framework
          3.5.2  Kanban
          3.5.3  DevOps
        3.6  Summary
      CHAPTER 4 RECOMMENDED PROCESS MODEL
        4.1  Requirements Definition
        4.2  Preliminary Architectural Design

        4.3  Resource Estimation
        4.4  First Prototype Construction
        4.5  Prototype Evaluation
        4.6  Go, -Go Decision
        4.7  Prototype Evolution
          4.7.1  New Prototype Scope
          4.7.2  Constructing New Prototypes
          4.7.3  Testing New Prototypes
        4.8  Prototype Release
        4.9  Maintain Release Software
        4.10  Summary
      CHAPTER 5 HUMAN ASPECTS OF SOFTWARE ENGINEERING
        5.1  Characteristics of a Software Engineer
        5.2  The Psychology of Software Engineering
        5.3  The Software Team
        5.4  Team Structures
        5.5  The Impact of Social Media
        5.6  Global Teams
        5.7  Summary
    PART TWO MODELING
      CHAPTER 6 UNDERSTANDING REQUIREMENTS
        6.1  Requirements Engineering
          6.1.1  Inception
          6.1.2  Elicitation
          6.1.3  Elaboration
          6.1.4  Negotiation
          6.1.5  Specification
          6.1.6  Validation
          6.1.7  Requirements Management
        6.2  Establishing the Groundwork
          6.2.1  Identifying Stakeholders
          6.2.2  Recognizing Multiple Viewpoints
          6.2.3  Working Toward Collaboration
          6.2.4  Asking the First Questions
          6.2.5  nfunctional Requirements
          6.2.6  Traceability
      CHAPTER 7 REQUIREMENTS MODELING—A RECOMMENDED APPROACH
        7.1  Requirements Analysis
          7.1.1  Overall Objectives and Philosophy
          7.1.2  Analysis Rules of Thumb
          7.1.3  Requirements Modeling Principles
        7.2  Scenario-Based Modeling
          7.2.1  Actors and User Profiles
          7.2.2  Creating Use Cases
          7.2.3  Documenting Use Cases
        7.3  Class-Based Modeling
          7.3.1  Identifying Analysis Classes
          7.3.2  Defining Attributes and Operations
          7.3.3  UML Class Models
          7.3.4  Class-Responsibility-Collaborator Modeling

        7.4  Functional Modeling
          7.4.1  A Procedural View
          7.4.2  UML Sequence Diagrams
        7.5  Behavioral Modeling
          7.5.1  Identifying Events with the Use Case
          7.5.2  UML State Diagrams
          7.5.3  UML Activity Diagrams
        7.6  Summary
      HAPTER 8 DESIGN CONCEPTS
        8.1  Design Within the Contet of Software Engineering
        8.2  The Design Process
          8.2.1  Software Quality Guidelines and Attributes
          8.2.2  The Evolution of Software Design
        8.3  Design Concepts
          8.3.1  Abstraction
          8.3.2  Architecture
          8.3.3  Patterns
          8.3.4  Separation of Concerns
          8.3.5  Modularity
          8.3.6  Information Hiding
          8.3.7  Functional Independence
          8.3.8  Stepwise Renement
          8.3.9  Refactoring
          8.3.10  Design Classes
        8.4  The Design Model
          8.4.1  Design Modeling Principles
          8.4.2  Data Design Elements
          8.4.3  Architectural Design Elements
          8.4.4  Interface Design Elements
          8.4.5  Component-Level Design Elements
          8.4.6  Deployment-Level Design Elements
        8.5  Summary
      CHAPTER 9 ARCHITECTURAL DESIGN—A RECOMMENDED APPROACH
        9.1  Software Architecture
          9.1.1  What Is Architecture
          9.1.2  Why Is Architecture Important
          9.1.3  Architectural Descriptions
          9.1.4  Architectural Decisions
        9.2  Agility and Architecture
        9.3  Architectural Styles
          9.3.1  A Brief Taomy of Architectural Styles
          9.3.2  Architectural Patterns
          9.3.3  Organization and Refinement
        9.4  Architectural Considerations
        9.5  Architectural Decisions
        9.6  Architectural Design
          9.6.1  Representing the System in Contet
          9.6.2  Dening Archetypes
          9.6.3  Rening the Architecture into Components
          9.6.4  Describing Instantiations of the System

        9.7  Assessing Alternative Architectural Designs
          9.7.1  Architectural Reviews
          9.7.2  Pattern-Based Architecture Review
          9.7.3  Architecture Conformance Checking
        9.8  Summary
      CHAPTER 10 COMPONENT-LEVEL DESIGN
        10.1  What Is a Component
          10.1.1  An Object-Oriented View
          10.1.2  The Traditional View
          10.1.3  A Process-Related View
        10.2  Designing Class-Based Components
          10.2.1  Basic Design Principles
          10.2.2  Component-Level Design Guidelines
          10.2.3  Cohesion
          10.2.4  Coupling
        10.3  Conducting Component-Level Design
        10.4  Specialized Component-Level Design
        10.5  Component Refactoring
        10.6  Summary
      CHAPTER 11 USER EXPERIENCE DESIGN
        11.1  User Eperience Design Elements
          11.1.1  Information Architecture
          11.1.2  User Interaction Design
          11.1.3  Usability Engineering
          11.1.4  Visual Design
    PART THREE QUALITY AND SECURITY
      CHAPTER 12 QUALITY CONCEPTS
        12.1  What Is Quality
        12.2  Software Quality
          12.2.1  Quality Factors
          12.2.2  Qualitative Quality Assessment
          12.2.3  Quantitative Quality Assessment
        12.3  The Software Quality Dilemma
          12.3.1  “Good Eugh” Software
      12.3.2 The Cost of Quality 24912.3.3 Risks
          12.3.4  Negligence and Liability
          12.3.5  The Impact of Management Actions
        12.4  Achieving Software Quality
          12.4.1  Software Engineering Methods
          12.4.2  Project Management Techniques
          12.4.3  Quality Control
          12.4.4  Quality Assurance
        12.5  Summary
      CAPTER 13 REVIEWS—A RECOMMENDED APPROACH
        13.1  Cost Impact of Software Defects
        13.2  Defect Amplication and Removal
        13.3  Review Metrics and Their Use
        13.4  Criteria for Types of Reviews
        13.5  Informal Reviews
        13.6  Formal Technical Reviews

          13.6.1  The Review Meeting
          13.6.2  Review Reporting and Record Keeping
          13.6.3  Review Guidelines
        13.7  Postmortem Evaluations
        13.8  Agile Reviews
        13.9  Summary
      CHAPTER 14 SOFTWARE QUALITY ASSURANCE
        14.1  Background Issues
        14.2  Elements of Software Quality Assurance
        14.3  SQA Processes and Product Characteristics
        14.4  SQA Tasks, Goals, and Metrics
          14.4.1  SQA Tasks
          14.4.2  Goals, Attributes, and Metrics
            14.5 27914.5.1  A Generic Eample
          14.5.2  Si Sigma for Software Engineering
        14.6  The ISO 9000 Quality Standards
        14.7  The SQA Plan
        14.8  Summary
      CHAPTER 15 SOFTWARE TESTING—COMPONENT LEVEL
        15.1  A Strategic Approach to Software Testing
          15.1.1  Verication and Validation
          15.1.2  Organizing for Software Testing
          15.1.3  The Big Picture
          15.1.4  Criteria for “Done”
        15.2  Planning and Recordkeeping
          15.2.1  Role of Scaolding
          15.2.2  Cost-Eective Testing
        15.3  Test-Case Design
          15.3.1  Requirements and Use Cases
          15.3.2  Traceability
        15.4  White-Bo Testing
          15.4.1  Basis Path Testing
          15.4.2  Control Structure Testing
        15.5  300Black-Bo Testing
          15.5.1  Interface Testing
          15.5.2  Equivalence Partitioning
          15.5.3  Boundary Value Analysis
        15.6  Object-Oriented Testing
          15.6.1  Class Testing
          15.6.2  Behavioral Testing
        15.7  Summary
      CHAPTER 16 SOFTWARE TESTING—INTEGRATION LEVEL
        16.1  Software Testing Fundamentals
          16.1.1  Black-Bo Testing
          16.1.2  White-Bo Testing
        16.2  Integration Testing
          16.2.1  Top-Down Integration
          16.2.2  Bottom-Up Integration
          16.2.3  Continuous Integration
          16.2.4  Integration Test Work Products

        16.3  Artificial Intelligence and Regression Testing
        16.4  Integration Testing in the OO Contet
          16.4.1  Fault-Based Test-Case Design
          16.4.2  Scenario-Based Test-Case Design
        16.5  Validation Testing
        16.6  Summary
      CHAPTER 17 SOFTWARE CONFIGURATION MANAGEMENT
        17.1  Software Conguration Management
          17.1.1  An SCM Scenario
          17.1.2  Elements of a Conguration Management System
          17.1.3  Baselines
          17.1.4  Software Conguration Items
          17.1.5  Management of Dependencies and Changes
        17.2  The SCM Repository
          17.2.1  General Features and Content
          17.2.2  SCM Features
        17.3  Version Control Systems
        17.4  Continuous Integration
        17.5  The Change Management Process
          17.5.1  Change Control
          17.5.2  Impact Management
          17.5.3  Conguration Audit
          17.5.4  Status Reporting
        17.6  Summary
      HAPTER 18 SOFTWARE METRICS AND ANALYTICS
        18.1  Software Measurement
          18.1.1  Measures, Metrics, and Indicators
          18.1.2  Attributes of Eective Software Metrics
        18.2  Software Analytics
        18.3  Product Metrics
          18.3.1  Metrics for the Requirements Model
          18.3.2  Design Metrics for Conventional Software
          18.3.3  Design Metrics for Object-Oriented Software
          18.3.4  User Interface Design Metrics
          18.3.5  Metrics for Source Code
        18.4  Process and Project Metrics
        18.5  Software Metrics
        18.6  Metrics for Software Quality
        18.7  Summary
    PART FOUR MANAGING SOFTWARE PROJECTS
      CHAPTER 19 PROJECT MANAGEMENT CONCEPTS
        19.1  The Management Spectrum
          19.1.1  The People
          19.1.2  The Product
          19.1.3  The Process
          19.1.4  The Project
        19.2  People
          19.2.1  The Stakeholders
          19.2.2  Team Leaders
          19.2.3  The Software Team

          19.2.4  Coordination and Communications Issues
        19.3  Product
          19.3.1  Software Scope
          19.3.2  Problem Decomposition
        19.4  Process
          19.4.1  Melding the Product and the Process
          19.4.2  Process Decomposition
        19.5  Project
        19.6  The W5HH Principle
        19.7  Critical Practices
        19.8  Summary
      CHAPTER 20 CREATING A VIABLE SOFTWARE PLAN
        20.1  Comments on Estimation
        20.2  The Project Planning Process
        20.3  Software Scope and Feasibility
        20.4  Resources
          20.4.1  uman Resources
          20.4.2  Reusable Software Resources
          20.4.3  Environmental Resources
        20.5  Project Scheduling
          20.5.1  Basic Principles
          20.5.2  The Relationship Between People and Eort
        20.6  Defining a Project Task Set
          20.6.1  A Task Set Eample
          20.6.2  efnement of Major Tasks
        20.7  Defning a Task Network
        20.8  Scheduling
          20.8.1  Time-Line Charts
          20.8.2  racking the Schedule
        20.9  Summary
      CHAPTER 21 RISK MANAGEMENT
        21.1  Reactive Versus Proactive Risk Strategies
        21.2  Software Risks
        21.3  Risk Identication
          21.3.1  Assessing Overall Project Risk
          21.3.2  Risk Components and Drivers
        21.4  Risk Projection
          21.4.1  Developing a Risk Table
          21.4.2  Assessing Risk Impact
        21.5  Risk Renement
        21.6  Risk Mitigation, Monitoring, and Management
        21.7  The RMMM Plan
        21.8  Summary
      CHAPTER 22 A STRATEGY FOR SOFTWARE SUPPORT
        22.1  Software Support
        22.2  Software Maintenance
        22.3  Proactive Software Support
          22.3.1  Use of Software Analytics
          22.3.2  Role of Social Media
          22.3.3  Cost of Support

        22.4  Refactoring
          22.4.1  Data Refactoring
          22.4.2  Code Refactoring
          22.4.3  Architecture Refactoring
        22.5  Software Evolution
          22.5.1  Inventory Analysis
          22.5.2  Document Restructuring
          22.5.3  Reverse Engineering
          22.5.4  Code Refactoring
          22.5.5  Data Refactoring
          22.5.6  Forward Engineering
        22.6  Summary
    Online Resources
    APPENDIX 1  An Introduction to UML
    REFERENCES