Free Software Engineering books

Essential Skills for Agile Development
This free book learns any developer how to apply the skills in Agile Development. Recommended reading for any software developer. This book covers the essential skills in: OO design, Test Driven Development (TDD), team development, planning, communication and pair programming.
Object-Oriented System Development
This free online book is intended to help the reader better understand the role of analysis and design in the object-oriented software development process.
Patterns for Effective Use Cases
This book is intended for anyone who deals with use cases and wishes to learn more about them. It assumes that you have a working knowledge of use cases, and have some experience writing them.
Software Engineering
This free software enineering online book includes the following chapters: Introduction, Software Specification, Software Design, Implementation, Software Verification, Documentation and Project Management.
Programming from Specifications
Programming from Specifications presents a rigorous treatment of most elementary program-development constructs, including iteration, recursion, procedures, parameters, modules and data refinement.
System Design and Analysis
This free book about System Design and Analysis is divided into 3 parts: Introduction to Systems, Systems Anaysis and System Design.
Introduction to Reverse Engineering Software
This book is an attempt to provide an introduction to reverse engineering software under both Linux and Microsoft Windows. The goal of this book is not to cover how to reproduce an entire program from a binary, but instead how to use the Scientific Method to deduce specific behavior and to target, analyze, extract and modify specific operations of a program, usually for interoperability purposes.
Software Architect
This is a primer to help a Software Developer or Software Engineer become a Software Architect. It is intended to introduce the role of the Software Architect and the arena in which the Software Architect will operate.
Agile Software Development
This contains extracts from the book Agile Software Development: Chapter 1: A Cooperative Game of Invention and Communication, Chapter 2: Individuals, Chapter 3: Communicating, Cooperating Teams, Chapter 4: Methodologies (extract), Chapter 5: Agile and Self-Adapting (extract), Chapter 6: The Crystal Methodologies (extract), Appendix A: The Agile Software Development Manifesto (extract) and Appendix B: Naur, Ehn, Musashi.
Writing Effective Use Cases
This is a 113 page extract from the book: Writing Effective Use Cases.
People and Methodologies in Software Development
This free pdf People and Methodologies in Software Development is a thesis by Alistair Cockburn.
Surviving Object-Oriented Projects
This is a 78 page extract from the book: Surviving Object-Oriented Projects.
A Functional Pattern System for Object-Oriented Design
This free book integrates the vital areas of object-orientation, functional programming, design patterns, and language design. The most important concepts from functional programming are captured with six design patterns.
Naked Objects
This free book provides a comprehensive introduction to the concept of designing business systems from ‘naked objects’ and to using the Naked Objects framework.
Bringing Design to Software
The book contains essays contributed by prominent software and design professionals, interviews with experts, and profiles of successful projects and products.
Adaptive Object-Oriented Software
This groundbreaking book presents a complete methodology for adaptive programming in any object-oriented language.
The Rules and Practices of Extreme Programming
The Rules and Practices of Extreme Programming is a free online guide.
Communicating Sequential Processes
Communicating Sequential Processes, or CSP, is a language for describing patterns of interaction. It is supported by an elegant, mathematical theory, a set of proof tools, and an extensive literature. This book can be downloaded in pdf format.
Partial Evaluation and Automatic Program Generation
The book Partial Evaluation and Automatic Program Generation gives a comprehensive presentation of partial evaluation: theory, techniques, and applications.
Building Skills in Object-Oriented Design
How do you move from OO programming to OO design? Do a lot of design focused on building a sophisticated application program. This 269-page book has 43 chapters that will help you build OO design skills through the creation of a moderately complex family of application programs. This is a step-by-step guide to OO design and implementation using either the Java or Python programming languages.

Leave a Reply

Your email address will not be published. Required fields are marked *