[PDF] Essentials of Software Engineering Free Download

0
Each new print copy includes Navigate 2 Advantage Access that unlocks a comprehensive and interactive eBook, student practice activities and assessments, a full suite of instructor resources, and learning analytics reporting tools. Experience Navigate 2 today at www.jblnavigate.com/2 Written for the undergraduate, one-term course, Essentials of Software Engineering, Fourth Edition provides students with a systematic engineering approach to software engineering principles and methodologies. Comprehensive, yet concise, the Fourth Edition includes new information on areas of high interest to computer scientists, including Big Data and developing in the cloud. In-depth coverage of key issues, combined with a strong focus on software quality, makes Essentials of Software Engineering, Fourth Edition the perfect text for students entering the fast-growing and lucrative field of software development. The text includes thorough overviews of programming concepts, system analysis and design, principles of software engineering, development and support processes, methodologies, software testing and quality, and product management, while incorporating real-world examples throughout.

Table of contents :

Cover
Title Page
Copyright
Contents
Preface
CHAPTER 1 Creating a Program
1.1 A Simple Problem
1.1.1 Decisions, Decisions
1.1.2 Functional Requirements
1.1.3 Nonfunctional Requirements
1.1.4 Design Constraints
1.1.5 Design Decisions
1.2 Testing
1.3 Estimating Effort
1.4 Implementations
1.4.1 A Few Pointers on Implementation
1.4.2 Basic Design
1.4.3 Unit Testing with JUnit
1.4.4 Implementation of StringSorter
1.4.5 User Interfaces
1.5 Summary
1.6 Review Questions
1.7 Exercises
1.8 References and Suggested Readings
CHAPTER 2 Building a System
2.1 Characteristics of Building a System
2.1.1 Size and Complexity
2.1.2 Technical Considerations of Development and Support
2.1.3 Nontechnical Considerations of Development and Support
2.2 Building a Hypothetical System
2.2.1 Requirements of the Payroll System
2.2.2 Designing the Payroll System
2.2.3 Code and Unit Testing the Payroll System
2.2.4 Integration and Functionally Testing the Payroll System
2.2.5 Release of the Payroll System
2.2.6 Support and Maintenance
2.3 Coordination Efforts
2.3.1 Process
2.3.2 Product
2.3.3 People
2.4 Summary
2.5 Review Questions
2.6 Exercises
2.7 References and Suggested Readings
CHAPTER 3 Engineering of Software
3.1 Examples and Characteristics of Software Failures
3.1.1 Project Failures
3.1.2 Software Product Failures
3.1.3 Coordination and Other Concerns
3.2 Software Engineering
3.2.1 What Is Software Engineering?
3.2.2 Definitions of Software Engineering
3.2.3 Relevancy of Software Engineering and Software
3.3 Software Engineering Profession and Ethics
3.3.1 Software Engineering Code of Ethics
3.3.2 Professional Behavior
3.4 Principles of Software Engineering
3.4.1 Davis’s Early Principles of Software Engineering
3.4.2 Royce’s More Modern Principles
3.4.3 Wasserman’s Fundamental Software Engineering Concepts
3.5 Summary
3.6 Review Questions
3.7 Exercises
3.8 References and Suggested Readings
CHAPTER 4 Software Process Models
4.1 Software Processes
4.1.1 Goal of Software Process Models
4.1.2 The “Simplest” Process Model
4.2 Traditional Process Models
4.2.1 Waterfall Model
4.2.2 Chief Programmer Team Approach
4.2.3 Incremental Model
4.2.4 Spiral Model
4.3 A More Modern Process
4.3.1 General Foundations of Rational Unified Process Framework
4.3.2 The Phases of RUP
4.4 Entry and Exit Criteria
4.4.1 Entry Criteria
4.4.2 Exit Criteria
4.5 Process Assessment Models
4.5.1 SEI’s Capability Maturity Model
4.5.2 SEI’s Capability Maturity Model Integrated
4.6 Process Definition and Communication
4.7 Summary
4.8 Review Questions
4.9 Exercises
4.10 References and Suggested Readings
CHAPTER 5 New and Emerging Process Methodologies
5.1 What Are Agile Processes?
5.2 Why Agile Processes?
5.3 Some Process Methodologies
5.3.1 Extreme Programming (XP)
5.3.2 The Crystal Family of Methodologies
5.3.3 The Unified Process as Agile
5.3.4 Scrum
5.3.5 Kanban Method: A New Addition to Agile
5.3.6 Open Source Software Development
5.3.7 Summary of Processes
5.4 Choosing a Process
5.4.1 Projects and Environments Better Suited for Each Kind of Process
5.4.2 Main Risks and Disadvantages of Agile Processes
5.4.3 Main Advantages of Agile Processes
5.5 Summary
5.6 Review Questions
5.7 Exercises
5.8 References and Suggested Readings
CHAPTER 6 Requirements Engineering
6.1 Requirements Processing
6.1.1 Preparing for Requirements Processing
6.1.2 Requirements Engineering Process
6.2 Requirements Elicitation and Gathering
6.2.1 Eliciting High-Level Requirements
6.2.2 Eliciting Detailed Requirements
6.3 Requirements Analysis
6.3.1 Requirements Analysis and Clustering by Business Flow
6.3.2 Requirements Analysis and Clustering with Object-Oriented Use Cases
6.3.3 Requirements Analysis and Clustering by Viewpoint-Oriented Requirements Definition
6.3.4 Requirements Analysis and Prioritization
6.3.5 Requirements Traceability
6.4 Requirements Definition, Prototyping, and Reviews
6.5 Requirements Specification and Requirements Agreement
6.6 Summary
6.7 Review Questions
6.8 Exercises
6.9 References and Suggested Readings
CHAPTER 7 Design: Architecture and Methodology
7.1 Introduction to Design
7.2 Architectural Design
7.2.1 What Is Software Architecture?
7.2.2 Views and Viewpoints
7.2.3 Meta-Architectural Knowledge: Styles, Patterns, Tactics, and Reference Architectures
7.2.4 A Network-based Web Reference Architecture—REST
7.3 Detailed Design
7.3.1 Functional Decomposition
7.3.2 Relational Database Design
7.3.3 Designing for Big Data
7.3.4 Object-Oriented Design and UML
7.3.5 User-Interface Design
7.3.6 Some Further Design Concerns
7.4 HTML-Script-SQL Design Example
7.5 Summary
7.6 Review Questions
7.7 Exercises
7.8 References and Suggested Readings
CHAPTER 8 Design Characteristics and Metrics
8.1 Characterizing Design
8.2 Some Legacy Characterizations of Design Attributes
8.2.1 Halstead Complexity Metric
8.2.2 McCabe’s Cyclomatic Complexity
8.2.3 Henry-Kafura Information Flow
8.2.4 A Higher-Level Complexity Measure
8.3 “Good” Design Attributes
8.3.1 Cohesion
8.3.2 Coupling
8.4 OO Design Metrics
8.4.1 Aspect-Oriented Programming
8.4.2 The Law of Demeter
8.5 User-Interface Design
8.5.1 Good UI Characteristics
8.5.2 Usability Evaluation and Testing
8.6 Summary
8.7 Review Questions
8.8 Exercises
8.9 References and Suggested Readings
CHAPTER 9 Implementation
9.1 Introduction to Implementation
9.2 Characteristics of a Good Implementation
9.2.1 Programming Style and Coding Guidelines
9.2.2 Comments
9.3 Implementation Practices
9.3.1 Debugging
9.3.2 Assertions and Defensive Programming
9.3.3 Performance Optimization
9.3.4 Refactoring
9.3.5 Code Reuse
9.4 Developing for the Cloud
9.4.1 Infrastructure as a Service
9.4.2 Platform as a Service
9.4.3 Cloud Application Services
9.4.4 Cloud Services for Developers
9.4.5 Advantages and Disadvantages of the Cloud
9.5 Summary
9.6 Review Questions
9.7 Exercises
9.8 References and Suggested Readings
CHAPTER 10 Testing and Quality Assurance
10.1 Introduction to Testing and Quality Assurance
10.2 Testing
10.2.1 The Purposes of Testing
10.3 Testing Techniques
10.3.1 Equivalence-Class Partitioning
10.3.2 Boundary Value Analysis
10.3.3 Path Analysis
10.3.4 Combinations of Conditions
10.3.5 Automated Unit Testing and Test-Driven Development
10.3.6 An Example of Test-Driven Development
10.4 When to Stop Testing
10.5 Inspections and Reviews
10.6 Formal Methods
10.7 Static Analysis
10.8 Summary
10.9 Review Questions
10.10 Exercises
10.11 References and Suggested Readings
CHAPTER 11 Configuration Management, Integration, and Builds
11.1 Software Configuration Management
11.2 Policy, Process, and Artifacts
11.2.1 Business Policy Impact on Configuration Management
11.2.2 Process Influence on Configuration Management
11.3 Configuration Management Framework
11.3.1 Naming Model
11.3.2 Storage and Access Model
11.4 Build and Integration and Build
11.5 Tools for Configuration Management
11.6 Managing the Configuration Management Framework
11.7 Summary
11.8 Review Questions
11.9 Exercises
11.10 References and Suggested Readings
CHAPTER 12 Software Support and Maintenance
12.1 Customer Support
12.1.1 User Problem Arrival Rate
12.1.2 Customer Interface and Call Management
12.1.3 Technical Problem/Fix
12.1.4 Fix Delivery and Fix Installs
12.2 Product Maintenance Updates and Release Cycles
12.3 Change Control
12.4 Summary
12.5 Review Questions
12.6 Exercises
12.7 References and Suggested Readings
CHAPTER 13 Software Project Management
13.1 Project Management
13.1.1 The Need for Project Management
13.1.2 The Project Management Process
13.1.3 The Planning Phase of Project Management
13.1.4 The Organizing Phase of Project Management
13.1.5 The Monitoring Phase of Project Management
13.1.6 The Adjusting Phase of Project Management
13.2 Some Project Management Techniques
13.2.1 Project Effort Estimation
13.2.2 Work Breakdown Structure
13.2.3 Project Status Tracking with Earned Value
13.2.4 Measuring Project Properties and GQM
13.3 Summary
13.4 Review Questions
13.5 Exercises
13.6 References and Suggested Readings
CHAPTER 14 Epilogue and Some Contemporary Issues
14.1 Security and Software Engineering
14.2 Reverse Engineering and Software Obfuscation
14.3 Software Validation and Verification Methodologies and Tools
14.4 References and Suggested Readings
APPENDIX A
Essential Software Development Plan (SDP)
Appendix B
Essential Software Requirements Specifications (SRS)
Example 1: Essential SRS—Descriptive
Example 2: Essential SRS—Object Oriented
Example 3: Essential SRS—IEEE Standard
Example 4: Essential SRS—Narrative Approach
Appendix C
Essential Software Design
Example 1: Essential Software Design—UML
Example 2: Essential Software Design—Structural
Appendix D
Essential Test Plan
Glossary
Index

Product information

ASIN‏:‎1284106004
Publisher‏:‎Jones & Bartlett Learning; 4th edition (December 19, 2016)
Language‏:‎English
Paperback‏:‎334 pages
ISBN-10‏:‎9781284106008
ISBN-13‏:‎978-1284106008
Item Weight‏:‎1.31 pounds
Dimensions‏:‎7.3 x 0.8 x 9 inches
1284106004

 

Download Essentials of Software Engineering Pdf Free:

You can easily download Essentials of Software Engineering PDF by clicking the link given below. If the PDF link is not responding, kindly inform us through comment section. We will fixed it soon.

Click Here to download

“ NOTE: We do not own copyrights to these books. We’re sharing this material with our audience ONLY for educational purpose. We highly encourage our visitors to purchase original books from the respected publishers. If someone with copyrights wants us to remove this content, If you feel that we have violated your copyrights, then please contact us immediately. please contact us. or Email: [email protected]

Leave A Reply

Your email address will not be published.

9 − two =