Welcome to E-Books Directory
This page lists freely downloadable books.
Software Design, Testing & Engineering
E-Books for free online viewing and/or download
Software Engineering (27)
e-books in this category
Introduction to Software Engineering
- Wikibooks , 2013
The problems to solve in software engineering are so complex or large, that a single developer cannot solve them anymore. This book is an introduction to the art of software engineering. It is intended as a textbook for an undergraduate level course.
The Little Manual of API Design
by Jasmin Blanchette - Trolltech , 2008
API is the set of symbols that are available to the users to write their applications. This manual presents the key insights into API design that were discovered through many years of software development on the Qt application development framework.
The Twelve-Factor App
by Adam Wiggins - 12factor.net , 2012
This document synthesizes all of our experience on a wide variety of software-as-a-service apps in the wild. It is a triangulation on ideal practices for app development, paying particular attention to the dynamics of the organic growth of an app.
by Jeremy Rose - Aalborg University , 2010
This book sets out the new field of software innovation. It organizes the existing scientific research into eight simple heuristics -- guiding principles for organizing a system developer's work-life so that it focuses on innovation.
- Wikipedia , 2014
Software testing is an investigation conducted to provide information about the quality of the product under test. It can also provide an objective view of the software to allow the business to understand the risks of software implementation.
Building and Testing with Gradle
by Tim Berglund, Matthew McCullough - O'Reilly Media , 2011
The book provides an excellent start and orientation for the Gradle technology, both using Gradle as a build tool and as a complete solution for automating the compilation, test, and release process of simple and enterprise-level applications.
Gradle Beyond the Basics
by Tim Berglund - O'Reilly Media , 2013
Build and test software written in Java and many other languages with Gradle, the open source project automation tool that's getting a lot of attention. This concise introduction provides numerous code examples to help you explore Gradle.
CMMI Implementation Guide
by Vishnuvarthanan Moorthy - Smashwords , 2013
This CMMI Implementation Guide is a reference book for anyone interested in implementing CMMI in their organization. The purpose of this book is, to provide insight in to CMMI Implementation phases and best practices to be followed in this journey.
Vagrant: Up and Running
by Mitchell Hashimoto - O'Reilly Media , 2013
Vagrant is a must-have tool for developers and ops engineers. You'll learn how to use this open source software to quickly build a virtual machine for any purpose -- including a fully provisioned development environment right on your desktop.
Domain-Driven Design Quickly
by Abel Avram, Floyd Marinescu - Lulu.com , 2007
This book is a short, quickly-readable summary and introduction to the fundamentals of Domain Driven Design; it does not introduce any new concepts; it attempts to concisely summarize the essence of what Domain Driven Design is.
Evil by Design: Design patterns that lead us into temptation
by Chris Nodder - O'Reilly Media , 2012
The book takes a look at how web and application design can be used to exploit psychological principles to persuade us to act. Features include: Examples of evil designs from around the Web; Introduction to the psychology of persuasion; etc.
Picturing Programs: an Introduction to Computer Programming
by Stephen Bloch - College Publications , 2010
Picturing Programs is a textbook for beginning computer programming, not directed towards learning a particular programming language, but rather at learning to program well. This book can be used at the high school or college level.
The Codeless Code
by Qi - thecodelesscode.com , 2012
An illustrated collection of (sometimes violent) fables concerning the Art and Philosophy of software development, written in the spirit of Zen koans. (For three days and nights the Java master did not emerge from his cubicle ...)
Software Optimization Resources
by Agner Fog - agner.org , 2012
These manuals describe everything you need to know about optimizing code for x86 and x86-64 microprocessors, including optimization advices for C++ and assembly language, details about the microarchitecture and instruction timings of processors.
97 Things Every Programmer Should Know
by Kevlin Henney - O'Reilly Media , 2010
Tap into the wisdom of experts to learn what every programmer should know, no matter what language you use. With the 97 extremely useful tips for programmers in this book, you'll expand your skills by adopting new approaches to old problems.
Optimizing Code for Speed
- Wikibooks , 2011
This document will focus on optimizing code to run faster. The intended audience of this text are software developers, primarily programmers who know at least one programming language well enough to write moderately complex programs.
The Software Development Book
by Mark Watson , 2009
The goal of this book is to encourage the reader to step back and reevaluate how they design and write software systems. Although the book is about Software Development, it is also about working in the IT field, dealing with competition, etc.
Fundamentals of Programming: With Object Orientated Programming
by Gary Marrer , 2009
Written for students who are preparing for their first computer programming language class. The topics are presented in an easy to understand fashion with special emphasis on the fundamental concepts necessary to develop quality software programs.
Programming Fundamentals: A Modular Structured Approach Using C++
by Kenneth Leroy Busbee - Connexions , 2011
The approach of this course will be to take the student through a progression of materials that will allow the student to develop the skills of programming. This textbook covers modular/structured programming fundamentals.
Software Design Patterns for Everyone
by Anoop Madhusudanan , 2009
The objective of this book is to introduce software design patterns to you in a simple, human readable, and funny way -- in the context of designing a soccer engine -- By discussing the thought process behind applying design patterns.
Pablo's SOLID Software Development
by Derick Bailey - LosTechies.com , 2009
S.O.L.I.D. is a collection of best-practice design principles which can be applied to your design, allowing you to accomplish various desirable goals such as loose-coupling, higher maintainability, intuitive location of interesting code, etc.
The Art of Readable Code
by Dustin Boswell, Trevor Foucher - O'Reilly , 2010
This book focuses on the nuts and bolts of programming, with simple and practical techniques you can use every time you sit down to write code. You'll find tips throughout the book, with easy-to-digest code examples and helpful illustrations.
Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman
by Dave Hoover, Adewale Oshineye - O'Reilly Media , 2009
These patterns address difficult situations that programmers, administrators, and DBAs face every day. The book also approaches software development as a means to personal fulfillment. Discover how it can help you make the best of your career.
The Programmers' Stone
by Alan G Carter, Colston Sanger , 1999
The purpose of this text is to recapture, explore and celebrate the Art of Computer Programming. Chapters: Thinking about Thinking; Thinking about Programming; The Programmer at Work; Customs and Practices; Design Principles; Prudence and Safety.
97 Things Every Software Architect Should Know
by Richard Monson-Haefel - O'Reilly , 2010
These articles are the original, unedited contributions for the book 97 Things Every Software Architect Should Know. Today's leading software architects present valuable principles on key development issues that go way beyond technology.
Working through Screens
by Jacob Burghardt - Flashbulb Interaction , 2010
A reference for product teams creating new applications for thinking work. Written for use during early, formative conversations, it provides teams with a broad range of considerations for setting the overall direction for their onscreen tools.
Foundations of Programming: Building Better Software
by Karl Seguin - CodeBetter.Com , 2007
Free ebook on foundations of programming and building better software by Karl Seguin. Topics covered: Domain Driven Design, Persistence, Dependency Injection, Unit Testing, Object Relational Mappers, Memory and Exceptions.
Bringing Design to Software
by Terry Winograd - Addison-Wesley , 1996
In this landmark book, Terry Winograd shows how to improve the practice of software design, by applying lessons from other areas of design to the creation of software. The goal is to create software that works -- really works.
by Nigel - ivencia.com , 2010
In this high technology world of computing, we have forgotten the original promise of software technology -- to make our lives easier. This book is about how individuals can take the lead in realigning our development efforts to that promise.
Introduction to Software Development
by J. P. Lopez, L. R. i Xirgo - Eureca Media , 2010
This course book is designed for IT specialists and developers that are starting their way in the free software development universe. Professionals need to handle different programming technics, languages and develop specific workgroup skills.
Scientific Software Engineering in a Nutshell
by Helmut G. Katzgraber - arXiv , 2010
Writing complex computer programs to study scientific problems requires careful planning and an in-depth knowledge of programming languages and tools. In this text the importance of using the right tool for the right problem is emphasized.
Statistical Software Engineering
- National Academies Press , 1996
This book identifies challenges in the development and implementation of software that contain significant statistical content. It emphasizes the relevance of using rigorous statistical and probabilistic techniques in software engineering.
31 Days of Refactoring
by Sean Chambers, Simone Chiaretta - Los Techies , 2009
Refactoring is an integral part of continually improving your code while it moves forward through time. It is an easy concept to get started with and opens the door to better practices such as unit testing, shared code ownership and bug-free code.
Software Development Guidelines
- literateprogramming.com , 2000
A guide for software source code quality. The guidelines apply to anyone who creates, modifies, or reads software source code. This document is a set of rules to follow during the implementation phase that will help produce a higher quality result.
Small Memory Software: Patterns for systems with limited memory
by Charles Weir, James Noble - Addison-Wesley , 2000
Offers state-of-the art programming solutions for personal digital assistants (PDAs). Includes illustrated patterns professionals can use, with implementation notes for reference, including some on the companion Web site, and examples in C++ or Java.
Don't Just Roll The Dice: A usefully short guide to software pricing
by Neil Davidson - Red gate books , 2009
How do you price your software? Is it science or magic? How much attention should you pay to your competitors? This handbook will provide you with the theory, practical advice and case studies you need to stop yourself from reaching for the dice.
Creating Applications with Mozilla
by David Boswell, at al. - O'Reilly Media , 2002
Mozilla allows developers to create cross-platform applications. The book explains how applications are created and provides step-by-step information about how you can create your own programs using Mozilla's cross-platform development framework.
Engineering Software for Accessibility
by Microsoft Corporation - Microsoft Press , 2009
Discover how to create accessible software by planning for accessibility from the beginning of the development cycle. Familiarize yourself with the basics of accessibility, including color contrast, font size, the images, and systemwide settings.
How to Make Software
by Nick Jenkins , 2005
An introduction to software development based on Rapid Application Development (RAD) and rapid prototyping. You don't have to be a genius to deliver software on time and join the 'elite' of the software development world.
The Unicode Standard, Version 3.0
by The Unicode Consortium - Addison-Wesley Professional , 2000
Technical guide to the creation of software for worldwide use. The book includes detailed specifications for Unicode: structure, encoding forms, character properties, semantics, equivalence, combining characters, conversion, allocation, etc.
Think Python: An Introduction to Software Design
by Allen Downey - Green Tea Press , 2008
A concise introduction to software design using Python. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. The goal is to teach you to think like a computer scientist.
Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application
by 37signals - LL , 2006
The book covers the design, programming, marketing and business principles of 37signals. It's a book of ideas, not a design tutorial or technical book. Simple insights, unconventional approaches to software design, and contrarian points of view.
Patterns of Software: Tales from the Software Community
by Richard P. Gabriel - Oxford University Press , 1998
An informative inside look at the world of software design and computer programming and the business that surrounds them. Written for computer scientists and software entrepreneurs, but the essays are accessible to everyone.
Client vs. Developer Wars
by Eric Holter - Newfangled Web Factory , 2006
The book about the simple idea of communicating about a website by using a website. This idea allowed the author to clearly communicate the subtleties of a website to non-technical clients. The book for anyone involved in developing a website.
How to Design Programs: An Introduction to Programming and Computing
by Matthias Felleisen, et al - The MIT Press , 2003
The focus of the book is the design process, from problem statements to organized solutions, it deemphasizes the algorithmic and language details, and specific applications. Programming is a fun activity, and a way to express abstract ideas.