Object-Oriented System Development

Sponsor Advertisement

My image
  • Author: Dennis de Champeaux, Douglas Lea, and Penelope Faure
  • Format: online HTML
  • Price: free

This book is intended to help the reader better understand the role of analysis and design in the object-oriented software development process. Experiments to use structured analysis and design as precursors to an object-oriented implementation have failed. The descriptions produced by the structured methods partition reality along the wrong dimensions. Classes are not recognized and inheritance as an abstraction mechanism is not exploited.

However, we are fortunate that a multitude of object-oriented analysis and design methods have emerged and are still under development. Core OO notions have found their home place in the analysis phase. Abstraction and specialization via inheritance, originally advertised as key ingredients of OO programming, have been abstracted into key ingredients of OO analysis (OOA). Analysis-level property inheritance maps smoothly on the behavior inheritance of the programming realm.

While the book is mostly self-contained, people report that it does not serve as an introductory OO text. It helps to have had some previous exposure to basic OO concepts.

Chapters Include:

Part 1: Analysis

  • Introduction to Analysis
  • Object Statics
  • Object Relationships
  • Object Dynamics
  • Object Interaction
  • Class Relationships
  • Instances
  • Ensembles
  • Constructing a System Model
  • Other Requirements
  • The Analysis Process
  • Domain Analysis
  • The Grady Experience

Part II: Design

  • From Analysis to Design
  • Description and Computation
  • Attributes in Design
  • Relationships in Design
  • Designing Transitions
  • Interaction Designs
  • Dispatching
  • Coordination
  • Clustering Objects
  • Designing Passive Objects
  • Performance Optimization
  • From Design to Implementation

http://g.oswego.edu/dl/oosd/

Subversion Version Control: Using the Subversion Version Control System in Development Projects

Sponsor Advertisement

My image
  • Author: William Nagel
  • Format: online PDF (print edition available at amazon.com)
  • Price: free (print edition $24.30)

In any software development project, many developers contribute changes over a period of time. Using a version control system to track and manage these changes is vital to the continued success of the project. This book introduces you to Subversion, a free, open-source version control system, which is both more powerful and much less complex than its predecessor CVS.

In this practical, hands-on guide, you will learn how to use Subversion and how to effectively merge a version control system within your development process. As a seasoned Subversion user, William Nagel draws on lessons learned through trial and error, providing useful tips for accomplishing tasks that arise in day-to-day software development.

Nagel clearly explains how to expand on the built-in abilities of Subversion, making the system work better for you. He organizes Subversion commands by activity to allow for quick task reference. Using example scripts and configurations, he also includes development approaches that you can customize to fit your own environment.

Chapters include:

  • An Introduction to Version Control
  • An Introduction to Subversion
  • Installing Subversion
  • Basic Subversion Usage
  • Working with a Working Copy
  • Using Properties
  • Configuring the Client
  • Integrating with Other Tools
  • Organizing Your Repository
  • Administrating the Repository
  • The Joy of Automation
  • Development Process Policies
  • Integrating SVN with the Development Process
  • Case Studies in Development Processes
  • Command Reference

http://www.phptr.com/content/images/0131855182/downloads/Nagel_book.pdf

User Interface Design for Programmers

Sponsor Advertisement

My image
  • Author: Joel Spolsky
  • Format: online HTML, (print edition available for purchase at amazon.com)
  • Price: free (print edition $19.77)

User interface design is straightforward, easy, and most of all fun. There is no reason to be afraid. It is all about making people happy by providing them with what they expect. The rules are simple, and all you have to do is follow them. This book will explain what those rules are, so you can design user interfaces that work and behave as expected and cause less frustration to the user.

Chapters include:

  • Controlling Your Environment Makes You Happy
  • Figuring Out What They Expected
  • Choices
  • Affordances and Metaphors
  • Consistency and Other Hobgoblins
  • Designing for People Who Have Better Things To Do With Their Lives
  • Designing for People Who Have Better Things To Do With Their Lives, Part Two
  • Designing for People Who Have Better Things To Do With Their Lives, Part Three
  • The Process of Designing a Product

Print edition contains 7 new chapters not found in the online edition.
http://www.joelonsoftware.com/uibook/fog0000000249.html

The Programmers’ Stone

Sponsor Advertisement

  • Author: Alan & Colston
  • Format: online HTML (formatted for easier printing)
  • Price: free

This book is an eight day beginner level course, non language specific, delivered two days a week for four weeks. The goal is to put the fun into programming while you are learning and to help the reader either become a better programmer, understand what less experienced programmers are struggling with, or communicate more effectively with other experienced programmers.

Chapters include:

  • Thinking about Thinking
  • Thinking about Programming
  • The Programmer at Work
  • Customs and Practices
  • Design Principles
  • Prudence and Safety
  • Some Weird Stuff…

Visit: The programmer’s Stone

Structure and Interpretation of Computer Programs

Sponsor Advertisement

My image
  • Author: Harold Abelson, Gerald Jay Sussman, Julie Sussman
  • Format: online HTML
  • Price: free

An excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book.
from The New Hacker’s Dictionary, 2nd edition
(MIT Press, 1993)

On the site you will find the full text of the book, sample programming assignments, source code, and free implementations of the MIT Scheme programming environment.

Chapters include:

  • Building Abstractions with Procedures
  • Building Abstractions with Data
  • Modularity, Objects, and State
  • Metalinguistic Abstraction
  • Computing with Register Machines
  • References
  • List of Exercises

http://mitpress.mit.edu/SICP/

Software Engineering for Internet Applications

Sponsor Advertisement

My image
  • Author: Eve Andersson, Philip Greenspun, Andrew Grumet
  • Format: online HTML, (print edition available for purchase at amazon.com)
  • Price: free (print edition $35.00)

This book requires some previous programming experience. It is not language specific. It will take you through the process of building multi-user internet applications, with the end results of being able to write large scale applications, similar to the ones used on most large interactive websites. Originally written for an MIT course, it is suitable for classroom use, as a textbook.

Chapters include:

  • Introduction
  • Basics
  • Planning
  • Software Structure
  • User Registration and Management
  • Content Management
  • Software Modularity
  • Discussion
  • Adding Mobile Users To Your Community
  • Voice (VoiceXML)
  • Scaling Gracefully
  • Search
  • Planning Redux
  • Distributed Computing with HTTP, XML, SOAP, and
  • WSDL
  • Metadata (programs that write programs)
  • User Activity Analysis
  • Writeup

Reference Chapters:

  • HTML
  • Engagement Management by Cesar Brea
  • Grading Standards (mostly for MIT students)

http://philip.greenspun.com/seia/

Text and Monographs in Computer Science: A Practical Theory of Programming

Sponsor Advertisement

My image
  • Author: Eric C. R. Hehner
  • Edition: 2007-5-30
  • Format: PDF, PS (lecture visuals in PDF, only)
  • Language: English, Chinese
  • Price: free

This book is a beginners level non language specific introduction to programming. All technical terms used are explained. Each new term is underlined. There are no abbreviations, acronyms, or other obscurities of language to confuse you. No previous knowledge or experience is assumed.

Chapters Include:

  • Basic Theories
  • Basic Data Structures
  • Function Theory
  • Program Theory
  • Programming Language
  • Recursive Definition
  • Theory Design and Implementation
  • Concurrency
  • Interaction
  • Exercises
  • Reference

Solutions to exercises are available to course instructors.
http://www.cs.toronto.edu/~hehner/aPToP/

How to Design Programs: An Introduction to Programming and Computing

Sponsor Advertisement

My image
  • Author: Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shiram Krishnamurthi
  • Editon: September 2003 Version
  • Format: online HTML
  • Price: free

This book is on program design, geared more towards beginners, that presents many ‘design recipes’. The language used is Scheme, using DrScheme, a programming environment with special assistance for beginning students.

The DrScheme programming environment is freely available at the book’s official Web site.

Chapters include:

  • Processing Simple Forms of Data
  • Processing Arbitrarily Large Data
  • Abstracting Designs
  • Generative Recursion
  • Accumulating Knowledge
  • Changing the State of Variables
  • Changing Compound Values

http://www.htdp.org/

Learn ASP.net

Sponsor Advertisement

My image
  • Author: Charles Carroll
  • Format: online HTML
  • Price: free

Covers ASP.net programming in C# and VB.net at a beginners level.

Chapters include:

  • samples
  • lessons
  • basics
  • debugging
  • GDI+
  • databases
  • user controls
  • 3rd party libraries
  • server controls
  • speed optimizations
  • XML
  • web services
  • includes a number of free tools

Access this book on archive.org