Description |
1 online resource |
Contents |
Cover; Half Title; Title Page; Copyright Page; Dedication; Contents; List of Figures; List of Tables; Foreword; Preface; Acknowledgments; About the Author; Chapter 1: The Journey; 1.1 SOFTWARE; 1.2 SOFTWARE DEVELOPMENT MODELS; 1.2.1 Serial Development; 1.2.2 Agile Development; 1.2.3 CO-FOSS Development; 1.2.4 Software Customization: A Continuum; Custom Software; Off-the-Shelf Software; Custom Software with Off-the-Shelf Components; 1.3 SOFTWARE LICENSING; 1.3.1 Proprietary Licensing; 1.3.2 Open Source Licensing; 1.3.3 FOSS Origins and Impact; FOSS Worldwide |
|
Terminology: OSS, FOSS, FLOSS, H/FOSS, and CO-FOSS1.4 SOFTWARE ARCHITECTURES; 1.4.1 Software Frameworks; 1.4.2 Web Servers and Bundles; 1.5 NEW VS MATURE OPEN SOURCE PROJECTS; 1.5.1 Maturity Assessment; 1.5.2 Incubation; Community; Bug Tracking; 1.6 INTO THE WEEDS; 1.6.1 To the Instructor; 1.6.2 To the Student; 1.6.3 To the Client; 1.6.4 To the Developer; 1.7 SUMMARY; 1.8 MILESTONE 1; Section I: Organization Stage; Chapter 2: Finding a Client and a Project; 2.1 CLIENT ACTIVITIES AND SOFTWARE NEEDS; 2.1.1 The Current Process and Existing Software; 2.1.2 New Software to Fit a New Need |
|
2.2 DOMAIN ANALYSIS2.2.1 Requirements Gathering; 2.2.2 User Stories; 2.2.3 Use Cases; Unified Modeling Language; Writing an Effective Use Case; 2.3 SOFTWARE DESIGN; 2.3.1 System and Performance Requirements; 2.3.2 Software Architecture; Layering, Cohesion, and Coupling; Domain Class Layer; Database Layer; User Interface Layer; 2.3.3 Software Security; 2.3.4 Encouraging Code Reuse; 2.4 THE DESIGN DOCUMENT; 2.4.1 Overall Structure; 2.4.2 Variations; 2.5 THE SANDBOX; 2.6 SUMMARY; 2.7 MILESTONE 2; Chapter 3: Defining the Course; 3.1 SOFTWARE PROJECT ELEMENTS; 3.1.1 Collaboration Tools |
|
3.1.2 Development Platform3.1.3 Project Hosting; 3.1.4 The Version Control System; 3.1.5 Sandbox and Live Versions; 3.1.6 Reading, Writing, and Documenting Code; 3.1.7 Unit Testing; Unit Testing Tools; 3.1.8 User Help; 3.2 THE COURSE; 3.2.1 The Classroom; 3.2.2 Team Formation and Dynamics; 3.2.3 Scheduling and Milestones; 3.2.4 Ensuring Progress; 3.2.5 The Syllabus; 3.2.6 Assignments and Grading; 3.2.7 Alternatives: The Two-Semester Software Projects Course; 3.3 SUMMARY; 3.4 MILESTONE 3; Section II: Development Stage; Chapter 4: Project Launch; 4.1 THE TEAM; 4.1.1 Team Dynamics |
|
4.1.2 Asynchronous CommunicationAside: Mature FOSS Projects; 4.1.3 Synchronous Communication; 4.1.4 Shared Documents; 4.2 THE DEVELOPMENT TOOLS; 4.2.1 Programming Languages; JavaScript; Python; Java; Ruby; PHP; HTML and CSS; Other Languages; 4.2.2 Software Platforms; The Apache/MySQL/PHP Server; Server-Side Java; Python; Ruby; 4.2.3 IDEs for Development; Eclipse IDE; Python IDEs; Ruby IDEs; Java IDEs; Choosing and Installing an IDE; 4.2.4 Working with the VCS; 4.3 THE PRODUCT; 4.3.1 Reading the Design Document; Identify Classes and Modules; Identify Instance Variables |
Summary |
"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"-- Provided by publisher |
Notes |
Includes index |
Bibliography |
Includes bibliographical references and index |
Notes |
Description based on print version record |
Subject |
Application software -- Development.
|
|
Computer software industry -- Customer services.
|
|
Consumer satisfaction.
|
|
Consumer Behavior
|
|
COMPUTERS -- Software Development & Engineering -- General.
|
|
Application software -- Development
|
|
Computer software industry -- Customer services
|
|
Consumer satisfaction
|
Form |
Electronic book
|
LC no. |
2020694179 |
ISBN |
9780429014390 |
|
0429014392 |
|
9780429506468 |
|
0429506465 |
|
9780429014383 |
|
0429014384 |
|
9780429014406 |
|
0429014406 |
|