Software Engineering Books

«
»
Software engineering is the process of designing, building, and testing software applications after analyzing user requirements.
The reason most experienced Software Engineers recommend reading books for learning Software Engineering is because the books contain in-depth and authentic knowledge. We have compiled the list of Software Engineering Books which are used by beginners and advanced programmers.

Here’s a full list of Software Engineering Books with their authors, publishers, and an unbiased review of books as well as links to the Amazon website to directly purchase these books.

  1. Software Engineering Books for Beginners
  2. Advanced Software Engineering Books
  3. Software Architecture and Design
  4. Software Practice and Testing
  5. Software Inspection
  6. Advanced Software Engineering Process and Tools
  7. Popular Software Engineering Books
  8. Software Engineering Resources
  9. Additional Recommendations

1. Software Engineering Books for Beginners

1. “Fundamentals of Software Engineering” by Rajib Mall
“Fundamentals of Software Engineering” by Rajib Mall not only incorporates latest and enhanced software engineering techniques and practices but also shows how these techniques are applied into the practical software assignments. The chapters are incorporated with illustrative examples to add an analytical insight on the subject. The book “Fundamentals of Software Engineering” is logically organised to cover expanded and revised treatment of all software process activities. This book is designed for MCA, MBA and IT. This book has objective questions at the end of each chapter. This book also has worked out examples and practice problems. This book provides chapter end exercises and solutions to problems.
2. “Software Engineering: A practitioner’s approach” by Roger S Pressman
“Software Engineering: A practitioner’s approach” by Roger S Pressman is designed provides a linear presentation of software engineering topics. Strong emphasis is laid on the major activities that are a part of generic software process. The book “Software Engineering: A practitioner’s approach” also provides information on widely used software engineering methods thereby eliminating discussion of secondary methods, tools and techniques. The chapters in the book are divided into 5 parts namely process, modelling, quality management, software project management and advanced topics. The book also emphasizes on new and important software engineering processes and practices.

3. “Software Engineering” by Ian Sommerville
The book “Software Engineering” by Ian Sommerville is intended for introductory and advanced courses in software engineering. The book is divided into four parts namely software engineering basics, dependability and security, advanced software engineering, and software engineering management. The book “Software Engineering” by Ian Sommerville focuses on processes and methods related to the creation of reliable, software systems. The book also has extensive coverage of traditional plan-driven software engineering thereby giving the readers up-to-date snapshot of the currently available field.

4. “Software Engineering 1st Edition” by Udit Agarwal
“Software Engineering 1st Edition” by Udit Agarwal, is a useful book for students or professionals learning Software Requirement and Analysis. The book comprises previous years question papers, and important questions and answers to help readers understand the subject.

5. “Fundamentals of Software Engineering, 2/E 2nd Edition” by Carlo Ghezzi
“Fundamentals of Software Engineering, 2/E 2nd Edition” by Carlo Ghezzi provides selective, in-depth coverage of the fundamentals of software engineering by stressing principles and methods through rigorous formal and informal approaches. The authors emphasize identifying and applying fundamental principles that are applicable throughout the software lifecycle. This emphasis enables readers to respond to the rapid changes in technology that are common today.


advertisement
advertisement

2. Advanced Software Engineering Books

1. “Software Engineering” by Gaurav Gupta and Deepika Gupta
“Software Engineering” by Gaurav Gupta and Deepika Gupta provides an in-depth coverage of fundamental principles, methods, and applications of software engineering. Taking into account the needs of students and practitioners, the book aims at painting a pragmatic picture of Software Engineering methods and tools. The subject matter is well supported by examples representing the situations that are actually faced during the software development process.

2. “Machine Learning Applications In Software Engineering (Series on Software Engineering and Knowledge Engineering)” by Du Zhang and Jeffrey J P Tsai
“Machine Learning Applications In Software Engineering” by Du Zhang and Jeffrey J P Tsai deals with the subject of machine learning applications in software engineering. Machine learning deals with the issue of how to build computer programs that improve their performance at tasks through experience. The field of software engineering turns out to be a fertile ground where many software development and maintenance tasks could be formulated as learning problems and approached in terms of learning algorithms. It provides an overview of machine learning, summarizes the state-of-the-practice. The book is a collection of previously published papers in this research area.
3. “Algebraic Methodology and Software Technology” by Grigore Rosu and Jose Meseguer
“Algebraic Methodology and Software Technology” by Grigore Rosu and Jose Meseguer constitutes the refereed proceedings of the 12th International Conference on Algebraic Methodology and Software Technology, AMAST 2008, held in Urbana, IL, USA, in July 2008. The 28 revised full papers presented together with 3 invited talks were carefully reviewed and selected from 58 submissions.

4. “Software Design Methodology: From Principles to Architectural Styles” by Hong Zhu
“Software Design Methodology: From Principles to Architectural Styles” by Hong Zhu provides in depth coverage of large scale software systems and the handling of their design problems. This book explains the theory of software architecture. This book provides information about large scale software systems and handling their design problems. It will help students gain an understanding of the general theory of design methodology, and especially in analysing and evaluating software architectural designs, through the use of case studies and examples. The book “Software Design Methodology: From Principles to Architectural Styles” shows how important factors, such as globalisation, modelling, coding, testing and maintenance, need to be addressed when creating a modern information system. The book provides summary and exercises at the end of each chapter which helps to review the chapter. This book is designed for IT and software engineering professionals, undergraduates of computer science and graduates of MSc conversion courses.

5. “Encyclopedia of Software Engineering” by LaPlante LaPlante
“Encyclopedia of Software Engineering” by LaPlante LaPlante covers the entire multidisciplinary scope of the software field. More than 200 expert contributors and reviewers from industry and academia across 21 countries provide easy-to-read entries that cover software requirements, design, construction, testing, maintenance, configuration management, quality control, and software engineering management tools and methods. This encyclopedia supplies software engineering students, IT professionals, researchers, managers, and scholars with unrivaled coverage of the topics that encompass this ever-changing field.

6. “Software Engineering” by Ian Sommerville
“Software Engineering” Book Review: This book is divided into four parts. First part covers the introduction to software engineering. It deals with topics like software processes, agile software development, system modeling and design and implementation. Second part deals with system dependability and security. This part of the book covers dependable systems, safety engineering and security engineering. Third part covers software reuse, component based software engineering, systems engineering and systems of system. Fourth part deals with software management.

7. “Software Engineering: A Practitioner’s Approach” by Roger Pressman
“Software Engineering: A Practitioner’s Approach” Book Review: This book is divided into five parts. First part deals with the software process. Second part of the book deals with software engineering practice. Third part of the book deals with applying web engineering. Fourth part deals with managing software projects. Fifth part of the book deals with advanced topics in software engineering.

8. “Software Engineering: A Practitioner’s Approach” by Pressma
“Software Engineering: A practitioner’s Approach” Book Review: This book is divided into five parts. First part deals with the software process. Second part of the book covers software engineering practice. Third part of the book deals with applying web engineering. Fourth part covers managing software projects. Fifth part of the book deals with advanced topics in software engineering.

9. “Software Engineering” by K K Aggarwal
10. “Software Engineering: For VTU” by Ian Sommerville
“Software Engineering: For VTU” Book Review: This book covers software systems engineering, techniques for developing large-scale systems, core structure and design. This book also deals with development, verification and validation management.

advertisement
11. “Software Engineering: Principles and Practice” by Hans Van Vliet
“Software Engineering:Principles and Practice” Book Review: This book is designed for programmers, analysts and project managers. This book explains about UML and software architecture. This book also explains principles of software engineering.

12. “Software Engineering:Theory and Practice” by Pfleeger
“Software Engineering: Theory and Practice” Book Review: This book is designed for software engineers. This book covers modeling the process and life cycle, planning and managing the project, capturing the requirements, designing the architecture and testing the system. This book also deals with delivering the system, maintaining the system, evaluating products, processes, and resources, improving predictions and the future of software engineering. This book provides exercises at the end of each chapter.

13. “Software Engineering for DIPLOMA KARNATAKA” by TECHNICAL PUBLICATION-PUNE and Puntamberkar A A
14. “Beginning Software Engineering” by Rod Stephens
“Beginning Software Engineering” Book Review: This book is divided into two parts. First part deals with software engineering step by step. Second part of the book deals with process controls. This book covers project management, requirement gathering, high-level-design, low-level-design and development. This book also deals with predictive models, iterative models and RAD.

15. “Statistical Methods in Software Engineering” by Nozer D Singpurwalla
“Statistical Methods in Software Engineering” Book Review: The book in discussion covers a variety of topics related to software engineering. It is prescribed by working software engineers, students of higher level graduation courses in software engineering, computer science. Uncertainties and quantitative measures of decision making in the domain of software are explained. Probability and statistics are prerequisites for anybody referring to this text.

16. “Innovations in Computing Sciences and Software Engineering” by Tarek Sobh and Khaled Elleithy
“Innovations in Computing Sciences and Software Engineering” Book Review: This book is designed for MCA/ B.Tech/ M.Tech students under computer science. Researchers and PhDs can also make use of this book. Also professionals can use this book for reference on how to develop systems . Teachers and guides can use this book to help students. This book starts with explaining image and pattern recognition. Language and their systems such as algorithms and databases are explained later. Parallel processing which includes multithreading concepts are explained later. Signal and image processing along with video based monitoring are also explained in this book. Distributed processing and new trends in the computing mechanism are explained at the end of this book. Examples in innovations are described in between the chapters.

advertisement
17. “An Integrated Approach to Software Engineering (Texts in Computer Science)” by Pankaj Jalote
“An Integrated Approach to Software Engineering (Texts in Computer Science)” Book Review: The sequence of chapters is essentially the same as the sequence of activities performed during a typical software project. All activities, including quality assurance and control activities, are described in each chapter as integral activities for that phase of development. Similarly, the author carefully introduces appropriate metrics for controlling and assessing the software process. An Integrated Approach to Software Engineering introduces software engineering to advanced-level undergraduate and graduate students of computer science. It emphasizes a case-study approach whereby a project is developed through the course of the book, illustrating the different activities of software development. The text, bolstered by numerous examples and chapter summaries, imparts to the reader the knowledge, skills, practices and techniques needed to successfully execute a software project.

18. “Raising Enterprise Applications: A Software Engineering Perspective” by Anubhav Pradhan and Satheesha B Nanjappa
“Raising Enterprise Applications: A Software Engineering Perspective” Book Review: This volume provides several processes, life cycle stages, patterns, frameworks, tools and machinery necessary to raise successful enterprise implementations, serving business needs of today’s enterprises. The text focuses on the raising of enterprise implementations while conforming to proven software engineering practices. It presents an important guidance to traverse from inception to rollout of a typical enterprise application development. It provides an overall knowledge of enterprise application development.

19. “Software Engineering for Large Software Systems” by B A Kitchenham
“Software Engineering for Large Software Systems” Book Review: The book offers a tutorial and papers shown at the Sixth CSR Confer­ence on the topic Large Software Systems. The book can be helpful in the software industry. The papers from the book explain the topic such as important working systems, highlighting their problems and successes. The author also talks about the techniques for large system development and maintenance, including project management and quality management. It also covers incremental delivery, in­ dependent V & V, and reverse engineering. The book begins with the information of the two sessions of the conference. The first one by Professor Keith Bennett of the Centre for Software Maintenance at Durham University on Software Maintenance. Second with Professor John McDermid of the University of York on Systems Engineering Environments for High Integrity Systems. The rest of the paper focuses on existing systems that start with Professor War boys’ keynote paper. At last, it covers the topic approaches to large systems development and methods for large systems maintenance and the expected impact of current research.


3. Software Architecture and Design

1. “Software Design: From Programming to Architecture” by Eric Braude
“Software Design: From Programming to Architecture” Book Review: This book provides information on programming issues such as robustness and flexibility in implementation. The book begins at code level. The book also addresses the mid-level issues. It emphasizes standard design patterns and components. The book then addresses high level issues including architectures, frameworks and object-oriented analysis and design. The book also includes a prologue on software processes.

2. “Software Architecture And Design Illuminated” by Kai Qian
“Software Architecture And Design Illuminated” Book Review: This book discusses a coherent and integrated approach of software architectural design. The book discusses important methodologies, architectural styles, design guidelines along with design tools. The book illustrates design principles and presents case studies using Java. The book covers chapters on software architecture design, space models for software architecture, object oriented paradigm, data flow architecture, etc,.

3. “Software Architecture in Practice (Sei Series in Software Engineering)” by Len Bass and Paul Clements
“Software Architecture in Practice (Sei Series in Software Engineering)” Book Review: This book provides the latest developments, concepts and best practices of software architecture. The book describes the critical role of software architecture by the concept of architecture influence cycles. The book covers chapters on technical environment, life cycle of a project, organization’s business profile, etc,. The book discusses the requirements of software architecture and how to determine them. It also discusses the current technologies including cloud, social networks and end user devices.

4. “Documenting Software Architectures: Views and Beyond (Sei Series in Software Engineering)” by Paul Clements and Felix Bachmann
“Documenting Software Architectures: Views and Beyond (Sei Series in Software Engineering)” Book Review: The book provides information on capturing an architecture in a commonly understandable form. It guides the reader on what information to document and how to express an architecture. The book includes guidelines and examples such as notation, UML diagrams. It covers chapters on rules for sound documentation, goals and strategies of documentation along with architectural views and styles. The book contains reference guides of three important architecture documentation languages such as UML, AADL and SySML.

5. “Software Architecture Design Patterns in Java” by Partha Kuchana
“Software Architecture Design Patterns in Java” Book Review: This book explains in detail on applying design patterns and developing software architectures. The book contains 42 design patterns which also includes 23 GoF patterns. It covers categories such as basic, creational, collectional, structural, behavioural and concurrency. The book discusses multiple examples of each pattern which is implemented in Java. The book also contains practise questions, case studies, etc,.

6. “Computer Organization and Design RISC-V Edition” by David A Patterson and John L Hennessy
“Computer Organization and Design RISC-V Edition” Book Review: This book provides information on the RISC-V open source instruction set architecture. This architecture can be used in modern computing environments such as cloud computing, mobile devices, etc,. The book contains examples, exercises and material which are important for emerging mobile computing and the cloud. The book is updated with features such as tablet computer, cloud infrastructure, etc,.

7. “Computer System Architecture 3e (Update) by Pearson” by Mano M Morris
“Computer System Architecture 3e (Update) by Pearson” Book Review: This book provides information on the latest developments in the field of computer system architecture. The book contains 15 chapters where the first 8 chapters discuss hardware design and computer organization. The remaining 7 chapters focus on the functional units of digital computers. The book is updated with information required for the readers in understanding the concepts.

8. “Software Architecture: Interview Questions” by Shivprasad Koirala and Sham Sheikh
“Software Architecture: Interview Questions” Book Review: This book focuses on technical and non technical points for an architecture role job. The book discusses basic architecture interview questions. It also covers OOP, UML, Design Patterns, SOA, load balancing and estimation sections. The book contains 30 complete chapters on design patterns. It also contains complete chapters on UML diagrams. The book covers chapters on SOA including ESB, WEB, Governance, etc,.

9. “Designing Software Architectures: A Practical Approach (Sei Series in Software Engineering)” by Humberto Cervantes and Rick Kazman
“Designing Software Architectures: A Practical Approach (Sei Series in Software Engineering)” Book Review: This book illustrates the methods necessary for architecture design for use by software engineers. It emphasizes attribute driven design, ADD 3.0 method along with the usage of address key drivers. It also covers quality attributes such as modifiability, usability and availability. The book also discusses the functional requirement and architectural concerns. It includes design problems in cloud, mobile or big data.

10. “A Process Algebraic Approach to Software Architecture Design” by Alessandro Aldini and Marco Bernardo
“A Process Algebraic Approach to Software Architecture Design” Book Review: This book provides information on the process algebraic approach to software architecture design. The book is designed for graduate students and software professionals. The book illustrates process algebra which is the foundational basis for modeling and verification of functional and non functional aspects. The book discusses the basic concepts and results of process algebra theory. It also discusses the principle transformation of process algebra to architectural description language.

11. “Software Architecture: Foundations, Theory, and Practice” by Richard N Taylor and Nenad Medvidovic
“Software Architecture: Foundations, Theory, and Practice” by Richard N Taylor and Nenad Medvidovic Book Review: The textbook is intended for for upper-division undergraduate and graduate courses in software architecture, software design, component-based software engineering, and distributed systems.The comprehensive textbook discusses all the facets of software architecture and how it serves as the intellectual centerpiece of software development and evolution. Basically, the book aims at supporting creation of a real implemented system. The book not only details modeling techniques but design, implementation, deployment and system adaptation. The book widely focuses on survey, method, notation, tool, or process.


4. Software Practice and Testing

1. “Software Testing: Principles and Practices” by Srinivasan Desikan
“Software Testing: Principles and Practices” Book Review: This book is a comprehensive study of the principles and practices of software testing. The book provides the reader with all information on the popular testing methods of software. It also addresses the common issues faced by people in this field. Apart from theoretical explanation, this book also guides the reader with the practical use of software. The book serves as a guide to any student or professional in the field of software.

2. “Software Testing and Quality Assurance: Theory and Practice” by Kshirasagar Naik and Priyadarshi Tripathy
“Software Testing and Quality Assurance: Theory and Practice” Book Review: This book provides a theoretical as well as practical understanding of software testing and quality assurance. The first part covers key concepts in software quality assurance (SQA), SQA processes and metrics, the role of testing and the basics of program testing. Then the book goes on to include technical topics such as theory of program testing, code review, unit testing, test generation from control flow graphs, data flow graphs and program domains. In the last part the book covers system integration, system testing, test execution, test automation, acceptance testing quality metrics and reliability models. The book is useful for beginners as well as experienced professionals in the field.

3. “Surviving Agile For QA Professionals: Best Practices For Testing in a Rapid Development Cycle (Best Practices For Software Development And Agile Testing Book 1)” by M J Small
“Surviving Agile For QA Professionals: Best Practices For Testing in a Rapid Development Cycle (Best Practices For Software Development And Agile Testing Book 1)” Book Review: This book includes strategies on understanding the Agile development process and ways to survive the rapid testing needed to ensure a quality end product. This book is useful for those finding it difficult to keep up with the demands of testing in a rapid development Agile-like testing cycle. The book teaches the best practices for implementing rapid testing and succeeding in a rapid paced, customer driven software development environment. The book will also be of great value to those who are transitioning into an Agile development process from a more traditional Waterfall or V model of development.

4. “Software Quality Approaches: Testing, Verification, and Validation: Software Best Practice 1” by Michael Haug and Eric W Olsen
“Software Quality Approaches: Testing, Verification, and Validation: Software Best Practice 1” Book Review: This book includes projects in the area of software and system process improvements. These include process improvement experiments carrying out and taking up new development processes, methods and technology within the software development process of a company. The book helps to develop world class skills and associated technologies to build the increasingly complex and varied systems needed to compete in the marketplace. Along with the improvement experiments, the results of best practice achievements in European Companies over the last few years are contained in the book. The book will be useful for those interested in learning numerous software quality experiments in a practice-oriented manner.

5. “Software Testing: Concepts and Practices” by Khurram Mustafa and R A Khan
“Software Testing: Concepts and Practices” Book Review: This book focuses on software testing in practice and is useful for both the practitioner and the academician. Concepts of software testing are not treated as separate and post development activity. The concepts have been modeled as a phase-embedded activity. Each chapter starts with a set of objectives and ends with a list of key terms. The book explains certain abstract concepts for providing thorough understanding of the subject. The book also includes a list of references to enable the user to find in-depth information.

6. “Best Practices for the Formal Software Testing Process: A Menu of Testing Tasks” by Rodger D Drabick
“Best Practices for the Formal Software Testing Process: A Menu of Testing Tasks” Book Review: This book presents a series of tasks to help the reader develop a formal testing process model, as well as the inputs and outputs associated with each task. These tasks include review of program plan, development of the formal test plan, creation of test documentation, acquisition of automated testing tools, test execution etc. The book teaches how to build a formal testing process that fits the needs of the testers as well as those of the organization and its customers. The book will be useful for experienced test engineers as well as newcomers who want to learn how to perform a good testing process.

7. “Software Testing Practice – Test Management – A Study Guide for the Certified Tester Exam ISTQB Advanced Level” by Andreas Spillner and Tilo Linz
“Software Testing Practice – Test Management – A Study Guide for the Certified Tester Exam ISTQB Advanced Level” Book Review: This book addresses the major issues related to advanced, state-of-the-art test management. This book covers the syllabus required to pass the Certified Tester Examination – Advanced Level. It includes best practices in the field of testing, as well as detailed descriptions of involved tasks, roles and responsibilities. The book encourages self-study by including the key concepts and terminology of software testing in a variety of scenarios and case studies. It includes topics like Test process and test tools, Testing in the software life cycle, Test policy and test manual etc. This book will benefit software developers, project managers, quality managers and team leaders.

8. “Advanced Automated Software Testing: Frameworks for Refined Practice: 1” by Izzat Alsmadi
“Advanced Automated Software Testing: Frameworks for Refined Practice: 1” Book Review: This book discusses the latest developments and concepts in test automation practices. It includes chapters related to software test automation, its validity and applicability in different domains. This book demonstrates how test automation can be used in different domains, in the different tasks and stages of software testing. The book explains every topic with the help of worked-out examples and illustrations. The book will serve as a useful reference for researchers, students and software engineers.

9. “Following Tmmi Practices to Produce Quality Software Products: Tmmi Practices Can Benefit in Software Testing Projects for Incremental Process Improvement: Volume 2 (Test Planning With Tmmi Practices)” by Shanthi Kumar Vemulapalli
“Following Tmmi Practices to Produce Quality Software Products: Tmmi Practices Can Benefit in Software Testing Projects for Incremental Process Improvement: Volume 2 (Test Planning With Tmmi Practices)” Book Review: This book teaches the application functionalities, the latest trends towards improving the testing process and the applications relevant technology. The book describes these practices that can be used in many projects to bring out the quality products delivery to the customers. It covers the TMMi implementation practices for different KPAs , their sub-processes and practices. The readers need to be aware of CMMi Levels and their process areas before reading this book. The book covers TMMi Level 2 Test Policy and strategy with the examples. The book will be a valuable learning source for testing professionals in the IT industry.

10. “Improving Software Testing: Technical and Organizational Developments (SpringerBriefs in Information Systems)” by Tim A Majchrzak
“Improving Software Testing: Technical and Organizational Developments (SpringerBriefs in Information Systems)” Book Review: This book provides the current knowledge of software testing and introduces three current research approaches. The book can be used as a reference as the topics are described in a concise manner. The book highlights research from different points of view. In the beginning, the progress on developing a tool for automated test case generation (TCG) based on a program’s structure is introduced. It then goes on to include results from a project with industry partners on testing best practices. At last embedding testing into e-assessment of programming exercises is described. The book is useful for anyone interested in understanding the technical and organizational developments in software testing in a clear and concise manner.

11. “A Systematic Integration of Inspection and Testing Processes for Focusing Testing Activities (PhD Theses in Experimental Software Engineering)” by Frank Bomarius and Fraunhofer IESE Kaiserslautern
“A Systematic Integration of Inspection and Testing Processes for Focusing Testing Activities (PhD Theses in Experimental Software Engineering)” Book Review: The book explains the importance of quality assurance effort as a major cost factor for software development which can basically consume 50 percent of the overall development effort. The book also discusses the In2Test approach, which combines inspection and testing processes in order to reduce test effort in a systematic manner. This book can be used by those taking an introduction in Systematic Integration of Inspection and Testing Processes for Focusing Testing Activities.


5. Software Inspection

1. “High Quality Low Cost Software Inspections” by Ronald A Radice
“High Quality Low Cost Software Inspections” Book Review: The book is beneficial for engineers as well as technical writers. The book describes economics and ROI of inspection programs. It presents ways of defect prevention. It helps in understanding the methods to improve software quality. It also explains how to control the cost of quality. The book helps the readers to understand how to read documents for successful inspection.

2. “Software Reading Techniques: Twenty Techniques for More Effective Software Review and Inspection” by Yang Ming Zhu
“Software Reading Techniques: Twenty Techniques for More Effective Software Review and Inspection” Book Review: This book is valuable for software engineering students, researchers and professionals. It helps the readers to learn software reading techniques for inspecting software artifacts like requirement specifications, design, code files and usability. The book explains that software inspection depends on reading skills, which varies person-to-person.

3. “Software Inspection: An Industry Best Practice for Defect Detection and Removal” by David Wheeler and Reginald N Meeson
“Software Inspection: An Industry Best Practice for Defect Detection and Removal” Book Review: The book describes the process of software inspection in detail. It explains that software inspection reduces cost and increases quality. It also presents some evidence where software inspection is used. The book can be used by anyone interested in knowing about software development processes.

4. “Software Inspection” by Tom Gilb and Dorothy Graham
“Software Inspection” Book Review: The book gives various inspection techniques for getting lower defects, higher productivity, better project tracking and improved documentation. It contains various examples of applying inspection techniques in organizations like AT&T and Douglas Aircraft.

5. “Software Inspection Process” by Susan H Strauss and Robert G Ebenau
“Software Inspection Process” Book Review: The book gives step-by-step details of the software inspection process. It describes various inspection parameters. It helps in implementation of quality improvement methods to remove any flaws in design and development. It provides the techniques for software, hardware and documentation development projects.

6. “Improvement of Defect Detection with Software Inspection Variants” by Dietmar Winkler
“Improvement of Defect Detection with Software Inspection Variants” Book Review: The book helps in detection of defects at early stages of software development practices. It helps in defect reduction to decrease the cost and efforts during rework. It explains software inspection, which helps in finding the defects. The book provides various reading technique variants for individual inspector qualification, temporal behaviour of defect detection and acceptance of the inspection variants with respect to detection performance.

7. “SafeSpection – A Framework for Systematization and Customization of Software Hazard Identification by Applying Inspection Concepts (PhD Theses in Experimental Software Engineering)” by Christian Denger and Fraunhofer IESE Kaiserslautern
“SafeSpection – A Framework for Systematization and Customization of Software Hazard Identification by Applying Inspection Concepts (PhD Theses in Experimental Software Engineering)” Book Review: The book provides various techniques to identify hazardous situations on system level. It includes techniques like failure mode and effect analysis, fault tree analysis, and hazard and operability studies. It gives step-by-step instructions for software hazard inspection.

8. “A Reference Model for Software and System Inspections, White Paper” by Lulu He and Forrest Shull
“A Reference Model for Software and System Inspections, White Paper” Book Review: The book provides an interaction between quality assurance techniques at the system and software level. Various techniques for system quality assurance, such as testing, simulation, model checking and symbolic execution are described in the book. The book also contains analysis techniques such as Fault Tree analysis and Preliminary Hazard analysis.

9. “Re-Engineering Legacy Software” by Chris Birchall
“Re-Engineering Legacy Software” Book Review: The book gives information about refactoring legacy codebases. It describes automating legacy infrastructure. It contains knowledge of tools like Vagrant and Ansible, used for infrastructure automation. The book helps in modularizing monolithic projects. It decodes and modulates some code structures.

10. “Visual Inspection Technology in the Hard Disc Drive Industry (Computer Engineering Series)” by Paisarn Muneesawang and Suchart Yammen
“Visual Inspection Technology in the Hard Disc Drive Industry (Computer Engineering Series)” Book Review: The book gives the latest research in the visual inspection technology. It also provides future technologies and developments in computer vision technology in hard disk drive manufacturing. The book contains applications of computer vision systems in the hard disk drive industry.

11. “Software Engineering and Formal Methods” by Bernhard Rumpe and Radu Calinescu
“Software Engineering and Formal Methods” Book Review: This book is based on a conference. It was the 12th International Conference on Software Engineering and Formal Methods, SEFM 2014. 23 papers were selected from that conference. They were selected from 106 submissions. Their organization is based on program verification, testing and component-based systems. It has real-time and embedded systems, model checking and automata learning. Program correctness, and adaptive and multi-agent systems are also included.

12. “DevOps: A Software Architect’s Perspective (Sei Series in Software Engineering)” by Len Bass and Ingo Weber
“DevOps: A Software Architect’s Perspective (SEI Series in Software Engineering) 1st Edition” Book Review: This book provides feedback of the decisions software architects must take to achieve DevOps’ goals. It also gives points related to the what and how DevOps participants impact the architect’s work. The book also provides other suggestions in various domains for efficiently moving the DevOps.

13. “Agent-based Software Development (Agent-Oriented Systems)” by Michael Luck and Ronald Ashri
“Agent-based Software Development (Agent-Oriented Systems)” Book Review: This book is written for the postgraduate students of computer science engineering. It will also be helpful for the students researching in the field of intelligent agents. This book explains how agent technology can enhance software systems. It also explains how they can improve next-gen computing, e-business and grid computing. It covers the topics of developing software using an agent-oriented approach. It also describes many standards, methods and tools to do so. This book has many real-life case studies. It also has numerical derivations for explaining the various concepts.

6. Advanced Software Engineering Process and Tools

1. “Software Engineering for Manufacturing Systems: Methods and CASE tools (IFIP Advances in Information and Communication Technology)” by D H Jarvis and A Storr

“Software Engineering for Manufacturing Systems: Methods and CASE tools (IFIP Advances in Information and Communication Technology)” Book Review: This book is written for the postgraduate students of software engineering. It can also be used by industry workers for automating the tasks. This book discusses the importance of softwares in saving time and making decisions. It also discusses the reliability, functionality and availability of manufacturing units. It reviews the requirements and definitions of software for control technology. It also examines the system design, configuration and reusability of softwares. This book has included many figures and numerical examples. It also has included many practical case-studies.

2. “Tool Support for System Specification, Development and Verification (Advances in Computing Sciences)” by Rudolf Berghammer and Yassine Lakhnech

“Tool Support for System Specification, Development and Verification (Advances in Computing Sciences)” Book Review: This book is written for the postgraduate students of software engineering. It can also be used by industry workers for automating the tasks. This book discusses the tool support for verification, development and specification of systems. It covers the derivation of an implementation and specifications resulting from the activities. It discusses the use of tools and formal methods to validate the implementation. It reviews the development of graphic editors and compilers. This book has included many figures and numerical examples. It also has included many practical case-studies.

3. “Advances in Software Tools for Scientific Computing (Lecture Notes in Computational Science and Engineering)” by Hans Petter Langtangen and Are M Bruaset

“Advances in Software Tools for Scientific Computing (Lecture Notes in Computational Science and Engineering)” Book Review: This book is written for the postgraduate students of software engineering. It can also be used by industry workers for automating the tasks. This book discusses the increasing hardware capabilities of modern computers. It also discusses the need for improving the reliability and performance of the software. It reviews the implementation of software tools and object-oriented design. It examines the modern software tools for scientific computing and solving hard numerical problems. This book has included many figures and numerical examples. It also has included many practical case-studies.

4. “Advances in Software Engineering: Comprehension, Evaluation, and Evolution” by Hakan Erdogmus and Oryal Tanir

“Advances in Software Engineering: Comprehension, Evaluation, and Evolution” Book Review: This book is written for the postgraduate students of software engineering. It can also be used by industry workers for automating the tasks. This book discusses modern research in the field of clone identification and software engineering. It reviews the areas of architectural recovery and maintainability. It also covers the topics of code analysis, tool support and software migration. It discusses the basic known problems and advanced topics in detail. This book has included many figures and numerical examples. It also has included many practical case-studies.

5. “Advances and Innovations in Systems, Computing Sciences and Software Engineering” by Khaled Elleithy

“Advances and Innovations in Systems, Computing Sciences and Software Engineering” Book Review: This book is written for the postgraduate students of software engineering. It can also be used by industry workers for automating the tasks. This book contains many advanced research projects in the field of computing sciences. It also covers the topics of systems and software engineering. It covers the recent advances in the field of programming and data analysis. It contains a collection of research papers from the SCSS 2006. This book has included many figures and numerical examples. It also has included many practical case-studies.

6. “Software Testing: Concepts and Operations” by Fairouz Tchier and Ali Mili

“Software Testing: Concepts and Operations” Book Review: This book examines the principles, concepts and processes that are fundamental to the software testing function. First it introduces software testing in the broader context of software engineering. Then the book covers mathematical foundations of software testing, which include software specification, program correctness and verification, concepts of software dependability and a software testing taxonomy. Part III discusses test data generation, specifically, functional criteria and structural criteria. At last the book looks at managerial aspects of software testing, including software metrics, software testing tools and software product line testing. The book is useful for graduate and undergraduate students as well as IT professionals.

7. “Agile Metrics in Action: How to measure and improve team performance” by Christopher W H Davis

“Agile Metrics in Action: How to measure and improve team performance” Book Review: This book teaches how to track systems, test and build tools, source control, continuous integration and other built-in parts of a project. It is a rich resource for an agile team that aims to use metrics to objectively measure performance. The readers will learn how to gather the data that really counts, along with how to effectively analyze and act upon the results.The reader will also discover techniques all team members can use for better individual accountability and team performance. This book uses Groovy, Grails and MongoDB for code-based examples. It also teaches how to improve communication, productivity, transparency and morale. The book is useful for practising software engineers and other IT professionals.

8. “Effective Debugging: 66 Specific Ways to Debug Software and Systems (Effective Software Development)” by Diomidis Spinellis

“Effective Debugging: 66 Specific Ways to Debug Software and Systems (Effective Software Development)” Book Review: This book systematically explains and categorizes the most useful debugging methods, strategies, techniques and tools. The book is full of examples with the help of which general principles are explained. In addition, it includes high-level strategies, concrete techniques, high-efficiency tools, creative tricks and the behavioral traits associated with effective debugging. This book addresses problems that can arise in modern software systems, especially problems caused by complex interactions among components and services. The book is useful for learning the debugging of isolated runtime errors or catastrophic enterprise system failures.

9. “Software Development for Embedded Multi-core Systems: A Practical Guide Using Embedded Intel Architecture” by Max Domeika

“Software Development for Embedded Multi-core Systems: A Practical Guide Using Embedded Intel Architecture” Book Review: This book provides engineers with the skills required to develop software targeting multicore processors. It has both general multicore design principles and processor-specific optimization techniques. The text covers critical issues for multicore employment within embedded systems. This includes the Threading Development Cycle, with discussions of analysis and design. Further, the topics are development, debugging, and performance tuning of threaded applications. Next are case studies describing Software development techniques. The book discusses terascale, speculative multithreading, transactional memory, and the software-specific implications of these looming architectural developments. The volume covers hot topics, including ultra mobile devices, low-power designs, Pthreads vs. OpenMP, and heterogeneous cores.

10. “Testing Software and Systems: 26th IFIP WG 6.1 International Conference, ICTSS 2014, Madrid, Spain, September 23-25, 2014. Proceedings (Lecture Notes in Computer Science)” by Mercedes G Merayo and Edgardo Montes de Oca

“Testing Software and Systems: 26th IFIP WG 6.1 International Conference, ICTSS 2014, Madrid, Spain, September 23-25, 2014. Proceedings (Lecture Notes in Computer Science)” Book Review: This book constitutes the refereed proceedings of the 26th IFIP WG 6.1 International Conference on Testing Software and Systems, ICTSS 2014, held in Istanbul, Turkey, in September 2014. The 11 revised full papers presented together with 6 short papers were carefully selected from 36 submissions. The focus of the conference was on following topics- testing methodologies, tools and frameworks and industrial experiences. The book includes research and case studies on these topics. Along with theoretical knowledge, practice-based understanding has also been provided in the book. The book is useful for students, researchers as well as experienced professionals in the field.

11. “Managing Humans: Biting and Humorous Tales of a Software Engineering Manager” by Michael Lopp

“Managing Humans: Biting and Humorous Tools of a Software Engineering Manager” Book Review: This book is designed for managers and would be managers. This book is divided into three parts. First part deals with the management quiver. Second part of the book explains that the process is the product. Third part discusses versions of you. This book has a total of 52 chapters on how to manage humans.

12. “Engineering Self-Organising Systems: Nature-Inspired Approaches to Software Engineering” by Giovanna Di Marzo Serugendo and Anthony Karageorgos

“Engineering Self-Organising Systems: Nature-Inspired Approaches to Software Engineering” Book Review: The aim of this book is to survey natural and Artificial complex systems exhibiting emergent behaviour. It also outlines the mechanisms enabling such behaviours. It deals with the self-organized engineering applications, designed to achieve robustness and adaptability. The applications in this book have been inspired by instances of self-organisation from nature such as ants food foraging, molecules formation and antibodies detection. These applications function without central control, but through contextual local interactions. This book covers chapters on Natural Metaphors, Artificial Interaction Mechanisms, Middleware and Methods and Tools.

7. Popular Software Engineering Books

1. The Mythical Man-Month Book
2. An Integrated Approach to Software Engineering Book
3. Software Developer Book
4. Software Design Book
5. Reverse Engineering Book

You can buy these additional reference books on Software Engineering from “Amazon USA” OR “Amazon India”.

Kindly note that we have put a lot of effort into researching the best books on Software Engineering and came out with a recommended list of the top 10 Software Engineering books. If any more book needs to be added to the list of best books on Software Engineering, please let us know.

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & technical discussions at Telegram SanfoundryClasses.