Normal view MARC view ISBD view

Software engineering : modern approaches / Eric J. Braude, Michael E. Bernstein

Braude, Eric J.
Contributor(s): Bernstein, Michael E.
Material type: materialTypeLabelBook; Format: print Publisher: Hoboken : John Wiley & Sons, 2010Edition: 2nd ed.Description: XV, 782 p. ; 27 cm.ISBN: 978-0-471-69208-9.Subject(s): Ingeniería del software
Tags from this library: No tags from this library for this title. Log in to add tags.
    average rating: 0.0 (0 votes)
Item type Home library Call number Status Loan Date due Barcode Item holds
Manuales (7 días) 03. BIBLIOTECA INGENIERÍA PUERTO REAL
681.3.06/BRA/sof (Browse shelf)   Shelving location | Bibliomaps® MANUAL 3742393480
Total holds: 0

Enhanced descriptions from Syndetics:

Presenting the most comprehensive and practical introduction to the principles of software engineering and how to apply them, this updated edition follows an object-oriented perspective Includes new and expanded material on agile and emerging methods, metrics, quality assurance security, real-world case studies, refactoring, test-driving development, and testing Case studies help readers learn the importance of quality factors, appropriate design, and project management techniques

Índice

Bibliografía

A more effective approach for software engineers to learn key concepts is to actually apply the information using real-world examples and problems. Software Engineering continues to follow this method while also offering comprehensive coverage. It is built around the idea of using object-orientation from the very beginning, including the requirements analysis stage, which is how its done in the field. Readers will find discussions on the most popular languages, including C#, C++, Java, and Visual Basic. The material is presented in a way so that software engineers will learn how to function as members of development teams, design efficient software, think as problem solvers, and use object-oriented tools through all phases of the software process.

Table of contents provided by Syndetics

  • Preface
  • The Issue of Scale
  • This Edition Compared with the First
  • How Instructors Can Use This Book
  • Acknowledgments
  • Part I Introduction To Software Engineering
  • Chapter 1 The Goals and Terminology of Software Engineering
  • What is Software Engineering
  • Why Software Engineering Is Critical: Software Disasters
  • Why Software Fails and Succeeds
  • Software Engineering Activities
  • Software Engineering Principles
  • Ethics in Software Engineering
  • Case Studies
  • Summary
  • Exercises
  • Bibliography
  • Chapter 2 Introduction to Quality and Metrics in Software Engineering
  • 2.1 The Meaning of Software Quality
  • 2.2 Defects in Software
  • 2.3 Verification and Validation
  • 2.4 Planning for Quality
  • 2.5 Metrics
  • 2.6 Summary
  • 2.7 Exercises
  • Bibliography
  • Part II Software Process
  • Chapter 3 Software Process
  • 3.1 The Activities of Software Process
  • 3.2 Software Process Models
  • 3.3 Case Study: Student Team Guidance
  • 3.4 Summary
  • 3.5 Exercises
  • Bibliography
  • Chapter 4 Agile Software Processes
  • 4.1 Agile History and Agile Manifesto
  • 4.2 Agile Principles
  • 4.3 Agile Methods
  • 4.4 Agile Processes
  • 4.5 Integrating Agile with Non-Agile Processes
  • 4.6 Summary
  • 4.7 Exercises
  • Bibliography
  • Chapter 5 Quality in the Software Process
  • 5.1 Principles of Managing Quality
  • 5.2 Managing Quality in Agile Processes
  • 5.3 Quality Planning
  • 5.4 Inspections
  • 5.5 QA Reviews and Audits
  • 5.6 Defect Management
  • 5.7 Process Improvement and Process Metrics
  • 5.8 Organization-Level Quality and the CMMI
  • 5.9 Case Study
  • 5.10 Summary
  • 5.11 Exercises
  • Bibliography
  • Chapter 6 Software Configuration Management
  • 6.1 Software Configuration Management Goals
  • 6.2 SCM Activities
  • 6.3 Configuration Management Plans
  • 6.4 Configuration Management Systems
  • 6.5 Case Study: Encounter Video Game
  • 6.6 Case Study: Eclipse
  • 6.7 Student Team Guidance: Configuration Management
  • 6.8 Summary
  • 6.9 Exercises
  • Bibliography
  • Part III Project Management
  • Chapter 7 Principles of Software Project Management I: Organization, Tools, and Risk Management
  • 7.1 Software Project Organization
  • 7.2 Team Size
  • 7.3 Geographically Distributed Development
  • 7.4 The Team Software Process
  • 7.5 Software Project Tools and Techniques
  • 7.6 Risk Management
  • 7.7 Student Team Guidance: Organizing the Software Projec's Management
  • 7.8 Summary
  • 7.9 Exercises
  • Bibliography
  • Chapter 8 Principles of Software Project Management II: Estimation, Scheduling, and Planning
  • 8.1 Cost Estimation
  • 8.2 Scheduling
  • 8.3 The Software Project Management Plan
  • 8.4 Case Study: Encounter Project Management Plan
  • 8.5 Case Study: Project Management in Eclipse
  • 8.6 Case Study: Project Management for OpenOffice
  • 8.7 Case Study: Student Team Guidance
  • 8.8 Summary
  • 8.9 Exercises
  • Bibliography
  • Chapter 9 Quality and Metrics in Project Management
  • 9.1 Cultivating and Planning Internal Quality
  • 9.2 Project Metrics
  • 9.3 Using Metrics for Improvement
  • 9.4 Software Verification and Validation Plan
  • 9.5 Case Study: Software Verification and Validation Plan for Encounter
  • 9.6 Summary
  • 9.7 Exercises
  • Bibliography
  • Part IV Requirements Analysis
  • Chapter 10 Principles of Requirements Analysis
  • 10.1 The Value of Requirements Analysis
  • 10.2 Sources of Requirements
  • 10.3 High-level vs. Detailed
  • Requirements
  • 10.4 Types of Requirements
  • 10.5 Nonfunctional Requirements
  • 10.6 Documenting Requirements
  • 10.7 Traceability
  • 10.8 Agile Methods and Requirements
  • 10.9 Updating the Project to Reflect Requirements Analysis
  • 10.10 Summary
  • 10.11 Exercises
  • Bibliography
  • Chapter 11 Analyzing High-Level Requirements
  • 11.1 Examples of Customer Wants
  • 11.2 Stakeholder Vision
  • 11.3 The Interview and Documentation Process
  • 11.4 Writing an Overview
  • 11.5 Describing Main Functions and Used Cases
  • 11.6 Agile Methods for High-Level Requirements
  • 11.7 Specifying User Interfaces: High Level
  • 11.8 Security Requirements
  • 11.9 Using Diagrams for High-Level Requirements
  • 11.10 Case Study: High-Level Software Requirements Specifications (SRS) for the Encounter Video Game
  • 11.11 Case Study: High-Level Requirements for Eclipse
  • 11.12 Case Study: High-Level Requirements for OpenOffice
  • 11.13 Summary
  • 11.14 Exercises
  • Bibliography
  • Chapter 12 Analyzing Detailed Requirements
  • 12.1 The Meaning of Detailed Requirements
  • 12.2 Organizing Detailed Requirements
  • 12.3 User Interfaces: Detailed Requirements
  • 12.4 Detailed Security Requirements
  • 12.5 Error Conditions
  • 12.6 Traceability of Detailed Requirements
  • 12.7 Using Detailed Requirements to Manage Projects
  • 12.8 Prioritizing Requirements
  • 12.9 Associating Requirements with Tests
  • 12.10 Agile Methods for Detailed Requirements
  • 12.11 Using Tools and the Web for Requirements Analysis
  • 12.12 The Effects on Projects of the Detailed Requirements Process
  • 12.13 Student Project Guide: Requirements for the Encounter Case Study
  • 12.14 Case Study: Detailed Requirements for the Encounter Video Game
  • 12.15 Summary
  • 12.16 Exercises
  • Bibliography
  • Chapter 13 Quality and Metrics in Requirements Analysis
  • 13.1 Quality of Requirements for Agile Projects
  • 13.2 Accessibility of Requirements
  • 13.3 Comprehensiveness of Requirements
  • 13.4 Understandability of Requirements
  • 13.5 Un-ambiguity of Requirements
  • 13.6 Consistency of Requirements
  • 13.7 Prioritization of Requirements
  • 13.8 Security and High-Level Requirements
  • 13.9 Self-Completeness of Requirements
  • 13.10 Testability of Requirements
  • 13.11 Traceability of Requirements
  • 13.12 Metrics for Requirements Analysis
  • 13.13 Inspecting Detailed Requirements
  • 13.14 Summary
  • 13.15 Exercises
  • Chapter 14 Online Chapter - Formal and Emerging Methods in Requirements Analysis as follows: An Introduction
  • 14.1 Provable Requirements Method
  • 14.2 Introduction to Formal Methods
  • 14.3 Mathematical Preliminaries
  • 14.4 The Z-Specification Language
  • 14.5 The B Language System
  • 14.6 Trade-offs for Using a B-like system
  • 14.7 Summary
  • 14.8 Exercises
  • Bibliography
  • Part V Software Design
  • Chapter 15 Principles of Software Design
  • 15.1 The Goals of Software Design
  • 15.2 Integrating Design Models
  • 15.3 Frameworks
  • 15.4 IEEE Standards for Expressing Designs
  • 15.6 Summary
  • 15.7 Exercises
  • Chapter 16 The Unified Modeling Language
  • 16.1 Classes in UML
  • 16.2 Class Relationships in UML
  • 16.3 Multiplicity
  • 16.4 Inheritance
  • 16.5 Sequence Diagrams
  • 16.6 State Diagrams
  • 16.7 Activity Diagrams
  • 16.8 Data Flow Models
  • 16.9 A Design Example with UML
  • 16.10 Summary
  • 16.11 Exercises
  • Bibliography
  • Chapter 17 Software Design Patterns
  • 17.1 Examples of a Recurring Design Purpose
  • 17.2 An Introduction to Design Patterns
  • 17.3 Summary of Design Patterns by Type: Creational, Structural, and Behavioral
  • 17.4 Characteristics of Design Patterns: Viewpoints, Roles, and Levels
  • 17.5 Selected Creational Design Patterns
  • 17.6 Selected Structural Design Patterns
  • 17.7 Selected Behavioral Design Patterns
  • 17.8 Design Pattern Forms: Delegation and Recursion
  • 17.9 Summary
  • 17.10 Exercises
  • Bibliography
  • Chapter 18 Software Architecture
  • 18.1 A Categorization of Architectures
  • 18.2 Software Architecture Alternatives and Their Class Models
  • 18.3 Trading Off Architecture Alternatives
  • 18.4 Tools for Architectures
  • 18.5 IEEE Standards for Expressing Designs
  • 18.6 Effects of Architecture Selection on the Project Plan
  • 18.7 Case Study: Preparing to Design Encounter (Student Project Guide continued)
  • 18.8 Case Study: Software Design Document for the Role-Playing Video Game Framework
  • 18.9 Case Study: Software Design Document for Encounter (Uses the Framework)
  • 18.10 Case Study: Architecture of Eclipse
  • 18.11 Case Study: OpenOffice Architecture
  • 18.12 Summary
  • 18.13 Exercises
  • Bibliography
  • Chapter 19 Detailed Design
  • 19.1 Relating Use Cases, Architecture, and Detailed Design
  • 19.2 A Typical Road Map for the Detailed Design Process
  • 19.3 Object-Oriented Design Principles
  • 19.4 Designing against Interfaces
  • 19.5 Specifying Classes, Functions, and Algorithms
  • 19.6 Reusing Components
  • 19.7 Sequence and Data Flow Diagrams for Detailed Design
  • 19.8 Detailed Design and Agile Processes
  • 19.9 Design in the Unified Development Process
  • 19.10 IEEE Standard 890 for Detailed Design
  • 19.11 Updating a Project with Detailed Design
  • 19.12 Case Study: Detailed Design of Encounter
  • 19.13 Case Study: Detailed Design of Eclipse
  • 19.14 Summary
  • 19.15 Exercises
  • Bibliography
  • Chapter 20 Design Quality and Metrics
  • 20.1 Degree of Understandability, Cohesion, and Coupling
  • 20.2 Degree of Sufficiency as a Quality Goal
  • 20.3 Degree of Robustness as a Quality Goal
  • 20.4 Degree of Flexibility as a Design Quality Goal
  • 20.5 Degree of Reusability as a Design Quality Goal
  • 20.6 Degree of Time Efficiency as a Design Quality Measure
  • 20.7 Degree of Space Efficiency as a Design Quality Measure
  • 20.8 Degree of Reliability as a Design Quality Measure
  • 20.9 Degree of Security as a Design Quality Measure
  • 20.10 Assessing Quality in Architecture Selection
  • 20.11 Assessing the Quality of Detailed Designs
  • 20.12 Summary
  • 20.13 Exercises
  • Bibliography
  • Chapter 21 Online Chapter - Advanced and Emerging Methods in Software Design
  • 21.1 Designing in a Distributed Environment
  • 21.2 Introduction to Aspect-Oriented Programming
  • 21.3 Designing for Security with UMLsec
  • 21.4 Model-Driven Architectures
  • 21.5 The Formal Design Process in B
  • 21.6 Summary
  • 21.7 Exercises
  • Bibliography
  • Part VI Implementation
  • Chapter 22 Principles of Implementation
  • 22.1 Agile and Non-Agile Approaches to Implementation
  • 22.2 Choosing a Programming Language
  • 22.3 Identifying Classes
  • 22.4 Defining Methods
  • 22.5 Implementation Practices
  • 22.6 Defensive Programming
  • 22.7 Coding Standards
  • 22.8 Comments
  • 22.9 Tools and Environments for Programming
  • 22.10 Case Study: Encounter Implementation
  • 22.11 Case Study: Eclipse
  • 22.12 Case Study: OpenOffice
  • 22.13 Student Team Guidance for Implementation
  • 22.14 Summary
  • 22.15 Code Listings Referred to in This Chapter
  • 22.16 Exercises
  • Bibliography
  • Chapter 23 Quality and Metrics in Implementation
  • 23.1 Quality of Implementation
  • 23.2 Code Inspections
  • 23.3 Summary
  • 23.4 Exercises
  • Chapter 24 Refactoring
  • 24.1 Big Refactorings
  • 24.2 Composing Methods
  • 24.3 Moving Features between Objects
  • 24.4 Organizing Data
  • 24.5 Generalization
  • 24.6 Introducing Modules
  • 24.7 Refactoring in Projects
  • 24.8 Summary
  • 24.9 Exercises
  • Bibliography
  • Part VII Testing And Maintenance
  • Chapter 25 Introduction to Software Testing
  • 25.1 Testing Early and Often and the Agile Connection
  • 25.2 Retesting: Regression Testing
  • 25.3 Black Box and White Box Testing
  • 25.4 Unit Testing vs. Post-Unit Testing
  • 25.5 Testing Object-Oriented Implementations
  • 25.6 Documenting Tests
  • 25.7 Test Planning
  • 25.8 Testing Test Suites by Fault Injection
  • 25.9 Summary
  • 25.10 Exercises
  • Chapter 26 Unit Testing
  • 26.1 The Sources of Units for Unit Testing
  • 26.2 Unit Test Methods
  • 26.3 Testing Methods
  • 26.4 Test-Driven Development
  • 26.5 Case Study: Encounter Video Game
  • 26.6 Summary
  • 26.7 Exercises
  • Bibliography
  • Chapter 27 Module and Integration Testing
  • 27.1 Stubs and Drivers
  • 27.2 Testing a Class
  • 27.3 Integration
  • 27.4 Daily Builds
  • 27.5 Interface Testing
  • 27.6 Module Integration
  • 27.7 Case Study: Class Test for Encounter
  • 27.8 Case Study: Encounter Integration Plan
  • 27.9 Summary
  • 27.10 Exercises
  • Bibliography
  • Chapter 28 Testing at the System Level
  • 28.1 Functional Testing
  • 28.2 Nonfunctional Testing
  • 28.3 Testing with Lightweight Requirements
  • 28.4 Testing Shortly Before Release
  • 28.5 Case Study: Encounter Software Test Documentation
  • 28.6 Case Study: Eclipse
  • 28.7 Case Study: OpenOffice
  • 28.8 Summary
  • 28.9 Exercises
  • Bibliography
  • Chapter 29 Software Maintenance
  • 29.1 Types of Software Maintenance
  • 29.2 Issues of Software Maintenance
  • 29.3 Maintenance Process
  • 29.4 IEEE Maintenance Standards
  • 29.5 Software Evolution
  • 29.6 Maintenance Metrics
  • 29.7 Case Studies
  • 29.8 Summary
  • 29.9 Exercises
  • Bibliography
  • Glossary
  • Index

There are no comments for this item.

Log in to your account to post a comment.

Powered by Koha