Software Development: An Open Source Approach
- Length: 400 pages
- Edition: 1
- Language: English
- Publisher: CRC Press
- Publication Date: 2011-01-19
- ISBN-10: 143981290X
- ISBN-13: 9781439812907
- Sales Rank: #3181885 (See Top 100 Books)
To understand the principles and practice of software development, there is no better motivator than participating in a software project with real-world value and a life beyond the academic arena. Software Development: An Open Source Approach immerses students directly into an agile free and open source software (FOSS) development process. It focuses on the methodologies and goals that drive the development of FOSS, combining principles with real-world skill building, such as debugging, refactoring, and writing.
The text explains the software development process through an integration of FOSS principles, agile techniques, modern collaboration tools, community involvement, and teamwork. The authors highlight the value of collaboration as a fundamental paradigm for software development. They show how an effective development team can often create better quality software than an individual working in isolation.
Written by experienced software developers and educators, this book enables students to gain a rich appreciation of the principles and practice of FOSS development. It also helps them become better writers, programmers, and software community members.
Web Resource
The book’s companion website provides a wealth of resources:
- Downloadable FOSS development projects, including design documents, use cases, and code bases
- A discussion forum for instructors and students to share their experiences and exchange ideas about particular issues raised by these projects
- Supporting materials for common FOSS development tasks, such as setting up a version control system, an IDE, a project code base, and a unit test suite
- Additional exercises that reflect a wide variety of software projects and other activities
Table of Contents
Chapter 1: Overview and Motivation
Chapter 2: Working with a Project Team
Chapter 3: Using Project Tools
Chapter 4: Software Architecture
Chapter 5: Working with Code
Chapter 6: Developing the Domain Classes
Chapter 7: Developing the Database Modules
Chapter 8: Developing the User Interface
Chapter 9: User Support
Chapter 10: Project Governance
Chapter 11: New Project Conception
Appendix A: Details of the Case Study
Appendix B: New Features for an Existing Code Base