Uploaded by firosbp

SpecShell1

advertisement
Database Software Project Design Specification Outline
Template Copyright © 1995-96 by Leszynski Company, Inc. – usage allowed by permission only
The information in this document conforms to the Leszynski Development Framework (LDF), see www.ldfinfo.com
Project Name:
{fill-in application name}
User Contact:
{fill-in contact person}
Phone:
{fill-in number}
Development Contact:
{fill-in contact person}
Phone:
{fill-in number}
Document Creation:
{fill-in date and person(s)}
Document Revisions:
{fill-in date and person(s)}
Purpose of This Document
This document provides a suggested outline for a database application design specification that falls within Leszynski Development
Framework guidelines. Hints for creating the content of each section and topic are emphasized with double underline and can be
deleted from the final document draft. Items to be filled in during the creation of the document are noted with {bracketed text} which
should be replaced with your text in the actual specification document.
Different specifications will have different layouts, depending on the responsible personnel and the needs of each project. The flow
of this example is only a suggestion to guide your specification process – there is no single "correct" outline for a spec document.
Many people working on an application of any size fail to predict the complexities of development, testing, budgeting, and
deployment. Even if your project is too small or your timeline too tight to allow for a specification as detailed as this outline, reading
through the outline before you begin your project will help alert you to the many facets of development and deployment.
For purposes of this specification outline, the term section is used to refer to a major segment of the document. Within sections are
subsections, and each subsection has several topics that describe individual application features.
Using this document is easier after reading about the specification design process in the “Creating Design Specifications” chapter of
Access Expert Solutions, written by Stan Leszynski and published by Que Corporation.
Database Software Project Design Specification Outline, Page 1
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Contents
Purpose of This Document .....................................................................................................................................1
Contents...................................................................................................................................................................2
1. Executive Summary ............................................................................................................................................6
1A. Overview ..................................................................................................................................................................... 6
Identified Problems ............................................................................................................................................................................ 6
Proposed Solution .............................................................................................................................................................................. 6
Project Scope ..................................................................................................................................................................................... 6
1B. Justification................................................................................................................................................................. 6
Cost Justification................................................................................................................................................................................ 6
Return on Investment ......................................................................................................................................................................... 7
1C. Resource Requirements ............................................................................................................................................. 7
Human Resources............................................................................................................................................................................... 7
Physical Resources............................................................................................................................................................................. 7
Capital Resources............................................................................................................................................................................... 8
2. Application Processes .........................................................................................................................................9
2A. Solution Description................................................................................................................................................... 9
2B. Primary Processes ...................................................................................................................................................... 9
2C. Application Navigation .............................................................................................................................................. 9
Setup .................................................................................................................................................................................................. 9
Launching the Application ................................................................................................................................................................. 9
Interface Philosophy ........................................................................................................................................................................ 10
Navigation Map ............................................................................................................................................................................... 10
2D. Initial Data Conversion............................................................................................................................................ 10
Source of Initial Data ....................................................................................................................................................................... 10
Converting and Validating Initial Data ............................................................................................................................................ 10
2E. Links to Other Systems ............................................................................................................................................ 11
Downloads ....................................................................................................................................................................................... 11
Uploads ............................................................................................................................................................................................ 11
Merges and Links............................................................................................................................................................................. 11
2F. Security Requirements ............................................................................................................................................. 11
Workgroup Security......................................................................................................................................................................... 12
Application Security......................................................................................................................................................................... 12
2G. Multi-User Issues...................................................................................................................................................... 12
3. Project Mechanics and Management...............................................................................................................13
3A. Project Management Overview .............................................................................................................................. 13
3B. Architecture and Tools............................................................................................................................................. 13
Platform/Language........................................................................................................................................................................... 13
Development Tools .......................................................................................................................................................................... 13
Reusable Components...................................................................................................................................................................... 13
3C. Equipment Requirements........................................................................................................................................ 13
Database Software Project Design Specification Outline, Page 2
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Client Configuration......................................................................................................................................................................... 13
Server Requirements ........................................................................................................................................................................ 14
Connectivity ..................................................................................................................................................................................... 14
Equipment Upgrades........................................................................................................................................................................ 14
3D. Application Deployment .......................................................................................................................................... 14
User Definition................................................................................................................................................................................. 14
Review Builds .................................................................................................................................................................................. 14
Testing ............................................................................................................................................................................................. 15
Unit Testing ................................................................................................................................................................................. 15
System Testing ............................................................................................................................................................................. 15
Test Plan ...................................................................................................................................................................................... 15
Preloading Data................................................................................................................................................................................ 15
Training............................................................................................................................................................................................ 15
Deployment...................................................................................................................................................................................... 16
Online Documentation ..................................................................................................................................................................... 16
User Documentation......................................................................................................................................................................... 16
System Documentation..................................................................................................................................................................... 16
Database Administration .................................................................................................................................................................. 16
Administrators.............................................................................................................................................................................. 17
Backup Policies............................................................................................................................................................................ 17
Disaster Recovery ........................................................................................................................................................................ 17
Adding Users................................................................................................................................................................................ 17
Localization...................................................................................................................................................................................... 17
Ongoing Support .............................................................................................................................................................................. 17
Supporting Users.......................................................................................................................................................................... 17
Reporting Problems and Enhancement Requests ......................................................................................................................... 17
Problem/Enhancement Resolution Guidelines ............................................................................................................................. 18
Future Releases ................................................................................................................................................................................ 18
3E. Project Management ................................................................................................................................................ 18
Affected Users and Related Parties.................................................................................................................................................. 18
Project Timelines ............................................................................................................................................................................. 18
Responsible Parties .......................................................................................................................................................................... 18
Project Administration ..................................................................................................................................................................... 19
Issue Management............................................................................................................................................................................ 19
Risk Management............................................................................................................................................................................. 19
Coding and Documentation Standards ............................................................................................................................................. 19
Future Phases ................................................................................................................................................................................... 19
3F. Financial Mechanics ................................................................................................................................................. 19
Costing ............................................................................................................................................................................................. 20
Third Parties..................................................................................................................................................................................... 20
Contractual Issues ............................................................................................................................................................................ 20
4. Data Structures and Rules................................................................................................................................21
4A. Data Models and Diagrams ..................................................................................................................................... 21
4B. Schema Definition..................................................................................................................................................... 21
Table Structures ............................................................................................................................................................................... 21
Stored Views.................................................................................................................................................................................... 21
Table Relationships.......................................................................................................................................................................... 21
Business Rules ................................................................................................................................................................................. 22
4C. Data Load.................................................................................................................................................................. 22
Initial Volumes................................................................................................................................................................................. 22
Database Software Project Design Specification Outline, Page 3
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Future Volumes................................................................................................................................................................................ 22
5. Screen Forms ....................................................................................................................................................23
5A. UI Guidelines ............................................................................................................................................................ 23
Form Layouts ................................................................................................................................................................................... 23
System Messages ............................................................................................................................................................................. 23
Fonts and Point Sizes ....................................................................................................................................................................... 23
Colors............................................................................................................................................................................................... 24
Buttons ............................................................................................................................................................................................. 24
Switchboard Menus.......................................................................................................................................................................... 24
Bar Menus........................................................................................................................................................................................ 24
Shortcut Menus ................................................................................................................................................................................ 24
Toolbars ........................................................................................................................................................................................... 24
Keyboard and Mouse ....................................................................................................................................................................... 24
Status................................................................................................................................................................................................ 25
Terminology..................................................................................................................................................................................... 25
5B. Structural Information ............................................................................................................................................ 25
{name of the first form} ................................................................................................................................................................... 25
Purpose......................................................................................................................................................................................... 25
Mockup ........................................................................................................................................................................................ 25
Data Source.................................................................................................................................................................................. 25
Navigation.................................................................................................................................................................................... 26
Controls........................................................................................................................................................................................ 26
Events and Procedures ................................................................................................................................................................. 26
Properties ..................................................................................................................................................................................... 26
Validation..................................................................................................................................................................................... 26
{name of the second form} .............................................................................................................................................................. 26
6. Reports...............................................................................................................................................................27
6A. UI Guidelines ............................................................................................................................................................ 27
Report Layouts................................................................................................................................................................................. 27
Fonts and Point Sizes ....................................................................................................................................................................... 27
Colors............................................................................................................................................................................................... 27
Bar Menus........................................................................................................................................................................................ 27
Shortcut Menus ................................................................................................................................................................................ 27
Toolbars ........................................................................................................................................................................................... 27
Terminology..................................................................................................................................................................................... 28
6B. Structural Information ............................................................................................................................................ 28
{name of the first report} ................................................................................................................................................................. 28
Purpose......................................................................................................................................................................................... 28
Mockup ........................................................................................................................................................................................ 28
Data Source.................................................................................................................................................................................. 28
Navigation.................................................................................................................................................................................... 28
Controls........................................................................................................................................................................................ 29
Events and Procedures ................................................................................................................................................................. 29
Properties ..................................................................................................................................................................................... 29
{name of the second report} ............................................................................................................................................................ 29
7. Appendices.........................................................................................................................................................30
Data Diagrams ................................................................................................................................................................. 30
Database Schema............................................................................................................................................................. 30
Database Software Project Design Specification Outline, Page 4
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Process Flow Diagrams................................................................................................................................................... 30
Form Mockups ................................................................................................................................................................ 30
Report Mockups .............................................................................................................................................................. 30
Project Timeline .............................................................................................................................................................. 30
Test Plan........................................................................................................................................................................... 30
Design Team Notes .......................................................................................................................................................... 30
History Application......................................................................................................................................................... 31
History Data..................................................................................................................................................................... 31
Integration Information ................................................................................................................................................. 31
Future Phases .................................................................................................................................................................. 31
Database Software Project Design Specification Outline, Page 5
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
1. Executive Summary
An Executive Summary section is a common requirement for business documents and exists to provide the project highlights for
managers. In a specification, this is probably the only section that executives at the program manager level and above will read. Its
purpose is to provide a clear, accurate, and concise synopsis of the project by highlighting the project's functionality, justification, and
cost.
As a general rule, writers of business documents try to keep the Executive Summary to one or two pages. For a specification, the
reality is that one page is impossible, two is desirable, and three or more is commonplace.
{Add a paragraph here describing how the Executive Summary section will provide the project highlights for managers.}
1A. Overview
The first portion of the Executive Summary section presents an overview of the software project by summarizing the problems it
addresses and the methodology that will be employed.
{Add paragraphs here with a project overview, a summary of problems to be addressed, and the methodology to be employed.}
Identified Problems
This component of the Executive Summary section provides a few paragraphs or bulleted list items that summarize the problems or
opportunities within the company that pointed to the need for the solution described in the spec. The text here need not identify all
specific problems or needs but should at least describe the ones that will be used as a basis for the cost justification topic later in the
summary.
{Add paragraphs and/or bulleted lists here summarizing the problems or opportunities that drive the solution process, and list the
issues that will be used as a basis for the cost justification.}
Proposed Solution
This topic briefly describes the proposed solution and how it will achieve the objectives itemized in the previous Identified Problems
topic. These paragraphs should note who in the company will be affected by the project and what the expected effect on their daily
workflow will be.
{Add paragraphs here describing the proposed solution.}
Project Scope
In this topic, provide a brief description of the scope of the project, including some or all of the following points:
• When will the project start and end?
• What are the major milestones: delivery dates and other deadlines?
• What parties will be involved and what are their individual responsibilities?
• What existing systems and workflows will be affected during development and deployment?
{Add paragraphs defining the project scope.}
1B. Justification
This subsection is essentially the "sales pitch" targeted at the readers that will be involved in approving funding for the project.
{In a paragraph, explain how this subsection will describe the justification for the project’s funding.}
Cost Justification
In this topic, answer the question "Why should the company spend money on this project?" as succinctly as possible. Usually, the
justification highlights one or more of the following benefits:
• Increased Profitability
• Decreased Expenses
• Increased Employee Productivity
• Increased Employee Job Satisfaction
Database Software Project Design Specification Outline, Page 6
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
• Enhanced Competitive Position
• Decreased Business Risk
{Add paragraphs here that define why money is well-spent on this project.}
Return on Investment
In some projects, the specific financial benefits of a project can be favorably contrasted to its costs, which provides a calculation
called return on investment (ROI). The ROI usually quantifies the payback period of the project in months or the total return over the
life of the project. If the increased revenues or decreased expenses from your project can be quantified, include a discussion in this
topic and possibly a table or graph for clarification.
It may not always be easy to tally a solution's positive economic impact on the company because you must measure both the benefits
of the solution and the costs of the problems it solved. The benefit of automating a process, for example, cannot easily be measured if
the process is new because no historical benchmarks exist yet. At the other end of the spectrum, the human resource overhead for a
process that has existed in the workflow for a long time can be measured exactly. When automation is applied, the time savings can be
quantified and the positive impact of the application computed.
{Add text here and/or the following table to quantify the payback period of the project and/or the total return on investment.}
Cost Item
Current
Process
New
Process
{nn}
{nn}
Times: # of Employees
{nnn}
{nnn}
Times: Average Hourly Burden
{$nn}
{$nn}
{$nn,nnn}
{$nn,nnn}
Hours Per Month For Task
Equals: Monthly Cost
Equals: Monthly Savings
{$nn,nnn}
1C. Resource Requirements
In the introduction to this third subsection of the Executive Summary, summarize the actual resources that will be consumed by the
project. The cost of a project is not only measured in direct cash outlays – there are other company assets that are used to create and
deploy an automated solution.
The costing items summarized here and described in the following three topics must total to the project cost number used in the
Return on Investment topic earlier in the spec. Later in the spec (in Costing), a line-item budget is provided, so this topic exists to "hit
the high points" for busy managers.
{Add an intro paragraph here explaining how this subsection summarizes what resources will be consumed by the project.}
Human Resources
In this topic, detail the human capital that will be expended to create the application. Human capital is measured in time increments
and in the cost of that time to the company. Include the cost of time spent by design team members, users, management personnel,
developers, contract coders, testers, trainers, and support personnel.
Some companies also measure “opportunity cost” when computing the expenditure for a project. This measurement assumes that,
while people are working on the project described in the specification, there are other projects that they are not working on. Thus, the
gains on the automation project are offset to some extent by the losses on the neglected efforts.
{Add paragraphs here detailing the human capital that will be expended on the project.}
Physical Resources
Automation projects also consume physical resources. The most common physical resources used by an application are the storage
space on workstation and server disks, and the wear and tear on the computers developing and running the application. While storage
space is sometimes hard to price, in some cases an application may usurp an entire server for itself, the cost of which is known.
Database Software Project Design Specification Outline, Page 7
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Other physical resources consumed by an application development project include: the overhead of contract programmers onsite or
staff developers working overtime (extra electricity, food, or equipment that will be consumed); intangibles like printer paper; the use
of corporate meeting facilities and training equipment; and rented furnishings or overflow office space. Such resource consumption is
often difficult to quantify, and most companies elect not to try to measure these costs in a spec unless they are unusually large for the
specific project.
{Add paragraphs here detailing the physical resources to be consumed.}
Capital Resources
This topic details the items that will require a cash outlay during the project that are not included in the two previous topics. Usually,
capital expenses are those that involve the purchase of tangible assets, such as the upgrade or purchase of software tools or
applications, server machines, workstations, network hardware, modems, printers, and other infrastructure items to support the
application.
{Add paragraphs or tables here summarizing the capital costs.}
Database Software Project Design Specification Outline, Page 8
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
2. Application Processes
This major section of the spec document describes the solution from a functional standpoint. It includes descriptions of the
following:
• What the software does, and how it performs these tasks
• The coordination of the application objects (tables, queries, forms, and reports) via program code
• The processing logic that the application applies to its data
{Add an intro paragraph here describing how this section will detail the solution’s functionality.}
2A. Solution Description
This subsection is usually a lengthy, matter-of-fact description of the project and varies greatly by project. It may include additional
topics for these and other subjects:
• Solution Mechanics
• System Architecture
• User Interaction
• Primary Objects
Topics here describe the current workflow in the process to be automated and the changes to the workflow that will be introduced by
the new system. Process flow diagrams of the current or proposed workflow may be used to clarify this information.
{Add paragraphs, diagrams, and/or additional topics here that provide a comprehensive description of the project.}
2B. Primary Processes
This subsection provides a technical description of the primary logic (code) processes in the system. Logic processes in database
applications include such routines as the following:
• Bulk import/export of records and the validation of the records before or after receipt
• Batch processes, such as mass updates of records at ongoing time points (computing annual pay raises and then updating
employee records, for example)
• Accounting processes, such as validating and posting transaction batches to a ledger
• Data massaging, such as the multi-pass crosstab processing required to produce budget reports that display actual and
projected expenses together
The process descriptions in this subsection constitute actual instructions to the programming team, and should be completely
explicit. In some cases, numbered (stepped) lists are adequate; in others, the design team should write pseudocode to describe the
process in detail.
{Add paragraphs, listings, and/or additional topics here that provide technical descriptions of each primary logic process.}
2C. Application Navigation
This subsection describes how users will interact with the application's interface and includes multiple topics.
{Add an intro paragraph here describing how this subsection details user-interaction.}
Setup
Describe here the requirements of the setup program or installation routine. Detail the components to be installed on the users
workstation, special setup logic requirements, version or license control issues, de-installation, and so forth.
{Add paragraphs here describing the setup process.}
Launching the Application
The specification should describe here how users will start the application. For example, the program group, the application icon and
its label, the window caption, and the command-line arguments should be provided for shortcuts that will point to the application, if
appropriate. Include relevant login or security information.
Database Software Project Design Specification Outline, Page 9
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
{Add paragraphs here describing how users will start the application.}
Interface Philosophy
This topic describes the pervasive interface approaches that will affect how users move within the application. Include in this topic
information on using a runtime engine or compilation, object security, and application “bulletproofing” techniques to move users
between application objects while restricting the availability of the built-in features of the platform. Also discuss here the standard
menu, toolbar, and other navigation metaphors to be used in the application.
This topic is for discussion of general strategies – specific information about interface look-and-feel goes in the Screen Forms
section later in the spec.
{Add paragraphs here describing the interface approaches.}
Navigation Map
In this topic, display a navigation map of the application, which is a flow diagram of a user's interaction with the forms and logic
processes. A navigation map helps the design team and prospective users review and approve the flow of the application. The diagram
shows each form in the application and a visual depiction of how the user moves between the forms. The information can also be
presented in text form.
{Add a flow diagram or textual description here of a user’s interaction with the forms and logic in the system.}
2D. Initial Data Conversion
Few applications are launched completely devoid of data. Instead, data is usually preloaded into an application from existing
databases, worksheets, a retail application, or hard copy records.
This subsection of the spec details which tables get populated before the application's initial release and from where. The
information here should be definitive enough that the development team can do the data loading based on instructions in the following
topics.
{Add an intro paragraph here describing how this subsection will detail the data tables to populate before initial release.}
Source of Initial Data
Include in the spec a matrix showing the tables that will be pre-populated, and the sources of the data for each. Describe the data
source by file name, table and field names, or other specifics, and be sure to note any record selection/filtration clauses if not all
records in an existing data source will be used. For example, when preloading records into a hospital patient information system, you
may choose to only import historical records from the mainframe for those patients that had visited the hospital more than one time in
the past ten years.
This topic should provide specific instructions so a person can be dispatched to fetch all of the data that will be preloaded into the
new system.
{Add paragraphs here providing data conversion/import instructions.}
Converting and Validating Initial Data
Sometimes, pre-populating a database application involves more than simply pulling records from an old platform into the new one.
Historical data may be formatted in a completely different fashion than the new structure requires and may involve complex conversion
procedures. For example, a database may be preloaded with information extracted from e-mail messages.
Use this topic of your spec document to detail the specific conversion algorithms to be used in data preloading and to map source
data fields to their new destinations. Be sure to note validation rules that must be met by each historical data record before it can be
loaded, and the logic to "clean up" the data to meet these rules. For example, you can use a table in this topic that shows the following
information:
Historical Table/Field. The location of the historical data, for example "Field PATS.NAME in the DB2 database".
New Table/Field(s). The destination in the new system for the historical data, for example "Patient.LastName and
Patient.FirstName".
Database Software Project Design Specification Outline, Page 10
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Conversion Logic. The conversion process to apply during the pre-loading, for example "Change the case of
PATS.NAME from uppercase to uppercase/lowercase, then take the first element in PATS.NAME and place it in
Patient.LastName and the second element into Patient.FirstName."
Rule. The criteria for record/field selection during the conversion, for example "Ignore patient names that are Null during
conversion and print an exception list showing single-name patients but do not convert them."
{Add details here about the source and destination of each data item to be preloaded and the conversion algorithms to be used.}
Historical Table/Field
{“from” location}
New Table/Field(s)
{“to” location}
Conversion Logic
{conversion logic process}
Rule
{record selection rule}
2E. Links to Other Systems
Few applications are an island with data captive to the system and not flowing from or to other systems or applications. Instead, data
may be imported from, exported to, or otherwise linked with other systems. Use this subsection of the specification document to detail
such requirements for your application.
{Add an intro paragraph describing how this subsection will detail imports, exports, and links.}
Downloads
Describe here the type of data that will be pulled into the application from other systems. For example, an inventory control system
may pull the current product pricing from the corporate AS/400 minicomputer each month before running inventory processing
routines.
Note in this topic the frequency of data downloads, the work that must be done in the host system to facilitate the extraction, the
linkage mechanisms to the external data, and detail the import and validation logic to be used.
{Add paragraphs here describing data downloads.}
Uploads
It is almost as common for your applications to send data to other systems as to receive data from an external source. For example, a
medical clinic billing system may collect all patient transactions entered during the day, dial the phone each night, and send the
transactions to an external billing vendor's computer which produces invoices from the data.
In this topic, detail any similar requirements of your application to send data to other computer systems. Note the frequency of the
exports, the validation to perform on the data before sending, the communication mechanism.
Also, define the methods for reporting success or failure of the automated process to the users. Import and export/upload validation
logic usually includes summary records or values called “checksums” to confirm that all records were received accurately. A checksum
is a unique number, usually created by totaling all of the values in a particular field in the data.
{Add paragraphs here describing exports.}
Merges and Links
In most PC database systems, users will expect the application to help them merge some of the database information to other
applications for the purpose of analysis or reporting. For example, users frequently request reporting routines to send data summaries
to spreadsheet programs for analysis.
If your application will help users merge data to a word processor, a spreadsheet, a presentation, the Web, or any other destination,
note the requirements for such features in this topic of the spec.
{Add paragraphs here describing how the application will merge its data to other applications.}
2F. Security Requirements
If the application will be secured, detail in this subsection the security requirements and their enforcement mechanisms in the schema
and user interface.
{Add an intro paragraph here noting how this subsection will define security requirements.}
Database Software Project Design Specification Outline, Page 11
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Workgroup Security
This topic details the workgroups designated for the application. It should include a document table showing security groups, the
users for each group, and a description of the general purpose for each group and its place in the security hierarchy.
{Add paragraphs and/or tables here showing the security groups.}
Group
Purpose
Members
Application Security
In this topic, map the groups detailed in the previous Workgroup Security topic to specific application objects and describe the
permissions at the object level. Such a relationship is best represented by a table in the document.
If the application will use programmatic security rather than workgroups, describe the structure and code for such security.
{Add paragraphs and/or tables here detailing the security model.}
Object
Groups
Permissions
2G. Multi-User Issues
The multi-user nature of the application is determined by the number of concurrent users expected and their anticipated data
entry/edit behavior. Detail these expectations in this subsection of the spec document, and lay out the resolution mechanism for any
problems that will accrue from the expected usage patterns.
Specifically, this subsection should describe multi-user loads and the expectation for related collisions. Define the approach to be
used in the application to resolve multi-user record write contention issues. Usually, the resolution is to decide between optimistic,
pessimistic, and programmatic locking strategies and between bound and unbound data forms and to note specific development
approaches to be used when applying the selected philosophy.
{Add paragraphs here describing the management of the problems arising from the user load.}
Database Software Project Design Specification Outline, Page 12
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
3. Project Mechanics and Management
This major section of the specification document describes how the project will be managed and delivered and clarifies issues that
are relevant to the development team members and management personnel.
{Add an intro paragraph here describing how this section details delivery issues.}
3A. Project Management Overview
As an introduction to the project management section, note here the specific issues and concerns unique to this project and important
to its managers and creators.
{Add paragraphs here noting the important issues for managers.}
3B. Architecture and Tools
No specification is complete without a description of the toolset to be employed by the development team. This subsection notes
technical information about the development environment.
{Add an intro paragraph here describing how this subsection details the development environment.}
Platform/Language
The primary platform for an application is its operating system and development languages, which should be noted in this part of the
specification. An application may actually involve multiple development languages, each one specializing in a different task: data
access, user forms, reports, interface extensions, business objects, reusable components, interoperability/automation, program code,
etc. List each of these language tools to be used in creation of the solution.
{Add paragraphs here defining the development languages and operating systems.}
Development Tools
Describe in this topic any third-party tools or extensions that will be employed in addition to the primary platform: development
tools, add-ins/wizards, ActiveX controls, Software Development Kit (SDK) products, code collections, and similar extensions.
{Add paragraphs here describing the development tools to be used.}
Reusable Components
Detail in this topic any components which already exist within the organization and can be reused or adapted for the application.
Reusable components include interface objects, business objects, class objects, Automation servers, compiled Dynamic Link Libraries
and executables, code procedures, and code libraries.
{Add paragraphs here detailing components that will be pulled from other applications.}
3C. Equipment Requirements
In this subsection, the spec document details the hardware requirements dictated by the application.
{Add an intro paragraph here describing how this subsection details the hardware requirements.}
Client Configuration
This topic notes the required configuration for client (user) workstations. Usually, a minimum configuration and a suggested
(average) configuration are both described. Configuration information should include hardware, software, peripheral, operating system,
and driver details.
{Add paragraphs here describing the required client system configuration.}
Database Software Project Design Specification Outline, Page 13
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Server Requirements
The machine on which the data will reside should be described in this topic. If the hardware will be purchased specifically for this
application, note the actual configuration requirements, preferred vendor, and any installation issues. If the application's data will
reside on a shared server, name the server, the path for the data back end, security configurations, and any issues involved in sharing
the server with other applications or databases.
{Add paragraphs here describing the data server.}
Connectivity
Describe in this topic any special connectivity requirements for users of the application. Connectivity issues arise in one of the
following areas:
User Logins. Describe how users of the application gain login rights to the network domain on which the data resides.
Drivers. Detail any requirements here for the users to install connectivity drivers in order to access the data. Describe if
the drivers will be installed by the application setup or by the user.
Remote Users. Users who will access the data over telephone lines or a wide-area network may have special modem,
software, login account, or other configuration needs, which should be listed in this topic.
Laptop Users. If the application allows for any form of data replication or checkout/checkin, the policies and procedures
for mobile users should be clearly spelled out in the spec.
{Add paragraphs here describing how users will connect to the application.}
Equipment Upgrades
This specification topic should name the user workstations that must be upgraded to comply with the configuration and connectivity
requirements previously mentioned in this section. Note here the complete list of required parts and labor per machine, the itemized
cost of each, and the time and manpower schedule for the upgrades.
{Add paragraphs and/or tables here listing required upgrades to user workstations.}
3D. Application Deployment
Since the entire development project is focused on a "ship date," the spec must include implementation plans to guide the project
team toward that date. This subsection provides information designed to help get the product (application) in the hands of the
customers (users).
{Add an intro paragraph here describing how this subsection provides implementation plans.}
User Definition
Describe in this topic the users of the application. In widely deployed applications, the user base is described by department name,
job title, workgroup, or other aggregate grouping. Users may even accrue to a system simply by virtue of the computer they use.
Smaller user groups can be described by actually naming the users.
It is equally important here to describe users of the system more generally by their attributes. Note the skill level, physical location,
workgroup membership, and other hurdles that users must leap to qualify to work with the application, both at deployment and in the
future.
{Add paragraphs here describing the users of the application.}
Review Builds
The most important early milestones in the development process are the prototype phases. Note in this topic how many application
reviews are in the development cycle, what will be provided in each review build, and when they occur. Describe the users that will
participate in each review and how the review process will work. You can communicate this information in a table like the one
following.
{Add paragraphs and/or tables here describing application reviews.}
Database Software Project Design Specification Outline, Page 14
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Build
User Interface Review
Working Model
Beta 1
Features Included
Distribute To
Testing
A good spec document should detail the plans for thoroughly testing the application. The following three topics describe the
procedures to be employed by those testing the application.
{Add an intro paragraph here describing how the next three subtopics describe the testing process.}
Unit Testing
Normally, the development team will test the application before user testing begins. Developers test discrete components (units) of
the software as they are completed and then test how the components work together with other components. In this topic, describe the
involvement of the development team in the testing process and the scheduling and verification of such efforts.
{Add paragraphs here describing the development team’s testing process.}
System Testing
Final testing of the integrated system is usually done through several releases in a cycle called system testing because the entire
system is tested as if the application is complete. Describe here the expected test releases and their feature sets, when releases will
occur, the composition of the test audience, the test audience, the feedback mechanisms for problem reporting and fixes, and any other
issues related to widespread testing.
It is important to detail the users' testing commitment here in addition to that of developers. Users involved in testing need to be
made to understand that their thorough testing is critical to the quality of the product, and their punctual testing is critical to the timely
delivery of the product. Most users underestimate the amount of testing required to create a solid application.
{Add paragraphs here describing the application’s testing.}
Test Plan
Specs for complex applications may include a detailed test plan here describing how to test each major feature of the solution. If the
test plan is lengthy, it may be preferable to include it in the Appendixes section and reference its location here.
{Add a test plan here or reference an appendix.}
Preloading Data
In the Initial Data Conversion section earlier, a strategy was detailed for converting and loading history data into the application.
That strategy was a mechanical one, whereas this topic is for describing the task in political terms. Historical data usually has
ownership, security, and maintenance issues that involve multiple departments or groups of users. In this topic, clarify and resolve any
such issues, and detail the resolution of such issues.
{Add paragraphs here describing the issues related to acquisition of historical data.}
Training
Describe in this topic the user training plan for the application. At the least, note the following points:
• Who will be trained.
• Who will do the training.
• A training timetable.
• What training materials will be created and by whom.
• What training facilities and equipment will be utilized and when.
{Add a training plan here.}
Database Software Project Design Specification Outline, Page 15
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Deployment
The deployment strategy for the application should be discussed in detail in this topic. The following issues should be defined
clearly, along with the parties responsible for each issue:
• Describe the release timetable for the initial deployment, and show how the training and equipment upgrade schedules
precede or overlap deployment.
• Note the order of deployment by user, workstation, or workgroup.
• Note the expected impact on user productivity during deployment.
• Detail the parties responsible for managing deployment and the hands-on installation.
• Describe potential deployment problems and the strategy for addressing each.
{Add paragraphs here describing the deployment process.}
Online Documentation
This topic should clearly describe the electronic documentation requirements for the system. If a Windows Help file, Multimedia
Viewer file, intranet Web site, or other tool will be distributed to users, outline its organization and contents. Remember to also list the
individuals involved in writing, editing, and testing the online documentation.
{Add paragraphs here describing the electronic documentation.}
User Documentation
The specification should detail here the requirements for producing hard copy documentation. If possible, provide an outline, target
page count, and other parameters for the user documentation.
Sometimes your spec can reference an existing document from a previous project to use as a model, rather than providing detailed
writer's guidelines here, or include the sample document as an appendix item.
More and more developers have adopted the model of turning the hard copy documentation into online documentation. If you utilize
this strategy, you will take special pains when you organize and write user documentation so that it can easily be converted to a
compiled Help file or online Web pages. You should note such documentation strategies here or reference a company style guide
document so that the documentation writers can refer to the specification or elsewhere for guidance.
{Add paragraphs here describing the hardcopy documentation.}
System Documentation
Each company, and development group, has its own standards for system documentation. Usually, a project of any modest or large
size is delivered with documentation on such elements as the following:
• Database Structure and Relationships
• Ongoing Maintenance of the System
• Principal Processing Logic
• Primary Development and Coding Techniques Employed
• Strategies for Extensibility
In this topic, include or refer to such system documentation elements. The documentation should list or diagram any information
here that will be useful for sustaining the ongoing health of the data and its use. System documentation should provide an adequate
road map for future developers to follow when diagnosing problems or designing enhancements.
{Add paragraphs here describing the system documentation.}
Database Administration
The preceding System Documentation topic noted that you should detail the important procedures for system maintenance. The
information presented in that topic provides a physical "map" to guide administrators through the database. This topic augments that
information by describing the political components of database administration, which should include at least the following points.
When writing the four topics below or your own additional topics, try to imagine that you were not involved in the creation of the
database but rather inherited the day-to-day administration of it after deployment, and ask: "What information would I need to be
successful in fulfilling such duties?"
Database Software Project Design Specification Outline, Page 16
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
{Add an intro paragraph here describing how the following four subtopics define the political components of database
administration.}
Administrators
In this topic, note who will administer the database and what the scope of each person's responsibilities and authority will be.
{Add a paragraph here describing the database administrator(s).}
Backup Policies
Note here the backup policies for the database back end, including backup times, responsible parties, and off-site storage plans.
Describe resolution steps for "bumping" users from the application so that repairs, compacts, tune-ups, and backups can get exclusive
locks on the data file(s).
{Add paragraphs here describing backup policies.}
Disaster Recovery
What are the disaster recovery policies for the application? In this topic, detail the recovery steps for the "worst case scenario,"
usually the destruction of the data server or the building in which it resides.
{Add paragraphs here detailing disaster recovery steps.}
Adding Users
In this topic, describe how new users will be added to the system and who will determine their security levels.
{Add paragraphs here describing who adds new users and how.}
Localization
The world keeps getting smaller, and design teams must often explore the ramifications of installing an application in a branch of the
company outside of the country it was created in. If the design team comes up with recommendations or strategies for making the
localization (translation) of the application easier, document those strategies in this topic along with any suggestions for transnational
installation, configuration, training, export/legal issues, and documentation.
{Add paragraphs here describing strategies for localization and export.}
Ongoing Support
The spec should address not only the ongoing management of the database but the ongoing support of its users as well. This is done
in the following three subtopics.
{Add an intro paragraph here describing how the following subtopics detail ongoing support.}
Supporting Users
This topic describes how users will be supported when they have questions. Note support mechanisms, including support by
telephone, e-mail, voice mail, fax, pager, intranet, knowledge base, or in person. Also designate support personnel and define targeted
response/turnaround times.
{Add paragraphs here describing support mechanisms.}
Reporting Problems and Enhancement Requests
Ideally, the company infrastructure provides a mechanism for users to report issues, problems, and suggestions generated as they
interact with the application. This topic should detail such mechanisms and how they will be set up and maintained.
{Add paragraphs here describing how users provide feedback.}
Database Software Project Design Specification Outline, Page 17
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Problem/Enhancement Resolution Guidelines
Every user and developer wants issues (especially bugs) addressed immediately, but managers usually have to prioritize the issues
for attention in order of importance, taking budgetary concerns into consideration. The policies and procedures for making such
tradeoffs should be noted in this topic, as well as the expected staging for interim releases that address accumulated issues.
{Add paragraphs here describing how reported issues are handled.}
Future Releases
In addition to planning for interim builds (sometimes called “maintenance releases”) in the previous topic, the spec document should
discuss expected major future development phases and releases. Some specs may actually detail future features in the current
specification – as a result of forethought applied by the design team – and note the expected future phase in which each feature will be
implemented. In other cases, this topic provides only a reference to the staging of future phases, with a notation of the timetable and
procedure to be used to begin design work on each future phase.
{Add paragraphs here describing the expected major future development releases.}
3E. Project Management
This subsection of the specification lays out the details related to ongoing management of the project.
{Add an intro paragraph here describing how this subsection will detail ongoing management issues.}
Affected Users and Related Parties
An application always has one or more direct (hands-on) users. There is usually also a "ring" of other people around this user group
that are affected by the application (this is called "spillover"). This topic describes affected parties and how they will benefit from the
application's calculations, reports, or other outputs, even if they are not direct users of the technology. Also define the alteration of the
workflow of nonusers, the linking of data from this project to other systems, or the flow of data beyond the target user group.
Because not all people affected by technology are affected in a positive way, this topic should also address such areas as worker
displacement or reassignment brought about by the solution. Note any political ramifications of such spillover and how these will be
addressed.
{Add paragraphs here describing affected non-user parties.}
Project Timelines
In this topic, note the definition of “final delivery”, including the specific components of the delivery:
Timelines. List here the process steps of the project, and the order in which they will be executed. Include a spreadsheet,
Gantt chart, or other visual depiction of the project timeline here or in the Appendixes section, if possible.
Milestones and Acceptance. Describe the major milestones of the project, exactly what will be delivered at each
milestone, and what review and acceptance processes will be used to assure that the delivery complies with expectations.
{Add paragraphs here defining “delivery” and “acceptance” and showing timelines.}
Responsible Parties
Each of the major roles in the project must be delegated to individuals in the company or to contract resources. This topic should
describe the parties involved in the project and their roles. An effective project team includes people with a variety of responsibilities.
{Add paragraphs here describing the project parties, or complete the table.}
Role
Program Manager
Project Manager
Development Manager
Developers
Ultimate Users
Person(s)
{name the hands-off manager responsible for fitting the project into the company's mission}
{name the hands-on manager responsible for oversight and delivery}
{name the manager of the development team}
{name the coders and testers}
{name the highest-level beneficiaries of the project}
Database Software Project Design Specification Outline, Page 18
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
User Representatives
Users
IT Liaison
Support Personnel
{list the user community representatives participating in design and development oversight}
{list the users of the released product}
{name the Information Technology group member who fits the project to IT's business model}
{list the ongoing maintenance and support staff}
Project Administration
In this topic, describe more clearly the guidelines and techniques that will be employed by the project manager to ensure a timely
and successful completion. Include a discussion of political issues such as scheduling of meetings, coordination of parties, lines of
authority and accountability, and resolution of disputes within the project team.
{Add paragraphs here describing people-management issues.}
Issue Management
Discuss in this topic what strategies will be used for managing open issues during development and measuring their completion. The
spec should establish clear communication and feedback methods and even name tools and methodologies to be employed, where
appropriate. Too many project development efforts rely on cryptic voice messages and hand-scrawled notes when better
communication and time-management technologies exists.
{Add paragraphs here describing strategies for managing open issues during development.}
Risk Management
As part of a realistic approach to managing development, the spec should list the possible pitfalls and failure scenarios that may
complicate the project. A strategy for dealing with the most likely or dangerous risks should be discussed by the design team, and then
documented here.
{Add paragraphs here describing contingency strategies for identified dangers.}
Coding and Documentation Standards
In some applications, most frequently those that will be delivered to or maintained by a large corporation's IT personnel,
development standards may be imposed upon the application development team. Any such standards or approaches related to coding
policies, source code and version control, in-line documentation, team development, object management, naming conventions, and so
forth should be described in this topic.
{Add paragraphs here describing development standards.}
Future Phases
In the topic Future Releases, future versions of the application were described from the perspective of their features and
functionality. In contrast, this topic notes items deferred to – or consciously planned for – future expansion, and discusses their
managerial consequences, as follows:
• What is the objective of each future phase?
• When does the phase start and end?
• Who will manage the phase?
• Who will design the phase?
• Who will develop the phase?
{Add paragraphs here describing future versions.}
3F. Financial Mechanics
This subsection provides the details to support the financial (costing) information provided earlier in the Executive Summary section.
{Add an intro paragraph here describing how this subsection will detail costs.}
Database Software Project Design Specification Outline, Page 19
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Costing
Provide detailed cost breakdowns here, listed by phases, months, milestones, or other logical arrangement. Remember to include the
cost of equipment upgrades, components and tools, training, and other nondevelopment capital outlays.
{Add paragraphs and/or tables here providing detailed cost breakdowns.}
Third Parties
Use this spec topic to name the parties outside of the company that will be involved in the development and deployment. Third-party
vendors may be utilized to provide contract services for design, project management, program coding, testing, documentation
authoring, equipment upgrades, or training. Each party should be listed, along with contact persons, scope of responsibility, and similar
management information.
{Add paragraphs here describing third parties and the management of their work.}
Contractual Issues
If any third-party labor is to be used in the course of the project (as defined in the preceding Third Parties section), you may want to
include here text describing the contractual or other legal relationship with each vendor. Note the contracting parties, the major
contract elements (which should include topics such as non-performance, poor performance, and code ownership), mechanisms for
enforcement and dispute resolution, and other legalities.
{Add paragraphs here describing the contractual or legal relationship with vendors.}
Database Software Project Design Specification Outline, Page 20
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
4. Data Structures and Rules
The first three main sections of the specification constituted the business issues and application processes portions of the document.
Beginning with this section, the specification content moves from a managerial plane to a highly technical one.
This major section provides the blueprint for construction of the foundation elements of the database application: the data tables and
the business rules for validating the data that they hold. Just as a house built on sand will settle and crack, an application built on an
incomplete data structure or inaccurate data will quickly show signs of strain, so this is the area where you will expend the most time
when creating the spec. The wishes of the users, as filtered through and clarified by the design team, are distilled from screen and
report designs into table structure definitions here.
{Add an intro paragraph here describing how this section provides the blueprint for the database back-end.}
4A. Data Models and Diagrams
In this subsection, include any visual representations of the database schema (structure). At the simplest level, a graphical
representation of the primary tables and their relationships is a common inclusion in this subsection. For more detailed specifications,
structure diagrams called “Entity Relationship” diagrams and “Object Role Model” diagrams may be appropriate. If the diagrams are
large or too awkward to place here, include them in the Appendixes section and reference their location here.
{Add diagrams here describing the database schema.}
4B. Schema Definition
This subsection provides a place to document each facet of the database structure.
{Add an intro paragraph here describing how this subsection will detail the database structure.}
Table Structures
For each data table, include a listing in this topic of the table fields, indexes, and all related properties. The layout and depth of this
information varies across different developers and projects. LDF advocates using spreadsheet documents to list tables and fields and to
capture the primary properties of both. This allows the design team a single, common platform from which to actively discuss and
clarify the fine points of the data structure. Alternately, databases designs can be recorded and diagrammed using various retail
development tools. Some development groups believe that the development team is responsible for assigning properties to table
structures and do not burden the design team with any details beyond the field names and sizes.
If the table structures can be expressed in tabular format in the spec document, include the tables here, or attach the layouts to the
Appendixes section and reference their location here.
{Add paragraphs and tabular listings here defining data tables and their elements, or reference the appropriate appendix.}
Stored Views
Saved views or queries are used to provide concurrent access to data in multiple related tables. Document here these saved objects:
• “Data aggregation” queries joining sibling records or tables in parent-child relationships, for quick access and reuse.
• “Record source” queries providing selective datasets used to drive forms and reports.
• “Action” queries to move, update, delete, and otherwise alter data records.
{Add paragraphs and tabular listings here describing saved queries.}
Table Relationships
In this topic, describe the relationships between the tables, how they will be created, and how data integrity between related records
will be enforced. The relationship information should match the visual depiction of the database structure in Data Models and
Diagrams previously.
{Add paragraphs and tabular listings here describing table relationships.}
Database Software Project Design Specification Outline, Page 21
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Business Rules
The database engine may provide some built-in mechanisms for data validation. Additionally, most applications include some
programmatic data validation. Since the integrity of data is one of the paramount missions of both the back-end database and its
application, validation criteria (called “business rules”) should be crafted by the design team in conjunction with the developers and
documented in detail in the specification. Validation may be performed during entry, edit, deletion, archival, and batch/bulk
processing.
{Add information here documenting all data validation rules.}
4C. Data Load
When building a database application, it is helpful to document for the development team in this subsection the quantities of users
and data that the application and data structure must ultimately support. Such information assists the developers in performance tuning
the application, load balancing, and addressing multi-user issues.
{Add paragraphs and/or tables here describing the amounts of expected users and data.}
Initial Volumes
List in this topic facts about the initial load on the application, including the expected number of concurrent users, data transactions,
and record loads for each table. Discuss also the quantity and quality of data to be preloaded from existing systems.
{Add paragraphs here describing the initial load on the application.}
Future Volumes
This topic should provide tables or graphs showing how the user and data loads on the application will change over time. Begin with
the load information in the preceding topic Initial Volumes and project it forward to various time milestones in the life of the project.
{Add paragraphs, tables, and/or graphics here showing how the data and user loads will change over time.}
Database Software Project Design Specification Outline, Page 22
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
5. Screen Forms
The degree of form information included in the specification varies by project. Because much of an application's cost is in the forms,
you will usually describe entry, edit, dialog, menu, and other forms explicitly in this topic to avoid expensive reworks later in the
project.
The navigation map diagram for moving between application forms, described in the Application Processes section earlier, fits just
as well in this topic, if you prefer.
{Add an intro paragraph here describing how this section defines the forms.}
5A. User Interface Guidelines
In this subsection, note the standards and policies of the company or user group that will dictate the "look and feel" of the
application’s forms. Standards are developed by taking into account the following considerations regarding the application’s expected
users:
• What are their skills and habits?
• What applications do they use now?
• What do they like and dislike about their current software toolset?
• What job are they ultimately trying to do with this application?
• What shortcuts do they need when in a hurry?
• How do they locate information?
• How do they enter and edit information?
• How do they verify and audit information?
• Do they multi-task or single-task?
• Do users job share? Equipment share?
• What are their abort patterns? When and why do they have to cancel or rollback processes?
• How do they deal with interruptions, keep their place when they leave their desk, and recover from disasters?
{Add an intro paragraph here describing how this subsection will illustrate interface standards.}
Form Layouts
Note here any standards for the layout of forms, such as the preferred location of command buttons, the justification
(left/right/center) of labels and other controls, the use of sunken versus flush or raised effects, whether MDI is allowed, and so forth.
{Add paragraphs here defining standards for form layouts.}
System Messages
Describe in this topic any special considerations about how messages (alerts) should be displayed for users. For example, some
applications make use of error messages built in to the platform/language, while in others the developers try to make the messages
more friendly and descriptive. Also, some companies put information about their HelpDesk or other technical support options in
system messages or prescribe specific captions to be displayed in alert dialog boxes.
{Add paragraphs here defining standards for alert messages.}
Fonts and Point Sizes
Note here the user interface standard to be followed by the development team for the use of fonts. A variety of issues crop up in this
area, including the following:
Fonts and Point Sizes for Buttons. If the application's standard will differ from the Windows standard, note that fact
here.
Fonts and Point Sizes for Data and Prompts. Depending on the application, the users, the resolution of the average
workstation, and other factors, the default font and size for labels, text boxes, combo boxes, and similar controls may
differ from the defaults provided by the platform or development tools.
Database Software Project Design Specification Outline, Page 23
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
It may also be wise to specify here the names of all fonts allowed in the application so that there is no danger that the developers will
include a font in the application that is not installed on a user's workstation.
{Add paragraphs here defining standards for fonts.}
Colors
Form layouts can range from the simple to the gaudy. If any company standards exist for use of color in labels, prompts, status
strings, or any other form or report controls, note them here.
{Add paragraphs here defining standards for the use of color.}
Buttons
Button sizes in applications vary across the map. If a button is sized to include all of its text, it can get quite large. Note in this topic
any standards for buttons, their size, shape, location, and captions. Describe also any layout standards for dialog boxes, for example
whether the OK and Cancel buttons are at the bottom or at the right (both are accepted Windows models), or are located somewhere
else.
{Add paragraphs here defining standards for command buttons.}
Switchboard Menus
A switchboard menu is a form that helps users navigate. It may utilize buttons, list boxes, tab controls, and graphics with hotspots.
Describe in this topic the standard to be employed for switchboard menus in the system.
{Add paragraphs here defining standards for switchboards (form-based menus).}
Bar Menus
Bar menus provide the overall navigation and generic options for the application. Describe in this topic any standards for bar menu
taxonomy, placement of options along the bar or pulldowns, and the tradeoffs between application-specific and form-specific menus.
You should also note here any standards for matching bar menu options to toolbar options and command buttons in forms, and the
programmatic approach to take when sharing code among these several activation methods.
{Add paragraphs here defining standards for bar menus.}
Shortcut Menus
Shortcut (right mouse button or “context”) menus are very useful and powerful options. As such, designers and developers of
applications must use some restraint to avoid the tendency to place dozens of options on these menus. Describe in this topic the
standard approach to shortcut menus and how the listed features will duplicate or augment features available on the bar menu or
toolbars.
{Add paragraphs here defining standards for shortcut menus.}
Toolbars
Toolbars are one of the most powerful Windows application features. Describe the standards for toolbars in your application, paying
special attention to standardized actions, locations, tool tips, and button faces.
{Add paragraphs here defining standards for custom toolbars.}
Keyboard and Mouse
Every application user has a different balance in their dependence on the keyboard versus the mouse. This fact can come into play in
simple areas in application development, such as the debate whether to place graphics on buttons or text with keyboard accelerators.
Note here any concerns or standards for keyboard and mouse use relevant to the project.
{Add paragraphs here defining standards for keyboard and mouse use.}
Database Software Project Design Specification Outline, Page 24
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Status
Most custom (and retail) applications lack sufficient visual user feedback. Define here any mechanisms that the application should
employ to provide users with status information. Examples include the following:
Mouse Cursor. Programming the mouse to become an hourglass in all areas where the user is waiting on the system
produces a big improvement in the usability of an application.
Status Bar. Define how the status bar area will be employed to tell users what is currently taking place or what action is
expected.
Message Boxes. Most data processes that affect records should show an alert before running to ask the user to confirm
the operation. In some applications, you will also show an alert at the end of the process so that the user knows the
process ran to completion. This is especially true of bulk operations like mass deletes or exports. Detail issues like these
in this topic.
{Add paragraphs here defining standards for the presentation of status information.}
Terminology
Most companies employ standardized terminology for their commonly used business terms, or they should. Document such terms in
this topic.
Within an application, it can be very confusing for users to see the same data item referred to with different terms, for example a
“Buyer:” prompt on one screen and a “Customer:” prompt on another but both relating to the same data item. The specification process
often forces a discussion of terms and how they should be consistently used, which benefits not only the current application but
company communication processes in general.
{Add paragraphs here defining standardized terminology.}
5B. Structural Information
In this subsection, include specific information for each form in the system. The information should be detailed enough to allow the
developers to build the forms and create the associated program code.
{Add an intro paragraph here describing how this subsection provides the specific layout for each application form.}
{name of the first form}
Each topic header from here to the remainder of the Structural Information section will be the name of a form in the application.
Each form is named, then followed by the topics from Purpose through Validation for that form.
{Add a paragraph here providing a short description of the named form.}
Purpose
Describe the purpose of the form and any unique attributes.
{Add paragraphs here describing the form.}
Mockup
Include a sketch, drawing, or screen capture of an actual mockup of the form here, showing as much detail as is required to allow a
developer to achieve the user's objectives. Some specification authors prefer to keep all the form mockups together, placing them in an
additional subsection (5C) after the structural information or as an appendix item.
{Add one or more diagrams of the form here.}
Data Source
Note the data source for the form, which may be a table, query, or SQL string (or an English textual representation of it). Describe
how the data source may change based on user interaction or other criteria. Note any allowed manual or programmatic filtration or
sorting capabilities.
Database Software Project Design Specification Outline, Page 25
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
{Add paragraphs here describing the form’s record source.}
Navigation
Describe how the form is activated and deactivated. Include a discussion of each of the following points:
Entering. Describe how this form is activated and any specific logic that will occur on the form's initiation (open, load,
activate, etc.) events.
Exiting. Note how the user leaves the form, whether by closing or branching to another form.
Bar Menus. Describe the contents of the menu to be used with the form and the logic attached to each nonstandard
option on the menu.
Shortcut Menus. List the options included on the shortcut menu for the form and the logic attached to any nonstandard
options on the menu.
Toolbars. Note the buttons that will be on this form's toolbar and the action or code routine that each tool will call.
{Add paragraphs here defining the form’s navigation and interface elements.}
Controls
Note any special properties or other considerations about controls that are not reflected by the mockup diagrams, including
information about property changes and events that should be programmed. For example, selecting a value in a combo box may require
code to trigger an immediate requery of a dependent control.
{Add paragraphs here describing unique control attributes.}
Events and Procedures
List in this topic any form events that should contain code procedures, and outline the procedure code. Also describe any nonevent
procedures that should be included, such as validation code, data processing routines, and the like.
{Add paragraphs and/or pseudocode here for form-related procedures.}
Properties
Describe the properties of the form that will be set to non-default values.
{Add paragraphs and/or listings here describing non-default form property settings.}
Validation
Validation features for form records can be a significant portion of both the design team's and development team's effort. As clearly
as possible, spell out the data validation requirements and enforcement mechanisms here for information that is entered or edited via
the form. Define validation at the field/control level, and detail how the validation event will be achieved (table rule, form rule,
program code at record save, program code in a batch, and so on).
{Add paragraphs and tables here describing data validation.}
{name of the second form}
Add another topic whose title is the name of the next form. Repeat for the form the previous subtopics from Purpose through
Validation and fill in the appropriate information. Then do the same for the third form, and so on until all forms are documented.
{Repeat here the preceding information for each form in the system.}
Database Software Project Design Specification Outline, Page 26
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
6. Reports
The people who read an application's reports are usually the ones who write the checks to pay for development. Thus, making sure
that their needs are properly met is one of the primary objectives of the specification.
In this section, the spec should clearly detail the reporting requirements, creating a plan for developers to follow.
{Add an intro paragraph here describing how this section defines the reports.}
6A. User Interface Guidelines
In this subsection, note the standards and policies of the company or user group that will dictate the design and programming of the
reports.
{Add an intro paragraph here describing how this subsection will define the standards and policies for the organization of reports.}
Report Layouts
Note here any standards for the layout of reports, such as the justification (left, center, or right) of labels, column headers, and
controls. Also describe the use of sunken versus flush effects, the look of headers and footers, and so forth.
{Add paragraphs here defining standards for report layouts.}
Fonts and Point Sizes
Note here the user interface standard to be followed by the development team for use of fonts. Describe how the fonts vary for
prompts versus data values, how page and group headers and footers will use fonts and sizing, and similar display issues. In general,
most users will prefer a larger standard font for reports than for screens.
It may also be wise to specify here the names of all fonts allowed in the application's reports so that developers understand the
limited range of fonts to use when creating reports. Otherwise, the look of different reports in a system might vary widely as different
developers each apply their own style, or reports may attempt to print using a font not supported by a specific printer.
{Add paragraphs here defining standards for fonts.}
Colors
Note here if report controls will have any coloration requirements that affect how they are previewed to the screen or how they will
print if the target printer makes use of color.
{Add paragraphs here defining standards for the use of color.}
Bar Menus
Navigation within reports that are previewed is usually limited to printing and closing the report. Describe in this topic the exact bar
menu options to be used/allowed for the application's reports in preview mode, any specific menu taxonomy, the placement of menu
options, and menu coding requirements.
{Add paragraphs here defining standards for bar menus.}
Shortcut Menus
Use this topic to list shortcut menu features, menu taxonomy, placement of options, and coding requirements if shortcut menus will
be allowed when a report is previewed.
{Add paragraphs here defining standards for shortcut menus.}
Toolbars
Describe the standards for toolbars to be displayed when reports are previewed, and note how the toolbar options tie to related bar
menu options.
{Add paragraphs here defining standards for custom toolbars.}
Database Software Project Design Specification Outline, Page 27
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Terminology
Document and define in this topic the standard company terms that will be used when creating reports. It is especially important to
consider report terminology and to make sure it appeals to the widest possible audience in the following two cases:
The audience extends beyond users of the application. Personnel reading reports who are not familiar with the system
will not understand terms defined only within the context of the system. Reports should use generic terms or include the
definition of specific terms in the report footer or endnotes, if necessary.
The audience includes managers. When managers will be using specific reports for corporate decision making, it is
important to use terms that fit their vocabulary and job role. For example, a report that shows the total value of inventory
items per product could legitimately label the total "InvQty," which is the table field name and a shorthand for "Inventory
Quantity." However, management-level users of the report may get more value from the data item if it were labeled
"Inventory On Hand" or other term that ties to their common vocabulary.
{Add paragraphs here defining standardized terminology.}
6B. Structural Information
In this subsection, include specific information for each report in the system. The information should be detailed enough to allow the
developers to lay out the reports and create the associated program code.
{Add an intro paragraph here describing how this subsection provides the specific layout for each application report.}
{name of the first report}
Each topic header from here to the remainder of the Structural Information section will be the name of a report in the application.
Each report is named, then followed by the topics from Purpose through Properties for that report.
{Add a paragraph here providing a short description of the named report.}
Purpose
Describe the purpose of the report and any unique attributes.
{Add paragraphs here describing the report.}
Mockup
Include a sketch, drawing, or screen capture of an actual mockup of the report here, showing as much detail as is required to allow a
developer to achieve the user's objectives. Some specification authors prefer to keep all the report mockups together, placing them in
an additional subsection (6C) after the structural information or as an appendix item.
{Add one or more diagrams of the report here.}
Data Source
Note the data source for the report, which may be a table, query, or SQL string (or an English textual representation of it). Describe
any parameters passed to the report and how the user will be allowed to enter or alter the parameters to show selective datasets.
Also describe in this topic the sorting and grouping that will be used to order the data on the report.
{Add paragraphs here describing the report’s record source.}
Navigation
Describe how the report is activated and deactivated. Note every place in the application where the report will be available and how
the user will activate the report at that point and select the data to be printed. Also note the following navigation points:
Bar Menus. Describe the contents of the menu to be used with the report and the logic attached to each nonstandard
option on the menu.
Shortcut Menus. List the options included on the shortcut menu for the report, if any, and the logic attached to any
nonstandard options on the menu.
Database Software Project Design Specification Outline, Page 28
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Toolbars. Note the toolbar buttons that will be on this report's toolbar and the action or code routine that each tool will
call.
{Add paragraphs here defining the report’s navigation and interface elements.}
Controls
Describe nonstandard property settings for report controls and information about the use of report controls that is not obviously
inferred from the mockups. Detail the logic for computed control values, totals, and other report calculations.
{Add paragraphs here describing unique control attributes.}
Events and Procedures
List in this topic any report events that should contain code procedures, and outline the procedure code. Also describe any nonevent
procedures that should be included, such as calculation or layout routines that must occur before the report is run.
{Add paragraphs and/or pseudocode here for report-related procedures.}
Properties
Describe the properties of the report that will be set to non-default values.
{Add paragraphs and/or listings here describing non-default report property settings.}
{name of the second report}
Add another topic whose title is the name of the next report. Repeat for the report the previous subtopics from Purpose through
Properties and fill in the appropriate information. Then do the same for the third report, and so on until all reports are documented.
{Repeat here the preceding information for each report in the system.}
Database Software Project Design Specification Outline, Page 29
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
7. Appendices
In this section, attach supporting documents that are not part of the specification document file or are quite large and are less
obtrusive to the flow of this document when placed at the end.
{Add an intro paragraph here stating what items are included as appendices.}
Data Diagrams
If the diagrammatic representations of the database structure were too large to fit neatly into the subsection Data Models and
Diagrams of the spec body, attach them here instead.
{Add diagrammatic representations here of the database structure.}
Database Schema
Large and unwieldy table structure documentation may be easier to include here rather than the Schema Definition subsection of the
spec body.
{Add table structure documentation here.}
Process Flow Diagrams
Process flow charts are useful to help describe a workflow that has been targeted for automation or to convey the refined workflow
of the new system. Place such flow charts here or in the subsection Solution Description in the main portion of the spec.
{Add workflow diagrams here.}
Form Mockups
In an application with many forms, it may be organizationally easier to include all form mockups together here rather than as topics
in the Structural Information subsection of the form definition area of the specification body.
{Include form mockups here.}
Report Mockups
Attach report mockups here if you prefer to keep them out of the in the Structural Information subsection of the report definition
area of the specification body.
{Include report mockups here.}
Project Timeline
If the project timeline is expressed by a large task list or Gantt chart, include the timeline here rather than trying to cram it into the
Project Timelines area of the spec body.
{Add a project timeline, task list, or Gantt chart here.}
Test Plan
Include the test plan here if it is too large to place in the Test Plan section of the spec body.
{Add the test plan here.}
Design Team Notes
Attach relevant notes, documents, and work papers produced during the design team meetings and research.
{Attach design work papers here.}
Database Software Project Design Specification Outline, Page 30
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
History Application
Attach reports, screen shots, training manuals, or other documentation from the existing system(s) to be replaced by this application.
Such information was probably used as the starting point for design discussions on this project.
{Add documentation here for the existing system(s) to be replaced.}
History Data
Document the data structures of legacy (history) data to be imported/preloaded into the new system.
{Include data structure documentation for legacy data here.}
Integration Information
Document the data structures and flow of other systems that will integrate (share their data or interfaces) with this application.
{Add integration documentation here.}
Future Phases
Include here any documentation and project planning information for future phases of this project that expands on the Future
Releases topic earlier in the spec.
{Add documentation for future phases here.}
—End of Document—
Database Software Project Design Specification Outline, Page 31
SPECSHEL.DOC Template Copyright © 1995-96 Leszynski Company, Inc., Bellevue WA
Download