Software Development – Table of Content

Building Reliable Systems

First edition; 416 pages
ISBN: 0-13-081246-3
( by: Marc Hamilton )

Table of Content

Contents
Dedication
Acknowledgements
Foreword
Introduction
Part 1: Background Chapter 1: Ten Commandments of Successful Software Development

Chapter 2: Software Development Has Always Been Difficult

  • Software’s Difficult Past
  • The Year 2000 and Other Similar Problems
  • It Is Hard to Structure Development Organizations for Success
  • It Is Hard to Schedule and Budget Correctly
  • It Is Hard to Select the Right Language and Development Tools
  • It Is Hard to Select the Right OS and Hardware Platform
  • It Is Hard to Accomplish a Production Rollout

Chapter 3: Software Development Defined

  • Software Life Cycle Overview
  • Programming Paradigms
  • Procedural Software
  • Modular Software
  • Object-Oriented Software
  • Distributed and Concurrent Software
  • Development Environments
  • System Modeling Tools
  • Software Architectures

Chapter 4: Trends in Software Development

  • The Universal DBMS
  • Packaged ERP Software and its Customization
  • Webtop Computing and Platform Independence
  • Offshore Development
  • Streamlining IT Infrastructure

Part 2: People Chapter 5: Building a Winning Software Development Team

  • The Developer Shortage
  • Software Development Job Descriptions
  • Director of Software Development
  • Chief Software Architect
  • Software Development Manager
  • Senior Software Engineer
  • Software Engineer III
  • Software Engineer II
  • Software Engineer I
  • Toolsmith
  • Webmaster
  • Database Administrator
  • System Administrator
  • Skills Tracking
  • Sample C++ Programming Self-Evaluation
  • Sample Java Programming Self-Evaluation
  • Behavioral Value Assessment Interview
  • Value #1: Initiative
  • Value #2: Dedication
  • Value #3: Flexibility
  • Value #4: Respect
  • Your Software Development Partners

Chapter 6: Organizing for Success

  • The Dimensions of an Organization
  • The Importance of Organizational Structure
  • Streamlining Bureaucracy
  • Sample Organizational Structures
  • Project Centered Organizations
  • Department Centered Organizations
  • Matrix Organizations
  • Product Line Organizations
  • Recurring Organizational Themes
  • Creating a Software Process Team
  • Balancing Centralized versus Decentralized Organization
  • Managing Virtual Teams
  • Thirteen Organizational Structure Mistakes

Chapter 7: Recruiting The Best Talent

  • How to Staff for Growth
  • Internal Referrals
  • Campus Recruiting
  • Agencies
  • Newspapers and Other Media
  • Job Fairs
  • Internet
  • Acquisitions
  • What to Look for and How to Look for It
  • Technical Skills
  • Values

Chapter 8: Retaining the Best Talent

  • Compensation Philosophy
  • Total Compensation Strategy
  • Base Pay
  • Traditional Benefits
  • Creative Benefits
  • Short-Term Incentives
  • Long-Term Incentives
  • Job Rotations
  • Mentoring
  • HR Issues

Chapter 9: Successfully Transitioning Developers

  • Why Transition Developers
  • Mainframe to Client-Server
  • Mainframe to Web-Centric
  • Client-Server to Web-Centric
  • Procedural to Object-Oriented
  • Language-Specific Transition Issues
  • Does Transitioning Work?

Part 3: Processes Chapter 10: The Software Life Cycle

  • The Capability Maturity Model for Software
  • Level One: Initial
  • Level Two: Repeatable
  • Level Three: Defined
  • Level Four: Managed
  • Level Five: Optimized
  • Requirements Analysis and Definition
  • System Architecture and Design
  • Test Plan Design
  • Implementation
  • Validation and Testing
  • Unit Testing
  • Subsystem and System Testing
  • Black-Box and White-Box Testing
  • Alpha and Beta Testing
  • Stress Testing
  • Production Acceptance

Chapter 11: Rapid Application Development

  • Why Another Methodology?
  • Strategic Planning
  • Product Definition
  • Product Design
  • Product Development
  • Product Delivery

Chapter 12: Software Productivity, Metrics, and Quality

  • Code Metrics
  • McCabe Metrics
  • The Impact of Workspace on Productivity
  • Make versus Buy
  • The Value of Domain Knowledge
  • The Importance of Standards
  • Enterprise-Wide Architecture Standards
  • Coding Standards
  • Help Standards

Chapter 13: Web-Centric Production Acceptance

  • The WCPA Chronicle
  • The WCPA Questionnaire
  • Personalized Communications
  • Internal Support Agreements (ISAs)
  • Roles and Responsibilities
  • Internet Engineering
  • Security Engineering
  • Network Engineering
  • WebTone Engineering
  • Technical Support
  • Hardware Support
  • Applications Support
  • The WCPA Process
  • What IT Should/Should Not Support

Part 4: Technology Chapter 14: Programming Language Features

  • C
  • C++
  • FORTRAN
  • Ada
  • BASIC
  • Java
  • COBOL
  • LISP
  • Scripting Languages (Perl, awk, Tcl, ksh)

Chapter 15:Software Development Tools

  • Interactive Development Environments
  • BeanMachine
  • Builder Xcessory Pro
  • CodeWarrior Professional
  • Java Workshop
  • JBuilder
  • SuperCede for Java
  • UIM/X
  • Visual Cafe for Java
  • VisualAge
  • Visual J++
  • GUI Development Tools and Libraries
  • Chart.J
  • Jviews
  • JWave
  • Database Tools
  • Blend.J
  • CocoBase
  • Developer/2000
  • GemStone/J
  • Jaguar CTS
  • NetDynamics
  • Testing Tools
  • JavaScope
  • Pegasus
  • WebLoad
  • Web Authoring Tools
  • Code Editors
  • Compilers
  • Debuggers
  • Code Analysis
  • Performance Analysis Tools
  • Component Tools
  • CASE Tools
  • Version and Baseline Control

Chapter 16: Selecting Your Hardware Environment

  • Developer Desktops
  • Development Servers
  • File Server Benchmarks
  • Compile Server Benchmarks
  • Database Server Benchmarks
  • Web Server Benchmarks
  • Network Infrastructure
  • Disk Storage Architecture
  • Single Function versus General Purpose Servers
  • Architecture Issues Impacting Software Design
  • SMP Architectures
  • MPP
  • NUMA
  • Clustering
  • Highly Available and Fault-Tolerant Systems
  • Relationship of Hardware to OS and Compiler Design

Chapter 17: Component-Based Software Development

  • The History of Components
  • Components versus Object-Oriented Technology
  • Role of Visual Programming in Component Software
  • Component Development Using JavaBeans

Chapter 18:Performance Optimization Techniques

  • How Much Performance Do You Need?
  • How to Identify Bottlenecks
  • Disk Bottlenecks
  • CPU Bottlenecks
  • Memory Bottlenecks
  • Network Bottlenecks

Chapter 19: Multithreaded Programming

  • Multithreading Defined
  • Synchronization Objects

Chapter 20: Developing for the Web

  • Web Browsers and Servers
  • Proxy Web Servers
  • CGI Programming
  • Java Applets
  • Enterprise JavaBeans
  • Other Java Enterprise APIs
  • Java Servlet API
  • JavaServer Pages (JSP)
  • Java Messaging Service (JMS) API
  • Java Naming and Directory (JNDI) API

Chapter 21: Distributed Applications with CORBA, RMI, and DCOM

  • Distributed Objects Using CORBA
  • CORBA Services
  • CORBA Facilities
  • CORBA Application Objects
  • A CORBA Client-Server Example
  • DCOM Objects
  • Distributed Java Applications with RMI

Chapter 22: A Sneak Peak at Jini Technology

  • Jini Infrastructure
  • Discover and Join
  • Lookup
  • Distributed Programming
  • Leasing
  • Distributed Events
  • Distributed Transactions
  • Millennium versus Jini

Appendix A: Software Development Frequently Asked Questions

  • General Questions
  • People Related Questions
  • Process Related Questions
  • Technology Related Questions
  • Software History and Trivia Questions

Appendix B: Java Coding Standard Template

  • Introduction
  • Source Files
  • Source File Naming
  • Source File Organization
  • Naming Conventions
  • Package Naming
  • Class/Interface Naming
  • Field Naming
  • Method Naming
  • Statement Label Naming
  • White Space Usage
  • Blank Lines
  • Blank Spaces
  • Indentation
  • Continuation Lines
  • Comments
  • Documentation Comments
  • Block Comments
  • Single-line Comments
  • Classes
  • Class Body Organization
  • Interfaces
  • Interface Body Organization
  • Statements
  • Simple Statements
  • Compound Statements
  • Labeled Statements

Appendix C: Sample Internal Support Agreement (ISA)

  • Root Authority
  • Server Availability Hours
  • Backups
  • Support Responsibility
  • Function of Each Server
  • Special Requests

Appendix D: How This Book Was Written

Bibliography

Glossary

IT Automation
The Quest for “Lights Out”: Data center automation in distributed environments.
CIO Wisdom
Best Practices from Silicon Valley’s Leading IT Experts
IT Services
Costs, Metrics, Benchmarking, and Marketing: Delighting IT customers: your real-world, start-to-finish guide
CIO Wisdom II
More Best Practices from Leading IT Experts
IT Architecture Toolkit
Less theoretical, more practical approach to developing and implementing enterprise architecture.
IT People
Doing More with Less. Best practices for managing the people within the IT organization.
Data Warehousing
Architecture and Implementation: A start-to-finish process for deploying successful data warehouses
Building Professional Services
The Sirens’ Song: A comprehensive guide to creating a professional services organization
IT Problem Management
The complete “best practices” guide to IT problem resolution.
IT Organization
Building a World-Class Infrastructure.
IT Web Services
A Roadmap for the Enterprise: Architectures, platforms, roles, business models, and deployment realities.
Software Development
Building Reliable Systems.
IT Production Services
Building Competitive Advantage: Describes one of the most important functions of an IT infrastructure
Managing IT as an Investment
Partnering for Success: Maximizing the value of technology—and the success of your IT organization.
High Availability
Design, Techniques and Processes: The complete how-to guide for maximizing availability of enterprise systems
IT Systems Management
Design, Implement, and Manage World-Class Infrastructures.
Technology Strategies
Managing technology, value, and change in the new economy.
Web-Based Infrastructures
A 4-D Framework: Maximize the value of your next Web-centered initiative.
sydney

SEO Powered By SEOPressor