UC Davis Information & Educational Technology

Designing

1.0 General Design

The general design should capture and document a technology-independent view of the business process to automate, as well as preliminary planning of these other aspects of the project:

  • Business flow
  • Data structures
  • Data and procedure interaction
  • Reports
  • Screens
  • Prototypes
  • Data conversions
  • Interfaces to other systems
  • Preliminary training plan
  • Preliminary test plan
  • Preliminary implementation plan
  • Coding and other appropriate infrastructure standards, such as conformance to campus data administration standards as they are developed
  • Technical architecture (development, testing, training, production environments, and capacity planning)
  • Preliminary contingency plan
  • Access and authorization plan
  • Operations plan
2.0 Review General Design
  • Review by business-expert
  • Quality assurance review to assure all requirements are being met
  • System architect review to ensure that all designs have no integrity problems, are compatible, and that technical architecture is viable
3.0 Detail Design

The detail design should consist of technical specifications for all software objects to be built, including:

  • Screens
  • Reports
  • Batch routines
  • Call-able modules
  • Data structure implementation
  • Data integrity implementation
  • Conversions
  • Interfaces
  • Technical architecture

The detail design should also consist of other plans to be finalized, such as:

  • Training
  • Test
  • Implementation
  • Configuration management (includes version control, code migration, security, application server, etc.)
  • Contingency plan
  • Disaster recovery
  • Capacity growth
  • Access and authorization plan
  • Operations plan
4.0 Review Detail Design
  • Business expert review
  • Quality assurance review to assure that all requirements are met and standards have been followed
  • System architectural review to ensure that designs have no integrity problems, are compatible and that the technical architecture is viable
Notes on Rapid Application Development

Rapid Application Development is a technique and can be viewed as a merging or blending of the Detail Design Step and the Build Phase, in order to speed the development process. Prototypes of screens or processes can be built that capture the detailed requirements and provide preliminary software objects for eventual implementation. This can be an iterative process and can be controlled by using techniques such as "time-boxing" or limiting the number of iterations.