Client-Centered Software Development The CO-FOSS Approach
Client-Centered Software Development: The CO-FOSS Approach introduces a method to creating a customized software product for a single client, either from scratch or by reusing open source components. The clients are typically non-profit humanitarian, educational, or public service organizations. This approach has been used in undergraduate courses where students learn the principles of software development while implementing a real-world software product. This book provides instructors, students, clients, and professional software developers with detailed guidance for developing a new CO-FOSS product from conceptualization to completion.
- Provides instructors, students, clients, and professional software developers with a roadmap for the development of a new CO-FOSS product from conceptualization to completion
- Motivates students with real-world projects and community service experiences
- Teaches all elements of the software process, including requirements gathering, design, collaboration, coding, testing, client communication, refactoring, and writing developer and user documentation
- Uses source code that can be reused and refitted to suit the needs of future projects, since each CO-FOSS product is free and open source software
- Provides links to a rich variety of resources for instructors and students to freely use in their own courses that develop new CO-FOSS products for other non-profits.
Chapter 1 The Journey
Section I Organization Stage
Chapter 2 Finding a Client and a Project
Chapter 3 Defining the Course
Section II Development Stage
Chapter 4 Project Launch
Chapter 5 Domain Class Development
Chapter 6 Database Development
Chapter 7 User Interface Development
Chapter 8 Preparing to Deploy
Section III Deployment Stage
Chapter 9 Continuing the Journey
"This all-inclusive text integrates the "soft skills" of working with an open-source software client with the "hard skills" of Web application development in PHP, while supporting faculty with project identification and development."
-- Janet Davis, Whitman College, Walla Walla, WA, USA
"Client-Centered Software Development: The CO-FOSS Approach provides a practical instructional roadmap for engaging students in experiential learning about software development. The text is enriched by hard-won experiences gleaned from years of tuning the authors' approach."
-- Jim Bowring, Associate Professor, Department of Computer Science, College of Charleston
"This book is a practical and valuable guide for students and faculty to engage in Open Source Software projects. The CO-FOSS model should inspire a new generation of faculty and students to make a difference in their local communities and the world."
-- Steven Huss-Lederman, Open Energy Dashboard
"Working with Allen and his students was an invaluable experience. As a small non-profit the opportunity to tailor our own database to our distinct needs benefited us greatly. Our volunteers(the users) are able to easily negotiate the system and as a result we have maintained a vibrant volunteer base!"
-- Joanna A. Powers, Volunteer Coordinator. Ronald McDonald House of Providence, Inc., Providence, RI
"Under Allen Tucker's leadership, he and his students created a state-of-the-art- software program to help track food rescue in the Lowcountry. Working with volunteers at various levels of technical expertise, this simple and effective tool enables Second Helpings, a food rescue agency that rescued over three million pounds of food in 2018, to document over 300 volunteers, 30 food donors, 60 recipient agencies and millions of pounds of food re