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.
Table of Contents
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
Allen B Tucker is the Anne T. and Robert M. Bass Professor Emeritus in the Computer Science Department at Bowdoin College. He is the author or co-author of many books and articles in the areas of programming languages, software development, natural language processing, and computer science education, and is an ACM Fellow. Professor Tucker is also Co-Founder and President of the Non-Profit FOSS Institute (NPFI), whose mission is to support the development and customization of free and open-source software to fit the needs of individual non-profit organizations.
Featured Author Profiles
"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 rescued annually by category. HOMEPLATE has been made it easy for the staff to communicate with all these audiences. It is invaluable in collecting data that is needed to grow financial support for the agency and to fight hunger in our community. We also document interaction with all audiences inside this software. SIMPLE, SMART and FREE are three attributes that have made a big difference for Second Helpings. We are indebted to Allen Tucker for his continued support and expertise."
--Lili Coleman, Executive Director, Second Helpings, Hilton Head Island, SC
"This teaching volume offers a complete guide to support an instructor, students, a volunteer real-world client, and a pro bono developer in jointly completing a customized, non-commercial software development project, providing a one-semester capstone course curriculum for upper-division majors in computer science. By incorporating the roles of all parties involved, Tucker demonstrates how formalizing roles through "user stories" can continue to refine the requirements-gathering process as a new system is actually being developed and tested. Tucker's unique contribution is in designing a case study to teach habits of continuous learning and the value of approaching software development as a form of humanitarian effort to future general practitioners of the art."
--F. H. Wild III, University of Rhode Island