Introduction to Software Engineering, Second Edition / Edition 2

Introduction to Software Engineering, Second Edition / Edition 2

by Ronald J. Leach
ISBN-10:
1498705278
ISBN-13:
9781498705271
Pub. Date:
02/05/2016
Publisher:
Taylor & Francis

Hardcover

Current price is , Original price is $105.0. You
Select a Purchase Option (Revised)
  • purchase options
    $93.97 $105.00 Save 11% Current price is $93.97, Original price is $105. You Save 11%.
  • purchase options

Overview

Introduction to Software Engineering, Second Edition / Edition 2

Practical Guidance on the Efficient Development of High-Quality Software

Introduction to Software Engineering, Second Edition equips students with the fundamentals to prepare them for satisfying careers as software engineers regardless of future changes in the field, even if the changes are unpredictable or disruptive in nature. Retaining the same organization as its predecessor, this second edition adds considerable material on open source and agile development models.

The text helps students understand software development techniques and processes at a reasonably sophisticated level. Students acquire practical experience through team software projects. Throughout much of the book, a relatively large project is used to teach about the requirements, design, and coding of software. In addition, a continuing case study of an agile software development project offers a complete picture of how a successful agile project can work.

The book covers each major phase of the software development life cycle, from developing software requirements to software maintenance. It also discusses project management and explains how to read software engineering literature. Three appendices describe software patents, command-line arguments, and flowcharts.

Product Details

ISBN-13: 9781498705271
Publisher: Taylor & Francis
Publication date: 02/05/2016
Series: Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series
Edition description: Revised
Pages: 428
Sales rank: 961,774
Product dimensions: 7.10(w) x 10.10(h) x 0.60(d)

About the Author

Ronald J. Leach is an independent consultant and professor and department chair emeritus of computer science at Howard University. His research interests include software reuse, software measurement and metrics, and software fault-tolerance. He earned a BS, an MS, and a PhD in mathematics from the University of Maryland as well as an MS in computer science from Johns Hopkins University.

Table of Contents

Introduction
THE NEED FOR SOFTWARE ENGINEERING
ARE SOFTWARE TEAMS REALLY NECESSARY?
GOALS OF SOFTWARE ENGINEERING
TYPICAL SOFTWARE ENGINEERING TASKS
SOFTWARE LIFE CYCLES
DIFFERENT VIEWS OF SOFTWARE ENGINEERING ACTIVITIES
SOFTWARE ENGINEERING AS AN ENGINEERING DISCIPLINE
SOME TECHNIQUES OF SOFTWARE ENGINEERING
STANDARDS COMMONLY USED FOR SOFTWARE DEVELOPMENT PROCESSES
ORGANIZATION OF THE BOOK

Project Management
SUBTEAMS NEEDED IN SOFTWARE ENGINEERING PROJECTS
NATURE OF PROJECT TEAMS
PROJECT MANAGEMENT
SOFTWARE PROJECT ESTIMATION
PROJECT SCHEDULING
PROJECT MEASUREMENT
PROJECT MANAGEMENT TOOLS
ROLE OF NETWORKS IN PROJECT MANAGEMENT
GROUPWARE
CASE STUDY IN PROJECT MANAGEMENT FOR AGILE PROCESSES

Requirements
SOME PROBLEMS WITH REQUIREMENTS DETERMINATION
REQUIREMENTS ELICITATION
REQUIREMENTS TRACEABILITY
SOFTWARE ARCHITECTURES AND REQUIREMENTS
USE CASES IN REQUIREMENTS ENGINEERING
REENGINEERING SYSTEM REQUIREMENTS
ASSESSMENT OF FEASIBILITY OF SYSTEM REQUIREMENTS
USABILITY REQUIREMENTS
SPECIFYING REQUIREMENTS USING STATE DIAGRAMS AND DECISION TABLES
SPECIFYING REQUIREMENTS USING PETRI NETS
ETHICAL ISSUES
SOME METRICS FOR REQUIREMENTS
THE REQUIREMENTS REVIEW
A MANAGEMENT VIEWPOINT
CASE STUDY OF A MANAGEMENT PERSPECTIVE ON REQUIREMENTS IN AGILE DEVELOPMENT
THE MAJOR PROJECT: PROBLEM STATEMENT
THE MAJOR PROJECT: REQUIREMENTS ELICITATION
THE MAJOR SOFTWARE PROJECT: REQUIREMENTS ANALYSIS

Software Design
INTRODUCTION
SOFTWARE DESIGN PATTERNS
INTRODUCTION TO SOFTWARE DESIGN REPRESENTATIONS
PROCEDURALLY ORIENTED DESIGN REPRESENTATIONS
SOFTWARE ARCHITECTURES
SOFTWARE DESIGN PRINCIPLES FOR PROCEDURALLY ORIENTED PROGRAMS
WHAT IS AN OBJECT?
OBJECT-ORIENTED DESIGN REPRESENTATIONS
SOFTWARE DESIGN PRINCIPLES FOR OBJECT-ORIENTED PROGRAMS
CLASS DESIGN ISSUES
USER INTERFACES
SOFTWARE INTERFACES
SOME METRICS FOR DESIGN
DESIGN REVIEWS
A MANAGER’S VIEWPOINT OF DESIGN
CASE STUDY OF DESIGN IN AGILE DEVELOPMENT
ARCHITECTURE OF THE MAJOR SOFTWARE ENGINEERING PROJECT
PRELIMINARY DESIGN OF THE MAJOR SOFTWARE PROJECT
SUBSYSTEM DESIGN FOR THE MAJOR SOFTWARE PROJECT
DETAILED DESIGN FOR THE MAJOR SOFTWARE PROJECT

Coding
CHOICE OF PROGRAMMING LANGUAGE
CODING STYLES
CODING STANDARDS
CODING, DESIGN, REQUIREMENTS, AND CHANGE
COUPLING CAN BE DANGEROUS
SOME CODING METRICS
CODING REVIEWS AND INSPECTIONS
CONFIGURATION MANAGEMENT
A MANAGEMENT PERSPECTIVE ON CODING
CASE STUDY IN CODING IN AGILE DEVELOPMENT
CODING OF THE MAJOR SOFTWARE PROJECT

Testing and Integration
TYPES OF SOFTWARE TESTING
BLACK-BOX MODULE TESTING
WHITE-BOX MODULE TESTING
REDUCING THE NUMBER OF TEST CASES BY EFFECTIVE TEST STRATEGIES
TESTING OBJECTS FOR ENCAPSULATION AND COMPLETENESS
TESTING OBJECTS WITH INHERITANCE
GENERAL TESTING ISSUES FOR OBJECT-ORIENTED SOFTWARE
TEST SCRIPTS, TEST HARNESSES, AND TEST PLANS
SOFTWARE INTEGRATION
CLOUD COMPUTING AND SOFTWARE INTEGRATION: SOFTWARE AS A SERVICE
MANAGING CHANGE IN THE INTEGRATION PROCESS
PERFORMANCE AND STRESS TESTING
QUALITY ASSURANCE
SOFTWARE RELIABILITY
A MANAGER’S VIEWPOINT ON TESTING AND INTEGRATION
CASE STUDY IN TESTING AND INTEGRATION IN AGILE DEVELOPMENT
TESTING THE MAJOR SOFTWARE PROJECT
INTEGRATING THE MAJOR SOFTWARE PROJECT

Delivery, Installation, and Documentation
DELIVERY
INSTALLATION
DOCUMENTATION
INTERNAL DOCUMENTATION
EXTERNAL DOCUMENTATION
DESIGN RATIONALES
INSTALLATION, USER, TRAINING, AND OPERATIONS MANUALS
ONLINE DOCUMENTATION
READING LEVELS
A MANAGER’S VIEW OF DELIVERY, INSTALLATION, AND DOCUMENTATION
CASE STUDY OF DELIVERY IN AGILE DEVELOPMENT
DELIVERY, INSTALLATION, AND DOCUMENTATION OF THE MAJOR SOFTWARE PROJECT

Maintenance and Software Evolution
INTRODUCTION
CORRECTIVE SOFTWARE MAINTENANCE
ADAPTIVE SOFTWARE MAINTENANCE
HOW TO READ REQUIREMENTS, DESIGNS, AND SOURCE CODE
A MANAGER’S PERSPECTIVE ON SOFTWARE MAINTENANCE
MAINTENANCE COSTS, SOFTWARE EVOLUTION, AND THE DECISION TO BUY VERSUS BUILD VERSUS REUSE VERSUS REENGINEER
MAINTENANCE IN AGILE DEVELOPMENT AND THE TOTAL LIFE CYCLE COSTS
MAINTENANCE OF THE MAJOR SOFTWARE PROJECT

Research Issues in Software Engineering
SOME IMPORTANT RESEARCH PROBLEMS IN SOFTWARE ENGINEERING
HOW TO READ THE SOFTWARE ENGINEERING RESEARCH LITERATURE

APPENDIX A: AN INTERESTING SOFTWARE PATENT
APPENDIX B: COMMAND-LINE ARGUMENTS
APPENDIX C: FLOWCHARTS

References
Index

A summary, keywords and phrases, and further reading appear at the end of each chapter.

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews