The Next Step: Integrating the Software Life Cycle with SAS Programming
Table of Contents
Acknowledgments
Preface
Chapter 1: Introduction
- Purpose
- Research
- Interpretation
- Audience
- Using This Book
- Quick Tour
Chapter 2: Overview of the Software LIfe Cycle
- Why Use the Systems Approach to Programming?
- Unique Characteristics of Large Software Systems
- Quick Reference
- An Example: Applying the Key Components of the Software Life Cycle
- Summary
- Exercises
- References
Chapter 3: Managing the Project
- Introduction
- Library Management
- Project Considerations
- Database Management
- Getting the Programming Team Started
- External Documentation
- Making Programs Portable
- Summary
- Exercises
- References
Chapter 4: Analyzing the Problem
- Introduction
- The Problem
- Risk/Reward
- Analysis Tools
- Structured Analysis
- Data Modeling
- Evaluating a Language
- Summary
- Exercises
- References
Chapter 5: Laying the Foundation with Good Design
- Introduction
- Concepts of Modular Design
- The Definition of a Module
- Module Qualities
- Module Cohesion
- Module Coupling
- Converting Modules to SAS Code
- Documentation of Modules/Arguments
- Prototyping Methods
- Principles of Good Design
- Writing a Utility Module from Scratch
- Summary
- Exercises
- References
Chapter 6: Improving Readability and Providing Internal Documentation
- Introduction
- Readability
- Commenting Code
- Summary
- Exercises
- Reference
Chapter 7: Structured Programming Techniques
- Introduction
- History
- Background Theory
- Proper Organization of Data Step Statements
- Considerations for Variables
- Measuring Software Quality
- Putting It All Together: Converting from Design to Structured Code
- Summary
- Exercises
- References
Chapter 8: System Coding Principles
- Introduction
- System Coding Principles
- Table-Driven Code
- Error Handling
- Dynamic Code
- Seamless Coding
- System Coding Concerns
- Initialization Options for Customized Software
- A Reporting System
- Code Generators: Reporting at the Next Level
- Summary
- Exercises
- References
Chapter 9: Program Verification and Testing Methodology
- Introduction
- Black Box Testing
- White Box Testing
- Black Box versus White Box Testing
- Gray Box Testing
- Structured Testing Methodology
- Bugging a Program
- Comparison Testing Techniques
- Summary
- Exercises
- References
Chapter 10: Digging Out with Debugging Techniques
- Introduction
- The Anatomy of Bugs
- General Debugging Strategies
- Debugging Tactics
- Preventive Maintenance
- Regressive Bugs
- Debugging Dynamic Code
- Macro Debugging Tips
- The SAS DATA Step Debugger
- Summary
- Exercises
- References
Chapter 11: Putting It All Together with a Demonstration: The Site Map System
- Introduction
- Background
- Important Terms
- Problem Definition
- Analysis
- Design
- Coding
- Testing
- User Acceptance
- Maintenance
Chapter 12: Answers to Exercises
Appendix 1: Coding Samples
Appendix 2: Definitions for the Site Map System
Appendix 3: A Links Primer
- Definition of a Link
- Invalid Link Relationships
Appendix 4: Tutorial of Navigation Rules
Introduction
Pointer Approach
Sample Site
Logic for Navigation
Appendix 5: Summary of Navigation Rules
Introduction
Navigation Strategy
Error Checks
Index