Table of Content

Software Development Building Reliable Systems

Acknowledgments

Figures

Tables

Foreword

Introduction
     Who Should Read This Book
     How to Read This Book

I: Background

1. Ten Commandments of Successful Software Development
     #1 Thou shalt start development with software requirements
     #2 Thou shalt honor thy users and communicate with them often
     #3 Thou shalt not allow unwarranted requirements changes
     #4 Thou shalt invest up front in a software architecture
     #5 Thou shalt not confuse products with standards
     #6 Thou shalt recognize and retain your top talent
     #7 Thou shalt understand object-oriented technology
     #8 Thou shalt design web-centric applications and reusable components
     #9 Thou shalt plan for change
     #10 Thou shalt implement and always adhere to a production acceptance process

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

3. Software Development Defined
     Software Life Cycle Overview
     Programming Paradigms
     Development Environments
     System Modeling Tools
     Software Architectures

4. Trends in Software Development
     The Universal DBMS
     Packaged ERP Software and its Customization
     Webtop Computing and Platform Independence
     Offshore Development
     Streamlining IT Infrastructure

II: People

5. Building a Winning Software Development Team
     The Developer Shortage
     Software Development Job Descriptions
     Skills Tracking
     Behavioral Value Assessment Interview
     Your Software Development Partners

6. Organizing for Success
     The Dimensions of an Organization
     The Importance of Organizational Structure
     Streamlining Bureaucracy
     Sample Organizational Structures

7. Recruiting The Best Talent
     How to Staff for Growth
     What to Look for and How to Look for It

8. Retaining the Best Talent
     Compensation Philosophy
     Total Compensation Strategy
     HR Issues

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?
     Project 1:
     Project 2:
     Project 3:

III: Processes

10. The Software Life Cycle
     The Capability Maturity Model for Software
     Requirements Analysis and Definition
     System Architecture and Design
     Test Plan Design
     Implementation
     Validation and Testing

11. Rapid Application Development
     Why Another Methodology?
     Strategic Planning
     Product Definition
     Product Design
     Product Development
     Product Delivery

12. Software Productivity, Metrics, and Quality
     Code Metrics
     The Impact of Workspace on Productivity
     Make versus Buy
     The Value of Domain Knowledge
     The Importance of Standards

13. Web-Centric Production Acceptance
     The WCPA Chronicle
     The WCPA Questionnaire
     Personalized Communications
     Internal Support Agreements (ISAs)
     Roles and Responsibilities
     The WCPA Process
     What IT Should/Should Not Support

IV: Technology

14. Programming Language Features
     C
     C++
     FORTRAN
     Ada
     BASIC
     Java
     COBOL
     LISP
     Scripting Languages (Perl, awk, Tcl, ksh)

15. Software Development Tools
     Interactive Development Environments
     GUI Development Tools and Libraries
     Database Tools
     Testing Tools
     Web Authoring Tools
     Code Editors
     Compilers
     Debuggers
     Code Analysis
     Performance Analysis Tools
     Component Tools
     CASE Tools
     Version and Baseline Control

16. Selecting Your Hardware Environment
     Developer Desktops
     Development Servers
     Network Infrastructure
     Disk Storage Architecture
     Single Function versus General Purpose Servers
     Architecture Issues Impacting Software Design

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

18. Performance Optimization Techniques
     How Much Performance Do You Need?
     How to Identify Bottlenecks

19. Multithreaded Programming
     Multithreading Defined
     Synchronization Objects

20. Developing for the Web
     Web Browsers and Servers
     Proxy Web Servers
     CGI Programming
     Java Applets
     Enterprise JavaBeans
     Other Java Enterprise APIs

21. Distributed Applications with CORBA, RMI, and DCOM
     Distributed Objects Using CORBA
     A CORBA Client-Server Example
     DCOM Objects
     Distributed Java Applications with RMI

22. A Sneak Peak at Jini Technology
     Jini Infrastructure
     Discover and Join
     Lookup
     Distributed Programming
     Millennium versus Jini

A. Software Development Frequently Asked Questions
     General Questions
     People Related Questions
     Process Related Questions
     Technology Related Questions
     Software History and Trivia Questions

B. Java Coding Standard Template
     Introduction
     Source Files
     Naming Conventions
     White Space Usage
     Comments
     Documentation Comments
     Block Comments
     Single-line Comments
     Classes
     Class Body Organization
     Interfaces
     Interface Body Organization
     Statements

C. Sample Internal Support Agreement (ISA)
     Root Authority
     Server Availability Hours
     Backups
     Support Responsibility
     Function of Each Server
     Special Requests

D. How This Book Was Written

Bibliography

Glossary



Software Development. Building Reliable Systems
Software Development: Building Reliable Systems
ISBN: 0130812463
EAN: 2147483647
Year: 1998
Pages: 193
Authors: Marc Hamilton

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net