Software Development An Open Source Approach

ISBN-10: 143981290X
ISBN-13: 9781439812907
Edition: 2011
List price: $137.00 Buy it from $52.74
eBook available
This item qualifies for FREE shipping

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description: Focusing on projects that real-world clients value, this text outlines the principles and practice of software development. It presents agile techniques, modern collaboration tools, continuous client involvement, and teamwork as central themes.  More...

New Starting from $95.56
eBooks Starting from $44.00
Rent
Buy
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!
You could win $10,000

Get an entry for every item you buy, rent, or sell.

Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
History of Western Art Online content $4.95 $1.99
Add to cart
Study Briefs
History of World Philosophies Online content $4.95 $1.99
Add to cart
Study Briefs
American History Volume 1 Online content $4.95 $1.99
Add to cart
Study Briefs
History of Western Music Online content $4.95 $1.99

Customers also bought

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

List price: $137.00
Copyright year: 2011
Publisher: CRC Press LLC
Publication date: 1/19/2011
Binding: Hardcover
Pages: 400
Size: 6.25" wide x 9.25" long x 1.00" tall
Weight: 1.540
Language: English

Focusing on projects that real-world clients value, this text outlines the principles and practice of software development. It presents agile techniques, modern collaboration tools, continuous client involvement, and teamwork as central themes. Relying on recent experiences teaching software development, the authors provide a framework that can be replicated for a one-semester course at many institutions. This innovative text uses hands-on projects to teach students how to develop real-world software in a team, emphasizing how effective collaboration results in quality software. Teachers receive a complete package of software development course materials, including required documents.

List of Figures
List of Tables
Preface
Acknowledgments
Authors
Overview and Motivation
Software
Types of Software
The Changing Landscape
Who Are the Developers?
Strategic Choices
Free and Open Source Software (FOSS)
Origins and Growth
Licensing
Worldwide Impact
Humanitarian FOSS
Two Case Studies
RMH Homebase
Sahana
Summary
Exercises
Working with a Project Team
Key FOSS Activities
Agile Development
Using Patterns
Reading and Writing Code
Documentation
On-Line Help
Client-Oriented vs Community-Oriented Projects
Project Evolution
Similarities and Differences
Working on a Client-Oriented Project
Members, Roles, and Tasks
Team Dynamics
Scheduling, Milestones, and To-Do Lists
Joining a Community-Oriented Project
Project Selection
First Contact with the Project
Norms for Good Citizenship
Becoming a User First
Summary
Exercises
Using Project Tools
Collaboration Tools
Asynchronous Communication
Synchronous Communication
Shared Documents
Code Management Tools
The IDE
The Software Stack
The Version Control System
The Bug Tracker
Run-Time System Constraints
Performance
Web Hosting
Licensing
Platform
Summary
Exercises
Software Architecture
Architectural Patterns
Layers, Cohesion, and Coupling
Using Metrics to Evaluate Cohesion and Coupling
Security
Architectural Vulnerabilities
User-Level Security
Concurrency, Race Conditions, and Deadlocks
Summary
Exercises
Working with Code
Bad Smells and Metrics
Identifying Bad Smells
Software Metrics
Refactoring
Example 1: Removing Useless Functions
Example 2: Removing a Layering Violation
Testing
Unit Testing Tools
Test Case Design
A Strategy for Sequencing Unit Tests
Debugging
Tool Use vs Developer Skill
Example 1: A User Interface Bug
Example 2: A Multi-Level Bug
Extending the Software for a New Project
A New Use Case
Impact on the Code Base
Team Discussions
Summary
Exercises
Developing the Domain Classes
Understanding the Current System
Reading a Design Document
Reading Code
Examining the Domain Classes
Adding New Features
Top-Down Analysis/Bottom-Up Development
Modifying the Domain Classes
Documentation and Bulletproofing
Class Design Principles and Practice
Using What's Already There
Adding a New Domain Class
Managing the Ripple Effect
Unit Testing the New Code
Refactoring the New Code Base
Summary
Exercises
Developing the Database Modules
Design Principles and Practice
Database Creation
Connecting the Program to the Database
Tables
Normalization and Keys
Backup and Recovery
Working with a Database
Table Creation
Table Searching
Table Insertion, Deletion, and Updating
Database Security and Integrity
Database-Level Permissions
User-Level Permissions
Controlling Concurrency
Adding New Software Features: Database Impact
Items 1 and 9d: Volunteer Status and Application
Item 3: Calendar View
Summary
Exercises
Developing the User Interface
Design Principles and Practice
The Model-View-Controller Pattern
Sessions, Query Strings, and Global Variables
Ensuring Security at the User Interface
Working with Code
Reading Deeply
Debugging as a Community Activity
Adding New Features: User Interface Impact
Item 1: Volunteer Status
Item 2: Make Active/Inactive
Item 3: Calendar View
Summary
Exercises
User Support
Technical Writing
Knowing Your Audience
Principles of Good Writing
Types of User Support
On-Line Help
Reference Manuals
Open Discussion Forums
User Training and Feedback
Example: RMH Homebase On-Line Help
Help and the Code Base
Summary
Exercises
Project Governance
Origins and Evolution
Starting a Client-Oriented Project
Quality Assessment
Evolving into a Democratic Meritocracy
Incubation
Organization
Decision Making and Conflict Resolution
Domain Constraints
Releasing Code
Licensing
Finding a Project Host
Release Strategies
Summary
Exercises
New Project Conception
Requirements Gathering
Domain Analysis
User Stories
Use Cases
Initial Design
Domain Classes
User Interface
Performance and Platform
System Architecture
Design Alternatives
Design Document
Summary
Exercises
Appendices
Details of the Case Study
Requirements
Domain Analysis
Use Cases
System Requirements
Design
Goals
Software Architecture
Domain Classes
Database Design
GUI Design
Implementation Schedule
User-System Interaction
New Features for an Existing Code Base
Starting with a Request from the Client
Impact on the Design and the Code Base
Defining a Project that Implements these Features
References
Index

×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×