Beruflich Dokumente
Kultur Dokumente
and
Guidelines
Notebook
July 1, 2009
This page is intentionally blank.
To: Members of the Special Committee on Joint Development and
Product/Project Task Forces Chairpersons
From: Technical & Application Architecture Task Force
Subject: AASHTOWare Standards & Guidelines Notebook
Enclosed for your use is the AASHTOWare Standards & Guidelines Notebook. This notebook
contains all currently approved standards and guidelines. Please refer to the notebook's
introduction for explanations of its content, organization, scope, maintenance, and compliance
requirements. The latter of these, because of its importance, bears restatement.
Compliance with the approved AASHTOWare Standards is required from their effective
date. Any exception to the application of approved standards requires the approval of
the Special Committee on Joint Development.
All new contracts should include the approved standards and guidelines in this notebook.
These standards are living documents. They should be expected to change along with
AASHTOWare development practices and technology. User input will be appreciated to insure
that these documents always reflect these changing circumstances.
A summary of changes made since the previous approved release of the notebook is provided
as an attachment to this letter.
Questions concerning application for exceptions should be directed to your SCOJD or AASHTO
Staff Liaison. Technical questions about the notebook and its contents may be directed to the
members of the T&AA Task Force.
The following summarizes the changes that have been made to this version of Standards and
Guidelines Notebook since the previous approved release of the notebook.
● The cover letter was updated and a summary of changes was attached.
● The Introduction was reformatted and updated.
● All standards and guidelines have been renumbered and reformatted, and include a new
cover page.
● Standard numbers are appended with an “S” and guideline numbers with a “G”. The
numbers of reference or informational documents are appended with a “R”.
● All standards and guidelines are published in the notebook in numerical order with a single
table of contents in lieu of the previous grouping of all standards and then all guidelines.
● The AASHTOWare Standards and Guidelines Definition Standard (1.010.01S) replaces the
previous Standards Proposal and Approval Standard (1.02.010.03). This standard
describes the process used by AASHTOWare to establish and maintain standards and
guidelines, the Standards and Guidelines Notebook, and associated collaboration
workspaces.
● The Development Methodology Guideline (1.020.02G) was reformatted and renumbered.
The previous guideline number was 1.02.G35.01.
● The Requirements Standard (3.010.02S) replaces the previous Requirements Management
Standard (3.01.001.01).
■ Provide provides new procedures for requirements development, analysis, and
validation, in addition to those for requirements management.
■ The System Requirements Specification (SRS) now must include security, accessibility,
interface, user interface, and performance requirements. Interface requirements should
include data transfer/exchange requirements and the use XML for new development.
■ The requirements that describe the approach for compliance with Section 508 of the
U.S. Rehabilitation Act and the Web Content Accessibility Guidelines (WCAG) of the
World Wide Web Consortium Web Accessibility Initiative (W3C WAI) must be included
with the accessibility requirements.
■ Some required elements of the User Requirements Specification (URS) and the
Requirements Traceability Matrix (RTM) have been eliminated.
■ The Requirements Activity Log and Requirements Acceptance Criteria work products
have been have eliminated.
● The XML Standard (3.015.01S) replaces the previous XML Implementation & Migration
Guideline (3.03.G20.01). Compliance with this standard is now required.
■ Supplements the Requirements Standard.
■ Provides direction for developing data transfer and data exchange requirements.
■ Requires the use of XML for data transfer/exchange for new development.
● The Security Standard (3.020.01S) is a new standard created to provide direction for
developing security requirements and implementing security in AASHTOWare products.
Page 1 06/16/2009
Summary of Changes
● The Product Graphical Interface Standard (3.030.03S) was reformatted and renumbered.
The previous standard number was 3.03.010.02.
● The Communication Interface Guideline (3.03.G40.01) was discontinued and removed from
the notebook.
● The Database Selection and Use Guideline (3.040.02G) replaces the previous Database
Selection Guideline (3.03.G50.01). This guideline, which provides guidance for applying
industry standards in the use of databases for AASHTOWare products, has been updated
and reformatted.
● The Product Documentation Standard (3.050.04S) was reformatted and renumbered. The
previous standard number was 3.04.020.03.
● The Glossary of Product Terminology Standard (3.060.03S) was reformatted and
renumbered. The previous standard number was 3.04.040.02.
● The Application Design Guideline (3.03.G30.03) was discontinued and removed from the
notebook.
● The Testing Standard (3.080.02S) was reformatted and renumbered. The previous
standard number was 3.06.001.01.
● The Product Release Checklists Standard (3.085.05S) was reformatted and renumbered.
References to previous standard numbers within the standard were also changed. The
previous standard number was 3.04.010.04.
● The Installation and Use Training Guideline (3.090.02G) was reformatted and renumbered.
The previous guideline number was 3.04.G50.01.
● The Quality Assurance Standard (4.01.02S) is a new standard that describes the
AASHTOWare quality assurance process.
■ Replaces interim standard used during a pilot QA process.
■ Deliverables are submitted for evaluation twice during the fiscal year.
■ The second evaluation involves a visit/meeting at the contractor site.
■ Evaluation reports are created by an AASHTOWare QA analyst to document areas of
non-compliance with approved standards.
● The Disaster Recovery Standard (4.020.02S) was reformatted and renumbered. The
previous standard number was 4.01.030.01.
● The AASHTOWare Lifecycle Framework (ALF) document (5.010.01R) replaces the
previous AASHTOWare Lifecycle Framework Process Areas (1.01.G01.01) and
AASHTOWare Lifecycle Framework Work Products (1.01.G02.01) documents. The revised
ALF document has been simplified and the amount of content has been reduced. The
document describes the framework used for AASHTOWare process improvements. In
addition, the document describes each process area with the related process areas, specific
goals, specific practices, and typical work products. A general reference to the existing
AASHTOWare standards, guidelines, policies, and procedures that support each process
areas is also provided. The ALF document is now located in the notebook Appendices.
● The Standards and Guidelines Glossary has been updated and moved to the notebook
Appendices.
Page 2 06/16/2009
AASHTOWare Standards and Guidelines
Table of Contents
Introduction
1-Process Management
1.010S AASHTOWare Standards and Guidelines Definition Standard
1.020G Development Methodology Guideline
2-Project Management
Project management standards will be created in future versions of
the notebook.
3-Software Engineering
3.010S Requirements Standard
3.015S XML Standard
3.020S Security Standard
3.030S Product Graphical Interface Standard
3.040G Database Selection and Use Guideline
3.050S Product Documentation Standard
3.060S Glossary of Product Terminology Standard
3.080S Testing Standard
3.085S Product Release Checklists Standard
3.090G Installation and Use Training Guideline
4-Support
4.010S Quality Assurance Standard
4.020S Disaster Recovery Standard
5- Appendices
5.010R AASHTOWare Life Cycle Framework
5.020R Standards and Guidelines Glossary
This page is intentionally blank.
Introduction
• Standards should not be developed or implemented for their own sake, but only where there
are apparent opportunities for benefiting AASHTOWare products.
• The development and implementation of standards should be a cooperative effort. All
participants in the AASHTOWare development process should be included in the
formulation, review, and implementation of standards and their perspectives and
requirements should be respected.
• Standards should not ordinarily be applied retroactively. Their application should be
coordinated with scheduled product enhancements in order to avoid any unnecessary
disruptions in service or wasteful use of resources.
• Standards should be designed to avoid, as far as possible, increasing the administrative
burdens of the Project and Product Task Forces.
This notebook is designed to provide a repository and vehicle of communication for the
AASHTOWare Standards and Guidelines.
Page 1 06/10/2009
Introduction
2. Organization
The notebook is divided into the following sections.
● 1 - Process Management
● 2 - Project Management
● 3 –Software Engineering
● 4 - Support
● 5 - Appendices
The standards and guidelines will be numbered to correspond to the sections to which they
belong. They will be ordered sequentially by number in their respective sections. For a more
detailed description of the numerical format refer to the “AASHTOWare Standards and
Guidelines Definition Standard” (01.010.02S), in this notebook.
Guidelines, which are identified by the suffix “G” following the guideline number, are used to
convey suggestions and recommendations which may be useful to Project and Product Task
Forces but are not binding. Standards, however, which include an “S” suffix, must be complied
with from their effective date. Only approved standards and guidelines will be included in the
notebook. Reference or informational documents, such as the Glossary, include an “R” suffix.
3. Format
The AASHTOWare Standards and Guidelines Definition Standard” (01.010.02S) describes the
format of standards and guidelines documents. Each standard and guideline includes sections
that provide the purpose of the standard and overviews of responsibilities and the
required/recommended deliverables and work products. This information should be useful to
the Project and Product Task Forces and the contractor for determining the applicability of the
standard to their endeavors.
Standards also include additional details regarding procedures, technical requirements, and
definitions of required work product and deliverable. Also, many of the standards use red
italicized text to highlight the activities that must be followed and work products that must be
produced in order to comply with the standard.
Page 2 06/10/2009
1 – Process
Management
This page is intentionally blank.
AASHTOWARE
STANDARDS AND
GUIDELINES DEFINITION
STANDARD
S&G Number: 1.010.01S
Effective Date: July 1, 2009
Document History
Version Revision Approval
Revision Description
No. Date Date
01 5/01/2009 Initial Version. Replaces AASHTOWare Standards 05/26/2009
Proposal and Approval standard (1.02.010.03). Approved by
Presented to T&AA. Made corrections. Reviewed SCOJD
by stakeholders with no changes suggested.
------------------------------------------------------------------
Additional minor changes and format modifications
for publishing were approved by T&AA on
06/16/2009.
06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
Table of Contents
1. Purpose ............................................................................................................... 1
2. Responsibilities .................................................................................................. 1
3. Deliverables and Work Products....................................................................... 2
4. Procedures.......................................................................................................... 2
4.1 Establish the Standards and Guidelines Workspaces.....................................2
4.1.1 Create S&G Notebook Workspace ...................................................................... 2
4.1.2 Copy Content to S&G Notebook Workspace....................................................... 3
4.1.3 Create S&G Development Workspace ................................................................ 3
4.2 Develop or Revise Standards and Guidelines..................................................3
4.2.1 Analyze the Objective or Assignment .................................................................. 3
4.2.2 Develop or Revise Standard or Guideline ........................................................... 4
4.2.3 Obtain T&AA and Stakeholder Feedback ............................................................ 5
4.2.4 Approve Standard or Guideline............................................................................ 6
4.2.5 Store Standard or Guideline in S&G Notebook Workspace ................................ 7
4.2.6 Delete Development Files and Sub Folder .......................................................... 7
4.2.7 Update ALF Document ........................................................................................ 7
4.3 Create and Publish the Standards and Guidelines Notebook.........................7
4.3.1 Compile New Notebook ....................................................................................... 7
4.3.2 Move Current Notebook to History....................................................................... 8
4.3.3 Move New Notebook to Current........................................................................... 8
4.3.4 Notify Stakeholders .............................................................................................. 8
4.4 Develop and Maintain Lifecycle Model Descriptions.......................................8
4.4.1 Develop Lifecycle Model ...................................................................................... 8
4.4.2 Review and Approve Lifecycle Model .................................................................. 9
4.4.3 Store and Publish the Life Cycle Model ............................................................... 9
4.4.4 Maintain Life Cycle Model .................................................................................... 9
4.5 Establish Standard Requirements and Customization Guidelines.................9
4.6 Request an Exception to Standards .................................................................9
4.7 Establish Measurement Repository ................................................................10
4.8 Maintain the Standards and Guidelines..........................................................10
5. Technical Requirements .................................................................................. 10
6. Deliverable and Work Product Definitions ..................................................... 11
6.1 Standard or Guideline......................................................................................11
6.1.1 Description ......................................................................................................... 11
6.1.2 Content............................................................................................................... 11
6.2 Standards and Guidelines Notebook ..............................................................12
6.2.1 Description ......................................................................................................... 12
6.2.2 Content............................................................................................................... 12
6.3 S&G Notebook Workspace ..............................................................................12
6.3.1 Description ......................................................................................................... 12
6.3.2 Content (by Workspace Tabs) ........................................................................... 12
6.4 S&G Development Workspace ........................................................................14
6.4.1 Description ......................................................................................................... 14
6.4.2 Content (by Workspace Tabs) ........................................................................... 14
6.5 Updates to the AASHTO Lifecycle Framework (ALF) Specification .............14
6.5.1 Description ......................................................................................................... 14
6.5.2 Content............................................................................................................... 14
Page i 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
1. Purpose
The AASHTOWare Standard and Guideline Definition standard defines the process used to
establish and maintain AASHTOWare standards and guidelines.
A standard describes mandatory procedures that must be followed, results that must be
produced, and technologies and technical specifications that must be used or adhered to during
the development and maintenance of AASHTOWare products. AASHTOWare standards are
created and implemented in order to ensure a consistent approach is used to develop, maintain
and deliver software products.
A guideline describes procedures, results, technical specifications and/or technologies that are
considered good practices to follow, produce, or use; however, these are not required. A
proposed standard or standard process may be initially implemented as a guideline with future
plans to implement it as a requirement. Refer to the glossary in the Standards and Guidelines
Notebook for additional definitions of terms used in this document.
2. Responsibilities
Where most of the AASHTOWare standards focus on the project/product task force and
contractor responsibilities, this standard focuses more on the responsibilities of the Special
Committee on Joint Development (SCOJD) and the Technical and Application Architecture
(T&AA) Task Force. SCOJD and T&AA are responsible for the majority of the work associated
with the standards, while the responsibilities of the task forces and contractors are limited.
The responsibilities of all AASHTOWare participants impacted by this standard are summarized
below: Additional details on these responsibilities are provided in the Procedures section of this
document.
● The Special Committee on Joint Development (SCOJD) is responsible for:
■ Defining the needs and setting the objectives for AASHTOWare process improvement,
and for new or revised standards and guidelines.
■ Approving all new and revised standards.
● The Technical and Application Architecture (T&AA) Task Force is responsible for:
■ Developing, reviewing, revising, and maintaining AASHTOWare standards, guidelines,
and related documentation; and for performing analysis and research associated with
these activities.
■ Reviewing all standards and guidelines annually to ensure that each document is
correct, up-to-date, and relevant.
■ Communicating and coordinating with the other AASHTOWare stakeholders to report
status, provide information, and resolve reported issues.
■ Approving guidelines, reference documents, the Standards and Guidelines Notebook,
and any related documentation, other than standards.
■ Approving edit changes in standards that do not change the intent or the required
components of the standard.
■ Maintaining the Standards and Guidelines Notebook and the Groove workspaces used
to develop, collaborate, store, and share the standards and guidelines.
● The project/product task force chairpersons are responsible for:
■ Reviewing and reporting issues with all new or revised standards and guideline.
■ Reviewing the current version of each standard and guideline as each is used and
applied, and reporting any issues resulting from the review or use of a standard or
guideline.
Page 1 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
■ The chairpersons may choose to appoint designees (Task Force members, Technical
Advisory Group members, Technical Review Team members, or contractor personnel)
to assist in these efforts.
● AASHTO Staff is responsible for:
■ Reviewing and reporting issues with all revised or new standards, guidelines, and
related documentation.
■ Periodically reviewing the current version of each standard and guideline, and reporting
any issues resulting from these reviews.
4. Procedures
This section describes the procedures used to develop, maintain, store, and publish individual
standards and guidelines and the complete AASHTOWare Standards and Guidelines Notebook.
Many of the procedures are broken down into activities and some activities may be further
broken down into tasks.
Page 2 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
contractors, SCOJD members, T&AA members, and AASHTO staff members should be
provided with read access to this workspace.
4.1.2 Copy Content to S&G Notebook Workspace
After the workspace is created, the current version of the Standards and Guidelines
notebook should be copied to the Current S&G Notebook tab. Previous versions should
be copied to root level folders in the S&G History tab. Each version of the notebook
should include the complete notebook in both PDF and the word processing formats,
and all files and documents needed to create the complete notebook, including:
○ The word processing documents for all standards and guidelines included in the
notebook;
○ The word processing documents or other editable file for the title page, cover letter,
introduction, table of contents, glossary, and any other supplemental documents
used to create the notebook; and
○ All files or documents used to compose each word processing document, such as
inserted documents, tables, or drawings.
All documents and files should be copied to the tabs using the file structure, content,
format, and naming conventions described in the S&G Notebook Workspace work
product definition.
4.1.3 Create S&G Development Workspace
This activity should be performed if the S&G Development workspace does not exist or
becomes corrupted and cannot be restored. A new workspace should be created in
accordance with the S&G Development Workspace work product definition, which is
defined in the Deliverable and Work Product Definition section of this document. The
S&G Development workspace will not include any content. All content is created or
deleted through the Develop or Revise Standards and Guidelines procedure below.
All T&AA members and the AASHTO and SCOJD liaisons should be provided with
read/write access to the workspace. SCOJD members and AASHTO staff should be
provided with read access to the workspace.
Page 3 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
Page 4 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
○ For standards and guidelines not based on ALF specific practices, use the applicable
information gathered from industry research to define the appropriate procedures
needed to implement the objective of the standard or guideline.
○ Develop each procedure with the appropriate level of detail needed to understand
how to use the procedure. If needed for clarity or simplicity, divide the procedure into
lower level activities and tasks.
○ Develop each standard so it is clear on what is expected or required of the various
stakeholders and what elements of the standard may be customized. Refer to the
Establish Standard Requirements and Customization Guidelines procedure for
additional information.
○ Each standard and guideline should include the definition and content of the required
or recommended deliverables and work products to be produced during the lifecycle
stages associated with the standard or guideline.
For the purposes of AASHTOWare standards and guidelines, a work product is
defined as a result or artifact of the software development or project management
process. Many of the work products described in a standard are also defined as
deliverables. A deliverable is also a work product; however, deliverables must be
planned and tracked in the project/product work plan and must be formally submitted
to the task force for approval or rejection.
○ For those standards and guidelines based on ALF specific practices, the applicable
work products defined in the ALF specification document should be included in the
standard or guideline work products or deliverables. Work products and deliverables
recommended through industry research and current AASHTOWare practices should
also be considered.
○ Standards and guidelines that are not based on ALF specific practices should also
consider the work products and deliverables from industry research and current
AASHTOWare practices.
○ Ensure that the procedures describe when a deliverable or work product is to be
produced, who is responsible for producing it, and the type of review and approval
required.
○ Each standard and guideline should recommend that all deliverables and work
products are versioned, stored, and controlled using configuration management
procedures.
○ Define the applicable technical specifications for the standard or guideline.
○ In the case of guidelines, all procedures, work products and technical specifications
should be defined as recommendations or best practices; whereas, standards will
typically include compliance requirements for the majority of these items.
4.2.3 Obtain T&AA and Stakeholder Feedback
During the revision or development of a standard or guideline, the analyst should initiate
reviews by T&AA and AASHTOWare stakeholders, obtain feedback, and make
modifications, as required, to address the feedback. The steps listed below should be
followed.
○ Make presentations at T&AA Task Force meetings and communicate, as required,
with T&AA members and liaisons to review working documents, provide status
information, and to collect comments and issues. The T&AA review of the standard
or guideline should include review for gaps, overlaps, and proper integration with
other standard and guidelines. T&AA online reviews are implemented through
Groove document discussions in the S&G Development workspace.
○ Address the T&AA issues and comments and prepare the standard or guideline for
additional stakeholder review.
Page 5 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
○ If the document is a standard, the T&AA Chairperson will distribute the new or
revised standard to the SCOJD chairperson, AASHTO staff manager, and the
project/product task force chairpersons. Reviews should be requested from SCOJD,
task forces, contractors, and AASHTO staff; and comments and issues should be
solicited for return to T&AA by a specific date. The distribution of the standard and
the return of comments and issues are normally accomplished by email.
○ Since there is no requirement to comply with a guideline, guidelines will have limited,
if any impact, on the project/product task forces or contractors. T&AA will normally
request a review by the above stakeholders for feedback on the content of the
guideline and the usefulness of the guideline prior to approving the guideline.
○ Prior to beginning the review, the workspace administrator copies the standard or
guideline to the _Stakeholder Review folder in the S&G Development workspace in
the Files tab. The T&AA chairperson distributes the standard from this folder. After
the review is complete, the standard or guideline is deleted from this folder.
○ The stakeholders should review the standard or guideline for how it satisfies the
original objective or assignment, use and understanding of the document,
applicability to each task force, and applicability to the AASHTOWare organization.
For a standard, the review should also determine if the standard introduces any
problems or issues for the stakeholders.
○ The analyst responsible for the standard or guideline or other T&AA members should
communicate with the stakeholders as required to provide additional information or
answer questions. If needed, presentations should be made to assist with
communication and understanding.
○ T&AA will review the issues and comments from the stakeholder review and address
those that are warranted. For standards, stakeholder reviews are repeated, as
required, to address major issues.
4.2.4 Approve Standard or Guideline
After the T&AA and stakeholder reviews are completed and the appropriate revisions are
made, the standard or guideline must be approved as described below:
○ All guidelines are approved by the T&AA Task Force.
○ Revisions to standards which only affect the format or readability of the document,
and do not change the meaning or the impact on stakeholders, are also approved by
the T&AA Task Force.
○ All other revisions to standards and new standards must be approved by SCOJD as
follows:
□ The workspace administrator copies the standard to the _SCOJD Approval folder
in the S&G Development workspace in the Files tab. After SCOJD approval, the
standard is deleted from this folder.
□ The T&AA chairperson initiates the approval of a new or revised standard by
preparing a cover letter to the SCOJD chairperson requesting SCOJD approval
of the standard. The cover letter is sent to the SCOJD chairperson by email and
the SCOJD liaison to T&AA.
□ The SCOJD liaison to T&AA copies the standard to the appropriate location for
SCOJD balloting.
□ SCOJD approves or rejects the standard and the SCOJD chairperson notifies the
T&AA chairperson of the approval decision. When rejected, the reason for
rejection is included in the communication to the T&AA chairperson.
□ If the standard is rejected, T&AA reviews the reason for rejection and makes the
appropriate changes to the standard. The approval process is repeated with
submission of the new document to the SCOJD chairperson.
Page 6 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
Page 7 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
used to create the complete notebook. All reference documents should be changed as
required to support the new notebook.
All files must be stored and named as described in the S&G Notebook Workspace work
product definition. After all files have been moved and verified, the title page, cover
letter, introduction, table of contents and other supplemental files are modified as
needed for the new version of the notebook. The summary files with each new or
revised standard or guideline should be used to create a summary of changes which is
included after the cover letter.
The complete Standards and Guidelines Notebook is created in PDF format. A separate
PDF file should be created for the current version of each standard, guideline, or
supplemental file needed to create the notebook. The new notebook is then created by
merging all of the PDF files into a PDF document which represents the complete
Standards and Guidelines Notebook. After reviewing the notebook document and
verifying that all content is correct and in the right order, the new notebook file must be
stored and named as described in the S&G Notebook Workspace work product
definition. The new notebook and all reference documents (cover page, cover letter,
summary of changes, table of contents, introduction, ALF document, and glossary) are
all approved by the T&AA Task Force.
4.3.2 Move Current Notebook to History
On or before the effective date of the new notebook, the previous version of the
notebook should be copied from the Current S&G Notebook tab to the S&G History
workspace. The root folder in the Current S&G Notebook should be copied to S&G
History workspace as a subfolder and renamed. Refer to the S&G Notebook Workspace
work product for the naming convention for S&G History folders.
After verifying that all content was copied correctly the S&G History tab, all subfolders
and content is the Current S&G Notebook tab should be deleted.
4.3.3 Move New Notebook to Current
After the copying the previous version to history, the subfolders in the Next S&G tab
should be copied to the Current S&G Notebook workspaces under the root folder. The
new notebook should be in place by the effective date.
After verifying that all content was copied correctly to the Current S&G Notebook tab, all
subfolders and content in the Next S&G Notebook tab should be deleted.
4.3.4 Notify Stakeholders
After the new version of the notebook is available for use, the T&AA chairperson will
provide the T&AA AASHTO Staff liaison with the complete notebook in PDF format, and
the location of the notebook in the S&G Notebook Workspace. AASHTO Staff will then
make all necessary copies and distribute both hardcopy and electronic copies of the
notebook.
Page 8 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
The procedures for adapting and customizing the lifecycle models for specific types of
projects and methodologies should be included with the lifecycle descriptions. Any
requirements that must be complied with regarding when customizing the lifecycle
models for specific projects should be clearly documented. Refer to the Establish
Standard Requirements and Customization Guidelines section for additional information.
Where applicable, each standard or guideline should also describe the requirements
and/or recommended practices that must or should be followed during lifecycle model
stages.
4.4.2 Review and Approve Lifecycle Model
The approved lifecycle models are documented in the Standards and Guidelines
Glossary located in the appendices of the Standards and Guidelines Notebook. When
changes are made to the lifecycle model, the glossary document or other documentation
containing the lifecycle models should be reviewed and approved using the activities
described previously for guidelines.
4.4.3 Store and Publish the Life Cycle Model
The Standards and Guidelines Glossary, which includes the approved lifecycle models
document should be stored in the S&G Notebook workspace and published in the
Standards and Guidelines Notebook using the procedures defined previously for
guidelines.
4.4.4 Maintain Life Cycle Model
The lifecycle models should be reviewed routinely with the other standards and
procedures and modified as needed to address strategic objectives and issues found
during the reviews. When modified, the activities described above should be used to
approve, store, and publish the modified models.
Page 9 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
AASHTO staff reviews the request and returns their recommendation along with the reasons
for their recommendation to SCOJD.
After reviewing the recommendations from T&AA and/or AASHTO staff, SCOJD makes the
final decision to approve or reject the exception request. The SCOJD chairperson sends a
letter to notify the task force chairperson of SCOJD decision to approve or reject the
exception request. If rejected, the reasons for the rejection are also provided. The SCOJD
members, AASHTO staff, and the T&AA chairperson should be copied on this letter.
The approval/rejection letter should also be submitted by the task force chairperson to the
AASHTOWare Quality Assurance Analyst prior to the evaluation of work products and
deliverables that are impacted by the exception request.
5. Technical Requirements
There are no technical requirements for this standard.
Page 10 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
Page 11 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
comply with a standard, as well as any optional ones . In the case of a guideline, the
work products and work products should all be designated as recommended. If this
section is not applicable to the standard or guideline, note “Not Applicable”.
○ Procedures – Define the procedures that must be carried out to comply with a
standard or to follow the intent of a guideline. If this section is not applicable to the
standard or guideline, note “Not Applicable”.
○ Technical Requirements (or Technical Recommendations) - Define the technical
requirements that must be met to comply with a standard or technical
recommendations for a guideline. If this section is not applicable to the standard or
guideline, note “Not Applicable”.
○ Appendices - Create one or more appendices as required to document any
information needed to supplement the primary content of the standard or guideline.
Page 12 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
○ Current S&G Notebook – This is a Files tab used to store the current version of the
notebook. The content of the notebook and the files used to create the notebook are
stored in the following hierarchical folder structure.
□ Category
◊ Standard or Guideline
− Construction
− Additional folders (see explanation below)
The following represent the current categories used for the notebook folder structure.
The first four categories represent grouping of the ALF process areas, where the
Notebook category is used to store the complete notebook and items that pertain to
the complete notebook.
□ (1) Process Management
□ (2) Project Management
□ (3) Software Engineering
□ (4) Support
□ (5) Notebook
Each standard and guideline folder is created under the category for the standard or
guideline. These folders are named with a “NNN AAA” format, where NNN is the
standard or guideline number and AAA is the standard or guideline name. The word
processing document and the PDF file for the standard or guideline is stored in this
folder. These files should be named with the same “NNN AAA” format as the folder.
Files needed to construct the word processing document are stored in the
Construction folder. These files should be named with a “NNN BBB” format, where
NNN is the standard or guideline number and BBB identifies the content of the
construction file.
Additional folders may be created, as required, to contain training material,
presentations, or other information needed to assist with using the standard or
guideline.
The complete notebook is stored in PDF format in the Notebook folder. The
Construction folder includes the word processing documents and PDF files for the
cover letter, title page, glossary, table of contents, and introduction.
○ S&G History – This is a Files tab used to store previous versions of the notebook.
Each of these version folders is organized the same and includes similar content to
that discussed with the Current S&G Notebook.
○ Next Version - This is a Files tab used to store approved standards and procedures
that will be included in the next version of the notebook. The folder structure and
content is the same as discussed with the Current S&G Notebook.
○ Document Library – This is a Files tab used to store reports, plans, example
deliverables, and other types of documents that are deemed useful to AASHTOWare
stakeholders. A folder is created for each major type of document that is stored or
grouping of documents.
○ Discussion – This tab is used for stakeholders to document issues and to initiate
discussion regarding the current version of the notebook.
Page 13 06/16/2009
AASHTOWare Standards and Guidelines Definition Standard 1.010.01S
Page 14 06/16/2009
DEVELOPMENT
METHODOLOGY
GUIDELINE
S&G Number: 1.020.02G
Effective Date: July 1, 2009
Document History
Version Revision Approval
Revision Description
No. Date Date
01 April 1995 Initial Version Nov. 1996
02 6/10/2009 Changed standard number from 1.02.G35.01 to 06/16/2009
1.020.02G. Applied standard template formatting. Approved by
Made minor changes and format modifications. T&AA
06/10/2009
Development Methodology Guideline 1.020.02G
Table of Contents
1. Background......................................................................................................... 1
2. Methodology Purpose and Requirements........................................................ 3
2.1 Why Use a Development Methodology.............................................................3
2.2 Requirements for an AASHTOWare Methodology ...........................................4
2.3 Proposal Overview .............................................................................................5
3. AASHTOWare Development Methodology ....................................................... 5
3.1 Methodology Background .................................................................................5
3.2 Methodology Overview ......................................................................................7
3.3 Methodology Objectives and Deliverables .....................................................12
4. Personnel .......................................................................................................... 18
4.1 Personnel Roles and Qualifications................................................................18
4.2 Personnel Organization ...................................................................................22
5. Training ............................................................................................................. 25
5.1 Contractor Training..........................................................................................25
5.2 Project/Product Task Force Training ..............................................................25
5.3 AASHTO Staff Training ....................................................................................25
6. Tools and Equipment ....................................................................................... 26
6.1 CASE Tool Selection........................................................................................26
6.2 Development Platform Considerations...........................................................28
6.3 Repository Platform Selection ........................................................................28
6.4 Target Platforms:..............................................................................................28
7. Projects ............................................................................................................. 28
7.1 Project Types....................................................................................................28
7.2 Roles Versus Project Types ............................................................................29
7.3 Project Types Versus the Model Levels .........................................................30
8. Recommendations ........................................................................................... 30
9. APPENDICES .................................................................................................... 32
9.1 APPENDIX A: AASHTOWARE LIFECYCLE CHARTS .....................................32
9.2 APPENDIX B: SYMBOLOGY EXAMPLES........................................................34
9.3 APPENDIX C: AASHTOWARE PROJECT MANAGEMENT CHARTS .............38
Page i 06/10/2009
Development Methodology Guideline 1.020.02G
1. Background
Most businesses and organizations have seen the importance that information has in the
achievement of business objectives. Those enterprises which can effectively tailor their
information resources to business needs can more effectively compete in the marketplace. This
recognition of the importance of information and the emerging automation technologies that
facilitate its use, has given rise to much interest in development methodologies that are
integrated in and driven by business planning.
These methodologies usually prescribe a process which starts in the business planning cycle by
identifying the business areas and information needed to support the organization’s missions
and objectives as expressed in the plan. Strategies are formulated for providing information
systems which support the objectives. By using modeling techniques and successive stages of
refinement, a logical description of the procedures (processes) and information (data elements),
sufficient to define a particular information system’s requirements, is produced. From these
descriptions, the system can be designed and developed.
The best known of the business planning driven methodologies is Information Engineering, a
phased approach to information systems development which closely parallels the phases of
highway development. The Phases of Information Engineering (IE) are:
● Planning - Information Strategy Planning
● Analysis - Business Area Analysis
● Design - External Design or Functional Design
● Internal Design or Technical Design
● Construction - Development
● Transition - Cutover
● Production.
The first attempts at IE development were frustrated by the lack of Computer Assisted Software
Engineering (CASE) Tools. Not until CASE tools which supported the methodology became
commercially available did IE become a practical reality.
This approach with its view toward both horizontal and vertical integration avoids many of the
problems inherent in vertical (only) project-by-project development efforts that are conducted
without a business systems plan. The project-by-project method often results in systems whose
data cannot be integrated or shared and, in many cases, the resulting systems overlap each
other or alternatively leave gaps. Another benefit of this approach is the employment of models
which are suitable for use by both subject matter experts as well as information systems
personnel thus insuring a good correspondence between business requirements and the
resulting applications. In addition, when it is supported at all levels by commercially available
CASE tools, there is the promise of greatly improved efficiency and accuracy in the
development of information systems.
Along with the potential benefits there are some concerns to be resolved and overcome:
1. IE follows the customary waterfall approach to development which contributes to lengthy
production cycles with little provision for course correction in mid-stream.
2. IE does not provide an effective means for incorporating user input into the design and
construction phases of the development cycle.
3. IE is best for very large projects within large organizations. It requires too much overhead in
time and cost for small self contained projects.
4. Integrated CASE (I-CASE) tools do not uniformly develop quality applications in every target
environment. Many of the I-CASE tools do not use the full potentials of their target
Page 1 06/10/2009
Development Methodology Guideline 1.020.02G
environments. This is especially true of the microcomputer Graphical User Interface (GUI)
environments.
5. IE and I-CASE cause large cultural changes in the DP organization, which if not planned for,
can severely hamper success of initial projects.
6. IE complexity lends itself to bureaucratization and can thus contribute to long development
cycles.
To reduce the impact of some of the above problems many organizations have adopted the
Rapid Application Development (RAD) methodology. This methodology can be either used by
itself or as a modification of IE in which case it replaces its last two phases (Design and
Construction). Some of the attributes of RAD which are improvements over standard IE are
described below:
1. RAD is designed to deliver applications within a fixed time period. This contributes to short
and predictable development cycles which will be useful in the AASHTOWare development
environment.
2. RAD provides for Joint Requirements Planning (JRP), Joint Application Design (JAD), and
Joint Application Construction (JAC) sessions which include the user in the planning,
design, and construction of the application. These sessions capture user information and
their approval, using the CASE planning, design, and construction tools. this minimizes the
requirement for manual transference of user information and insures that the application
satisfies user needs.
3. RAD uses iterative processes for design and construction which permits rapid cycling of
these phases as the application is refined. This also provides the flexibility to make course
corrections during the design and construction phases.
4. RAD maximizes the use of CASE tools by bringing them into play during user sessions. The
user can see his suggestions put into place during the session and can be assured that they
contribute to the usability of the application.
The combined phases of IE and RAD may be expressed as follows:
● Planning - Information Strategy Planning (ISP)
● Analysis - Business Area Analysis (BAA)
● Requirements- Joint Requirements Planning (JRP)
● Design - Joint Application Design (JAD)
● Construction - Joint Application Construction (JAC)
● Cutover - Implementation
The IE/RAD phases described above are a definite improvement over the IE approach when
used alone; however, they still have some drawbacks:
1. BAA is a global analysis of a whole business area. It requires a more specific analysis to
determine the needs of a particular application development effort. Also, within the context
of AASHTOWare development, it may be impossible to expend the efforts necessary to
perform a BAA. The RAD phases assume that the necessary analysis has been performed.
2. Although some iteration occurs (spiral development process) during the design and
construction phases of RAD, there is no provision for revisiting the analysis phase which
does not exist or is disguised in JRP sessions.
3. The RAD phases do not emphasize the importance of testing (validation) or reusability
(generalization) to the development cycle.
4. RAD emphasizes joint sessions with the user (JRP, JAD and JAC) while it ignores many of
the more technological aspects of the development process.
Page 2 06/10/2009
Development Methodology Guideline 1.020.02G
To remove these weaknesses the following phases are proposed for the AASHTOWare
Development Methodology:
● Global or background phases to be performed continuously
■ Information Strategy Planning (ISP)
■ Business Area Analysis (BAA)
● Phases specific to a particular development project
■ Application Planning
■ Spiral Application Analysis
■ Spiral Application Design
■ Spiral Application Construction
■ Spiral Application Validation
■ Spiral Component Generalization
■ Application Implementation
Because most AASHTOWare development projects will be performed without the benefit of ISP
and BAA projects, this document will emphasize the phases pertaining to the development of a
particular application. This document will also emphasize use of the most current development
technologies and topologies (i.e. CASE development tools, Object Oriented Programming, and
Client Server application structuring).
Page 3 06/10/2009
Development Methodology Guideline 1.020.02G
○ The methodology should provide techniques for defining the information and
procedural needs of the enterprise, for assessing their relative importance, and for
designing strategies for realization of these prioritized needs.
○ The methodology should provide metrics and procedures which permit the accurate
estimation of project cost and schedule. It should also require that projects are short
in duration, insuring that the product is still relevant to the circumstances it was
expected to address.
○ It should provide for implementation planning that covers all contingencies which
would prevent an easy transition to the new product. These include the introduction
of new technology, changes in work environment, changes in organizational
structure, changes in user skill requirements, preservation of enterprise historical
information, transitions to new work procedures and information, changes in quality
of business product (not necessarily always improved).
○ It should provide for testing procedures which touch all aspects of product quality.
These should include operational quality (no errors), performance, satisfaction of
business requirements, user satisfaction, ease of implementation, supportableness,
and documentation.
3. Technology Exploitation - The methodology should promote, certainly not impede,
automation of the development process (adaptable to the many useful and commercially
available CASE Tools). It should support the major application paradigms (Client-
Server, Batch, Data and Processing Distribution, and Object Oriented Programming). It
should also provide development techniques which insulate the application from the
technical environment improving product portability.
Page 4 06/10/2009
Development Methodology Guideline 1.020.02G
Page 5 06/10/2009
Development Methodology Guideline 1.020.02G
from the external design. The final stage, Cutover, is equivalent to the Transition stage of
"classical" IEM.
The most recent entrant to the methodology scene is an iterative process which we are
calling the Spiral Development Process (SDP). This iterative technique combines Analysis,
Design, Construction, Validation, and Generalization into a series of steps which are
repeated numbers of times as the application is developed. These iterated phases are
sandwiched between two non-repeating phases, Planning and Implementation.
The spiral process, which is especially well adapted to object oriented development,
recognizes that system requirements are never completely defined prior to design and
construction. It provides a mechanism for capturing changes in requirements, analysis or
design during the development process. The more times the spiral is completed the better
the delivered application will be.
The final stage in the spiral model is designed to take components, or objects, that were
developed for a specific system and to generalize them for use in other systems throughout
the enterprise.
The AASHTOWare Development Methodology combines attributes and phases from the IE,
RAD and the Spiral Development Process. The first two phases which are taken from IE are
Information Strategic Planning (ISP) and Business Area Analysis (BAA). The ISP activity is
usually performed continuously - its updates being synchronized with the business planning
cycle. BAA is performed as a continuous operation which maintains a high-level description
of the information resources and work activities of the major business areas of the
enterprise. These two phases are global and do not apply to a specific application
development effort. They are performed continuously to provide the foundational strategies,
architectures and business process/information definitions required to situate application
systems in the enterprise environment.
The remaining seven phases of the AASHTOWare Development Methodology are taken
from RAD and the Spiral Development Process. They apply to the development of a
specific application system. The following table illustrates the correspondences between IE,
RAD, and the Spiral Development Process phases.
Comparison of IE, RAD, SDP and ADM Phases
Information Rapid Application Spiral Development AASHTOWare
Engineering (IE) Development (RAD) Process (SDP) Development
Methodology (ADM)
Planning: Information Planning: Information
Strategic Planning Strategic Planning
(ISP) (ISP)
Analysis: Business Analysis: Business
Area Analysis (BAA) Area Analysis (BAA)
Requirements Planning Application Planning
Planning: using Joint
Requirements
Planning (JRP)
Sessions
(continued from Analysis Spiral Analysis: using
above) Joint Application
Development (JAD)
Sessions
Design: Functional & Design: using Joint Design Spiral Design: using
Technical Application Design Joint Application
Design (JAD)
Page 6 06/10/2009
Development Methodology Guideline 1.020.02G
Page 8 06/10/2009
Development Methodology Guideline 1.020.02G
Associations between objects describe either object messaging (described above) or
common attributes (similar to primary and foreign keys in a relational database).
Associations are usually indicated by a line between the attribute portions of the
object boxes with a dot on the end to indicate a “many” relationship. An association
is often described as “uses-a” or “used-by”
Aggregation is a special form of association where one class is subordinate to
another and is only used by that class. Aggregation is diagrammatically expressed
by a line connecting the object boxes with a diamond on the end near the superior
object. It is often described as a “has-a” or “part-of” relationship.
Inheritance consists of an ancestor class and a descendant class. The descendant
class can be an extension and/or restriction of the ancestor class. The relationship is
often diagrammatically described by a line connecting the objects with a “Y” opening
on the descending end. Inheritance is expressed as “is-a” or “kind-of”.
Returning to the domain analysis process, the first activity required is to identify the
potential objects of the new system. One approach consists in producing an
object/action list by examining, statement by statement, the functional requirements
described above. The basic steps to this process are: 1) identify subjects, verbs,
and direct & indirect objects; 2) categorize and remove duplicates; 3) subjects are
class candidates, 4) verbs are method candidates, 5) direct and indirect objects are
class and attribute candidates. Another method of developing objects, where case
models exist (described above), is to produce object models from each case model
and then combine all the attributes and methods belonging to each object.
After a set of classes, their attributes, and methods have been identified, the next
step is to formalize the definition of them and their relationships to each other with a
problem domain object model. This model should describe real world objects and
their relationship to one another. It should not contain implementation details.
Problem domain object models do not typically get created right the first time. As
system requirements get better defined and understood, the problem domain object
model gets refined. It is not unusual to have 3 to 4 iterations of this model. This
model can be produced using JAD work sessions.
Next a user interface prototype may be developed to facilitate communication with
the user. Many times use case modeling does not help the user to know sufficiently
his requirements. It requires visually seeing parts of the system. The goals of a user
interface are to: help define the requirements of the system, identify required
attributes, design the user interface, and explain corporate interface standards. The
prototype is not to: develop system edits (though many will be detected), program
business rules, or to construct an implementable system. The user interface
prototype should be built with tools which provide a realistic facsimile of the system
to be built. They should permit rapid changes (during work sessions if possible).
Examine for reuse during analysis. Reuse any existing problem domain classes,
components, or frameworks that have already been defined and identify any object
model patterns (a template of class attributes, methods, and relationships that have
been observed to occur again and again).
Perform risk analysis/resolution. One of the major features of the spiral development
process is that it creates a risk-driven approach to the software process rather than a
primarily document-driven or code-driven process. Becoming aware of areas of
uncertainty early, evaluating the possible consequences and devising ways of
handling or managing them are the primary elements of risk analysis.
The next process of domain analysis is estimating system development. This
process consists in evaluating the number of key classes and subordinate classes,
applying factors relating to class difficulty (type of user interface), and applying the
average number of person days required to develop each class. This results in a
Page 9 06/10/2009
Development Methodology Guideline 1.020.02G
total person time estimate for the project. See “Object Oriented Project Metrics: A
Practical Guide”, by Mark Lorenz and Jeff Kidd for more detail on this process.
The last activity of domain analysis is production of the systems development plan.
This plan is dependant upon: the estimated size and complexity of the system, the
number of systems or subsystems to be concurrently developed, user availability,
and development resources, the number of iterations planned. A common goal is to
produce subsystems or system increments every 3 to 6 months. A skeletal
development plan can be found in the Appendix C.
5. Spiral Design: During the design phase the following design models are produced:
Problem Domain Partition Object Model, User Interface Partition Object Model, System
Management Partition Object Model, Dynamic Models, Functional Models, Database
Model. Input to the design models is the requirements model and the analysis model.
The design activity populates the implementation layer. The following paragraphs
describe the models produced in the design phase:
a. Dynamic Models: Dynamic models are often created during system design to define
what states an object is in at any given time or stage of its use. It also defines the
events which cause state changes. There are many different kinds of dynamic
models, but all of them provide views of the execution paths of a system. They are
defined from case use models (described above).
b. Functional Models: Functional Models show the data an object needs and the
processes necessary to transform it. They specify what happens in a system.
Functional models show the flow of data between actors, processes, and data
stores. Functional models can also be derived from case models. Dynamic and
Functional Models are combined with the Object Model to make up a complete
object oriented design. The functional model specifies what is to be done, the
dynamic model specifies when it is to be done, and the object model specifies the
structure and relationships of the objects.
c. System Architecture Partitions (System Design Object Models): The System
Architecture Partitions are three models into which the System Design Object Model
is normally divided. These three partitions are called the Problem Domain Partition
Model (PDP), the User Interface Partition Model (UIP), and System Management
Partition Model (SMP). The advantages of dividing the System Design Object Model
into these three parts is that it: promotes creation of more reusable classes, creates
classes that are more easily distributed, promotes encapsulation of business rules,
and provides for faster functional prototyping.
The PDP is the partition which holds the classes containing the application systems
business rules. The classes in this partition contain only business logic. These
classes are based on actual entities used in the business, the rules that define how
business transactions are processed, and how calculations are applied. This
partition could be distributed to a server to reduce client processing.
The UIP is the partition which holds the visual classes. These classes define how
users interact with the system. Results from the user interface prototype and the use
case models are inputs to this partition.
The SMP is the partition which holds task-oriented classes. These are the classes
that typically contain logic that pertains to communication among two or more other
classes. These classes are all created at design time. Examples of classes that
would be included in the system management partition include: classes that manage
communication between a class and a database, operating system, network, or
peripheral device.
Page 10 06/10/2009
Development Methodology Guideline 1.020.02G
After the PDP, UIP, and SMP have been defined, they can be combined to form the
overall design object model. Classes in the various partitions are usually combined
using association relationships.
If the three partitions are designed correctly, then it will be easy to change the
classes in one partition without affecting the classes in the other partitions.
d. Database Model: The Database Model is another important model created in the
design phase. Even if a prototype database were created to support the user
interface prototype, the actual database design is not performed until the Problem
Domain Partition Object Model is complete.
There are rules for mapping an object model to a relational database design. These
rules often produce database designs which are over-normalized. Ordinary entity
relationship (ER) modeling theory can then be useful for de-normalizing the database
model for performance.
Other activities which should occur during the design phase are: identification of
frameworks of user interface, problem domain, and system management
components which can be reused in the system and refinement of work estimates
based on design metrics.
6. Spiral Construction: The key deliverable associated with the construction phase is the
production of a functional prototype which replaces the user interface prototype and
adds the following:
a. Business logic and system edits through connections to the problem domain partition
objects.
b. System management partition objects such as network middleware and security or
object request brokers.
During the construction phase the database is physically created, the user interface
objects are created (if not already), the non-visual objects for problem domain &
system management domain are created, and the object connections are
established.
7. Spiral Validation: The validation phase consists of testing the system. A system can be
subjected to two kinds of tests. Validation is the process of comparing the end product
with the true requirements of the users.
Verification is the process of detecting faults and deviations from the expectations of the
developers when they set out to build the system. Verification answers the question: Is
the system built correctly? Validation answers the question: Is the correct system being
built? The validation process consists of Component Testing, Integration Testing,
System/Subsystem Testing, Alpha Testing, and Beta Testing.
a. Component Testing: In object oriented systems the unit of work is an object, not a
program or a routine. An object contains both the data and the operations that work
on the data. Component testing is thus the testing of each object to be sure it
behaves as designed.
b. Integration Testing: Insures that assemblies of objects or components work together
as expected and that no failures occur as a result of their interaction. Because of the
nature of component development, as the services between objects are tested, the
integration between them is tested. As a consequence, component testing and
integration testing are very closely tied together.
c. System/Subsystem Testing: Test scenarios are created which correspond to each
use case in the subsystem and run through the system in a similar way to that for
walkthroughs. System/Subsystem Testing is really an external test of the system to
validate correspondence with the system requirements. It is no different than
Page 11 06/10/2009
Development Methodology Guideline 1.020.02G
customary testing except that it is based on scenarios defined in the Requirements
Analysis.
d. Alpha Testing: Alpha Testing is testing performed in the last iteration of the testing
phase which confirms to the developer that all functionality defined in Requirements
Analysis is present and performing correctly. The system is also configuration,
stress, and performance tested in the target environments until the developer is
satisfied that the system is ready for delivery and implementation.
e. Beta Testing: Beta Testing is testing performed in the last iteration of the testing
phase which confirms to the user that all functionality defined in Requirements
Analysis is present and performing correctly in the users own environment and that
the system is ready for delivery and implementation. Beta Testing also includes
review of all the project deliverables such as documentation. Beta Testing
culminates in user acceptance or rejection of the system.
8. Spiral Generalization: The generalization phase consists in maximizing the benefits of
reusability by identifying and generalizing components which may be used in future
systems and by managing component libraries and frameworks which support the
disciplines and technical environments of the user organizations.
9. Implementation: This stage includes the performance of all activities necessary for
successful implementation of the validated system. Some of these activities are: training
(technical support, product administration, and users), testing (setup and installation
procedures), and product packaging for distribution. This phase is performed once in
the development cycle.
Page 12 06/10/2009
Development Methodology Guideline 1.020.02G
Architecture, and the Organizational Architecture. Together, these architectures address
the total information requirements of an enterprise. They form a blueprint from which an
enterprise can build an environment for addressing its long-term needs. By moving
towards this target environment, the enterprise can manage its information resources
effectively and support its business objectives.
The objectives of Planning are to:
1. Assess the function/information requirements of the enterprise.
2. Build an Information/Function Architecture that will meet those requirements. The
Information/Function Architecture defines the activities performed by the enterprise
and the information required to perform them. The result is an overall business
model - a shared architecture tied directly to business goals. This high-level view of
activities and data lays the groundwork for the detailed analysis of business areas
conducted during Analysis.
3. Build a Business System Architecture to support implementation of the Information
Function Architecture. The Business System Architecture describes probable
business systems needed to support the Information/Function Architecture.
Although more detailed analysis in later stages will determine its actual contents, the
Business System Architecture formulates business areas and attempts to predict
subsequent business systems to be developed. Before Design, designers can use
the Business System Architecture to segment business areas correctly into business
systems.
4. Identify the Technical Architecture necessary to support the Business System
Architecture. The Technical Architecture describes the hardware and software
environment required to support the Business System Architecture. During Internal
Design, the technical support for business systems is influenced by the definition of
the technical architecture during planning.
5. Identify the Organizational Architecture necessary to support the architectures
described above. Determine what organization and human resources are needed to
support the information and business systems needs of the organization.
6. Present the project's findings in a way top management can readily understand,
evaluate, and act upon.
The deliverables from Planning include the following:
1. Facts about the enterprise. Planners document these facts in a mission statement;
an information/function needs map; a list of objectives, strategies, and critical
success factors by organizational unit; a ranked list of objectives; and a number of
supporting matrices.
2. Facts about the current environment (existing organizations and hardware/software
systems). Planners document these facts in an organizational hierarchy list, a
technical inventory list, and supporting matrices.
3. A model of the Information/Function Architecture as it should be to serve the mission
of the enterprise. The model includes a Subject Area Diagram, a high-level Entity
Relationship Diagram, an overall Function Hierarchy Diagram, a set of Function
Dependency Diagrams and supporting matrices. This deliverable incorporates the
three components of Information Engineering: data, activities, and their interaction.
If object oriented development techniques are used the diagrams defined above can
be replaced with a high level object model which encompasses the enterprise.
4. The Business System Architecture. Planners determine this architecture by matrix
clustering and affinity analysis, based primarily on common use of data by activities.
They document the architecture in an Implementation Plan as a prioritized list of
potential Analysis projects.
Page 13 06/10/2009
Development Methodology Guideline 1.020.02G
5. The Technical Architecture. Planners document this architecture in a statement of
technical direction. This document describes technical alternatives based on
supporting matrices.
6. A formal Information Strategy Planning Report. This report documents the project
results to top management.
Page 14 06/10/2009
Development Methodology Guideline 1.020.02G
Information/Function Architecture of the enterprise will have been established. The
Technical and Organizational Architectures will also have been established. What
remains to be defined are the resources required, the methodology of development, a
statement of scope, and a brief system requirements definition. Where the development
is to be performed under contract, a RFP will be developed and a contractor will be
selected.
The objectives of Application Planning are:
1. Gather all architectural and conceptual layer information relevant to the proposed
project.
2. Define the scope and requirements for the proposed system.
3. Decide whether the project should be initiated. This determination is made by
assessing the need for and benefits of the system and balancing these against the
estimated resources (funding, people, equipment, and software) necessary to carry
the project through implementation.
4. If the project is to be performed under contract, develop an RFP and select a
contractor.
5. Develop a project plan.
6. Assemble project participants and initiate the development project.
Page 15 06/10/2009
Development Methodology Guideline 1.020.02G
5. Analysis of the user requirements and use cases to determine the objects of the
systems problem domain and their relationships.
6. Through JAD sessions with users, using interface prototyping techniques, discover
user interface requirements.
7. Analyze the risks to the project and formulate resolutions.
8. Estimate system development resource requirements using object analysis metrics.
9. Revise the project plan based upon findings of analysis activities.
Page 16 06/10/2009
Development Methodology Guideline 1.020.02G
Implementation
The purpose of the Implementation phase is to identify and perform all activities
necessary for implementation of the system.
The objectives of Implementation are:
Page 17 06/10/2009
Development Methodology Guideline 1.020.02G
1. Insure that the training needs for users, product administrators, and technical help
are provided for.
2. Test all implementation scripts, instructions, and procedures.
3. Insure that product is properly packaged containing all materials (software and
documentation) necessary for implementation.
4. Make sure that all necessary hardware and software is present and operating in the
target environment.
4. Personnel
4.1 Personnel Roles and Qualifications
The following discussion is concerned with the roles and qualifications needed to develop
systems using elements of the AASHTOWare Development Methodology (ADM) supported
by CASE tools.
1. Enterprise (Business) Related Skills and Knowledge:
a. Enterprise Administration
There must be direction and input from executives and administrators who have a
broad understanding of the entire enterprise. They must know the organization's
missions, objectives, and the factors critical to its success. They should be familiar
with the organization’s information resources and needs. They should understand
the organization's major business areas, how they interact and the information they
need and produce. They should have business planning skills.
They should have understanding of how business systems can support the
information needs of the organization and what are potential areas where business
systems might be advantageous. They should also understand the organizational
requirements of the business areas of the enterprise and how they will be effected by
the introduction of business systems.
b. Business Area Management
Once the business areas of the enterprise are identified, there is need for the kind of
information normally possessed by the management of the business area selected.
Someone must have a detailed knowledge of the types of data required by the
business area. They must know all of the functions of the business area and all of
the activities/roles that go to make up those functions. They must know the data
required and produced by each of the activities, as well as their proper sequence.
c. Subject Matter and User Expertise
Once a specific business system, within a business area, is selected for
development, there is a need for the kinds of knowledge possessed by those who
perform the activities and use the data. They should know how the data should be
presented for its most efficient use, what data should be presented, what data should
be requested, and what activities and data may be combined. They should know the
order and flow of work activities and the data that is needed and produced at each
step along the way.
2. Project Management Activities and Skills:
a. Project Administration
Page 18 06/10/2009
Development Methodology Guideline 1.020.02G
Project administration requires an understanding and enforcement of the
organization’s policies and procedures and specifically those which apply to the
development of business systems. Also included, is the approval, allocation, and
disbursement of the fiscal resources necessary to begin and bring to conclusion
projects. Project administrators must have the skills necessary for reviewing and
approving technical contracts and insuring that their obligations are met. They
should have knowledge of the deliverables (the models created at each level of the
methodology) and the ability to inspect and verify them.
b. Project Management
Project management, which operates within the province of project administration,
requires the skills necessary to develop a project plan which includes all activities
necessary to complete the project, identification of all resources needed by each
activity, identification of the deliverables that should result from each phase of the
project, and the order and completion times for the activities and phases of the
project.
They should have a thorough knowledge of the methodology and a familiarity with
the CASE tools being employed to support it. The project manager must be able to
interpret all the model information contained in the layers (Architectural, Conceptual,
Implementation, and Execution) of the methodology.
The project manager must also be able to control priorities of project activities.
3. Information Systems Skills and Knowledge:
a. Planning
Planners, by interviewing key management personnel (those possessing the skills
and knowledge described above in "IV.A.1.a. Enterprise Administration"), gather the
necessary information about the enterprise for building the Architectural Layer of the
ADM. They must be thoroughly skilled in the concepts, models, and supporting tools
of the methodology, with special emphasis on the disciplines required to complete
the Architectural layer. This first layer comprises the Information, Business Systems,
Technical, and Organizational Architectures.
b. Analysis
The Business Process Analysts, using the information produced in the Architectural
Layer combined with that derived through interviews and meetings with key business
area managers (those possessing the skills and knowledge described in "IV.A.1.b.
Business Area Management"), build the Conceptual Layer as prescribed by the
methodology. Their skills are the same as those of the planners, except the
emphasis is on the concepts, models, and supporting tools necessary to complete
the Conceptual Layer. They should be experienced with the use of JAD work
sessions for capturing and defining user requirements
c. Design
System Architects (designers) are responsible for the overall design and
development of an integrated architecture for a system. Their responsibilities are to
design and develop the application architecture, oversee design and integration of
system components, develop the feasibility prototype, if required, and insure the
system meets functional objectives for performance. The design of new application
objects is usually performed by developers. Designers, using information from the
Architectural and Conceptual Layers combined with that derived through JAD work
sessions or interviews with users and subject matter experts (Those with the
knowledge and skills described in "IV.A.1.c. Subject-matter Experts and Users") build
the models of the Implementation Layer as prescribed by the ADM. Their skills are
the same as those of the planners and analysts, except the emphasis is on the
Page 19 06/10/2009
Development Methodology Guideline 1.020.02G
concepts, models, and supporting tools necessary to complete the Implementation
Layer.
d. Development
Developers of object oriented software are responsible for the construction and
design of application objects. Their responsibilities are to design and code new
application objects, assemble new and existing objects together, develop user
interface prototypes, build back-end SQL stored-procedures, build and optimize
programming interfaces to database servers, and build other low-level interfaces
such as remote procedure calls and security. Using information produced by the
previous levels, they construct an implementable business system. They must have
an overall knowledge of the Implementation Level models with emphasis on the
concepts, tools, and products necessary to complete the Execution Layer.
e. Validation
Testers are responsible for developing test cases and specifications for expected
results, execute test cases, examine the results, and identify those situations where
“actual results” do not match “expected results”. The developed test cases are
drawn from use case models and user requirements.
f. Generalization
Component Developers are responsible for the generalization and maintenance of
reusable components. They develop new components, user navigation styles, and
templates. They make modifications to existing components and frameworks. They
work with development teams in identifying opportunities to generalize objects. They
maintain component libraries and remove obsolete components.
g. Implementation
Those responsible for the implementation of a product must understand both the
product and the user business and technical environment in which it is being
situated. The implementation function includes determination of when the product
has met all requirements and is ready for implementation, planning the
implementation strategy (order and pace of implementation), measurement of user
acceptance of the product, and insuring that product defects are corrected.
h. Technology Specialists
Technical Infrastructure Experts provide information to the planning process for
determining the Technical Architecture, to the design process for determining the
characteristics of the target computing environment, and to the construction process
for determining implementation requirements. They must have strong technical
computing environment skills.
The Database Design Specialist develops and maintains data models, logical and
physical table design, and writes SQL based code.
The Scribe has expertise in using tools which support JAD sessions. The scribe
should be able to capture user interface requirements as they are discussed.
The GUI Designer assists in the design of graphical user interfaces, including the
navigation model, verifying that designs conform to enterprise and industry-wide
design standards.
The Technical Writer develops and maintains all on-line help and user
documentation for the system.
i. Model Management
Personnel with skills in developing, integrating, and maintaining information
engineering models are needed to keep the repositories of models produced as part
Page 20 06/10/2009
Development Methodology Guideline 1.020.02G
of the development effort. They must also be able to verify the correctness and
validity of these models which are project deliverables.
j. Technical Development Support
Technical development support personnel are responsible for implementing the
hardware and software needed to support the development effort and model
management. They should have skills in the installation and maintenance of the
chosen workstations and development tools.
The table on the following page illustrates how the above described rolls or skills are
utilized in the Planning, Analysis, Design, and Construction Layers of ADM development.
Information System Development Roles Versus The Modeling Layers of the
AASHTOWare Development Methodology
Layers\Roles EA BAM SE PA PM PLN ANL D DEV VAL GN IMP TS MM TDS
Planning (ISP) / IB A M P IT P S
Architectural
Layer
Analysis (BAA) IB A M P IT P S
/ Conceptual
Layer
Design (BSD) / IB A M P IT P S
Implementation
Layer
Construction/ A M P P P P IT P S
Execution
Layer
In the above table “A” indicates Administer, “M” indicates Manage, “IB” Information
resource for Business requirements, “IT” indicates Information resource for Technology,
“S” indicates Support, “MIE” Indicates Management of Information Engineering
Facilitation, while “P” indicates Performance of the Information Engineering function.
The acronyms used for column headings have the following meanings:
EA= Enterprise Administration DEV= Development
BAM= Business Area Management VAL= Validation
SE= Subject Matter and User Expertise GN= Generalization
PA= Project Administration IMP= Implementation
PM= Project Management TS= Technical Specialist
PLN= Planning MM= Model Management
ANL= Analysis TDS= Technical Development Support
D= Design
Page 21 06/10/2009
Development Methodology Guideline 1.020.02G
Page 22 06/10/2009
Development Methodology Guideline 1.020.02G
The Chairperson directs the activities if the Project/Product Task Force, described
below, and is the person who is primarily responsible for supervising the efforts of the
contractor towards a product which satisfies user requirements and stays within budget.
Some useful skills for a project chairman are: management experience in the business
area of the system development, project management experience, familiarity with the
capabilities of automation technologies, and knowledge of AASHTOWare policy,
procedures, standards and guidelines. Since the chairperson must interact effectively
with users, user groups, the task force members, the contractor, AASHTO staff, and the
SCOJD, communication skills are required.
7. Project/Product Task Force Members:
The Project/Product Team is normally composed of the representatives from states
which have some interest in the information system being developed. Either their
agency is sponsoring or using the application in question. The designation of Project or
Product Task Force distinguishes between groups supervising new development and
those which are performing maintenance and continued enhancement of an existing
product. Personnel who are appointed to a task force have the responsibility, under the
direction of their chairperson, of planning for future development and enhancement,
supervising current development, and insuring that user requirements are met. This
implies that subject matter expertise, knowledge of user business requirements, and an
overall understanding of the business area are attributes which should be sought in task
force members.
Since the task force members are usually chosen for their business knowledge, they
must depend on the SCOJD, AASHTO Staff, T&AA Liaisons, and TAG Groups for
information systems development experience.
8. State Sponsors:
Development of new information systems or major additions to the functionality of
existing ones is usually financed through state sponsorship. The decision to sponsor an
AASHTOWare development project is primarily based on whether the proposed project
fits within the business systems plans of the sponsoring states, whether there is
sufficient consensus on product requirements to insure that all sponsors are satisfied,
whether the system is affordable, and whether it is perceived to be the safest, most
flexible, and most efficient way to provide the required functionality. The states should
choose personnel who have the requisite skills to make the above described
determinations.
9. Product Users:
Product users are those who have the right to use the AASHTOWare Product as a result
of belonging to a subscribing organization.
10. User Groups:
User group members represent their product licensed agency for the purpose of
providing advice on product effectiveness, deficiencies and needed enhancements. The
user group should also identify training and support needs. Once maintenance,
enhancements and support are identified, they are prioritized and submitted to the
Project/Product Task Force. User group members should have actual experience using
the product and should have knowledge of the business area involved.
11. Technical & Application Architecture Task Force (T&AA):
This group was formed by the Special Committee on Joint Development and works
under its direction to develop AASHTOWare Application Standards and to provide
consultation services relating to Application Architecture and Technology.
12. Technical Advisory Group (TAG):
Page 23 06/10/2009
Development Methodology Guideline 1.020.02G
A Technical Advisory Group is an ad hoc group formed to provide technical advice (can
be either automation or business area related) to the Project/Product Task Force.
Members of these groups are chosen for their expertise in the area where advice is
needed. They are expected to provide advice that is independent of that of the
contractor.
13. Contractor:
AASHTOWare is typically developed and maintained under contract. The contractor is
usually selected on the basis of response to a RFP. The subsequent contract is
composed from the proposal and the customary AASHTO contractual requirements.
The chosen contractor should have all of the technical and business skills necessary to
complete efficiently the contract within the estimated time and budget. The contractor is
usually expected to perform the following functions: project management, planning,
analysis, design, construction, testing, implementation, maintenance, documentation,
support, and sometimes training.
14. Unassigned Support:
Skills that would be useful to support ADM which are not presently assigned to any
AASHTO position are:
a. component and framework development library management skills for maintaining
reusable objects,
b. and model management skills for verifying, building, maintaining, and integrating
models for purposes of reusability and to assist the task forces in validating
deliverables.
The following table maps the roles of the AASHTO organization with those needed to
support the AASHTOWare Development Methodology.
ADM Role/Skill Requirements Versus Existing AASHTOWare Development Roles
EA BAM SE PA PM PLN ANL D DEV VAL GN IMP TS MM TDS
SCOSS R
AASHTO R R R
Committees
SCOJD X X X R
AASHTO R R+
Exec Staff
AASHTO R R R R R
Proj Staff
Proj/Prod X X X R+ X X R X R+ X
Chair
Proj/Prod R+ R+ R R R R R R
Task Force
State R+
Sponsors
Product R R R
Users
User Group R R R R?
T&AA R R R R
TAG Team R? R R? R? R
Contractor R? R+ R R+ R+ X R+ X R+ X X X
Unassigned R R
Page 24 06/10/2009
Development Methodology Guideline 1.020.02G
EA BAM SE PA PM PLN ANL D DEV VAL GN IMP TS MM TDS
Support
In the above table “X” indicates responsibility for skill area. “R” indicates resource for the
skill. “R?” indicates a possible resource for the skill. “R+” indicates the primary resource for
the skill.
The acronyms used for column headings have the following meanings:
EA= Enterprise Administration DEV= Development
BAM= Business Area Management VAL= Validation
SE= Subject Matter and User Expertise GN= Generalization
PA= Project Administration IMP= Implementation
PM= Project Management TS= Technical Specialists
PLN= Planning MM= Model Management
ANL= Analysis TDS= Technical Development Support
D= Design
5. Training
The table at the end of this chapter describes in summary form the experience or educational
requirements for implementation of ADM.
Page 25 06/10/2009
Development Methodology Guideline 1.020.02G
Beyond the existing AASHTO development roles, there is a need for personnel with
experience in model management and the generalization process. Each of these roles will
require experienced personnel.
SCOSS E A
AASHTO A? A? A
Committees
SCOJD E C C E C E C C C C C C C C C
AASHTO E C C A C C
Exec Staff
AASHTO C C C E/T E/T C C C C C C E C C C
Proj Staff
Proj/Prod E E E C C C C C C C
Chair
Proj/Prod E C C C C C C C C
Task Force
State A
Sponsors
Product E C E
Users
User Group A A C C E
T&AA C C C C C A C C C C E C E E C
TAG Team A? A? A? A? A?
Contractor E? ET ET ET ET ET ET ET E ET ET E
Unassigned E E
Support
In the above table “E” indicates Experience Required. “T” indicates Training Required. “ET”
indicates experience with tools employed on project required. “C” indicates Conceptual
Understanding Required. “A” indicates the Source of Authoritative Information.”?” after any
of the codes indicates that the function (training, experience ...) contingent upon the
circumstances of the project. The acronyms used for column headings have the following
meanings:
Page 26 06/10/2009
Development Methodology Guideline 1.020.02G
question that occurs is: Can a single Integrated CASE (ICASE) tool serve all AASHTOWare
development needs? In answer, ICASE tools usually impose too many restrictions and
have too little flexibility to be used in the development of systems targeted for the diverse
environments of the transportation agencies. ICASE tools often do not support new
technology or support it with severe functionality restrictions. These tools are therefore not
recommended for the development of AASHTOWare. It makes little difference how efficient
the development process is, if the resulting product in inadequate in “look and feel”,
performance, or functionality.
The alternative to the one-tool-does-all approach is to pick multiple tools which are as
compatible as possible and cover all of the areas where automation of the development
process can produce savings. Where multiple tools are used, the construction tool (the tool
which supports the development phase of ADM and produces the executable modules of
the system) is by far the most important.
Some of the criteria for selecting the construction tool follow:
1. It must efficiently exploit the full functionality of the target environment. The resulting
systems must perform and fit well in the intended environment. The developer should
be able to use most of the environment’s functionality.
2. The tool should support Object-Oriented Programming techniques and should provide
for object partitioning to facilitate the development of client-server applications.
3. Must support ODBC connection with a wide variety of relational database systems either
locally or across a wide area network.
4. Should permit quick development of prototypes and have an efficient screen painter to
facilitate use in RAD sessions.
5. Should require no fees or licenses for use of developed software.
If the system is to use a relational database, the next most important tool is a database
design and modeling tool which has a two-way interface with the construction tool. If the
database design tool is included in the construction tool, one needs look no farther. If a tool
needs to be selected, it should support the generation and loading of all brands of
databases that will be used by the system. It should also produce entity relationship
diagrams.
If it is not already included with the construction tool, select an analysis and design modeling
tool which is as compatible as possible with the construction tool. Some of the desirable
models to be produced are the use case model, the dynamic model, the functional model,
and the partitioned object design model.
Other tools which may be useful are: validation, configuration management/version control,
project management, and help authoring tools. The validation, configuration
management/version control, and help authoring tools should be closely compatible with the
construction tool.
A category of tool which requires special attention in the joint development context is the
communication tool. Because AASHTOWare projects are managed by transportation
agency personnel, whose time is limited and who are geographically distributed, usually no
more than five project meetings per year are possible. This limitation in meeting time can
cause delays in product development decisions, incomplete participation in product
analysis/design, and reduces considerably the interaction between contractor and task force
personnel. A communication tool which facilitates issue notification and resolution, review of
deliverables (at the analysis, design, construction, and validation levels), and project
documentation (updated project plans/status, meeting minutes, and project correspondence)
is strongly recommended for AASHTOWare development.
Page 27 06/10/2009
Development Methodology Guideline 1.020.02G
7. Projects
7.1 Project Types
1. Information Strategy Plan (ISP):
The Information Strategy Plan populates the Architectural Layer of the ADM (see section
III of this document for a detailed description of the objectives and deliverables of this
layer). ISP can be performed as an independent project or as the first phase of system
development. All of the other layers of the methodology are dependant on the planning
layer and consequently it must be developed first. When the ISP is developed as a
separate product and under separate contract, it is useful if the deliverables which are
machine readable are usable by the developers of the lower layers.
This type of project is not currently employed for the development of AASHTOWare.
2. Business Area Analysis (BAA):
The Business Area Analysis populates the Analysis or Conceptual Layer of ADM (see
section III pf this document for descriptions of the objectives and deliverables of this
layer). The Analysis Layer is dependant upon the product of the Planning Layer and
thus the BAA cannot be begun until there is an ISP. When the BAA is developed as a
separate product and under a separate contract, it is important to pick CASE tools which
use compatible data formats to those employed in developing the ISP and those
intended for use in populating the lower layers.
Page 28 06/10/2009
Development Methodology Guideline 1.020.02G
This type of project is not currently employed for the development of AASHTOWare.
3. System Development:
System Development requires the completion and population of all of the layers of ADM.
System Development may be based on a preexistent ISP or BAA, or it can include their
development.
An AASHTOWare System Development project can begin with the Application Planning
phase of ADM. In this case the Application Planning and Spiral Analysis phases will be
used in place of an ISP and BAA to populate the architectural and conceptual layers.
Present AASHTOWare development practice relies upon sponsor and user
requirements to define the architectural and conceptual layers. System development is
thus begun at the implementation layer with an external design that is based on
requirements expressed in a contract, or informally by sponsors and users.
4. Business Process Re-Engineering (BPR):
Often the ISP and BAA reveal inefficiencies in business processes, or the External
Design, Business System Design (BSD), reveals that automation can facilitate beneficial
changes in business processes. If this occurs, a Business Process Re-Engineering
project can be initiated to make the indicated changes to the business. When the BPR
project results from and depends on System Development, there must be careful
planning and coordination of the changes to business processes and the implementation
of the new information system.
Though the implementation of AASHTOWare products may require changes to user
business processes, there is no formal use of BPR techniques, and the changes
required are often the result of accident rather than of plan.
5. Maintenance:
Maintenance projects may include all four model layers, but most usually, they effect
only the last two (Implementation and Execution). The maintenance project must begin
at the highest layer that is affected by the maintenance. This implies that all higher
layers are wholly complete and correct with regard to the planned maintenance.
AASHTOWare product maintenance never begins at a higher level than Design.
Whatever information there is about the higher layers (Architectural and Conceptual) is
contained or implied in user requirements.
System IB IB IB A M P P P P P P IT S S
Development
Business A M P S C S S S P IT* S S
Process Re-
Engineering
Page 29 06/10/2009
Development Methodology Guideline 1.020.02G
In the above table “A” indicates Administer, “M” indicates Management, “IB” Information
resource for Business requirements, “IT” indicates Information resource for Technology, “S”
indicates Support, “C” indicates Coordination with those who are managing and performing
the activities, while “P” indicates Performance of the development function. An “*” following a
table symbol indicates that there may not be a need for the role in some cases.
The acronyms used for column headings have the following meanings:
Process Re-Engineering ME ME
Maintenance ME ME or P P P
In the above table “P” indicates that the layer in question is produced in this type of
development project, “N/A” indicates that the layer is not applicable to this type of
development project, and “ME” means that this layer must be populated but is not produced
by this kind of development project.
8. Recommendations
Future RFPs should require, as part of the proposal, a description of the methodology which will
be used to complete or continue the proposed development. All of the phases of the
methodology should be described as well as the deliverables which can be expected as a result
of completion of each phase.
Also there should be required, as part of the proposal, a project plan which corresponds to the
proposed methodology. It should describe the tasks, including durations and resource
requirements, needed to accomplish the work. It should also indicate when the deliverables will
be submitted.
Page 30 06/10/2009
Development Methodology Guideline 1.020.02G
The AASHTOWare Development Methodology, as expressed in this document, should be
treated as a starting point for a process which probably will not be completed. This process
should consist in continuously revising the methodology based on information from developers,
changes in information technologies, and new requirements of participating transportation
agencies and joint development. Where the document does not fit the realities of joint
development, contractors should feel free to modify or omit activities which do not apply.
Constructive critiques of this document are encouraged.
Page 31 06/10/2009
Development Methodology Guideline 1.020.02G
9. APPENDICES
9.1 APPENDIX A: AASHTOWARE LIFECYCLE CHARTS
Page 32 06/10/2009
Development Methodology Guideline 1.020.02G
Page 33 06/10/2009
Development Methodology Guideline 1.020.02G
Page 34 06/10/2009
Development Methodology Guideline 1.020.02G
Page 35 06/10/2009
Development Methodology Guideline 1.020.02G
Page 36 06/10/2009
Development Methodology Guideline 1.020.02G
Page 37 06/10/2009
Development Methodology Guideline 1.020.02G
Page 38 06/10/2009
2 – Project
Management
No project management standards or guidelines exist at this time.
Future versions of the notebook will include project management
standards and/or guidelines.
This page is intentionally blank.
3 – Software
Engineering
This page is intentionally blank.
REQUIREMENTS
STANDARD
S&G Number: 3.010.02S
Effective Date: July 1, 2009
Document History
Version Revision Approval
Revision Description
No. Date Date
02 2/02/2009 Replaces REQM Standard (3.01.001.02). 03/04/2009
Reviewed and modified after T&AA and Approved by
AASHTOWare stakeholder reviews. SCOJD
-------------------------------------------------------------------
Additional minor changes and format modifications
for publishing were approved by T&AA on
06/16/2009.
06/16/2009
Requirements Standard Version 3.010.02S
Table of Contents
1. Purpose ............................................................................................................... 1
2. Task Force/Contractor Responsibilities........................................................... 1
3. Required Deliverables and Work Products ...................................................... 1
4. Procedures.......................................................................................................... 2
4.1 Develop and Document User Requirements ....................................................2
4.1.1 Elicit Business and User Needs........................................................................... 2
4.1.2 Develop User Requirements................................................................................ 2
4.2 Analyze and Approve User Requirements........................................................3
4.2.1 Review and Analyze User Requirements ............................................................ 3
4.2.2 Approve User Requirements Specification .......................................................... 3
4.2.3 Create Initial Requirements Traceability Matrix ................................................... 4
4.3 Develop and Document System Requirements................................................4
4.3.1 Develop System Requirements ........................................................................... 4
4.3.2 Develop Use Cases and Functional Model.......................................................... 4
4.3.3 Allocate Systems Requirements and Update Requirements Traceability Matrix 5
4.4 Analyze, Validate, and Approve Systems Requirements ................................5
4.4.1 Analyze and Validate System Requirements....................................................... 5
4.4.2 Approve Systems Requirements Specification.................................................... 6
4.5 Manage Changes to Requirements...................................................................6
4.6 Maintain Bi-Directional Traceability..................................................................7
4.7 Identify Inconsistencies.....................................................................................8
5. Technical Requirements .................................................................................... 8
6. Deliverable and Work Product Definitions ....................................................... 9
6.1 User Requirements Specification .....................................................................9
6.1.1 Description: .......................................................................................................... 9
6.1.2 Content................................................................................................................. 9
6.2 System Requirements Specification (SRS) ......................................................9
6.2.1 Description ........................................................................................................... 9
6.2.2 Content................................................................................................................. 9
6.3 Requirements Traceability Matrix ...................................................................10
6.3.1 Description ......................................................................................................... 10
6.3.2 Content............................................................................................................... 11
6.4 Deliverable Acceptance ...................................................................................11
6.4.1 Description ......................................................................................................... 11
6.4.2 Content............................................................................................................... 11
6.5 Change Request Acceptance ..........................................................................12
6.5.1 Description ......................................................................................................... 12
6.5.2 Content............................................................................................................... 12
Page i 06/16/2009
Requirements Standard Version 3.010.02S
1. Purpose
The purpose of the AASHTOWare Requirements Standard is to define the responsibilities of the
product task forces and contractors in developing and managing business needs, user
requirements, and system requirements for AASHTOWare product development. This standard
applies to new development and major enhancement projects and does not apply to minor
enhancements and software maintenance efforts. Refer to the Glossary in the Standards and
Guidelines Notebook for definitions of the types of projects and efforts.
The standard defines activities and outcomes that are considered best practices and should be
followed to ensure that AASHTOWare product development uses quality processes for
requirements development and requirements management that can be measured and
subsequently improved.
In addition, the standard defines certain activities that must be followed and work products that
must be produced in order to comply with the standard. These requirements are shown in red
italicized text.
Page 1 06/16/2009
Requirements Standard Version 3.010.02S
planned and tracked and must also be formally submitted to the task force for approval or
rejection. Definitions and content requirements are provided in the “Deliverable and Work
Product Definitions” section of this document.
● User Requirements Specification (URS) – Deliverable
● System Requirements Specification (SRS) – Deliverable
● Requirements Traceability Matrix (RTM) – Deliverable (A RTM is not normally created for
enhancements; refer to section 4.6 for further details.)
● Deliverable Acceptance for each URS, SRS, and RTM
● Change Request Acceptance for each change request
4. Procedures
The procedures described below define activities that are to be followed by the task force and/or
contractor and the results of those activities.
Page 2 06/16/2009
Requirements Standard Version 3.010.02S
Page 3 06/16/2009
Requirements Standard Version 3.010.02S
○ The commitment of both the task force and contractor to implementing all
requirements in the URS.
4.2.3 Create Initial Requirements Traceability Matrix
♦ After the task force has approved the URS, the contractor must create a
Requirements Traceability Matrix (RTM) that includes all user requirements in the
URS.
♦ Each user requirement entered in the RTM must include the same Requirement ID
used in the URS and must include a backwards reference to a documented need,
enhancement request, expectation, constraint, or interface.
♦ This initial version of the RTM is normally created early in the project life cycle.
♦ A RTM is normally not created for enhancements to an existing product. Refer to the
“Maintain Bi-Directional Traceability” and “Deliverable and Work Product Definition”
sections for more information on the RTM and the conditions when a RTM should be
created for enhancements.
Page 4 06/16/2009
Requirements Standard Version 3.010.02S
model is the hierarchical arrangement of functions and sub functions and their
internal and external functional interfaces and external physical interfaces.
♦ Other products such as operational concepts, scenarios, storyboards, and flow
diagrams may be used in lieu of or in addition to the use case and functional models.
4.3.3 Allocate Systems Requirements and Update Requirements
Traceability Matrix
♦ The contractor must enter each system requirement in the SRS into the RTM and
reference each to its source user requirement.
♦ Each system requirement should be allocated to a function, sub function, screen,
report and/or other design object of the proposed product.
♦ The allocation of system requirements to design objects must be documented as
forward traceability references in the RTM.
♦ Refer to the “Maintain Bi-Directional Traceability” and “Deliverable and Work Product
Definition” sections for more information on the RTM.
Page 5 06/16/2009
Requirements Standard Version 3.010.02S
Page 6 06/16/2009
Requirements Standard Version 3.010.02S
contractor and the originator of the request. If rejected, the reason for rejection
should be included.
o Evidence of the task force approval/rejection of each change request and the
communication to the contractor must be created and saved for future reference.
The Change Request Acceptance in the “Deliverables and Work Product
Definition” section defines the requirements for this documentation.
○ The contractor must modify the RTM to reflect additions, changes, or deletions
made to user or system requirements.
○ The contractor should modify plans, tasks, deliverables, and work products that
are impacted by approved change requests and should keep the task force
advised of progress and issues associated with the impacted items.
Page 7 06/16/2009
Requirements Standard Version 3.010.02S
♦ All requirements in the SRS include forward references to design objects and test
procedures.
♦ The RTM must be submitted as a deliverable to the task force prior to beta testing. If
no beta testing is performed, the RTM should be submitted after alpha testing is
completed.
♦ Evidence of the task force approval/rejection of the RTM and the communication to
the contractor must be created and saved for future reference. The Deliverable
Acceptance in the “Deliverables and Work Product Definition” section defines the
requirements for this documentation.
5. Technical Requirements
The Technical Architecture portion of the SRS should be used to document the specific
technical requirements that the proposed product must comply with.
Page 8 06/16/2009
Requirements Standard Version 3.010.02S
Page 9 06/16/2009
Requirements Standard Version 3.010.02S
♦ Technical Architecture: The SRS must contain requirements that define the
technical environment which must be supported by the proposed product. (Examples
are requirements which define platforms, databases, etc.).
♦ System Roles: The SRS must define the roles and skills needed for use and support
of the system. These identify the system users and stakeholders; define their roles
associated with the system; and define the skills needed to perform their roles. The
system roles are used in conjunction with the security requirements when defining
access permission for specific groups of system users or stakeholders. (Example
roles include users, managers, executives, system administrators, security
administrators, database administrators, and application support personnel).
♦ Functional Requirements: The SRS must contain functional requirements that define
the fundamental actions or behaviors that must take place within the product to
accept and process the inputs and to process and generate the outputs. Functional
requirements describe what the proposed product must do in order to fulfill the user
requirements. Functional requirements are normally described by use case models.
(Examples include validity checks, calculations, and data manipulations, input or
output sequences, and responses to abnormal situations).
Functional requirements are normally described by or supported by Use Case
models.
♦ Non Functional Requirements: The SRS must contain non-functional requirements
which specify criteria that can be used to judge the operation of a system, rather than
specific behaviors. Non functional requirements are requirements that are not
specifically concerned with the functionality of a system. They define the overall
qualities or attribute of the resulting product and place restrictions on how the user
requirements are to be met.
Non functional requirements should be broken down into types such as reliability,
accuracy, performance, scalability, testability, maintainability, security, usability,
interface, user interface, design constraints, and implementation constraints.
Security, accessibility, interface, user interface, and performance requirements must
always be included in the SRS.
Refer to the Security Standard for additional information regarding security
requirements.
The requirements that describe the approach for compliance with Section 508 of the
U.S. Rehabilitation Act and the Web Content Accessibility Guidelines (WCAG) of the
World Wide Web Consortium Web Accessibility Initiative (W3C WAI) must be
included with the accessibility requirements.
The interface requirements should include Data Transfer/Exchange requirements as
documented in the XML Standard.
♦ Data Models: The SRS must contain data models for all data to be stored or
exchanged with other systems. For existing systems, a reference or link to the
existing data model should be provided.
In addition to the requirement information, the SRS should include the following
document identification information: Project/Product Name, Contract Period, Version
Number, and Submission Date.
Page 10 06/16/2009
Requirements Standard Version 3.010.02S
documents that every requirement has been addressed in the design and that every
design object addresses a requirement. The RTM also documents that each requirement
is traced to a testing procedure.
A RTM is not normally created for enhancements to existing products. Refer to the
Maintain Bi-Directional Traceability (4.6) section for additional information.
6.3.2 Content
The RTM must contain the following content. The RTM is normally created as grid with
columns for each of the following items.
♦ User Requirement ID: The number or tag that uniquely identifies a user requirement.
All requirements from the approved URS must be included in the RTM and use the
same IDs used in the URS. Each requirement is normally a row in the matrix.
♦ User Requirement Source: A reference or link to source user need, expectation,
enhancement request, change request, constraint, interface, or other information that
was used to derive the user requirement. Multiple user requirements may be traced
to a User Requirement Source.
♦ System Requirement ID: The number or tag that uniquely identifies a system
requirement that was derived from the user requirement. Each system requirement
in the approved SRS must be entered in the RTM. Multiple system requirements
may be traced to a source user requirement.
♦ Design Object Reference: A reference or link to a design object that was derived
from a system requirement. Multiple design objects may be traced to a source
system requirement.
♦ Test Reference: A reference or link to the alpha or beta test procedure or script used
to test and accept a user or system requirement. Multiple tests references may be
traced to a source requirement.
♦ Note: The reference of system requirements to design objects and test procedures
may be alternately documented in other work products that are reviewed and
approved by the task force. In this case, a document must be prepared that
describes where the components of the RTM are located and how they are used to
define traceability. Each document must use the same Requirement IDs that are
used in the URS, SRS, and RTM.
In addition to the requirement information, the RTM should include the following
document identification information: Project/Product Name, Contract Period, Version
Number, and Submission Date.
Page 11 06/16/2009
Requirements Standard Version 3.010.02S
♦ Submission date
♦ Deliverable Name
♦ Task force approval or rejection decision
♦ Date of the decision
♦ Reason for rejection (if applicable)
The Deliverable Acceptance may be created and saved in any form acceptable to both
the task force and contractor, such as a letter, form, email, or minutes. Although not
required, it is recommended that the document be signed by the task force chair.
Page 12 06/16/2009
XML
STANDARD
S&G Number: 3.015.01S
Effective Date: July 1, 2009
Document History
Version Revision Approval
Revision Description
No. Date Date
01 2/03/2009 Replaces AASHTOWare XML Implementation and 03/04/2009
Migration guideline (3.03.G20.01). Reviewed and Approved by
updated by T&AA. Reviewed by stakeholders and SCOJD
then updated.
------------------------------------------------------------------
Additional minor changes and format modifications
for publishing were approved by T&AA on
06/16/2009.
06/16/2009
XML Standard 3.015.01S
Table of Contents
1. Purpose ............................................................................................................... 1
2. Task Force/Contractor Responsibilities........................................................... 1
2.1 For New Development Projects.........................................................................1
2.2 For Major Enhancement Projects......................................................................1
3. Required Deliverables and Work Products ...................................................... 2
3.1 For New Development Projects.........................................................................2
3.2 For Major Enhancement Projects......................................................................2
4. Procedures.......................................................................................................... 2
5. Technical Requirements and Recommendations............................................ 2
5.1 XML .....................................................................................................................2
5.2 TRANSXML .........................................................................................................2
5.3 Schemas .............................................................................................................3
5.4 Names .................................................................................................................3
5.5 Namespaces .......................................................................................................3
5.6 Data Dictionaries................................................................................................3
5.7 XML Tools...........................................................................................................3
6. Deliverable and Work Product Definitions ....................................................... 4
6.1 XML Strategy (included in product Strategic Plan)..........................................4
6.1.1 Description ........................................................................................................... 4
6.1.2 Content................................................................................................................. 4
6.2 Data Transfer/Exchange User Requirements ...................................................4
6.2.1 Description ........................................................................................................... 4
6.2.2 Content................................................................................................................. 4
6.3 Data Transfer/Exchange System Requirements ..............................................4
6.3.1 Description ........................................................................................................... 4
6.3.2 Content................................................................................................................. 4
6.3.3 XML Reporting Requirements.............................................................................. 5
Page i 06/16/2009
XML Standard 3.015.01S
1. Purpose
The purpose of this document is to provide details for the use of XML (eXtensible Markup
Language) in AASHTOWare products. This standard applies to new development and major
data transfer/exchange related enhancement projects. The standard does not normally apply to
minor maintenance and software maintenance efforts, however, it should be reviewed when
these efforts involve data transfer/exchange. Refer to the Glossary in the Standards and
Guidelines Notebook for definitions of the types of projects and efforts.
This standard includes certain activities that must be followed and work products that must be
produced in order to comply with the standard. These requirements are shown in red italicized
text.
Page 1 06/16/2009
XML Standard 3.015.01S
In addition to the above responsibilities, the task force has the responsibility of ensuring that the
required submissions, approvals, communications, documentation, and technical requirements
defined in this standard are complied with. In the event that a requirement of the standard
cannot be complied with, the task force chair should advise the SCOJD or T&AA liaison early in
the project/product life cycle. A request for an exception to the standard must be submitted to
the SCOJD with any necessary documentation for their consideration. Approval of exceptions
to the standards is under the purview of the SCOJD.
4. Procedures
Not Applicable
5.1 XML
XML is a general purpose specification for creating custom markup languages. It is flexible,
or extensible, because it allows users to define their own elements if needed rather than
follow a strict, limited format. The specification is recommended and maintained by the
World Wide Web Consortium (W3C). For a full definition of XML, refer to
http://en.wikipedia.org/wiki/XML.
AASHTOWare recognizes the benefit of XML as a method for data exchange and
recommends that all AASHTOWare products consider how the specification might be
utilized, either internally or externally.
W3C XML web site & link http://www.w3.org/XML/
to specifications
5.2 TRANSXML
In March of 2004, the National Cooperative Highway Research Program (NCHRP) began
Project 20-64, XML Schemas for Exchange of Transportation Data. The objectives of the
project were to develop broadly accepted public domain XML schemas for exchange of
Page 2 06/16/2009
XML Standard 3.015.01S
5.3 Schemas
Schema definitions for AASHTOWare products should be compatible with the W3C
specification and should follow the schemas developed under the TransXML project to the
extent possible. Maximum use of existing schema(s) should be made; development of
completely new schemas is unacceptable where there is an existing schema or an existing
schema that may be modified to meet the needs.
5.4 Names
XML names shall be W3C compliant, self-explanatory and meaningful to the business area.
When the possibility of data sharing between products exists, all of the involved product task
forces should review the proposed naming conventions to prevent ambiguous names.
Theses activities should be coordinated through AASHTO staff liaisons assigned to each
project or product.
5.5 Namespaces
Where namespaces are used, they shall be W3C compliant.
Namespaces in XML 1.1 (2nd http://www.w3.org/TR/2006/REC-xml-names11-20060816/
Edition)
Page 3 06/16/2009
XML Standard 3.015.01S
Page 4 06/16/2009
XML Standard 3.015.01S
Page 5 06/16/2009
This page is intentionally blank.
SECURITY
STANDARD
S&G Number: 3.020.01S
Effective Date: July 1, 2009
Document History
Version Revision Approval
Revision Description
No. Date Date
01 02/02/2009 Initial Draft. Reviewed and modified after T&AA 03/04/2009
and AASHTOWare stakeholder reviews. Approved by
------------------------------------------------------------------ SCOJD
Additional minor changes and format modifications
for publishing were approved by T&AA on
06/16/2009.
06/16/2009
Security Standard 3.020.01S
Table of Contents
1. Purpose ............................................................................................................... 1
2. Task Force/Contractor Responsibilities........................................................... 1
3. Required Deliverables and Work Products ...................................................... 1
4. Procedures.......................................................................................................... 1
4.1 Establish Security Requirements......................................................................1
4.2 Include AASHTOWare Security Technical Requirements ...............................2
4.3 Review Impact to Existing Security ..................................................................2
4.4 Test and Implement the Security Requirements ..............................................2
5. Technical Requirements .................................................................................... 2
5.1 Lightweight Directory Access Protocol (LDAP) ...............................................2
5.2 Encryption of Sensitive Data.............................................................................2
5.3 Role Based Security...........................................................................................3
5.4 Industry Standard Passwords ...........................................................................3
5.5 Appropriate Levels of Hardening ......................................................................3
5.6 Security Patches ................................................................................................3
6. Deliverable and Work Product Definitions ....................................................... 4
6.1 Security Requirements ......................................................................................4
6.1.1 Description ........................................................................................................... 4
6.1.2 Content................................................................................................................. 4
6.2 System Roles......................................................................................................4
6.2.1 Description ........................................................................................................... 4
6.2.2 Content................................................................................................................. 4
Page i 06/16/2009
Security Standard 3.020.01S
1. Purpose
AASHTOWare recognizes its responsibility for providing secure applications. Further,
AASHTOWare endorses and demands that applications delivered meet user needs and
maintain the highest level of application, data, and infrastructure security as practical. This
standard defines the security requirements and responsibilities that must be met when
developing AASHTOWare products.
This standard applies to new development and major security related enhancement projects.
The standard does not normally apply to minor maintenance and software maintenance efforts,
however, it should be reviewed when these efforts involve security.
Refer to the Glossary in the Standards and Guidelines Notebook for definitions of the types of
projects and efforts. In addition, the standard primarily addresses multi-user applications except
where noted otherwise.
The Security Standard includes certain activities that must be followed and work products that
must be produced in order to comply with the standard. These requirements are shown in red
italicized text.
4. Procedures
4.1 Establish Security Requirements
For each new development or major enhancement effort, the task force and/or contractor
should:
■ Analyze the business needs, expectations, and constraints that impact the data,
application, and system security,
Page 1 06/16/2009
Security Standard 3.020.01S
■ Define the applicable security requirements and system roles for the effort and include in
the System Requirements Specification (SRS).
5. Technical Requirements
Research performed by T&AA reveals that there is a wide variety of tools, products, and
computer environments in use at member agencies. Such variety exists that identifying detailed
security requirements is not practical. Therefore, the following high-level security requirements
are identified.
In addition to the standards listed below, product contractors and task forces are responsible for
ensuring that industry best security practices and emerging security trends are considered and
implemented appropriately.
Page 2 06/16/2009
Security Standard 3.020.01S
Page 3 06/16/2009
Security Standard 3.020.01S
reasonable timeframe from when the manufacturer of the third-party component makes
patches available.
Page 4 06/16/2009
PRODUCT GRAPHICAL
INTERFACE STANDARD
S&G Number: 3.030.03S
Effective Date: July 1, 2009
Document History
Version Revision Approval
Revision Description
No. Date Date
01 Oct. 2000 Initial Version. Oct. 2000
02 June 2001 This specification is a revision of the “Graphical April 2002
Interface Guideline, No: 3.10.G10.01 and replaces
“User Interface Standards”, No: 3.10.100.02.
03 06/15/2009 Applied standard template and changed standard 06/16/2009
number from 3.03.010.02 to 3.030.03S. Made Approved by
minor changes and format modifications. T&AA
06/15/2009
AASHTOWare Product Graphical Interface 3.030.02S
2. Description
This specification describes requirements and recommendations for the graphical user
interfaces of AASHTOWare products. Emphasis will be on MS Windows operating
environments since most AASHTOWare development is for these platforms.
4. Benefits or Advantages
Observance of this specification will reduce the time required to learn how to use the product. It
will also improve its marketability.
5. Costs or Disadvantages
Additional development costs may be incurred. These should be offset by training and usability
improvements.
Page 1 06/15/2009
AASHTOWare Product Graphical Interface 3.030.02S
6. Implementation Method
This specification should be observed for all AASHTOWare product releases that occur after its
effective date.
Page 2 06/15/2009
This page is intentionally blank.
DATABASE SELECTION
AND USE GUIDELINE
S&G Number: 3.040.02G
Effective Date: July 1, 2009
Document History
Version Revision Approval
Revision Description
No. Date Date
02 06/09/2009 Replaces existing Database Selection Guideline 06/16/2009
(3.03.G50.01). Reviewed by T&AA. Reviewed by Approved by
stakeholders and changes were made. T&AA
06/09/2009
Database Selection and Use Guideline 3.040.02G
Table of Contents
1. Purpose ............................................................................................................... 1
2. Task Force/Contractor Responsibilities........................................................... 1
3. Recommended Deliverables and Work Products ............................................ 1
4. Procedures.......................................................................................................... 1
4.1 New Database Notification ................................................................................1
4.2 Discontinued Database Planning......................................................................2
4.3 Database Selection ............................................................................................2
4.3.1 Database Selection Criteria ................................................................................. 2
4.3.2 Additional Considerations .................................................................................... 3
4.4 Update Public Web Site and/or Product Catalog .............................................3
5. Technical Recommendations ............................................................................ 3
5.1 Enterprise (Multi-User) User Databases ...........................................................3
5.2 Standalone (Single User) Databases ................................................................3
6. Deliverable and Work Product Definitions ....................................................... 4
6.1 Published List of Database Platforms and Versions .......................................4
6.1.1 Description ........................................................................................................... 4
6.1.2 Content................................................................................................................. 4
Page i 06/09/2009
Database Selection and Use Guideline 3.040.02G
1. Purpose
Relational databases are the preferred method of data storage for application programs. This is
especially true for multi-user applications, where data update coordination between many users
is essential. Databases provide built-in functions that lend themselves to performance, security,
and multi-user access.
It is the intent of this guideline to apply industry standards in the use of databases in
AASHTOWare product development. In addition, the guideline provides information and
recommendations which promote the preservation, sharing, and exchange of data supported by
AASHTOWare products. This guideline is applicable and should be considered for new product
databases; database support of existing products; development efforts that include the
establishment/replacement of an application data storage repository; and efforts that include
major enhancements to the data storage repository.
4. Procedures
4.1 New Database Notification
When a project/product task force is making plans to add support for a new database
platform, the task force chair person should advise the T&AA liaison or T&AA task force
chair person. This is strictly a courtesy notification and may be communicated verbally, by
phone, or email. This will allow T&AA to communicate any concerns to the project/product
task force and contractor early in the product development life cycle.
4.3.1.3 Scalability
The products recommended are highly scalable within their product family.
4.3.1.4 Security
The product recommended should have adequate security features for database
administration.
4.3.1.7 Replication
The products chosen support replicating data across a network and to different
server environments.
5. Technical Recommendations
5.1 Enterprise (Multi-User) User Databases
The following enterprise databases are recommended for new and existing AASHTOWare
product development.
■ Oracle
■ Microsoft SQL Server
6.1.2 Content
The content should include the product, product version, database platforms, and
database versions.
Document History
Version Revision Approval
Revision Description
No. Date Date
01 Nov. 1993 Initial version of the specification Jan. 1994
02 April 1997 Update to permit distribution of machine readable June 1997
documentation.
03 Dec. 2005 Remove all definitions relating to requirements to Jun 2006
prepare for Requirements Management
implementation. Remove Appendix B which
duplicates information in the AASHTOWare
Lifecycle Framework (ALF). Simplify information
defining page numbering.
04 06/10/2009 Changed standard number from 3.04.020.03 to 06/16/2009
3.050.04S; and applied standard template. Approved by
Made minor changes and format modifications. T&AA
06/10/2009
Product Documentation Standard 3.050.04S
Table of Contents
1. Documentation Types ........................................................................................ 1
1.1 Requirements Documentation - User and System Requirements .................1
1.1.1 Purpose:............................................................................................................... 1
1.1.2 Audience: ............................................................................................................. 2
1.1.3 Distribution: .......................................................................................................... 2
1.2 Internal Documentation - Product Development / Modification, and
Maintenance ..................................................................................................................2
1.2.1 Purpose:............................................................................................................... 2
1.2.2 Audience: ............................................................................................................. 2
1.2.3 Distribution: .......................................................................................................... 2
1.3 User Documentation - Product Use ..................................................................3
1.3.1 Purpose:............................................................................................................... 3
1.3.2 Audience: ............................................................................................................. 3
1.3.3 Distribution: .......................................................................................................... 3
1.4 System Documentation - Product Implementation and Administration.........3
1.4.1 Purpose:............................................................................................................... 3
1.4.2 Audience: ............................................................................................................. 3
1.4.3 Distribution: .......................................................................................................... 3
1.5 Promotional Documentation..............................................................................3
1.5.1 Purpose:............................................................................................................... 3
1.5.2 Audience: ............................................................................................................. 3
1.5.3 Distribution: .......................................................................................................... 4
1.6 Requirements: ....................................................................................................4
2. Document Format and Organization................................................................. 4
2.1 Medium ...............................................................................................................4
2.2 Organization Components.................................................................................4
2.3 Numbering Requirements..................................................................................6
2.4 Revision Recommendations .............................................................................6
3. Requirements Documentation........................................................................... 6
3.1 User Requirements Specification .....................................................................6
3.2 System Requirement Specification...................................................................6
4. Internal Documentation ..................................................................................... 6
4.1 Physical Data Design or Model .........................................................................6
4.1.1 Physical Database Design ................................................................................... 6
4.1.2 Data Model/Physical Data Mapping..................................................................... 6
4.2 Physical Process Design or Model ...................................................................7
4.2.1 Physical Process Design ..................................................................................... 7
4.2.2 Processing Model/Module Mapping..................................................................... 7
4.2.3 Module Relationship Mapping.............................................................................. 7
4.2.4 Environment Specifications.................................................................................. 7
5. User Documentation .......................................................................................... 7
5.1 Reference............................................................................................................7
5.1.1 Quick Reference .................................................................................................. 7
5.1.2 Expanded Reference ........................................................................................... 7
5.2 Learning Guide...................................................................................................8
6. Systems Documentation.................................................................................... 8
Page i 06/10/2009
Product Documentation Standard 3.050.04S
Page ii 06/10/2009
Product Documentation Standard 3.050.04S
1. Documentation Types
Development of effective documentation depends upon an understanding of the documents
purpose and an appreciation of the intended audience. The following sections define and
distinguish, on the basis of purpose and audience, the five types of documentation which apply
to AASHTOWare applications.
Page 1 06/10/2009
Product Documentation Standard 3.050.04S
□ Interface Description Models defining the interrelation of processing and data for
all interfaces with other systems.
□ Other Analysis Models: optional area containing all other analysis models that
the Task Force and contractor deem necessary or useful for defining the system.
□ User Interface Prototype: optional area containing information on prototypes
developed to confirm interface requirements.
1.1.2 Audience:
The user requirements specification should be expressed in terms suitable for
submission to users, sponsors, and non- information processing professionals. The
system requirements specification should be addressed to both the non-professional and
professional, so that it may serve as a bridge between the user’s and the developer’s
idea as to what the system should do.
1.1.3 Distribution:
External documentation should be supplied upon request by AASHTO Administration.
Page 2 06/10/2009
Product Documentation Standard 3.050.04S
Page 3 06/10/2009
Product Documentation Standard 3.050.04S
○ It should describe what the product does in terms the manager, administrator,
executive, and procurement agent can understand.
○ It should provide means for acquiring additional information or for ordering the
product either for demonstration or permanent use.
○ Information should be provided on future events such as new releases, new features,
and user group conferences.
1.5.3 Distribution:
Production and distribution of this material are the responsibilities of the Project or
Product Task Forces.
1.6 Requirements:
Of the above document types, only Promotional Documentation is optional at the
discretion of the project or product task force; the rest are required as defined.
The above document types and the information they contain must remain distinct even
when they are combined in a single volume. In other words, information appropriate to
the different document types should not be intermixed. Information which is of a
sensitive nature should be segregated in such a fashion as to be separated easily.
Finally, information which has different audiences should be segregated into separate
volumes.
Page 4 06/10/2009
Product Documentation Standard 3.050.04S
Credits for all trademarks used in the document should also appear in this component.
This component is required for all AASHTOWare application documents.
■ The table of contents entries should contain the title of the information referenced and its
page number. If the page number and the title are widely separated, lines, periods or
some other character should be used to lead the eye across the intervening space.
Table of contents entries should be arranged in the same order as the topics referenced.
Table of contents entries should distinguish between major topics and subordinate topics
by bolding or indentation. The structure of the document should be evident in the
structure of the table of contents.
This component is optional only for very small documents, promotional documents, and
internal documentation.
■ The table of figures or illustrations should provide a list of the titled graphics contained in
the document.
This component is optional.
■ The preface or summary component should define the purpose of the document,
summarize its contents, and describe the audience for whom it is intended.
The requirements for this component are the same as those for the table of contents.
■ Document text varies according to the type of document (see the following sections for
the specific requirements relating to each specific document type).
This component is required for all AASHTOWare application documents.
■ A glossary should serve as a dictionary for terminology, used in the document, which the
reader might not understand or that requires precise or special definition. The expansion
and definition of acronyms which appear in the text should be included.
The entries in the glossary should be sequenced alphabetically.
This component is optional but strongly recommended.
■ The appendices should contain information which is occasionally needed and would not
be appropriate in the text portion.
Examples of information which might go into an appendix are error codes with
explanations of corrective actions, Useful examples of product usage, command
summary, keyboard and mouse assignments, and specifications on limits and capacities
of the product.
This component is optional.
■ A list of references supporting all citations occurring in the document should be provided.
This component should employ standard bibliography formats.
■ The index should enable the user to locate key information in the document.
Index entries should be arranged alphabetically and include the location in the manual
where the term or keyword is used.
The index should not reference text where terms are merely used and no substantive
information explaining them is provided.
This component is optional for all types of documents except User and Systems.
■ The order notice, when present, should include information for acquiring additional
copies of the document or for requesting permission to copy.
Page 5 06/10/2009
Product Documentation Standard 3.050.04S
3. Requirements Documentation
3.1 User Requirements Specification
Refer to the “30100101 AASHTOWare Requirements Management Standard” to find
definitions of user and system requirements.
4. Internal Documentation
The Internal Documentation (Physical Database and Process Design) includes all elements
necessary to develop, implement, and maintain a working system on all the platforms
supported.
Page 6 06/10/2009
Product Documentation Standard 3.050.04S
5. User Documentation
5.1 Reference
5.1.1 Quick Reference
This optional document usually includes frequently used commands and procedures
taken from the expanded reference and presented in schematic form. It is useful to
users who are familiar with the operation of the application and as a consequence do not
need explanation of the commands or procedures in question. Quick references should
be produced if it saves the time and effort of experienced users.
This form of documentation can often be incorporated in the software application itself
(on-line command references and context specific help are examples of this) and in that
case is not needed as a separate hard copy document.
5.1.2 Expanded Reference
○ The expanded reference should express briefly and simply all information needed to
use (not learn to use) the product. Every functional capability, all inputs, and all
Page 7 06/10/2009
Product Documentation Standard 3.050.04S
6. Systems Documentation
Systems documentation should normally be divided by function. The following sections
describe these functions.
Page 8 06/10/2009
Product Documentation Standard 3.050.04S
Page 9 06/10/2009
Product Documentation Standard 3.050.04S
7. Appendices
7.1 Appendix A: Document Requirements Table
7.1.1 Keys:
R = Required
O = Optional (at the discretion of the Project or Product Task Force)
S = Standard Paper Size of 8.5" X 11" (consistent with method of update)
NSM = Non Standard Size Machine Listings
NSP = Non Standard Size Printed Text
MRD = Machine Readable Documentation residing on tape, diskette or CD ROM for
example (If a required document is supplied in machine readable format only, then the
software and instructions for printing the document must also be supplied.)
MRS = Machine Readable Development Tool Data such as Analysis, Design, and
Construction Models or Source Code
7.1.2 Notes:
(1) This column indicates whether a document is required or optional.
(2) This column indicates medium types which are permissible for the given document.
(3) This column indicates requirements for machine readable development tool input
and output. All non-proprietary machine readable material necessary to maintain or
modify the product must be provided to AASHTO staff with the distribution of each
new release. This should include such items as source code, frameworks, load
modules, data dictionaries, and model or component libraries.
Page 10 06/10/2009
Product Documentation Standard 3.050.04S
Page 11 06/10/2009
GLOSSARY OF PRODUCT
TERMINOLOGY
STANDARD
S&G Number: 3.060.03S
Effective Date: July 1, 2009
Document History
Version Revision Approval
Revision Description
No. Date Date
01 April 1995 Initial Version April 1995
02 March 2000 This standard was updated to current March 2000
AASHTOWare and industry practices. Software
systems have become increasing complex,
requiring more advanced product versioning
control and documentation. That same
information must now be reflected through
standard GUI interfaces to provide the developer,
implementer and end-user fast, reliable and
accurate information about the software
application and related components.
03 06/10/2009 Applied standard template and changed new 06/16/2009
standard number from 3.04.040.02 to 3.060.03S. Approved by
Made minor changes and format modifications. T&AA
06/10/2009
Glossary of Product Terminology Standard 3.060.03S
Table of Contents
1. Introduction......................................................................................................... 1
1.1 AASHTO..............................................................................................................1
1.2 AASHTOWare .....................................................................................................1
2. AASHTOWare Product Nomenclature .............................................................. 1
2.1 Owner Name .......................................................................................................1
2.2 Family Name .......................................................................................................1
2.3 Product Name.....................................................................................................1
2.4 Module Name......................................................................................................1
2.5 Version Name .....................................................................................................2
2.5.1 Major Version Number ......................................................................................... 2
2.5.2 Minor Version Number ......................................................................................... 2
2.5.3 Maintenance Version Number ............................................................................. 2
2.5.4 Build Version Number .......................................................................................... 2
2.6 Platform Name....................................................................................................2
2.6.1 Syntax .................................................................................................................. 2
2.6.2 Examples ............................................................................................................. 2
2.7 Edition Name ......................................................................................................3
2.7.1 Syntax .................................................................................................................. 3
2.7.2 Examples ............................................................................................................. 3
2.7.3 Functional Name .................................................................................................. 3
2.7.4 Syntax .................................................................................................................. 3
2.7.5 Examples ............................................................................................................. 3
2.8 Trade Name.........................................................................................................3
2.8.1 Syntax .................................................................................................................. 3
2.8.2 Examples ............................................................................................................. 3
3. AASHTOWare Product Identification................................................................ 3
3.1 AASHTO Logo ....................................................................................................4
3.2 AASHTOWare Logo............................................................................................4
3.3 AASHTOWare Family Logo ...............................................................................4
3.4 AASHTOWare Product Logo .............................................................................4
3.5 AASHTOWare Product Icon...............................................................................5
3.6 AASHTOWare Product Splash Screen..............................................................5
3.7 AASHTOWare Product About Dialog Box ........................................................5
Page i 06/10/2009
Glossary of Product Terminology Standard 3.060.03S
1. Introduction
AASHTO has established the AASHTOWare Product Terminology standard to assist
AASHTOWare contractors and users in proper use of the AASHTOWare terminology for
product nomenclature and identification. AASHTO reserves the right to change this standard at
any time at its discretion. The AASHTOWare contractors must comply with this standard as
amended from time to time.
The AASHTOWare Product Terminology standard provides a source for consistent and correct
usage for terms and graphics that are specific to the AASHTOWare products. This standard is
applicable to all AASHTOWare documentation and packaging describing the AASHTOWare
products and services.
To comply with the AASHTOWare Product Terminology standard it is important to understand
and differentiate the usage of the term AASHTO and AASHTOWare.
1.1 AASHTO
The term AASHTO is the acronym for American Association of State Highway and
Transportation Officials and is a registered trademark of the American Association of State
Highway and Transportation Officials, Inc.
1.2 AASHTOWare
The term AASHTOWare is a registered trademark and service mark of AASHTO. It
collectively represents all intellectual property including computer software products
resulting from the AASHTO Cooperative Software Development Program.
Page 1 06/10/2009
Glossary of Product Terminology Standard 3.060.03S
Page 2 06/10/2009
Glossary of Product Terminology Standard 3.060.03S
Page 4 06/10/2009
Glossary of Product Terminology Standard 3.060.03S
Page 5 06/10/2009
Glossary of Product Terminology Standard 3.060.03S
Page 6 06/10/2009
TESTING STANDARD
Document History
Version Revision Approval
Revision Description
No. Date Date
01 Sep. 2006 Initial version of the specification Oct. 2006
02 06/10/2009 Changed standard number from 3.06.001.01 to 06/16/2009
3.080.02S, and applied standard template. Approved by
Made minor changes and format modifications. T&AA
06/10/2009
Testing Standard 3.080.02S
Table of Contents
1. Introduction......................................................................................................... 6
1.1 Purpose of Testing.............................................................................................6
1.2 Definitions ..........................................................................................................7
1.3 Deliverables ........................................................................................................8
2. Procedure Definitions ........................................................................................ 9
2.1 Test 1: Test Planning .........................................................................................9
2.1.1 Description ........................................................................................................... 9
2.1.2 Participation in Testing Process Flow .................................................................. 9
2.1.3 Task Force Activities ............................................................................................ 9
2.2 Test 2: Preparation of Test Instance .................................................................9
2.2.1 Description ........................................................................................................... 9
2.2.2 Participation in Testing Process Flow ................................................................ 10
2.3 Test 3: Walkthrough.........................................................................................10
2.3.1 Description ......................................................................................................... 10
2.3.2 Participation in Testing Process Flow ................................................................ 10
2.3.3 Stakeholder Activities......................................................................................... 10
2.4 Test 4: Unit Testing ..........................................................................................11
2.4.1 Description ......................................................................................................... 11
2.4.2 Participation in Testing Process Flow ................................................................ 11
2.5 Test 5: Build Testing ........................................................................................11
2.5.1 Description ......................................................................................................... 11
2.5.2 Participation in Testing Process Flow ................................................................ 12
2.6 Test 6: System Testing ....................................................................................12
2.6.1 Description ......................................................................................................... 12
2.6.2 Participation in Testing Process Flow ................................................................ 12
2.7 Test 7: Alpha Testing .......................................................................................12
2.7.1 Description ......................................................................................................... 12
2.7.2 Participation in Testing Process Flow ................................................................ 13
2.7.3 Task Force Activities .......................................................................................... 13
2.8 Test 8: Beta Testing .........................................................................................13
2.8.1 Description ......................................................................................................... 13
2.8.2 Participation in Testing Process Flow ................................................................ 14
2.8.3 Task Force Activities .......................................................................................... 14
2.8.4 Tester Activities.................................................................................................. 15
2.9 Test 9: Peer Review and Exception Correction..............................................16
2.9.1 Description ......................................................................................................... 16
2.9.2 Participation in Testing Process Flow ................................................................ 16
2.10 Test 10: Alpha Testing Acceptance ................................................................16
2.10.1 Description ......................................................................................................... 16
2.10.2 Participation in Testing Process Flow ................................................................ 16
2.10.3 Task Force Activities .......................................................................................... 16
2.11 Test 11: Beta Testing Acceptance ..................................................................17
2.11.1 Description ......................................................................................................... 17
2.11.2 Participation in Testing Process Flow ................................................................ 17
2.11.3 Task Force Activities .......................................................................................... 17
2.12 Test 12: Installation..........................................................................................17
2.12.1 Description ......................................................................................................... 17
2.12.2 Participation in Testing Process Flow ................................................................ 18
Page 1 06/10/2009
Testing Standard 3.080.02S
Page 2 06/10/2009
Testing Standard 3.080.02S
Page 3 06/10/2009
Testing Standard 3.080.02S
(1) Where testing tools are employed by AASHTOWare contractors, formats of Work
Product Definitions may be modified to conform to those provided by the chosen tool.
The content of deliverables, however, may not be changed. If the tool does not provide
for recording some of the content information, it will have to be added, as a supplement,
by the contractor.
Page 4 06/10/2009
Testing Standard 3.080.02S
(2) Project Type Requirements - For the purposes of the table above “All Types” is defined
as including “New Development,” “Enhancement,” and “Major Maintenance,” while it is
defined as excluding “Minor Maintenance.”
○ New Development (ND) – For each new development effort all Testing Procedures
and Work Product Definitions are required.
○ Enhancement (E) – For each enhancement effort, a statement will be included
defining the Testing Procedures and Work Product Definitions to be followed based
on this specification. The Task Force will review and determine, for each
enhancement, if deviations from the Testing Specification are warranted and, if so,
they need to be justified/documented in the Product Work Plan.
○ Major Maintenance (MajM) – For each major maintenance version, the Task Force
will receive from the contractor a statement which will define the Test Procedures
and Work Product Definitions to be followed, based on the Testing Specification. The
Task Force will review, if any deviations from the Testing Specification are proposed,
to determine if the need is justified. The Task Force will be responsible that decisions
will be documented before work is initiated.
○ Minor Maintenance (MinM) – This project type represents the temporary fix or repair
of an existing product module. The temporary fix or repair results must not add to,
change nor delete from the functionality of a product module. Minor maintenance is
outside the scope of this Specification.
(3) Use of the “Requirements Traceability Matrix” to store and deliver the Test Procedures
and Result Criteria is optional. They may be delivered in the Alpha or “Beta Test
Acceptance Report”. Wherever they are stored and delivered, it is required that they be
backward linked to a requirement in the “Requirements Traceability Matrix”.
See the attached specification for descriptions of the Testing Procedures and Work Product
Definitions.
Page 5 06/10/2009
Testing Standard 3.080.02S
1. Introduction
1.1 Purpose of Testing
The purpose for testing AASHTOWare systems or system components is to insure that the
specified requirements are met (this is called verification) and to demonstrate that a system
or system component fulfills its intended use when placed in its intended environment (this
is called validation). In other words, verification ensures that “you built it right;” whereas,
validation ensures that “you built the right thing.”
The following table describes how Verification and Validation are supported by the
procedures of this specification.
Testing Procedure Verification Validation?
?
Test 1: Test Planning Yes Yes
Test 2: Preparation of Test Yes Yes
Instance
Test 3: Walkthrough Yes Yes
Test 4: Unit Testing Yes N/A
Test 5: Build Testing Yes N/A
Test 6: System Testing Yes N/A
Test 7: Alpha Testing Yes N/A
Test 8: Beta Testing N/A Yes
Test 9: Peer Review and Yes Yes
Correction
Test 10: Alpha Testing Yes N/A
Acceptance
Test 11: Beta Testing Acceptance N/A Yes
Test 12: Installation N/A Yes
Page 6 06/10/2009
Testing Standard 3.080.02S
The following highlighted table shows the AASHTOWare Lifecycle phases, which contain
testing activities.
Strategy/ Tactic/ Requirement/ Verification/ Product
Contract Planning Design Construction Implementation
Proposal Solicitation Analysis Validation Maintenance
1.2 Definitions
In order to reduce confusions and simplify the text of this document, the following definitions
are provided:
■ Project/Product Work Plan – this term refers to the activities, schedule, and resource
costs proposed and contracted to satisfy the defined user requirements. This plan is
developed in the Tactics / Solicitation phase of the AASHTOWare Lifecycle and is
established in the Contract phase. A Project/Product Work Plan is usually an annual
plan, and the work described within it is scheduled to correspond to the AASHTO fiscal
year.
■ Work Product Definition – A Work Product Definition usually the criteria of acceptance,
format, content, responsibilities, and usage of an artifact.
■ Requirements Traceability Matrix: the Requirements Traceability Matrix is the repository
of all the traceable objects. It is the method used to manage the requirements and is
capable of all the attribute definition and linking (source, derivative, and horizontal)
needed to support traceability. The Requirements Traceability Matrix is an artifact or
requirements management.
■ Project Types:
○ New Development – This project type represents the addition of major new functional
requirements to an existing product line or to an existing product module; or the
creation of a new product line or product module. New Development is formally
identified and approved through user groups, technical advisory committees, project
task forces, and the Subcommittee on Joint Development.
Example: Addition to product line of new module.
○ Enhancement – This project type represents the addition of new features to an
existing product module; or the correction of limited-scope, non-critical
inconsistencies or inadequacies of a product module. Enhancements are formally
identified and approved through user groups, technical advisory committees, and
product task forces. For each enhancement effort, a statement will be included
defining the test procedures to be followed based on the Testing Specification. The
Task Force will review and determine, for each enhancement, if deviations from the
Testing Specification are warranted and, if so, they need to be justified/documented
in the Product Work Plan.
Example: Upgrade of a product's or a module's technical platform (i.e. use of new
data base or teleprocessing technology).
○ Major Maintenance – This project type represents the SCHEDULED repair of an
existing product module or the product's technical operating environment which is
required to enable successful execution of the product as prescribed by business
requirements. For each major maintenance version, the Task Force will receive from
the contractor a statement which will define the test procedures to be followed,
based on the Testing Specification. The Task Force will review, if any deviations
from the Testing Specification are proposed, to determine if the need is justified. The
Task Force will be responsible that decisions will be documented before work is
initiated.
Page 7 06/10/2009
Testing Standard 3.080.02S
1.3 Deliverables
The required deliverables for testing are:
■ A Test Plan, described in the Work Product Definitions section below, specifies the
schedule, activities, and resources required to perform the testing of a system, system
components, documentation, or procedures. It also includes a schedule of deliverables.
It is a component of the Project / Product Work Plan.
■ The Distribution Test Materials, described in the Work Product Definitions section below,
contains all of the materials needed by the beta test participant to implement and
perform beta testing in the appropriate environment and to report the results.
■ A Traceability Matrix (see Requirements Traceability Matrix in the Work Product
Definitions section of the “301001 Requirements Management” specification) contains
the requirements to be tested. This deliverable is optional for it may be used to store the
test procedures and result criteria and to backward and forward link them to the tested
requirement. Since it is required that the test procedures and result criteria be stored, as
part of the Test Instance Report, in the Beta Test Acceptance Report or the Alpha Test
Acceptance Report, their storage in the Requirements Traceability Matrix is allowed for
convenience.
■ Alpha Test Acceptance Report, described in the Work Product Definitions section below,
contains the identification (ID) of requirements (from the “Requirements Traceability
Matrix” - this is the same as a backward link to the requirement), the test procedures /
result criteria, the identification of the system being tested, the summary of test results,
the documented exceptions, and the approved / accepted resolutions for all contributing
test types (Unit, Build, System, and Alpha).
■ Beta Test Acceptance Report, described in the “Work Product Definitions” section below,
contains the Requirement ID (from the “Requirements Traceability Matrix” - this is the
same as a backward link to the requirement), Test Procedures / Result Criteria,
summary of Test Results, documented Exceptions, Approved and Accepted Exception
Resolutions. The report contains all tests performed for Beta Testing.
■ Installation Materials contain all procedures, executables, and documentation needed to
implement and operate the delivered system at the user agency site.
■ Installation Status Report contains the number of licensees, date/agency of each
successful installation, date/agency/description of each problem encountered, and
date/agency/description of each problem resolution. When the Task Force approves the
Installation Status Report, testing is complete.
Page 8 06/10/2009
Testing Standard 3.080.02S
2. Procedure Definitions
2.1 Test 1: Test Planning
2.1.1 Description
The purpose of the Test Plan is to define the schedule of activities for testing the system
being developed. The Test Plan is developed prior to the performance of any testing
activities, though it may be modified, using the procedures of Project Planning,
whenever the need arises.
The Test Plan is a required deliverable which must be consistent with the specification of
the same name, provided below in the Work Product Definitions section.
Test 1: Test Planning is required for all project types (new development, enhancements,
maintenance).
This procedure defines the activities needed to accomplish the following tasks:
○ Develop Test Plan.
○ Accomplish Task Force review and approval.
2.1.2 Participation in Testing Process Flow
This procedure may be started any time after contract approval. This procedure is
complete when the Test Plan is approved by the Task Force and the Supplier
Agreement Management procedures are completed.
2.1.3 Task Force Activities
The contractor will develop the Test Plan and submit it to the Project/Product Task Force
for approval.
2.1.3.1 Review and Approve or Reject with Reasons the Test Plan
The Task Force shall review the plan for consistency with the Test Plan work product
definition. After review, notify the contractor of approval or rejection.
If the Test Plan is rejected, reasons for that rejection shall be included in the
notification so that the contractor may make appropriate revisions to the plan and
resubmit it.
If the Test Plan is approved, it is forwarded to the Project Planning procedures for
integration in the appropriate plan. After this is complete, the Test Plan is submitted
as a deliverable for processing by the Supplier Agreement Management procedures
Page 9 06/10/2009
Testing Standard 3.080.02S
Each new test instance and its test results shall be documented in accordance with the
Test Instance Report work product definition. These documents, when complete, shall
be stored in accordance with the Test Results Repository work product definition.
Test 2: Preparation of Test Instance is mandatory for all project types (new
development, enhancements, maintenance).
This procedure defines the activities needed to accomplish the following tasks:
□ Identify system or component and test type for a new version of a test instance.
□ Establish test requirements.
□ Establish test procedures and result criteria.
□ Establish system or system component to be tested.
2.2.2 Participation in Testing Process Flow
See Figure 1 for a description of this procedure and Figure 1 through Figure 4 below for
demonstrations of all of the possible interactions with other procedures.
Page 10 06/10/2009
Testing Standard 3.080.02S
Page 11 06/10/2009
Testing Standard 3.080.02S
○ Store the build test results and complete test or continue iteration.
2.5.2 Participation in Testing Process Flow
See Figure 2: Unit, Build, and System Test Iterations above.
Page 12 06/10/2009
Testing Standard 3.080.02S
Page 13 06/10/2009
Testing Standard 3.080.02S
system or system components, perform the included test procedures, and report the
testing results, especially exceptions to the result criteria.
For a more thorough discussion, see the Beta Test Criteria section of the Test Criteria
work product definition.
The Distribution Test Materials document is a required deliverable.
Test 8: Beta Testing is mandatory for new development and enhancements and is
optional for maintenance (Determined by Product Task Force).
This procedure defines the activities needed to accomplish the following tasks:
○ Prepare and approve distribution test materials.
○ Select testers and send materials.
○ Confirm beta test environment.
○ Perform beta test procedures and compare to criteria.
○ Store, review, and document exceptions.
2.8.2 Participation in Testing Process Flow
Page 14 06/10/2009
Testing Standard 3.080.02S
Page 15 06/10/2009
Testing Standard 3.080.02S
Page 16 06/10/2009
Testing Standard 3.080.02S
necessary corrections and restart the alpha testing process with Test 7: Alpha
Testing, described above.
If the report is approved the contractor will be notified. The contractor shall then
submit the Alpha Test Acceptance Report for Configuration Management and submit
it as a deliverable for Supplier Agreement Management processing.
Page 17 06/10/2009
Testing Standard 3.080.02S
have been included. The system is then placed into operation either by phasing in or
parallel operation with the pre-existing version of the system. The delivered system must
successfully install and operate in the intended environment.
The Installation Materials are required deliverables of this procedure.
The Installation Status Report is a required deliverable of this procedure.
Test 12: Installation is mandatory for all project types (new development, enhancements,
maintenance).
This procedure defines the activities needed to accomplish the following tasks:
○ Assemble and Distribute Project/Product Materials
○ Install Product
○ Complete Testing
2.12.2 Participation in Testing Process Flow
This procedure may be started after the Beta Test Acceptance Report is accepted. In
this procedure, the installation materials are produced, these materials are approved by
the Task Force, they are delivered to the user agencies where installations occur, and
the contractor records installation progress in the Installation Status Report. When this
report is approved by the Task Force, all development testing is complete.
2.12.3 Task Force Activities
2.12.3.1 Review, Approve or Reject with Reasons the Installation Materials
After the contractor has produced and delivered to the Task Force the Installation
Materials for approval, the Task Force shall review and approve or reject the
materials. If the materials are rejected, the contractor will be asked to address the
supplied reasons for the rejection and resubmit the corrected Installation Materials. If
the materials are approved, the contractor will be notified to begin distribution of the
system. The approved Installation Materials will be processed by Configuration
Management and Supplier Agreement Management procedures.
2.12.3.2 Review Installation Problems and Resolution Efforts to Determine
that Problems are Resolved
The contractor will provide to the Task Force any installation problems reported by
the tester/user of the product and resolution efforts taken by the contractor to resolve
the problems. The Task Force will review the installation problems and resolution
efforts to insure that problems are being resolved by the contractor. If the Task Force
decides that a reported problem is not satisfactorily resolved they shall notify the
contractor to continue efforts to resolve the issue.
2.12.3.3 Review, Approve or Reject with Reasons the Installation Status
Report
After the contractor has produced and delivered to the Task Force the combined
“Installation Status Report” for approval, the Task force shall review and approve or
reject the report. If the report is approved, it will be sent to the Standing Committee
on Joint Development for their review. The approved Installation Status Report will
be processed by Supplier Agreement Management procedures. All testing
procedures are considered complete at this point. If the report is rejected, the
contractor will be asked to begin requirements analysis (described in the section
titled “Test 2: Preparation for Test Instance”) of a new beta testing cycle.
Page 18 06/10/2009
Testing Standard 3.080.02S
Page 19 06/10/2009
Testing Standard 3.080.02S
Page 20 06/10/2009
Testing Standard 3.080.02S
system so that it can be independently tested. Because of this its interfaces should
be clearly definable. Build testing can reduce the complexity of testing and simplify
system maintenance.
3.2.3.2 Areas to Test
Build boundaries should correspond to the abstract boundaries established by the
application architecture (for an example of application architecture boundary
definitions, see the Examples of Build Criteria section of Appendix B). These
boundaries must be capable of being mapped to the physical boundaries of the
deployed system. These boundaries are established through re-factoring the design
to achieve the layer (boundary) characteristics described below:
Functionality layers are used to segregate functionality within an application into
independently testable segments. These layers will have the following
characteristics:
□ Layers should have minimal interdependence with other layers.
□ Layers should have clear defined interfaces. Interfaces should not be insisted
upon for layers with no dependencies, such as a domain layer.
□ Layers should have a minimal of duplicated code or definition.
□ Layers must map to the tiers by which the system is to be physically deployed.
Since layer boundaries are dependant on application architecture, they will be as
varied as are the architectures needed to solve entire range of automation problems.
The layers represent the highest level of build testing. Each layer should be tested in
accordance with the capabilities provided by its interface(s). Any dependencies to
other layers should be mocked. Sub builds that are within the boundaries of a layer
may be performed where useful.
3.2.4 System Test Criteria
3.2.4.1 Description
The purpose of System Testing is to test the system as a whole to ensure that the
integration is completed and that it performs as required. System Testing leads to
Alpha Testing and may be used to prepare for formal Alpha Test Acceptance.
3.2.4.2 Areas to Test
The emphasis of system testing is to ensure that the system functionality is properly
integrated. Secondarily and in anticipation of Alpha testing, it is important to show
that the system meets user requirements.
Integration
□ Test the build functionality to insure that nothing has been lost as a result of
integration.
□ Test that activities which cross build (layer) boundaries perform correctly thus
checking integration of system. This means that everywhere dependencies were
mocked, there needs to be tests devised that check the real interface.
Meet User Requirements
□ Test all functional requirements that are defined by use cases or user stories.
□ Test all requirements that are defined by business rules.
Page 21 06/10/2009
Testing Standard 3.080.02S
Page 22 06/10/2009
Testing Standard 3.080.02S
Page 23 06/10/2009
Testing Standard 3.080.02S
□ The contractor shall provide the user requirements tests used in System Testing
and Alpha Testing which may be performed at the customer site as long as they
do not interfere with the timely completion of beta testing.
Page 24 06/10/2009
Testing Standard 3.080.02S
Page 25 06/10/2009
Testing Standard 3.080.02S
Page 26 06/10/2009
Testing Standard 3.080.02S
Page 27 06/10/2009
Testing Standard 3.080.02S
Page 28 06/10/2009
Testing Standard 3.080.02S
♦ Action Performed.
3.9.3 Payment and Deliverable Considerations
The document(s) described by this specification contains information which is used in
the Distribution Test Materials, Alpha Test Acceptance Report and the Beta Test
Acceptance Report work products, which are required deliverables. The Test Results
Repository work product provides for the retention of these documents.
The document(s) is not a required deliverable and is not eligible for payment by
deliverable.
Page 29 06/10/2009
Testing Standard 3.080.02S
4. Appendices
4.1 Appendix A: Procedure Activity Diagrams
The procedure activity diagrams provided in this appendix are not required and are for
reference only. They are intended to help in understanding the context in which the Task
Force, Testers, and Stakeholders activities are performed and to help the contractor prepare
the materials needed to complete those activities.
The activity diagrams (flow charts) are color coded. See the legend provided with each
procedure for coding. The following list provides descriptions of the graphics figures used in
the procedure diagrams:
■ Rectangles represent activities to be performed.
■ Diamonds represent decisions to be made.
■ Rectangular areas with round ends represent entrance to, exit from, or use of another
procedure. These procedures may be within the Testing Process Area or they may be in
some other process area.
■ Circles represent a jump to some other part of the same procedure.
■ Arrow points on connecting lines represent the direction of flow.
When process areas, not yet developed, are referenced, the current accepted methods of
AASHTOWare development will be used. The following list describes the external process
areas referenced by the procedures:
■ Requirements Development (RD): The purpose of RD is to produce and analyze
customer, project/product, and project/product component requirements.
■ Requirements Management (REQM): The purpose of REQM is to manage and maintain
customer, project/product, and project/product component requirements.
■ Supplier Agreement Management (SAM): The Purpose of SAM is to manage the
acquisition of products from suppliers for which there exists a formal agreement. This
process area is used to specify and manage AASHTOWare Product Contracts.
■ Configuration Management (CM): The purpose of CM is to establish and maintain the
integrity of work products using configuration identification, configuration control,
configuration status accounting, and configuration audits.
■ Project Planning (PP): The purpose of PP is to establish and maintain plans that define
project activities.
■ Technical Solution (TS): The purpose of TS is to design, develop, and implement
solutions to requirements.
■ Product Integration (PI): The purpose of PI is to integrate the components of the system.
Page 30 06/10/2009
Testing Standard 3.080.02S
Page 31 06/10/2009
Testing Standard 3.080.02S
Page 32 06/10/2009
Testing Standard 3.080.02S
Page 33 06/10/2009
Testing Standard 3.080.02S
Page 34 06/10/2009
Testing Standard 3.080.02S
Page 35 06/10/2009
Testing Standard 3.080.02S
Page 36 06/10/2009
Testing Standard 3.080.02S
Page 37 06/10/2009
Testing Standard 3.080.02S
Page 38 06/10/2009
Testing Standard 3.080.02S
Page 39 06/10/2009
Testing Standard 3.080.02S
Page 40 06/10/2009
Testing Standard 3.080.02S
implementing a full workflow engine. Most layers are stateless; however, the web
layer must maintain states in order to guide the user through the correct path. The
web layer also provides the glue that binds the world of HTTP and the service layer.
The HTTP world is populated with request parameters, HTTP headers, and cookies.
These aspects are not business logic specific and thus are kept isolated from the
service layer. This layer logically contains all of the connection mechanisms such as
HTTP, SOAP, or XML-RPC. The following are reasons for isolating the web layer:
□ Divorcing the web concerns from the service layer means that the system can
export the same business logic via multiple methods.
□ Isolation of navigation, creates a more flexible design, because the individual
functions of the domain model can be combined in many different ways to create
many different user experiences.
□ Moving the web concerns out of the business logic makes the core logic very
easy to test. You won’t be worrying about setting request variables, session
variables, HTTP response codes, or the like when testing the business layer.
Likewise, when testing the web layer, you can easily mock the business layer
and worry only about issues such as request parameters.
The web layer is dependent on the service layer and the domain model layer.
○ Service – For the client, the service layer exposes and encapsulates coarse-grained
system functionality (Use Cases) for easy client usage. A method is coarse grained
when it is very high level, encapsulating a broad workflow and shielding the client
from many small interactions with the system. The service layer should be the only
way a client can interact with the system, keeping coupling low because the client is
shielded from all of the interactions that implement the use case. For the system the
service layer’s methods represent transactional units of work. This means that with
one method call, many objects and their interactions will be performed under a single
transaction. Performing all of the work inside the service layer keeps communication
between the client and the system to a minimum (in fact down to one single call).
Each method in the service layer should be stateless so that many transactions may
be handled concurrently without collisions. This layer provides encapsulations for all
of the use cases of the system. A single use case is often one transactional unit of
work. Consolidating the units of work behind a service layer creates a single point of
entry into the system for end users and clients.
○ The service layer is dependant on the domain model and the persistence layer. It
combines and coordinates calls to both the data access objects and domain model
objects. The service layer should never have a dependency on the view or web
layers.
○ Domain Object Model – The domain object model is the most important layer in the
system. This layer contains the business logic of the system, and thus, the true
implementation of the use cases. The domain model is the collection of nouns in the
system, implemented as objects. These nouns, such as User, Address, and
ShoppingCart, contain both state (user’s first name, users last name) and behavior
(shoppingCart.purchase()).
It may be helpful to think of the domain model as a vertical layer. In other words, all
of the other layers have dependencies on the domain model. The objects of the
domain model, however, have no dependencies on any other layer or the framework
employed. Thus the domain model can be decoupled from its environment. This
means the business logic can be tested outside the container and independently of
the framework. This speeds up development tremendously, as no deployments are
Page 41 06/10/2009
Testing Standard 3.080.02S
required for testing. Unit tests become very simple to create, as they are testing
simple code, without any reliance on database connections, web frameworks, or
other layers in the system. All layers are responsible for its problem domain, but they
all live to service the domain model.
○ Persistence (Data Access) – The data access layer is responsible for interfacing with
the persistence mechanism to store and retrieve instances of the object model. The
data access functionality gets its own layer for two reasons. One of the primary
reasons for the layering abstraction in object oriented systems is to isolate sections
of the application from change. The data access functionality is no different, and it is
designed to isolate the system from changes in the persistence mechanisms. As an
example, a business requirement change might force all user accounts to be stored
inside an LDAP-compliant directory instead of a relational database. While this might
happen rarely, abstracting the persistence operations behind a single interface
makes this a low impact change for the system. Keeping the time to run the system
tests low is the other key reason the data access layer is isolated. Database
connections are expensive resources to create and maintain. Unit tests should be
very quick to run, and they will slow down tremendously if they require connections
to the RDBMS. Isolating the persistence operations to one layer makes it easy to
mock those operations, keeping test runs fast.
Typically only the service layer has a dependency on the data access layer. From a
practical standpoint, the service layer coordinates the data access layer and the
object domain layer such that the appropriate objects are loaded and persisted for
the use case.
4.2.4 Examples of System Testing
The following items are examples of integration testing.
○ Test that all client screens and reports are formatted and rendered properly for the
type of client (PDA, Cell Phone, internet attached Workstation, hosting Workstation).
○ Test navigation through the system functionality.
○ Test workflow by user organizational type (technical support, application
administrator, executive, manager and user) and request type.
○ Check HTTP transaction handling.
○ Test that all supported connection types (HTTP, XHTML, RPC-XML, and SOAP) are
working properly.
○ Test connections to other applications.
○ Test to see that the function described by each use case is exposed with appropriate
security.
○ Test that all functions of all use cases are implemented correctly.
○ Test to see that all required business rules are properly applied.
○ Test to see that appropriate data or objects are correctly loaded or stored in all the
appropriate persistence mechanisms.
○ Test that the system delivers the expected throughput, when implemented in the
designed minimum environment and using the network and persistence mechanisms
of the contractor test environment.
Page 42 06/10/2009
Testing Standard 3.080.02S
Page 43 06/10/2009
Testing Standard 3.080.02S
work properly. However, not all information stored in the registry is secured from
users or other installed programs. This attack tests that applications do not store
sensitive information in the registry or trust the registry to always behave
predictably.
□ Force the application to use corrupt files. Applications can only do so much
before they need to store or retrieve persistent data. It is the tester’s job to make
sure the application can handle bad data gracefully, without exposing sensitive
information or allowing insecure behavior.
□ Force the application to operate in low memory, disk-space, and network-
availability conditions. When an application is forced to operate in low memory,
disk-space, and network-availability conditions, it is forced into error recovery
conditions. This is common to the other attacks described above. If the error
recovery scripts are poorly written the application may be left in an insecure
state.
□ With the supplied tools, memory or network conditions can be varied to inject
memory faults, to determine which functions are memory hogs, to determine the
applications lower-bound threshold of tolerance for low memory, to inject faults at
runtime during memory use, to determine the applications lower-bound threshold
of tolerance for a slow network, and to inject faults at runtime during network use.
□ With the supplied tools, it is possible to fill the file system to its capacity or to
force the media to be busy or unavailable. Application dependencies on the file
system are tested to see whether the application will handle the operating system
generated error or fail.
4.2.5.3 Attacking Design
□ Test for common default and test account names and passwords. Applications
may have undocumented, invisible, and un-configurable accounts that ship with
the product. This attack is often the result of leftover test accounts, legacy
support accounts and incomplete documentation.
□ Expose unprotected test APIs. Most user-accessible APIs don’t include the
capabilities necessary for efficient testing. Test APIs and hooks are added to the
application with the intention of removing them before release. In practice, they
may become so integrated into the code that they are sometimes not removed.
Since the purpose of these APIs and hooks is to make testing more efficient,
application security is not their concern. These APIs may be found by using the
supplied tools while testing tools and scripts are used.
□ Connect to all ports. Applications commonly open ports to send data across the
network. However, an open port is not automatically a secure conduit for
communication. Without proper measures taken by application developers, an
open port is a welcome mat for a hacker attempting to gain unauthorized access
to the system. The ports may be scanned, using supplied tools, to see which are
open and to capture error messages from those that are closed. When an open
port is found, it is the tester’s job to find the application which has opened it and
to determine if it represents a security threat.
□ Fake the source of data. Some data is trusted implicitly, based on its source; for
example, applications tend to accept data from sources like the OS with minimal
scrutiny. Some sources must be trusted (in fact, they must be trusted) for the
application to function. Problems arise when the trust an application extends to a
particular source is not commensurate with the checks it makes to ensure that
data is indeed from that source. The usual problem is that trust is solely extended
Page 44 06/10/2009
Testing Standard 3.080.02S
Page 45 06/10/2009
Testing Standard 3.080.02S
Page 46 06/10/2009
This page is intentionally blank.
PRODUCT RELEASE
CHECK LISTS STANDARD
S&G Number: 3.085.05S
Effective Date: July 1, 2009
Document History
Version
Revision Date Revision Description Approval Date
No.
01 Feb. 1999 Initial Version Feb.1999
04 June 2001 Revised to reflect changes to the Product April 2002
Deliverables and Product Testing Standards.
03 Jan. 2006 Revised to reflect the establishment of the June 2006
Requirements Management Standard
04 Sep. 2006 Revised to reflect requirements for 2 copies, Oct. 2006
extended life media in final shipments to AASHTO.
Revised to reflect establishment of the Testing
Standard.
05 06/10/2009 Changed standard number from 3.04.010.04 to 06/16/2009
3.085.05S, and applied standard template. Approved by
Changed standard number references in T&AA
checklists. Made minor changes and format
modifications.
06/10/2009
Product Release Checklists Standard 3.085.05S
Table of Contents
1. INTRODUCTION .................................................................................................. 1
1.1 Preface ................................................................................................................1
1.2 Objectives...........................................................................................................1
2. SOFTWARE PREPARATION .............................................................................. 2
2.1 Software Preparation Checklist.........................................................................2
2.2 Explanation of Checklist Items..........................................................................3
2.2.1 Product Naming Conventions .............................................................................. 3
2.2.2 Testing Standards ................................................................................................ 3
2.2.3 Product Graphical Interface Standards................................................................ 3
2.2.4 Requirements Deliverables .................................................................................. 4
2.2.5 System Documentation ........................................................................................ 4
2.2.6 Task Force Approval ............................................................................................ 4
3. SHIPMENT PREPARATION ................................................................................ 5
3.1 Shipment Checklist ............................................................................................5
3.2 Explanation of Checklist Items..........................................................................5
3.2.1 Documentation ..................................................................................................... 6
3.2.2 Software ............................................................................................................... 6
3.2.3 Hardware.............................................................................................................. 7
4. CONTENTS LIST ................................................................................................. 8
Page i 06/10/2009
Product Release Checklists Standard 3.085.05S
1. INTRODUCTION
1.1 Preface
As a software product goes from its first release to the many following releases, there is a
need for consistency among the releases. This consistency applies not only to the working
of the software but also to the steps taken to put out the release. For example, the release
numbers should be consistent from release to release. Going from 5.2.3 to 6.0.0 should
show a major revision while going from 5.2.1 to 5.3.0 should show only minor changes.
This specification applies to all new releases of AASHTOWare products and to all
enhancement and/or maintenance releases. Temporary emergency fixes, where there is not
a new build of the product, are outside the scope of this specification. For maintenance
releases, however, this specification is required.
1.2 Objectives
The objective of this standard is to present a list of items that shall be performed and
documented prior to distributing a new release of software. This checklist, which
summarizes the AASHTOWare standards, identifies the minimum requirements needed
before a new release is shipped. The goal of this specification is to promote consistency in
the preparation of deliverables, documentation, and packaging of new AASHTOWare
software releases.
Page 1 06/10/2009
Product Release Checklists Standard 3.085.05S
2. SOFTWARE PREPARATION
This checklist shall be completed by the contractor, with the exception of “Task Force Approval.”
The Task Force then reviews the checklist and, if appropriate, checks off “Task Force Approval.”
ITEM Standard # X
Product Naming Conventions
Product Naming Conventions have been followed 3.060.xxS
Testing Standards
The following deliverables have been approved and delivered
■ Test Plan 3.080.xxS
■ Alpha Test Acceptance Report 3.080.xxS
■ Distribution Test Materials 3.080.xxS
■ Beta Test Acceptance Report 3.080.xxS
■ Installation Materials 3.080.xxS
■ Installation Test Report 3.080.xxS
Page 2 06/10/2009
Product Release Checklists Standard 3.085.05S
Page 3 06/10/2009
Product Release Checklists Standard 3.085.05S
Page 4 06/10/2009
Product Release Checklists Standard 3.085.05S
3. SHIPMENT PREPARATION
3.1 Shipment Checklist
This checklist is for the vendor to use in preparing for a shipment.
ITEMS X
Documentation
■ Name of Product being Shipped
■ Platform (computing environment) this Shipment is for
■ New Manuals or Updates for Existing Manuals (including update
instructions)
■ Platform Specific Installation Instructions
■ Summary of CD, Tape, or Cartridge Contents
■ Summary of Changes in this Release
■ Special Instructions
■ Checklists
■ Contents List
■ Cover Letter
Software
■ Appropriate Media
■ Product Software
■ Command Language Procedures (Scripts, JCL, EXECs, EXEs )
■ Database Definition Procedures
■ Installation Jobs
■ Third Party Software at appropriate release (if applicable)
■ Virus Scan has been Passed
Hardware
■ Hardware Security Device (if applicable)
Page 5 06/10/2009
Product Release Checklists Standard 3.085.05S
checklist. If the entire shipment is electronically sent, it must still include all items (electronic
checklist, contents list ...).
3.2.1 Documentation
3.2.1.1 Name of Product being Shipped
The complete name of the Product being shipped should be clearly stated on all
items shipped.
3.2.1.2 Platform this Shipment requires
It should be clearly stated on the Contents List what platform (computing
environment) this shipment was prepared for.
3.2.1.3 New Manuals or Updates for Existing Manuals
New manuals or updates to manuals the recipient already has should be shipped. If
updates are shipped, clear instructions for updating must be included.
3.2.1.4 Platform Specific Installation Instructions
Any instructions specific to the platform this shipment is to be installed on must be
included.
3.2.1.5 Summary of CD, Tape, or Cartridge Contents
The electronic medium used to ship machine readable components should be
identified. Also the platform requirements for reading the electronic medium should
be specified. If a tape is being shipped a tape map must be included in the shipment.
The kinds of things the tape map should show are: the number of files, how the tape
was created, and its density.
3.2.1.6 Summary of Changes in the Release
A summary of new features, changes, or features removed must be included in the
shipment.
3.2.1.7 Special Instructions
Any special instructions unique to this customer must be included in the shipment.
Also, any known malfunctions must be clearly noted with the appropriate
workarounds documented.
3.2.1.8 Checklists
This checklist must be included in the shipment.
3.2.1.9 Contents List
A contents list must be included in the shipment showing what is being shipped.
3.2.1.10 Cover Letter
The cover letter includes information like: whom the shipment is being sent to, who is
shipping it, what is being shipped, and for what reason.
3.2.2 Software
3.2.2.1 Appropriate Media
The software must be shipped on extended life (minimum 50 years archival life
expectancy) media that provides ease of installation and use to the recipient. A
duplicate copy of the software, also on extended life media, must be supplied to
assist in archival processes.
In instances where media with a shorter life expectancy than 50 years is required
because of installation processes, exceptions to the use of extended life media may
Page 6 06/10/2009
Product Release Checklists Standard 3.085.05S
be requested in writing by the contractor or task force and granted by the special
committee on software development.
3.2.2.2 Product Software
All software the recipients are entitled to must be shipped.
3.2.2.3 Command Language Procedures
Command language procedures needed to install or run the product must be
shipped.
3.2.2.4 Database Definition Procedures
The necessary procedures and schema needed to setup the customer chosen (and
supported) database must be included.
3.2.2.5 Installation Jobs
Installation jobs and procedures to install the product on the platform the shipment is
being prepared for must be included.
3.2.2.6 Third Party Software
If the AASHTOWare software being shipped requires third party software, the
following should be considered. If the third party software is being shipped with the
AASHTOWare software, the latest release of the third party software that has been
tested should be shipped. If the Third party software is not being shipped, it should
be clearly stated in the install document what third party software is needed and what
release it should be.
3.2.2.7 Virus-Scan has been Passed
Any media that is shipped must be scanned for viruses if a commonly used virus-
scanning product is available for that media. The virus-scan software must be of
current release and an industry leader. The scan must show no viruses on the
media.
3.2.3 Hardware
3.2.3.1 Hardware Security Device
If the product requires a hardware security device or software security key to
operate, this device/key should be included in a shipment to a first time recipient. In
all first time shipment cases arrangements must be made to get this device/key to
the recipient. If this shipment is an update of the software and the update does not
require a change in the hardware security device or software security key, a new one
need not be shipped.
Page 7 06/10/2009
Product Release Checklists Standard 3.085.05S
4. CONTENTS LIST
This is an example of a contents list which is shipped as part of the new release package.
Product Name
Page 8 06/10/2009
INSTALLATION AND USE
TRAINING GUIDELINE
S&G Number: 3.090.02G
Effective Date: July 1, 2009
Document History
Version Revision Approval
Revision Description
No. Date Date
01 June 1998 Initial Version July 1998
02 6/15/2009 Changed guideline number from 3.04.G50.01 to 06/16/2009
3.090.02G; and applied standard template. Made Approved by
minor changes and format modifications. T&AA
06/15/2009
Installation and Use Training 3.090.02S
Table of Contents
1. Introduction......................................................................................................... 1
1.1 Purpose...............................................................................................................1
1.2 Background ........................................................................................................1
1.3 Results of Survey ...............................................................................................1
2. Training ............................................................................................................... 1
2.1 Planning for Training .........................................................................................1
2.2 Development of Training ...................................................................................2
2.3 Methods of Training Delivery ............................................................................2
2.4 Evaluate Effectiveness of Training ...................................................................3
Page i 06/15/2009
Installation and Use Training 3.090.02S
1. Introduction
1.1 Purpose
Each AASHTOWare product should provide training to its customers in order to meet the
goal for which that particular product was designed and developed.
Good training, delivered timely and in an effective manner, will result in (1) high customer
satisfaction and (2) effective and correct use of the product in the customer work site.
Meaningful training should also reduce Help Desk and Support calls which might result if
product is not well understood.
1.2 Background
In the past, training for AASHTOWare products has been developed and delivered in an
inconsistent manner. TAA was assigned by the SCOJD to perform an analysis to determine
a better method to accomplish consistent and effective training, and to develop a Guideline
for this purpose.
(1) TAA was assigned this task in the annual work plan for 1996/97.
(2) The Special Committee on Joint Development (SCOJD) proposed an amendment to
“The Governing Policies, Guidelines and Procedures (PG&P) Document for AASHTO’s
Cooperative Computer Software Program.” An item was added which states “End user
training and related training materials may be included in the license fees so long as
they are offered and performed in an equitable manner. Product training materials shall
comply with established guidelines and procedures.”
(3) In order to assess current conditions, TAA conducted a customer satisfaction survey in
the Fall of 1997. Results have been compiled.
2. Training
2.1 Planning for Training
(1) A needs assessment should be conducted to determine the training needs associated
with each product periodically.
(2) Distinguish between training materials and reference manual so that training follows in a
set of orderly steps.
(3) Determine which method(s) of delivery of training will be available.
Page 1 06/15/2009
Installation and Use Training 3.090.02S
(4) Consider making training a component of each product’s Annual Work Plan.
(1) Timing - The timing of training is important. Develop training to be made available at the
following times:
(a) Shipment of product to new customer
(b) Shipment of new product release which includes any significant changes
(c) Annually upon request; consideration should be given to using annual User Group
meeting time, if applicable.
(d) Specialized, customized training to specific customer sites may still be purchased as
service units.
(e) For customized training, the state should contact the trainers in advance in order to
insure that it will be customized to fit “the way that state does things.”
(2) Key components of and considerations for training
(a) Product Overview - describe in business terms, what the software actually does.
Provide a framework of where the product fits into their business. Describe the main
features in chronological sequence.
(b) Provide sequential steps to demonstrate how the product is to be used and identify
sequential dependencies and prerequisites. Training should as nearly as possible
simulate “real life” examples that users of the product might encounter when running
it in their own state.
Generally speaking, “worked through” examples may not be sufficient to cover the
reality of product use in the customer’s home state. Therefore additional training and
product use by the student should be encouraged, to allow them to try out and
experiment with the product in a manner that most closely simulates their state’s
experience.
(c) Provide test data which is complete enough to demonstrate all main product
capabilities. Test data should be easy to load and evaluate on software which is
shipped with the product and does not require additional purchase and installation of
separate (data base or file) products specifically for testing purposes.
(d) Provide scripts for the User to follow. Training should include “hands on” where the
User actually executes the required and frequently used parts of the product.
(e) Give information on optional or advanced features and functions. Training should
include information and examples on optional features of the product. For example,
if a product provides report-writing capability for the User to write their own ad-hoc
reports, training should include an example of how such a report could be
constructed, saved, run and retrieved for future changes.
(f) Complexity plays a role. For very complex products or features of a product, break
the training out into units which are manageable. Then tie the units logically together
as the training progresses.
(g) Periodic refresher is highly desirable due to turnover in customer agencies and loss
of internal expertise resulting in declining use of product or declining satisfaction.
Page 2 06/15/2009
Installation and Use Training 3.090.02S
(1) Classroom, Instructor led is often preferred. This method should be considered when it
makes sense to do so. Conditions which lend themselves to this method: a large
customer base, many customers receiving new product or new release of a product at
the same time and if there is an assemblage of many of the customers at the same time
would provide an opportunity and reduce travel.
(2) Computer based training or CD has the distinct advantage of being available whenever
the customer is ready to use it. This, combined with a support desk telephone number,
may be the most effective of all. This works well when a few users at a time are
beginning to use the product or a new release of the product since it can accommodate
these differences in timing.
(3) On-line Help and a User Reference Manual are both important parts of the customer’s
overall understanding of the product and their proficiency at using it. Especially on-line
help should be encouraged for all new developments. However, either of these should
not be considered a replacement for training.
Page 3 06/15/2009
This page is intentionally blank.
4 – Support
This page is intentionally blank.
QUALITY ASSURANCE
STANDARD
S&G Number: 4.010.02S
Effective Date: July, 01, 2009
Document History
Version Revision Approval
Revision Description
No. Date Date
01 02/12/2008 Initial Version for Pilot Process.
06/16/2009
Quality Assurance Standard 4.010.02S
Table of Contents
1. Purpose ............................................................................................................... 1
2. Task Force/Contractor Responsibilities........................................................... 1
3. Required Deliverables and Work Products ...................................................... 2
4. Procedures.......................................................................................................... 2
4.1 Submit First List of Completed Deliverables and Work Products ..................2
4.2 Select Deliverables and Work Products for QA Evaluation.............................2
4.3 Submit Deliverables and Work Products for Evaluation .................................2
4.4 Evaluate Deliverables and Work Products .......................................................2
4.5 Review Evaluation Reports and Provide Comments .......................................3
4.6 Resolve Issues and Provide Comments...........................................................3
4.7 Prepare and Distribute Final Evaluation Reports.............................................3
4.8 Submit Second List of Completed Deliverables and Work Products .............3
4.9 Repeat procedures 4.2 through 4.7...................................................................3
4.10 Meet With QA Analyst at Contractor Work Site................................................3
4.11 Prepare and Review Annual QA Report............................................................4
5. Technical Requirements .................................................................................... 4
6. Deliverable and Work Product Definitions ....................................................... 4
6.1 List of Deliverables and Work Products Completed........................................4
6.1.1 Description ........................................................................................................... 4
6.1.2 Content................................................................................................................. 4
6.2 QA Evaluation Report ........................................................................................4
6.2.1 Description ........................................................................................................... 4
6.2.2 Content................................................................................................................. 4
6.3 Annual QA Report ..............................................................................................5
6.3.1 Description ........................................................................................................... 5
6.3.2 Content................................................................................................................. 5
Page i 06/16/2009
Quality Assurance Standard 4.010.02S
1. Purpose
The purpose of the Quality Assurance (QA) Standard is to define the responsibilities of the
product task forces and contractors in ensuring that products are being developed and
implemented in compliance with the published AASHTOWare Standards. The activities in the
standard focus on evaluating if required deliverables and work products are created in
compliance with standards and if required processes in the standards are being followed.
The activities do not address whether a deliverable or work product meets its intent or purpose.
Review and acceptance are the responsibility of the task force, and should be completed prior
to submission for QA evaluation. The activities also do not require areas of non-compliance to
be resolved; however recommendations for resolution and common problems found will be used
for process improvement within the applicable standards and within the internal procedures
used by each task force and contractor.
For the purposes of this and other AASHTOWare standards, a work product is defined as a
result or artifact of the software development or project management process. The majority of
work products in each AASHTOWare standard are also defined as deliverables. Deliverables
are always required, must be planned and tracked in the project/product work plan, and must be
formally submitted to the task force for approval or rejection. In addition to deliverables there
are other work products that document the results or outcomes of the processes defined in the
standard and provide evidence that required processes have been followed.
This standard applies to those deliverables and work products that are documented as a
requirement to comply with an AASHTOWare standard. Examples of required deliverables
include the user requirements specification, requirements traceability matrix, and beta test
acceptance report. Examples of required work products that demonstrate process compliance
are the Alpha Testing Acceptance and the Beta Testing Acceptance.
The Quality Assurance Standard includes certain activities that must be followed and work
products that must be produced in order to comply with the standard. These requirements are
shown in red italicized text.
Page 1 06/16/2009
Quality Assurance Standard 4.010.02S
documentation for their consideration. Approval of exceptions to the standards is under the
purview of the SCOJD.
4. Procedures
The following provides detailed descriptions of Quality Assurance procedures that involve the
product task force and/or contractor.
Page 2 06/16/2009
Quality Assurance Standard 4.010.02S
Page 3 06/16/2009
Quality Assurance Standard 4.010.02S
5. Technical Requirements
There are no technical requirements for this standard.
Page 4 06/16/2009
Quality Assurance Standard 4.010.02S
○ Standard: The name and date of the AASHTOWare standard used for evaluation.
○ Evaluation Results: The evaluation results and areas of non-compliance.
○ Recommended Action: Recommended action to address non compliance.
○ Comments: Any overall comments regarding the evaluation of all items.
○ Task Force Response: This section will initially be blank. It will be updated after the
QA analyst receives comments from the task force.
○ Resolution: Text describing the resolution (if any) to the area of noncompliance.
Page 5 06/16/2009
This page is intentionally blank.
DISASTER RECOVERY
STANDARD
S&G Number: 4.020.02S
Effective Date: July 1, 2009
Document History
Version Revision Approval
Revision Description
No. Date Date
01 Feb. 1999 Initial Version April 1999
02 06/10/2009 Changed standard number from 4.01.030.01 to 06/16/2009
4.020.01S; and the standard template applied. Approved by
Made minor changes and format modifications. T&AA
Table of Contents
1. I. Introduction...................................................................................................... 1
1.1 A. Preface ...........................................................................................................1
1.2 Objectives...........................................................................................................1
2. Backups .............................................................................................................. 1
2.1 The Backup Plan ................................................................................................1
2.2 What Must be Backed Up...................................................................................1
2.3 How Often and How Long Must the Backups be Kept.....................................1
2.4 Incremental Backups .........................................................................................2
2.5 Full Backups.......................................................................................................2
2.6 Offsite Storage ...................................................................................................2
2.7 Compatible Media...............................................................................................3
2.8 Care of Media......................................................................................................3
2.9 Document What is Being Done .........................................................................3
3. Contractor Check List ........................................................................................ 5
4. Compliancy Check List ...................................................................................... 6
1. I. Introduction
1.1 A. Preface
When a contractor works on an AASHTOWare Product/Project, AASHTO is investing both
time and money into this effort. Until a release point is reached, AASHTO has nothing in
hand to show for this investment. If a disaster were to happen at the contractor’s site, the
work the contractor had done on the project may be lost. This would be a loss to AASHTO in
both time and money invested to the point of the disaster. Therefore, it is not unreasonable
to expect the contractor to have steps in place that would protect AASHTO’s investment in
the event of a disaster.
1.2 Objectives
The objective of this standard is to present the minimum steps an AASHTOWare contractor
must take to safeguard AASHTO’s development investment in a Product/Project should a
disaster occur. These steps must be in place throughout the time the contractor is
developing new or maintaining present AASHTOWare software, as well as anytime the
contractor is working on Task Force directed assignments.
2. Backups
One of the best ways to guard against the loss of software is to have more than one copy of the
software at any point in time. While the software is in development it is changing daily, so copies
must be made daily. Backups to tape are one of the best and most cost effective ways to save
multiple copies of software in development. Following are some of the items to be considered
when setting up backups.
2.3 How Often and How Long Must the Backups be Kept
At a minimum, backups must be done daily. Multiple copies at all levels of backups must be
kept and not released until the next level up has been completed. A typical example would
be:
■ Daily backups kept for 14 days.
■ Weekly backups kept for 5 weeks.
Best distance will depend on location and type of controlled environment. In most cases it must be at
least a few miles from the main site.
Document History
Version Revision Approval
Revision Description
No. Date Date
02 06/16/2009 Replaces AASHTOWare Lifecycle Framework 06/16/2009
Process Areas and Work Products documents Approved by
(1.01.G01.01 and 1.01.G02.01). T&AA
06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Table of Contents
1. Purpose ............................................................................................................... 1
2. Overview of ALF and CMMI-DEV....................................................................... 1
2.1 Process Areas.............................................................................................................2
2.2 Related Process Areas...............................................................................................2
2.3 Process Area Categories ...........................................................................................2
2.4 List of Categories and Process Areas.......................................................................2
2.5 Specific Goals.............................................................................................................3
2.6 Specific Practices.......................................................................................................3
2.7 Typical Work Products...............................................................................................4
2.8 Generic Goals .............................................................................................................4
2.9 Generic Practices .......................................................................................................4
2.10 Staged and Continuous Representation...................................................................4
2.11 Capability Levels ........................................................................................................5
2.12 AASHTOWare Implementation of Process Areas.....................................................6
3. Generic Goals and Practices ............................................................................. 6
3.1 GG 1: Achieve Specific Goals....................................................................................6
3.2 GG 2: Institutionalize a Managed Process................................................................6
3.3 GG 3: Institutionalize a Defined Process ..................................................................9
3.4 Applying Generic Practices .......................................................................................9
3.5 Process Areas That Support Generic Practices.......................................................9
4. Process Area Descriptions .............................................................................. 11
4.1 Organizational Process Focus ................................................................................11
4.2 Organizational Process Definition...........................................................................13
4.3 Organizational Training............................................................................................14
4.4 Project Planning .......................................................................................................15
4.5 Project Monitoring and Control ...............................................................................17
4.6 Supplier Agreement Management ...........................................................................19
4.7 Requirements Development ....................................................................................20
4.8 Requirements Management .....................................................................................22
4.9 Technical Solution....................................................................................................23
4.10 Product Integration...................................................................................................25
4.11 Verification................................................................................................................27
4.12 Validation ..................................................................................................................29
4.13 Configuration Management .....................................................................................30
4.14 Process and Product Quality Assurance................................................................31
4.15 Measurement and Analysis......................................................................................32
4.16 Advanced Process Areas.........................................................................................34
Page i 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
1. Purpose
The AASHTOWare Lifecycle Framework (ALF) was developed to:
● Improve the AASHTOWare software development and maintenance processes and,
subsequently, improve AASHTOWare products.
● Provide a framework for creating AASHTOWare process improvement projects. These
projects will involve the development of new standards and guidelines and the revision of
existing standards and guidelines that are based on goals and practices within the
framework.
● Recommend typical work products that should be created to support each standard or
guideline based on ALF. These work products are the recommended output or results that
should be created when implementing the practices defined by each standard and guideline.
● Provide a method for mapping the AASHTOWare standards and guidelines against the
framework and for reporting the status of process improvement projects.
● Provide a method for measuring improvement in AASHTOWare processes.
Process improvement projects will normally involve the development of standard processes that
implement specific practices with required outcomes or work products; therefore, most of these
projects will involve the development of new standards or the revision of existing standards.
Guidelines may also be developed in those cases where AASHTOWare management
determines that it’s best to implement the process as recommended practices rather than as a
requirement. In addition, AASHTOWare may choose to implement certain processes as a
guideline for an evaluation period with a future goal of implementing the processes as a
standard.
It should be noted, that additional standards and guidelines will be developed and maintained
independent of AASHTOWare Lifecycle Framework. These standards and guidelines typically
involve technical specifications or requirements for AASHTOWare software development and
maintenance. The process to develop and maintain the standards and guidelines is defined in
the AASHTOWare Standards and Guidelines Definition Process (ASGD) which is included in
the AASHTOWare Standards and Guidelines Notebook.
Page 1 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 2 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
areas. Refer to the CMMI-DEV V1.2 document for additional information on the
relationships among process areas.
Categories / Process Areas Basic / Advanced
Process Management
Organizational Process Focus (OPF) Basic
Organizational Process Definition (OPD) Basic
Organizational Training (OT) Basic
Organizational Process Performance (OPP) Advanced
Organizational Innovation and Deployment (OID) Advanced
Project Management
Project Planning (PP) Basic
Project Monitoring and Control (PMC) Basic
Supplier Agreement Management (SAM) Basic
Integrated Project Management (IPM) Advanced
Risk Management (RSKM) Advanced
Quantitative Project Management (QPM) Advanced
Software Engineering
Requirements Management (REQM) Basic
Requirements Development (RD) Basic
Technical Solution (TS) Basic
Product Integration (PI) Basic
Verification (VER) Basic
Validation (VAL) Basic
Support
Configuration Management (CM) Basic
Process and Product Quality Assurance (PPQA) Basic
Measurement and Analysis (MA) Basic
Decision Analysis and Resolution (DAR) Advanced
Causal Analysis and Resolution (CAR) Advanced
Page 3 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 4 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 6 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
for a process area, the work products for that process area must be produced, as in level
one, and all of the practices listed below must be performed.
3.2.1 GP 2.1: Establish an Organizational Policy
Establish and maintain an organizational policy for planning and performing the process.
This generic practice is performed for a process area when AASHTOWare implements a
standard or policy that requires the practices defined in the process area to be planned
and performed. For example, the Requirements Standards defines organizational
procedures and required work products that must be planned, created, submitted, and
approved for the Requirements Development and Requirements Management process
areas.
3.2.2 GP 2.2: Plan the Process
Establish and maintain the plan for performing the process.
This generic practice is performed for a process area when the project/product task force
or contractor plans the tasks and work products for that process area in the project plan,
work plan, or another planning document. An example of this is including tasks to
develop, submit, and obtain approval for the System Requirements Specification in the
work plan. Another example is to plan the configuration management activities and work
products as a component of the work plan or as a separate configuration management
plan.
3.2.3 GP 2.3: Provide Resources
Provide adequate resources for performing the process, developing the work products,
and providing the services of the process.
Resources include adequate funding, appropriate physical facilities, skilled people, and
appropriate tools. Examples include the following:
○ Skilled staff: Project management, quality assurance, configuration management,
database management, system analysis, software development, sub matter experts,
etc.
○ Tools: Project management and scheduling, configuration management, problem
tracking, software development, prototyping, process modeling, database
management, testing, requirements tracking, etc.
3.2.4 GP 2.4: Assign Responsibility
Assign responsibility and authority for performing the process, developing the work
products, and providing the services of the process.
Examples would be assigning staff to perform configuration management and quality
assurance processes.
3.2.5 GP 2.5: Train People
Train the people performing or supporting the process as needed.
Examples of training topics include the following:
○ Planning, managing, and monitoring projects
○ Change management
○ Configuration management
○ Process modeling
○ Risk management
○ Data management
○ Requirements definition and analysis
Page 7 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
○ Design methods
○ Testing
3.2.6 GP 2.6: Manage Configurations
Place designated work products of the process under appropriate levels of control.
Examples of work products that should be placed under control include the following:
○ Project plans
○ Organization’s set of standard processes
○ Work breakdown structures and project schedules
○ Status reports
○ Change requests
○ Quality assurance reports
○ User and system requirements
○ Requirements traceability matrix
○ System design documents
○ Code, build scripts, and installation scripts
○ Test plans, scripts, and test results
○ User, installation, operation, and maintenance documentation
○ Training materials
○ Deliverable submittal and acceptance documentation
3.2.7 GP 2.7: Identify and Involve Relevant Stakeholders
Identify and involve the relevant stakeholders of the process as planned.
Examples of stakeholder involvement include stakeholder reviewing work plans;
stakeholders participating in requirements collection, review, and validation;
stakeholders participating in problem or issue resolutions; and stakeholders participating
in testing activities.
3.2.8 GP 2.8: Monitor and Control the Process
Monitor and control the process against the plan for performing the process and take
appropriate corrective action.
An example is to monitor and control the schedule and budget against the project plan
and take appropriate corrective action. Another example is to monitor and control
process used for requirements changes against the plan for performing the change
control process and take appropriate corrective action. Monitoring and controlling the
test process against the test plan is another example.
3.2.9 GP 2.9: Objectively Evaluate Adherence
Objectively evaluate adherence of the process against its process description,
standards, and procedures, and address noncompliance.
Examples are objectively evaluating processes and work products against the
Requirements and Testing Standards and tracking and communicating noncompliance
issues.
3.2.10 GP 2.10: Review Status with Higher Level Management
Review the activities, status, and results of the process with higher level management
and resolve issues.
Examples include reviewing the status of process improvement projects with SCOJD,
and reviewing the results of a pilot process with SCOJD.
Page 8 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 9 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Such process areas contain one or more specific practices that when implemented may also
fully implement a generic practice or generate a work product that is used in the
implementation of a generic practice. The following types of relationships between generic
practices and process areas occur:
■ The process areas that support the implementation of generic practices
■ The recursive relationships between generic practices and their closely related process
Both types of relationships are important to remember during process improvement to take
advantage of the natural synergies that exist between the generic practices and their related
process areas. Given the dependencies that generic practices have on these process
areas, and given the more “holistic” view that many of these process areas provide, these
process areas are often implemented early, in whole or in part, before or concurrent with
implementing the associated generic practices.
To support the meeting generic practices of generic goal 2 and achieving Capability Level 2,
the following process areas should be considered for early implementation:
■ Organizational Training
■ Project Planning
■ Project Monitoring and Control
■ Integrated Project Management (Advanced)
■ Configuration Management
■ Measurement and Analysis
■ Process and Product Quality Assurance
To support the meeting generic practices of generic goal 3 and achieving Capability Level 3,
the following process areas should be considered for early implementation:
■ Organizational Process Focus
■ Organizational Process Definition
■ Integrated Project Management (Advanced)
Refer to the “Process Areas That Support Generic Practices” section in “Part Two - Generic
Goals and Generic Practices, and the Process Areas” in the CMMI-DEV V1.2 document for
more information on this topic.
Page 10 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 11 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 12 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 13 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 14 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 15 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 16 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 17 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 18 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 19 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 20 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 21 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 22 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 23 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 24 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 25 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 26 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
4.11 Verification
The purpose of Verification (VER) is to ensure that selected work products meet their
specified requirements.
This process area is currently supported by the Testing Standard.
4.11.1 Related Process Areas
Process Area Related Information
Confirming that a product or product component
Validation fulfills its intended use when placed in its
intended environment
Generation and development of customer,
Requirements Development
product, and product component requirements
Requirements Management Managing requirements
Page 27 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 28 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
4.12 Validation
The purpose of Validation (VAL) is to demonstrate that a product or product component
fulfills its intended use when placed in its intended environment.
This process area is currently supported by the Testing Standard.
4.12.1 Related Process Areas
Process Area Related Information
Requirements Development Requirements validation
Transforming requirements into product
specifications and for corrective action when
Technical Solution
validation issues are identified that affect the
product or product component design.
Verifying that the product or product component
Verification
meets its requirements
4.12.2 Specific Goals and Practices
Specific Goals and Practices
SG1: Prepare for Validation
Preparation for validation is conducted.
SP 1.1: Select Products for Validation
Select products and product components to be validated and the validation methods that will
be used for each.
Typical Work Products
• Lists of products and product components selected for validation
• Validation methods for each product or product component
• Requirements for performing validation for each product or product component
• Validation constraints for each product or product component
SP 1.2: Establish the Validation Environment
Establish and maintain the environment needed to support validation.
Typical Work Products
• Validation environment
SP 1.3: Establish Validation Procedures and Criteria
Establish and maintain procedures and criteria for validation.
Typical Work Products
• Validation procedures
• Validation criteria
• Test and evaluation procedures for maintenance, training, and support
SG2: Validate Product or Product Components
The product or product components are validated to ensure that they are suitable for use in their
intended operating environment.
SP 2.1: Perform Validation
Perform validation on the selected products and product components.
Typical Work Products
• Validation reports
• Validation results
• Validation cross-reference matrix
• As-run procedures log
• Operational demonstrations
SP 2.2: Analyze Validation Results
Analyze the results of the validation activities.
Typical Work Products
• Validation deficiency reports
• Validation issues
• Procedure change request
Page 29 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 30 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 31 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 32 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 33 06/16/2009
AASHTOWare Lifecycle Framework (ALF) 05.010.02R
Page 34 06/16/2009
Standards and Guidelines Glossary 05.020.02R
Page 1 06/16/2009
Standards and Guidelines Glossary 05.020.02R
Item Definition
Enhancement Project An enhancement project includes the addition of new features to an
existing product module; or the correction of limited-scope, non-
critical inconsistencies or inadequacies of a product module.
Enhancement projects are formally identified and approved through
user groups, technical advisory committees, project task forces, and
SCOJD.
Major Enhancement An enhancement project that requires significant funding and effort
Project to implement.
Minor Enhancement A very small enhancement effort that requires minimum funding and
Project effort to implement.
Major Maintenance A project that includes the scheduled repair of an existing product
module or the product's technical operating environment which is
required to enable successful execution of the product as
prescribed by business requirements.
Minor Maintenance A project to provide a temporary fix or repair of an existing product
module. The temporary fix or repair results must not add to, change
nor delete from the functionality of a product module.
2. Requirements Definitions
The following are definitions are associated with the Requirements Standard (3.010.nnS). Refer
to this standard for additional information.
Item Definition
User Requirement A user requirement describes what a user or business stakeholder
expects from a proposed product (what the user wants to product to
do).
User Requirements The URS is a required deliverable which contains all of the
Specification (URS) approved user requirements that are to be accomplished in a
specified contract period for a specified product. The URS is
normally incorporated in or referenced by the project/product work
plan; however, in some cases, a separate document is created.
System Requirement A system requirement describes what the proposed product must
do in order to one or more user requirements (how the product will
do it). These may describe functionality or impose constraints on the
design or implementation (such as performance requirements,
security, or reliability). System requirements are documented in the
language of the software developer or integrator with the
appropriate detail needed to design the proposed product.
System Requirements The SRS is a required deliverable which contains all of the system
Specification (SRS) requirements. The SRS should describe all functional, non-
functional, technical, role, and data requirements of the proposed
system in sufficient detail to support system design.
Page 2 06/16/2009
Standards and Guidelines Glossary 05.020.02R
Item Definition
Requirements The RTM is a required deliverable that describes the backward
Traceability Matrix traceability and forward traceability of the requirements in the URS.
(RTM) The RTM documents that system requirements are be traced to
source user requirements. The RTM also documents that each
requirement is traced to a design object and a testing procedure.
Deliverable This is a work product which is used to document the task force
Acceptance acceptance of deliverables. A separate Deliverable Acceptance
must be created for each of accepted deliverable and may be
documented in various formats (email, letter, form. etc.)
Change Control A documented procedure that provides the ability to monitor
Procedure requests that add, change, or remove functionality or requirements
documented in the approved URS. The procedure includes
activates to submit, review, analyze, approve, and reject change
requests, and the communication of the approval/rejection decision.
Change Request This work product is the record of a change request submittal,
Acceptance impact analysis, and the task force approval or rejection decision. A
separate Change Request Acceptance must be created for each
change request and may be documented in various formats (email,
letter, form. etc.)
3. Testing Definitions
The following are definitions of work products and deliverables associated with the Testing
Standard (3.080.nnS). Refer to this standard for additional information.
Item Definition
Test Plan This plan describes the testing methodology, what will be tested,
testing schedule, and testing deliverables. The test plan is required
and may be included or referenced in the project/product work plan
or submitted as separate deliverable.
Alpha Testing This report is a required deliverable that documents the results from
Acceptance Report Alpha Testing (what was tested, results, problems found,
corrections made, outstanding issues, etc.). The Alpha Testing
Acceptance Report is submitted to the task force with a request to
accept the completion of Alpha Testing.
Distribution Test This contains all of the materials needed to release a product for
Materials Beta Testing. The Distribution Test Materials includes the product,
instructions, installation procedures, methods to record
testing/results and report problems, etc.
Beta Testing This report is a required deliverable that documents the results from
Acceptance Report Beta Testing (what was tested, who participated, results, problems
found, corrections made, outstanding issues, etc.) The Beta
Testing Acceptance Report is submitted to task force with a request
to accept the completion of Beta Testing and to acknowledge that
the product is ready for implementation.
Installation Materials This contains all procedures, executables, documentation needed to
install, implement, and operate the product at the user agency site.
Page 3 06/16/2009
Standards and Guidelines Glossary 05.020.02R
Page 4 06/16/2009
Standards and Guidelines Glossary 05.020.02R
Item Definition
Specific Goals and Specific goals and practices apply to a given process area. A
Practices: specific goal describes the unique characteristics that must be
present to satisfy the process area. A specific practice is the
description of an activity that is considered important in achieving
the associated specific goal. Each process area includes one or
more specific goal, and each specific goal includes one or more
specific practices.
Generic Goals and General goals and practices apply to multiple process areas. A
Practices: generic goal describes the characteristics that must be present to
institutionalize the processes that implement a process area. A
generic practice describes an activity that is considered important in
achieving the associated generic goal. ALF includes 3 generic
goals, and 13 generic practices. Each goal includes one or more of
the generic practices.
Capability Levels A capability level is a process improvement achievement within an
individual process area. As an organization satisfies each generic
goal (1-3) and its generic practices, the equivalent capability level
(1-3) is achieved. The ALF capability level are listed below:
• Capability Level 0 (Incomplete). One or more of the specific goals
of the process area are not satisfied.
• Capability Level 1 (Performed). The process satisfies the specific
goals and specific practices of the process area; however, it is not
institutionalized.
• Capability Level 2 (Managed). The process which was performed
at capability level 1 becomes a managed process when:
■ There is a policy that indicates the process will be performed,
■ It is planned and executed in accordance with policy,
■ There are resources provided to support and implement the
process and produce the required work products,
■ Training is provided on how to perform the process,
■ The process and work products are monitored, controlled, and
reviewed, and
■ The process and work products are evaluated for adherence to
the standard process.
• Capability Level 3 (Defined). The process which was managed at
capability level 2 becomes a defined process when:
■ Tailoring guidelines are established that allows a specific
project to customize the standard process to suit the needs of
that particular project,
■ The process contributes work products, measures, and other
process improvement information to the organizational process
assets, and
■ The process clearly states the purpose, inputs, entry criteria,
activities, roles, measures, verification steps, outputs, and exit
criteria.
Page 5 06/16/2009
Standards and Guidelines Glossary 05.020.02R
5. Lifecycle Phases
The highlighted table below shows the AASHTOWare Lifecycle phases. Although these phases
are depicted consecutively, they actually overlap each other, even when a waterfall
methodology is being employed. Where iterative techniques are being used the Planning
through Verification phases are repeated for as many cycles as are needed. In addition there
may be multiple parallel threads of development occurring concurrently. In some methodologies,
Design, Construction, and Verification may be a single unified operation which iterates with the
Requirements/Analysis phase.
Page 6 06/16/2009
Standards and Guidelines Glossary 05.020.02R
Page 7 06/16/2009
Standards and Guidelines Glossary 05.020.02R
6. CLIENT/SERVER
A computing architecture in which application functions are decomposed and data bases are
segmented so that processing and information can be distributed over multiple platforms across
a network to precisely meet information and processing requirements while optimally utilizing
available computing resources.
Definition form I/S Resource Group's presentation on Client/Server Development Principles.
The key benefit to a client/server environment is the flexibility it provides which allows maximum
utilization of both staff and computing resources. Therefore, a Standard or Guideline for
Client/Server Architecture should ensure that the computing elements of a client/server
application are properly identified and defined. The client/server computing elements are
distributed processing, distributed data, and the network. The distributed processing elements
must assure that the application is decomposed into component functions. This decomposition
will allow application processes to be performed on the most appropriate client or server
platform at the most appropriate network location. Distributed data requires that the database be
physically organized into logical data segments. This segmentation then allows for the
individual data segment to be placed on the most appropriate network location. The network
provides the connectivity to link the clients and servers via communications protocols so that
programs can interact to share data and processing.
7. PORTABILITY
I f we wish to sell a program to many different users or if we wish to use a program over a long
period of time, we must be concerned with the extent to which a program can be easily and
effectively operated in a variety of computing environments. The goal is development and
implementation of software and data base code which will execute with different (technical
environments) hardware platforms and operating systems with a minimum of modification, if
any.
To port an application from one technical environment to another involves changing every
specification in the application which is specific to a particular environment.
This implies that at least one, and probably all, of the following statements should be true.
1. The product is constructed with a case tool which supports all of the target environments
and allows easy portation by regeneration of the application.
2. The specifications of the application which are environment specific are minimal, are well
documented and easy to change.
3. The specifications of the application which are environment specific are isolated to modules
or components which can easily be re-written or are replicated with commercially available
equivalents targeting the new environment.
The primary benefit of developing software with maximum portability is to broaden the base of
potential customers and to protect the AASHTO software investment over time.
A checklist is helpful in accomplishing this goal.
2. Is the program written in a widely used standardized programming language, and does the
program use only a standard version and features of that language?
Page 8 06/16/2009
Standards and Guidelines Glossary 05.020.02R
3. Does the program use primarily standard, universally available library functions and
subroutines?
Page 9 06/16/2009
This page is intentionally blank.