Software Engineering Principles and Practice 3rd Edition by Hans Van Vliet – Ebook PDF Instant Download/Delivery: 978-0470031469, 0470031468
Full download Software Engineering Principles and Practice 3rd Edition after payment

Product details:
ISBN 10: 0470031468
ISBN 13: 978-0470031469
Author: Hans Van Vliet
Software Engineering: Principles and Practice challenges the reader to appreciate the issues, design trade-offs and teamwork required for successful software development. This new edition has been brought fully up to date, with complete coverage of all aspects of the software lifecycle and a strong focus on all the skills needed to carry out software projects on time and within budget.
Highlights of the third edition include:
Fully updated chapters on requirements engineering and software architecture.
New chapters on component-based software engineering, service orientation and global software development.
Extensive coverage of the human and social aspects of software development.
Balanced coverage of both traditional, heavyweight development and agile, lightweight development approaches such as Extreme Programming (XP).
Written to support both introductory and advanced software engineering courses, this book is invaluable for everyone in software development and maintenance who wants an accessible account of the problems incurred in large-scale software development and the proposed solutions.
A companion website with additional resources for students and instructors can be found at www.wileyeurope.com/college/van vliet
Hans van Vliet has been Professor of Software Engineering at the VU University in Amsterdam, the Netherlands since 1987.
Table of contents:
1 Introduction
Chapter 1 Introduction
1.1 What is Software Engineering?
1.2 Phases in the Development of Software
1.3 Maintenance or Evolution
1.4 From the Trenches
1.4.1 Ariane 5, Flight 501
1.4.2 Therac-25.
1.4.3 The London Ambulance Service
1.4.4 Who Counts the Votes?
1.5 Software Engineering Ethics
1.6 Where are you going?
1.7 Summary
1.8 Further Reading
Exercises
I Software Management
2 Introduction to Software Engineering Management
Chapter 2 Introduction to Software Engineering Management
2.1 Planning a Software Development Project
2.2 Controlling a Software Development Project
2.3 Summary
Exercises.
3 The Software Life Cycle Revisited
Chapter 3 The Software Life Cycle Revisited
3.1 The Waterfall Model
3.2 Agile Methods.
3.2.1 Prototyping
3.2.2 Incremental Development
3.2.3 Rapid Application Development and DSDM
3.2.4 Extreme Programming
3.3 The Rational Unified Process (RIP)
3.4 Intermezzo: Maintenance or Evolution
3.5 Software Product Lines
3.6 Process Modeling
3.7 Summary
3.8 Further Reading
Exercises
4 Configuration Management
Chapter 4 Configuration Management
4.1 Tasks and Responsibilities.
4.2 Configuration Management Plan
4.3 Summary
4.4 Further Reading
Exercises
5 People Management and Team Organization
Chapter 5 People Management and Team Organization
5.1 People Management
5.1.1 Coordination Mechanisms
5.1.2 Management Styles
5.2 Team Organization
5.2.1 Hierarchical Organization
5.2.2 Matrix Organization
5.2.3 Chief Programmer Team
5.2.4 SWAT Team
5.2.5 Agile Team
5.2.6 Open Source Software Development
5.2.7 General Principles for Organizing a Team
5.3 Summary
5.4 Further Reading
Exercises
6 On Managing Software Quality
Chapter 6 On Managing Software Quality
6.1 On Measures and Numbers.
6.2 A Taxonomy of Quality Attributes
6.3 Perspectives on Quality
6.4 The Quality System
6.5 Software Quality Assurance.
6.6 The Capability Maturity Model (CMM)
6.7 Some Critical Notes.
6.8 Getting Started
6.9 Summary
6.10 Further Reading
Exercises
7 Cost Estimation
Chapter 7 Cost Estimation
7.1 Algorithmic Models
7.1.1 Walston–Felix
7.1.2 COCOMO
7.1.3 Putnam
7.1.4 Function Point Analysis.
7.1.5 COCOMO 2: Variations on a Theme
7.2 Guidelines for Estimating Cost
7.3 Distribution of Manpower over Time
7.4 Summary
7.5 Further Reading
Exercises.
8 Project Planning and Control
Chapter 8 Project Planning and Control
8.1 A Systems View of Project Control.
8.2 A Taxonomy of Software Development Projects
8.3 Risk Management
8.4 Techniques for Project Planning and Control
8.5 Summary
8.6 Further Reading
Exercises
II The Software Life Cycle
9 Requirements Engineering
Chapter 9 Requirements Engineering
9.1 Requirements Elicitation
9.1.1 Requirements Engineering Paradigms
9.1.2 Requirements Elicitation Techniques.
9.1.3 Goals and Viewpoints
9.1.4 Prioritizing Requirements
9.1.5 COTS selection
9.2 Requirements Documentation and Management
9.2.1 Requirements Management.
9.3 Requirements Specification Techniques
9.3.1 Specifying Non-Functional Requirements
9.4 Verification and Validation
9.5 Summary
9.6 Further Reading
Exercises
10 Modeling
Chapter 10Modeling
10.1 Classic Modeling Techniques.
10.1.1 Entity–Relationship Modeling
10.1.2 Finite State Machines.
10.1.3 Data Flow Diagrams (DFD)
10.1.4 CRC Cards
10.2 On Objects and Related Stuff
10.3 The Unified Modeling Language
10.3.1 The Class Diagram
10.3.2 The State Machine Diagram
10.3.3 The Sequence Diagram
10.3.4 The Communication Diagram
10.3.5 The Component Diagram
10.3.6 The Use Case.
10.4 Summary
10.5 Further Reading
Exercises.
11 Software Architecture
Chapter 11 Software Architecture
11.1 Software Architecture and the Software Life Cycle
11.2 Architecture design
11.2.1 Architecture as a set of design decisions
11.3 Architectural views
11.4 Architectural Styles
11.5 Software Architecture Assessment
11.6 Summary
11.7 Further Reading
Exercises
12 Software Design
Chapter 12 Software Design
12.1 Design Considerations
12.1.1 Abstraction
12.1.2 Modularity
12.1.3 Information Hiding.
12.1.4 Complexity
12.1.5 System Structure
12.1.6 Object-Oriented Metrics
12.2 Classical Design Methods.
12.2.1 Functional Decomposition
12.2.2 Data Flow Design (SA/SD).
12.2.3 Design based on Data Structures.
12.3 Object-Oriented Analysis and Design Methods
12.3.1 The Booch Method
12.3.2 Fusion
12.3.3 RUP Revisited
12.4 How to Select a Design Method
12.4.1 Object Orientation: Hype or the Answer?
12.5 Design Patterns
12.6 Design Documentation
12.7 Verification and Validation
12.8 Summary
12.9 Further Reading
Exercises.
13 Software Testing
Chapter 13 Software Testing
13.1 Test Objectives
13.1.1 Test Adequacy Criteria
13.1.2 Fault Detection Versus Confidence Building
13.1.3 From Fault Detection to Fault Prevention
13.2 Testing and the Software Life Cycle
13.2.1 Requirements Engineering
13.2.2 Design
13.2.3 Implementation
13.2.4 Maintenance
13.2.5 Test-Driven Development (TDD)
13.3 Verification and Validation Planning and Documentation
13.4 Manual Test Techniques
13.4.1 Reading.
13.4.2 Walkthroughs and Inspections
13.4.3 Correctness Proofs.
13.4.4 Stepwise Abstraction
13.5 Coverage-Based Test Techniques
13.5.1 Control-How Coverage
13.5.2 Dataflow Coverage
13.5.3 Coverage-Based Testing of Requirements Specifications
13.6 Fault-Based Test Techniques
13.6.1 Error Seeding.
13.6.2 Mutation Testing
13.7 Error-Based Test Techniques
13.8 Comparison of Test Techniques
13.8.1 Comparison of Test Adequacy Criteria
13.8.2 Properties of Test Adequacy Criteria.
13.8.3 Experimental Results
13.9 Different Test Stages
13.10Estimating Software Reliability
13.11Summary
13.12 Further Reading
Exercises
14 Software Maintenance
Chapter 14 Software Maintenance
14.1 Maintenance Categories Revisited
14.2 Major Causes of Maintenance Problems
14.3 Reverse Engineering and Refactoring
14.3.1 Refactoring
14.3.2 Inherent Limitations
14.3.3 Tools
14.4 Software Evolution Revisited
14.5 Organizational and Managerial Issues
14.5.1 Organization of Maintenance Activities
14.5.2 Software Maintenance from a Service Perspective
14.5.3 Control of Maintenance Tasks
14.5.4 Quality Issues
14.6 Summary
14.7 Further Reading
Exercises
15 Software Tools
Chapter 15Software Tools
People also search for:
solid software engineering principles
green software engineering principles
advanced software engineering principles
modern software engineering principles
sound software engineering principles
Tags: Hans Van Vliet, Software Engineering, Principles and Practice


