Download SECTION 5. Economic Analysis

Document related concepts

Microsoft SQL Server wikipedia , lookup

Concurrency control wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Oracle Database wikipedia , lookup

Database wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Relational model wikipedia , lookup

Functional Database Model wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
EXECUTIVE SUMMARY
The Relational Database Management System (RDBMS) and fully integrated Software
Development Tool Set (SDTS) analysis performed by FCBS describes important considerations
for developing selection criteria and acquiring the best combination of an RDBMS and an SDTS
for the U.S. Coast Guard. It was necessary to limit the scope of this analysis due to the immense
number of commercially available RDBMS’s and SDTS’s. The products chosen for
consideration had to be compatible with Microsoft Windows NT 4.0 in order to pass the initial
evaluation. Secondly, the Integrated Product Development Team (IPDT) discussed this issue
and determined that the Statement of Work (SOW) term “RDBMS/SDTS Combination” should
be interpreted as an RDBMS and a complimentary SDTS consisting of tools necessary and
appropriate to support the Aviation Logistics Management Information System (ALMIS)
development.
The information presented in this analysis was derived from vendor-supplied information,
product demonstration programs, on-line World Wide Web information and industry technical
and functional standards that support ALMIS development objectives. The Decision Analysis
Tool (DAT), ExpertChoice, was selected by the U.S. Coast Guard and a copy was provided to
FCBS for use in this analysis. FCBS populated the DAT with qualitative and economic criteria
developed for analysis of an RDBMS and an SDTS. Then, the populated DAT was loaded with
evaluation scores from RDBMS’s and SDTS’s that FCBS and the U.S. Coast Guard agreed
upon. The list of approved candidates loaded into the DAT were Oracle 8i and OpenIngres 2.0
RDBMS’s and Oracle Corp. Oracle Developer/Designer 2000, Platinum Technology Inc.
Paradigm Plus, Compuware Inc. Uniface, Sybase Inc. PowerBuilder, Rational Corp. Rational
Rose, Inprise Corp. Delphi4, and Prophecy Americas Prophecy Object Framework. SDTS’s
Conclusions from the ExpertChoice decision model showed that RDBMS’s input from Oracle 8i
scored .527, and OpenIngres 2.0 scored .473. The conclusions from the ExpertChoice decision
model showed that SDTS’s input from Oracle scored .183, Prophecy scored .176, Rational
scored .170, Platinum scored .157, Compuware scored .133, Inprise scored .096, and Sybase
scored .085.
The evaluation of RDBMS’s places Oracle 8i as the most viable RDBMS based on its ability to
query data from any available data source, remote database administration, graphical interface
and drag/drop capabilities and OpenIngres 2.0 evaluated lower due to its inability to do the
previously stated. The evaluation of SDTS’s placed the top three contenders as Oracle Corp.
Oracle Developer/Designer 2000, Prophecy Americas Prophecy Object Framework and Rational
Corp. Rational Rose. They are all strong contenders that have only marginal differences. The
U.S. Coast Guard has already purchased the Delphi4, J Builder, Midas Suite from Inprise Corp.,
therefore, it was included in the analysis but did not perform all requirements needed to
accomplish the full life-cycle development of ALMIS. Inprise’s set is considered a Rapid
Application Development (RAD) tool rather than an SDTS. FCBS recommends a full service
demonstration of each SDTS before making a final recommendation.
AVIATION LOGISTICS MANAGEMENT
INFORMATION SYSTEM
ARCHITECTURE DESIGN
TOOLS ANALYSIS
Prepared for:
U.S. COAST GUARD
OFFICE OF ENGINEERING
AERONAUTICAL ENGINEERING DIVISION
2100 SECOND STREET, S.W.
WASHINGTON, DC 20593-0001
Prepared by:
FC BUSINESS SYSTEMS, INC.
5205 LEESBURG PIKE, SUITE 700
FALLS CHURCH, VA 22041
Prepared on:
23 March 1999
Contract No.: DTCG23-97-D-TAZ040
Task Order No.: DTCG23-98-F-ACMS16
CDRL No.: A008
Version No.: ARC-DO-160001.200
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
ii
ARC-DO-160001.200
23-Mar-99
RECORD OF CHANGES
CHANGE
NO.
DATE
VERSION
03/23/99
2
DESCRIPTION
IV&V and U.S. Coast Guard
Comments and internal editorial
review
iii
ENTERED BY
(SIGNATURE)
Tom Alston
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
iv
ARC-DO-160001.200
23-Mar-99
TABLE OF CONTENTS
Section/Para.
Title
Page
1.
INTRODUCTION ................................................................................... 1-1
1.1
1.2
1.3
1.4
1.5
1.6
1.6.1
1.6.2
1.6.3
1.7
1.8
1.9
1.10
Overview .................................................................................................. 1-1
Objective. ................................................................................................. 1-1
Scope. ....................................................................................................... 1-1
Background .............................................................................................. 1-2
Methodology ............................................................................................ 1-2
Assess Operating Environment. ............................................................... 1-3
Hardware. ................................................................................................. 1-3
Operating System. .................................................................................... 1-3
Network.................................................................................................... 1-3
Definition of a Viable RDBMS. .............................................................. 1-3
Definition of a Viable SDTS.................................................................... 1-3
Submission of Candidate List. ................................................................. 1-4
Acronym List. .......................................................................................... 1-4
2.
REFERENCES ........................................................................................ 2-1
3.
RDBMS/SDTS QUALITATIVE ANALYSIS ENVIRONMENT.......... 3-1
3.1
3.2
3.3
Desired RDBMS and SDTS Functionality. ............................................. 3-1
Identification and Screening of Potential Candidates. ............................. 3-1
Detailed Technical and Functional Analysis Criteria. ............................. 3-2
4.
QUALITATIVE ANALYSIS .................................................................. 4-1
4.1
4.2
4.3
4.4
4.5
Suitability of SDTS to ALMIS development........................................... 4-1
Projected RDBMS/SDTS Support. .......................................................... 4-1
Availability of Personnel Competent in SDTS. ....................................... 4-1
Complexity of Legacy Conversions......................................................... 4-1
Evaluation of Candidate RDBMS’s and SDTS’s. ................................... 4-2
5.
ECONOMIC ANALYSIS ....................................................................... 5-1
5.1
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5
5.1.6
5.1.7
5.2
Economic Analysis Criteria. .................................................................... 5-1
RDBMS Associated License Fees. .......................................................... 5-1
RDBMS Maintenance. ............................................................................. 5-1
RDBMS Training Costs. .......................................................................... 5-1
SDTS Associated License Fees. .............................................................. 5-2
SDTS Maintenance. ................................................................................. 5-2
SDTS Training Costs. .............................................................................. 5-2
Market Price for Personnel Competent in SDTS’s. ................................. 5-2
Vendor Viability. ..................................................................................... 5-2
v
ARC-DO-160001.200
23-Mar-99
TABLE OF CONTENTS (Cont'd)
Section/Para.
Title
Page
5.3
Comparison of Economic Criteria. ......................................................... 5-3
6.
CONCLUSIONS AND RECOMMENDATIONS .................................. 6-1
6.1
6.2
Conclusions. ............................................................................................. 6-1
Recommendations .................................................................................... 6-2
Appendix A. RDBMS ANALYSIS CRITERIA EXPLAINED ................................... A-1
Appendix B. BENEFITS AND CAPABILITIES OF SDTS’S .....................................B-1
Appendix C. RDBMS’S SELECTED FOR EVALUATION .......................................C-1
Appendix D. SDTS’S SELECTED FOR EVALUATION .......................................... D-1
Appendix E. RDBMS EVALUATION CRITERIA ..................................................... E-1
Appendix F.
SDTS EVALUATION CRITERIA ......................................................... F-1
Appendix G. RDBMS AND SDTS OVERALL SCORES .......................................... G-1
Appendix H. RDBMS QUALITATIVE SCORES....................................................... H-1
Appendix I.
SDTS QUALITATIVE SCORES ............................................................. I-1
Appendix J.
RDBMS ECONOMIC SCORES .............................................................. J-1
Appendix K. SDTS ECONOMIC SCORES ................................................................ K-1
vi
ARC-DO-160001.200
23-Mar-99
LIST OF TABLES
Number
1-1
5-1
5-2
5-3
5-4
Title
Page
RDBMS and SDTS Combinations .......................................................... 1-2
RDBMS Cost Breakdown ........................................................................ 5-1
SDTS Cost Breakdown ............................................................................ 5-2
RDBMS Vendor Viability ....................................................................... 5-3
SDTS Vendor Viability............................................................................ 5-3
vii
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
viii
ARC-DO-160001.200
23-Mar-99
SECTION 1. INTRODUCTION
1.1 OVERVIEW.
This analysis fulfills the requirements for FCBS to conduct a qualitative and economic
analysis of RDBMS’s and SDTS’s as specified by the U.S. Coast Guard in the SOW for
Task Order (TO) DTCG23-98-F-ACMS16. It is a supplement to the ExpertChoice
decision analysis tool that was developed, populated and provided to the U.S. Coast
Guard in accordance with Contract Data Requirements List (CDRL) A008.
1.2 OBJECTIVE.
The objective of this analysis is to evaluate commercially available RDBMS’s and
SDTS’s and identify a minimum of three combinations, which demonstrate viable
applicability to the ALMIS development effort. For the purpose of this analysis, fully
Integrated Computer Aided Software Engineering Tools (I-CASE Tools) are referenced
as SDTS’s to limit confusion when referring to the differences in Tool Sets and for
uniformity. This analysis, combined with its supporting ExpertChoice decision analysis
tool, provides the U.S. Coast Guard with an appropriate mechanism to further consider
these combinations.
1.3 SCOPE.
As a matter of efficiency and effectiveness, it was necessary to limit the scope of this
analysis to focus available resources on efforts most likely to contribute to the
identification of the most appropriate RDBMS/SDTS combination to support ALMIS
development.
The IPDT discussed this issue and determined that the SOW term “RDBMS/SDTS
Combination” should be interpreted as an RDBMS and a complimentary SDTS
consisting of tools necessary and appropriate to support the ALMIS development.
In the process of defining a viable RDBMS, it became apparent that OpenIngres 2.0 and
Oracle 8i will support qualitative characteristics and capabilities of ALMIS. Other
RDBMS’s were not pursued any further, as they clearly did not meet requirements of the
current U.S. Coast Guard operating environment.
FCBS expended significant effort detailing the qualitative characteristics and capabilities
of a viable SDTS for ALMIS development. In addition to these characteristics and
capabilities of a viable SDTS, the selected SDTS should also produce an application
compatible with the selected RDBMS, meeting the end-state requirements of ALMIS
development. Specifically, the extraordinary size and complexity of the envisioned
ALMIS system mandates the use of a SDTS designed for full life-cycle development and
management. The criteria used to evaluate SDTS enforce the idea that the optimal SDTS
for ALMIS development would provide as many capabilities as possible.
1-1
ARC-DO-160001.200
23-Mar-99
Based on these determinations, two RDBMS’s and seven SDTS’s were selected for
evaluation. Table 1-1 illustrates the 12 potential combinations of RDBMS’s and SDTS’s
considered in this analysis.
Vendor
SDTS
Oracle Corp.
Developer/2000 and
Designer/2000
Prophecy Object
Framework
Paradigm Plus
Prophecy Americas
Platinum
Technology, Inc.
Rational Corp.
Rose 98 Enterprise
Edition
Uniface CBD
Environment
PowerBuilder
Delphi4
Compuware, Inc.
Sybase, Inc.
Inprise Corp.
Compatible with
OpenIngres 2.0
Ingress- Native/
ODBC
Compatible with
Oracle 8i
Oracle – Native/
ODBC
Ingress- Native
Oracle – Native
Ingress- Native/
ODBC
Oracle – Native/
ODBC
Oracle ODBC
Ingress- Native/
ODBC
Ingress- Native/
ODBC
Oracle – Native/
ODBC
Oracle ODBC
Oracle – Native/
ODBC
Table 1-1. RDBMS and SDTS Combinations
1.4 BACKGROUND.
FCBS reviewed all available documentation regarding the objectives of the ALMIS
development effort—in particular, the stated functional, behavioral and operational
characteristics of the end-state ALMIS system. Then FCBS defined the qualitative
characteristics of a RDBMS/SDTS combination that is capable of producing a system
that will also meet economic constraints.
1.5 METHODOLOGY.
FCBS developed qualitative and economic criteria to compare and differentiate candidate
RDBMS’s and SDTS’s. The criteria were based on U.S. Coast Guard concerns stated in
the SOW, ALMIS development objectives, current commercial writings, published
industry standards, vendor documentation, Internet user groups, and Management
Information Systems Division (MISD) suggestions.
FCBS evaluated RDBMS’s for compatibility with the U.S. Coast Guard’s computing
environment, ability to support ALMIS objectives, and compliance with industry
technical and functional standards. FCBS also evaluated SDTS’s for compatibility with
the candidate RDBMS’s ability to support ALMIS objectives, degree of life-cycle
support coverage, degree and method of integration, degree and method of repository and
business rule use, and degree of development methodology support and enforcement.
Economic evaluations included license costs, recurring costs, relative training costs,
maintenance, the stability and market share of the companies.
1-2
ARC-DO-160001.200
23-Mar-99
1.6 ASSESS OPERATING ENVIRONMENT.
1.6.1 HARDWARE.
U.S. Coast Guard Data Centers maintains a wide variety of hardware platforms. At
Aircraft Repair and Supply Center (AR&SC) Elizabeth City, NC the major platforms are
Digital Equipment Corp. (DEC) Alpha 3100 and DEC Alpha 4100 servers and Pentium
personal computers (PC).
1.6.2 OPERATING SYSTEM.
The DEC Alpha machines at AR&SC run Digital Unix 4.0D and the Pentium PC’s run
Windows NT 4.0 Workstation.
1.6.3 NETWORK.
Data Centers communicate via Transfer Control Protocol/Internet Protocol (TCP/IP)
which is the standard Internet and Intranet communications protocol and the prescribed
communications protocol of the U.S. Coast Guard Standard Workstation III (CG SWIII).
All are connected in a Wide Area Network (WAN) by the U.S. Coast Guard Data
Network Plus (CGDN+) via 10/100 Megabyte (MB) Ethernet with supporting cabling
and devices (hubs, routers, switches, etc.).
1.7 DEFINITION OF A VIABLE RDBMS.
A viable RDBMS is capable of supporting logically centralized behavior, such as
business rules, and standard procedures associated with certain data types, to ensure that
data semantics are maintained and key rules are enforced on all applications. The ability
provided by some RDBMS’s to support stored procedures, triggers, and alerts is a
characteristic used in specifying user-defined data types with their own type-specific
behavior. This permits data to behave in the database the same way it is specified in
applications. It is increasingly desirable in large-scale database applications for the
RDBMS to be capable of supporting languages, incorporating powerful query facilities
that allow programmers to fetch sets of data objects from the database, and in some cases
following pointer-based data relationships, such as object oriented files.
1.8 DEFINITION OF A VIABLE SDTS.
FCBS expended significant effort researching the qualitative characteristics and
capabilities of a viable SDTS for ALMIS development. In addition to the constraint that
the selected SDTS should produce an application compatible with the selected RDBMS,
the end-state requirements of ALMIS mandated some baseline assumptions about the
SDTS that will be used to develop and manage ALMIS. Specifically, the extraordinary
size and complexity of the envisioned ALMIS system mandates the use of a Software
Engineering Environment consisting of a SDTS designed for full life-cycle development
and management.
1-3
ARC-DO-160001.200
23-Mar-99
1.9 SUBMISSION OF CANDIDATE LIST.
Based on the definitions of a viable RDBMS and SDTS, two RDBMS’s and five SDTS’s
were selected for evaluation. A list of candidate RDBMS’s and SDTS’s was sent to the
U.S. Coast Guard for review on 30 November 1998 and was accepted (with the addition
of Rational Corp.) on 3 December 1998. On 22 December 1998, Prophecy Americas was
included in the analysis by request of the U.S. Coast Guard.
1.10 ACRONYM LIST.
ACMS
ALMIS
AMMIS
ANSI
API
AR&SC
ASCII
BLOBS
BPR
CDRL
CG SWIII
CGDN+
CM
COM
CORBA
CRM
DAT
DEC
DRDA
DSS
EAL
LAN
EBCDIC
NCSC
EDI
EIS
FCBS
GUI
HP
HTML
I-CASE
IDE
IPDT
JAD
MB
MISD
Aviation Computerized Maintenance System
Aviation Logistics Maintenance Information System
Aviation Maintenance Management Information System
American National Standards Institute
Application Programmer Interfaces
Aircraft Repair and Supply Center
American Standard Code of Information Interchange
Binary Large Objects
Business Process Reengineering
Contract Data Requirements List
Coast Guard Standard Workstation III
Coast Guard Data Network Plus
Configuration Management
Communication
Common Object Request Broker Architecture
Change Request Management
Decision Analysis Tool
Digital Equipment Corporation
Distributed Relational Database Architecture
Decision Support System
Electronic Aircraft Logbook
Local Area Network
Extended Binary Coded Decimal Interchange Code
National Computer Security Center
Electronic Data Interchange
Executive Information System
FC Business Systems, Inc.
Graphical User Interface
Hewlett Packard
HyperText Markup Language
Integrated Computer Aided Software Engineering
Integrated Drive Electronics
Integrated Product Development Team
Joint Application Development
Megabytes
Management Information Services Division
1-4
ARC-DO-160001.200
23-Mar-99
MIDAS
O/S
ODBC
PC
RAD
RDBMS
SDTS
SOW
SQA
SQL
OLTP
UML
TC
TCP/IP
TO
WYSIWYG
WAN
3GL
Multi-tier Distributed Application Services Set
Operating System
Open DataBase Connectivity
Personnel Computers
Rapid Application Development
Relational Database Management System
Software Development Tool Set
Statement of Work
Software Quality Assurance
Structured Query Language
On Line Transaction Processing
Unified Modeling Language
Transmission Control
Transfer Control Protocol/Internet Protocol
Task Order
What You See Is What You Get
Wide Area Network
Third Generation Languages
1-5
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
1-6
ARC-DO-160001.200
23-Mar-99
SECTION 2. REFERENCES
The documents used in the Tools analysis are as follows:
a. DOD Human Computer Interface Style Guide
b. COMTINST 5230.42A
U.S. Coast Guard Data Element Naming Standards
c. COMTINST 5234.4 U.S. Coast Guard Software Development and
Documentation Standards
d. ANSI SQL92 FIPS Pub 127-1
e. Vendor Documentation
f. Software Engineering Institute, Camegie Mellon University, Pittsburgh PA
(Enterprise Framework for Disciplined Evolution of Legacy Systems) WEB paper
g. Guidelines for Enterprise-Wide GUI Design
h. [L81996] Draft ANSI Standard for "Representation of Date for Information
Interchange", X3L8/96-050, ASC NCITS L8, December 9, 1996
i. [L81997] Draft ANSI Standard for "Representation of Time for Information
Interchange", X3L8/97-008gV2, ASC NCITS L8, March 23, 1997
2-1
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
2-2
ARC-DO-160001.200
23-Mar-99
SECTION 3. RDBMS/SDTS QUALITATIVE ANALYSIS ENVIRONMENT
3.1 DESIRED RDBMS AND SDTS FUNCTIONALITY.
The volume and complexity of source code and logic dictated by the end-state
requirements of ALMIS mandates the use of an RDBMS and automated tools that
effectively implement the discipline of information engineering. An RDBMS provides a
seamless interface between the physical structure and logical data presented. The
RDBMS also provides for operation to be executed within a structure, governed by
business rules. The single most important functional attribute of an SDTS is the
compatibility of its constituent parts. A Software Engineering Environment consists of a
SDTS including a central repository that manages system metadata and enforces method
integrity. Management approaches, systematic procedures and methods, and automated
tools permit teams of software engineers to meet business and system requirements
completed in a predictable schedule. The entire software development life-cycle allows
for easy maintenance and enhancement.
Based on these desired high level functional attributes of RDBMS’s and SDTS’s, FCBS
established preliminary evaluation criteria to be used to identify SDTS’s to be considered
for further evaluation. The RDBM’s analysis criteria explained are described in
Appendix A. The benefits and capabilities of SDTS’s are described in Appendix B.
3.2 IDENTIFICATION AND SCREENING OF POTENTIAL CANDIDATES.
FCBS reviewed industry trade journals and publications, interviewed vendors and used
the World Wide Web to gather information on products and sets of products to meet the
RDBMS and SDTS needs of ALMIS development. It became apparent there were
numerous commercially available candidates, however, not all met the mandatory
requirements had to be disregarded as viable products. Potential candidates were
identified based on the ability to provide the required functionality and compatibility with
the U.S. Coast Guard’s hardware and software environment. Candidates that did not
provide capabilities to support most or all of the software development life-cycle
activities were also eliminated from consideration. Some of the disregarded were Optima
by AdvanEdge Technologies, Enterprise Modeler by Business Integration Tech.,
StructWare by Ivy Team, Live Analyst by IntelliCorp., ObjectMaker Tool Developer by
Mark V Systems Limited, plus many others to numerous to note. Based on the desired
functionality of a viable SDTS to support ALMIS development, the candidates selected
were from Oracle Corp., Platinum Technology Inc., Compuware Inc., and Sybase Inc.
FCBS additionally considered products of known U.S. Coast Guard interest such as
Rational Corp., Inprise Corp., and Prophecy Americas.
The RDBMS’s and SDTS’s selected for evaluation including the company profiles are
listed in Appendix C and D, respectively.
3-1
ARC-DO-160001.200
23-Mar-99
3.3 DETAILED TECHNICAL AND FUNCTIONAL ANALYSIS CRITERIA.
Following the selection of candidate RDBMS’s, and SDTS’s, FCBS developed detailed
technical and functional criteria to be used to compare and differentiate from among the
candidates. The detailed technical and functional criteria were structured around the
concept that discrete, definable elements of technical and functionality could be used to
describe and rate a specific category of desired high-level technical or functional
capability.
FCBS used the RDBMS evaluation criteria contained in Appendix E to evaluate the
candidate RDBMS’s.
FCBS used the SDTS evaluation criteria contained in Appendix F to evaluate the
candidate SDTS’s.
The RDBMS’s and SDTS’s overall scores from the criteria evaluated in the DAT can be
seen in Appendix G.
3-2
ARC-DO-160001.200
23-Mar-99
SECTION 4. QUALITATIVE ANALYSIS
4.1 SUITABILITY OF SDTS TO ALMIS DEVELOPMENT.
The approach FCBS proposes, uses the functionalities in a procedure to link
organizational requirements to tools. These functionalities are used to map objectives to
the tools and in this way provide a direct line from an organization’s policies to the tools
that are required by administrators to support these policies. Extensive research that
considered the U.S. Coast Guard’s current and future needs played a major role in the
process of selecting requirements that are suitable to ALMIS development.
4.2 PROJECTED RDBMS/SDTS SUPPORT.
As a means of providing a basis to evaluate the relative technical support for a given
RDBMS/SDTS, each vendor was asked to supply the types of technical support they
provide. These services include the following:
a. Phone support seven days a week, 24 hours a day, 365 days a year
b. Online technical support
c. Online help desk support
d. Automatic upgrades of the tools
e. Training of Software tools.
4.3 AVAILABILITY OF PERSONNEL COMPETENT IN SDTS.
All of the SDTS’s considered in this analysis are contemporary, state-of-the-art
development tools that are actively used in commercial and government sectors. These
state-of-the-art tools have not been in the marketplace for a long period of time and do
not have a large user base. As a consequence of this fact, there is a very limited
availability of personnel trained/competent in any of the SDTS, and they are in high
demand. Training is limited to vendor or third party (vendor partnership) commercial
sources. Regardless of the tool selected, it is highly likely that the expertise will have to
be developed in-house utilizing vendor consultants and vendor training.
4.4 COMPLEXITY OF LEGACY CONVERSIONS.
Regardless of the SDTS selected, there is an opportunity to optimize the code currently in
Aviation Computerized Maintenance System (ACMS) and Aviation Maintenance
Management Information System (AMMIS) with the new code provided by the SDTS.
Initially, the code from ACMS and AMMIS should be integrated into the ALMIS
architecture. Over time, ACMS and AMMIS functionality can be incrementally migrated
4-1
ARC-DO-160001.200
23-Mar-99
using the SDTS as functional enhancements or other specific requirements are identified.
Potentially, ACMS and AMMIS business rules and processes can be captured utilizing
the STDS, and then the STDS will generate new code.
4.5 EVALUATION OF CANDIDATE RDBMS’S AND SDTS’S.
Candidate RDBMS’s were evaluated against the list of desired technical capabilities and
functional attributes by FCBS technical personnel proficient in the respective databases.
FCBS evaluated candidate SDTS’s against the detailed functional and technical criteria
developed for this purpose. Team members researched vendor-supplied product
literature, demonstration programs, on-line World Wide Web information, and published
independent product reviews. Additionally, product experts and vendors were consulted
for technical clarification of product literature.
Candidates were given qualitative evaluation scores of “Yes” or “No” in each of the 124
criteria. A “Yes” means the RDBMS supports or provides a specific capability or
attribute and “No” means it does not. A null answer given to any of the criteria was
scored as a “No” value
The qualitative scores for the RDBMS’s and SDTS’s are provided in Appendices H and
I, respectively.
4-2
ARC-DO-160001.200
23-Mar-99
SECTION 5. ECONOMIC ANALYSIS
FCBS conducted an economic analysis in accordance with the SOW. Several of the
economic issues identified in the SOW are considered by FCBS to be more qualitative
than economic and were discussed in the qualitative analysis.
5.1 ECONOMIC ANALYSIS CRITERIA.
The following criteria were used to evaluate the relative economic implications of
choosing a particular RDBMS or SDTS:
5.1.1 RDBMS ASSOCIATED LICENSE FEES.
Associated License Fees, expressed, as a dollar figure rounded to the nearest thousand is
the annual license fees associated with the RDBMS’s. The RDBMS vendors were asked
to supply the cost and fees associated with an RDBMS to house an application that would
serve 20 concurrent users, with 200 maximum users interacting with the database. Note:
OpenIngres2.0 cost are based on a five year contract and would require updating license
option at end of five years, total cost is $521,560.00 dollars. Costs can be viewed in
Table 5-1.
5.1.2 RDBMS MAINTENANCE.
Relative maintenance costs, expressed as a dollar figure rounded to the nearest thousand,
are based on one-year annual premium services associated with the RDBMS. The
premium service fee includes cost for 24 hour, 7 day a week telephone service, e-mail
service and web-site/online help. Costs can be viewed in Table 5-1.
5.1.3 RDBMS TRAINING COSTS.
Each vendor was asked to supply the cost of training required for one software
development professional in the use of the RDBMS’s, these prices may vary depending
on the level of experience the person has, in that product area. Training cost is an option,
and is not part of annual fees. Costs can be viewed in Table 5-1.
RDBMS Cost Breakdown
Oracle8i OpenIngres
2.0
$104,312
License $12,240
$2,960
included
Maintenance
$104,312
Total $15,200
$9995
$8600
Training
GSA Contract
Yes
Yes
Table 5-1. RDBMS Cost Breakdown
5-1
ARC-DO-160001.200
23-Mar-99
5.1.4 SDTS ASSOCIATED LICENSE FEES.
Software pricing schemes are nearly as diverse and numerous as software vendors. As a
mechanism of providing a basis to evaluate the relative cost of a particular SDTS, FCBS
isolated some basic, broad-range cost factors and collected data from vendors based on
the same set of criteria for each vendor. Each SDTS vendor was asked to supply the cost
and license fees associated with establishing a four member development environment to
develop an active database, event driven application that would serve 20 concurrent
users, with 200 maximum users. Costs can be viewed in Table 5-2.
5.1.5 SDTS MAINTENANCE.
Relative maintenance costs, expressed as a dollar figure rounded to the nearest thousand,
are based on one-year premium services associated with the SDTS. The premium service
fee includes cost for 24 hour, 7 day a week telephone service, e-mail service and website/online help. Costs can be viewed in Table 5-2.
5.1.6 SDTS TRAINING COSTS.
Each vendor was asked to supply the cost of training required for one software
development professional in the use of the SDTS. Costs can be viewed in Tables 5-2.
SDTS Cost Breakdown
Rational
Platinum
Sybase
Prophecy
Oracle
Compuware
Inprise
License
$121,104
$102,184
$88,600
$120,000
$61,282
$141,432
$23,540
Maintenance
$8,276
$16,295
$4,040
$22,560
$2,960
$21,215
$1,920
Total
$129,380
$118,479
$92,640
$142,560
$64,242
$162,647
$25,460
$4,000
YES
$6,500
YES
$10,555
*
$5,750
$5,625
$2,000+
Training
YES
YES
YES
YES
YES
GSA
Contract
* Training Cost depends on modules used, could not get clear answer.
Table 5-2. SDTS Cost Breakdown
5.1.7 MARKET PRICE FOR PERSONNEL COMPETENT IN SDTS’S.
The RDBMS’s and SDTS’s considered in this analysis are contemporary, state-of-the-art
technology and are actively used in commercial and government sectors. As a
consequence of this fact, software development professionals competent in the use of any
of these tools are in relatively high demand and there is negligible difference in the
salaries they command based on the specific tool in which they are proficient.
5.2 VENDOR VIABILITY.
The vendor viability grade is intended to be a measure of the security of an investment.
Elements that contribute to company stability are annual revenue, number of people
5-2
ARC-DO-160001.200
23-Mar-99
employed, number of corporate clients, number of user groups, and the number of years
in business, as seen in Tables 5-3 and 5-4, respectively.
Market Symbol
Financials
Last 12 months Sales (in millions)
Last 12 months Income (in millions)
Market Share (RDBMS)
Income Growth (5 yr. Avg.)
Sales (5 yr. Growth)
Capitalization (current)
Years in Business
Customer Base
Number of Employees
Number of User Groups for RDBMS
Oracle
CA Inc.
RDBMS
Vendor Viability
CAI
ORCL
$796
$109
< 4%
0%
19.5%
22,674m
26
Over a Million
11,400
213
$7,966.4
$1,087
27.5%
+32.1%
33.7%
41,267m
30
Over a Million
36,802
159
Financials
Last 12 months Sales
(in millions)
Last 12 months
Income (in millions)
Number of
Employees
Years in Business
Prophecy Int.
Sybase
Rational
Platinum
Inprise
Oracle
SDTS
Vendor Viability
Compuware
Table 5-3. RDBMS Vendor Viability
ORCL
INPR
PLAT
CPWR
RATL SYBS PRO**
$7,966
$184
$837.2
$1,372.6
$1,087
$7.7
-$58.7
$259.6
$41.4
-$147
$40.
36,802
821
4,330
8,663
1,743
5,216
1000
30
12
25
28
** Denotes Australian Stock Exchange
15
17
18
$347.3 $815.2
$10.
Table 5-4. SDTS Vendor Viability
5.3 COMPARISON OF ECONOMIC CRITERIA.
Economic information collected from vendors was loaded into the ExpertChoice decision
model for comparison. For the results of the economic scores of the RDBMS’s and
SDTS’s see Appendix J and K, respectively.
5-3
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
5-4
ARC-DO-160001.200
23-Mar-99
SECTION 6. CONCLUSIONS AND RECOMMENDATIONS
6.1 CONCLUSIONS.
FCBS was to report the details of the logic, methodology, and the findings of a
commercially available RDBMS/SDTS combination. FCBS utilized the submitted
RDBMS/SDTS list from the U.S. Coast Guard for this evaluation. To determine the best
RDBMS/SDTS combination, the focus was on single vendors that could supply and
guarantee all of the required components. This eliminated multiple combinations of third
party software that would require integration by the U.S. Coast Guard. The RDBMS’s
used in this evaluation were Oracle 8i and OpenIngres 2.0. The SDTS’s used in this
analysis were Oracle Corp. Oracle’s Developer/Designer 2000, Rational Corp. Rational
Rose98 Enterprise Edition, Prophecy America’s Prophecy Object Framework, Platinum
Technology Inc. Paradigm Plus, Compuware Inc. Uniface CBD Environment, Sybase
Inc. PowerBuilder and Inprise Corp. Delphi4 Set.
The SOW required that both a qualitative and economic analysis be performed. The
evaluation is based on the scoring of criteria from the ExpertChoice DAT. This data was
then incorporated into a Synthesis chart that shows the overall scores and evaluations.
The criteria were incorporated into a format that enabled FCBS to evaluate the
prospective RDBMS’s and SDTS’s.
FCBS reviewed the data to determine the most ideal method for setting up an evaluation
model. Two decision models were designed to support and structure the selection of
ALMIS software. The first was to facilitate the selection of a relational data base
management system with object orientation. The second was aimed at the selection of an
integrated suite of application development tools. In both cases the U.S. Coast Guard
furnished DAT, ExpertChoice, was used to structure the selection criteria and record
evaluator ratings.
One of the underlying constructs of ExpertChoice is named the Analytic Hierarchy
Process and permits arranging selection criteria in a tree structure. The strength of this
approach is to permit evaluators to make their pairwise preference for criteria in smaller
groups and thereby improve consistency of assessment by the individual evaluator.
In the RDBMS model, eight top-level criteria were identified and subdivided into two
groups of four. These two criterion groups were rated individually by five members of
the AR&SC MISD staff. The process for determining these ratings was facilitated by a
member of the FCBS staff. The facilitator used ExpertChoice to record and aggregate the
ratings. The internal aggregation algorithm of the tool used the ratings to arrive at a
normalized set of weights for the top-level criteria. Several other levels of criteria were
also included with equal weights among siblings. Additional facilitated sessions will be
needed to incorporate U.S. Coast Guard assessments to assign normalized weights to
these lower level criteria.
6-1
ARC-DO-160001.200
23-Mar-99
FCBS systems analysts scored the candidate RDBMS products on the lowest level
criteria. The preponderance of these so-called leaf nodes were binary in nature and were
rated either “yes” (and assigned a weight of 1) or “no” (and assigned a weight of zero).
Four groups of leaf nodes under the top criterion of “Vendor Viability” were rated in
terms of quantifiable characteristics. The possible values for these characteristics were
grouped into categories. U.S.Coast Guard participants have not yet pairwise assessed
these categories. Pending this assessment, the two RDBMS candidates are in a virtual
tie.
In the SDTS model the top-level criteria were placed in three groups of three each. To
date, only one U.S. Coast Guard official has rated these top-level criteria. Consequently
equal weights for all siblings at all levels have been used. Even with this limitation, there
is a reasonable spread in scores for the seven candidates. It should be noted that all the
bottom level criteria in this model were binary with associated 1 and 0 weights.
FCBS found in scoring both the qualitative and economic sections of the analysis using
the default values of the DAT “yes” = 1 or “no” = zero and a “null or blank” equaling
zero, that in the RDBMS category, Oracle 8i was rated higher than OpenIngres 2.0. The
scoring in the SDTS’s indicates that Oracle Developer/Designer 2000 was rated higher
than the other SDTS’s followed by Prophecy Object Framework and Rational Rose98
Enterprise Edition, respectively.
6.2 RECOMMENDATIONS
Based on the evaluation scores of the DAT using equal weights, the best combination of
RDBMS/SDTS for optimized performance is Oracle 8i as the RDBMS and Oracle’s
Developer/Designer 2000 as the SDTS. Completion of weighting by the U.S. Coast
Guard could modify these results. The U.S. Coast Guard has the use of the loaded DAT
to perform different synthesis analysis to evaluate the different criteria used in the
RDBMS and SDTS.
FCBS recommends the RDBMS candidate provide a “Full Service” demonstration. This
would also apply to the top three SDTS’s. This “Full Service” demonstration would
allow for a more in depth evaluation of the supporting applications, pricing and training
requirements. This would allow FCBS and the U.S. Coast Guard to better define
additional entities that may arise during the demonstrations.
Another concern is that the U.S. Coast Guard has already purchased a RAD Tool. This
RAD tool is the Delphi4, J Builder; Midas Set from Inprise Corporation. Based on the
understanding of FCBS, the Inprise Corp. set was to be used only in the design and
operation of the Electronic Aviation Logbook (EAL). Further evaluation needs to be
performed on the Inprise Corp. set if the U.S. Coast Guard is planning to use this set for
Architecture Design. The analysis of the Inprise Corp. set was found to be inadequate as
shown in the DAT scoring.
6-2
ARC-DO-160001.200
23-Mar-99
APPENDIX A. RDBMS ANALYSIS CRITERIA EXPLAINED
RDBMS evaluation criteria were compiled from various sources, including known and
anticipated ALMIS objectives requiring specific RDBMS capability, current commercial
writings, industry RDBMS standards, vendor documentation, Internet user group
suggestions, etc.
A.1 ARCHITECTURE.
The RDBMS should take advantage of the current U.S. Coast Guard AR&SC computing
environment. The RDBMS should provide or support the following:
a. Fully implements the relational database model.
b. Fully supports client/server architecture. Client/server architecture provides for
the separation of the client, the user program, and the server, which would house the
RDBMS engine. Client/server is a major strategic direction of the U.S. Coast Guard.
c. A multi-threaded database engine. A multi-threaded database engine will provide
higher performance supporting a larger number of users than will a single-threaded
database engine.
d. Shared Structured Query Language (SQL), allowing multiple users to use a static
execution plan (query optimizer). This feature allows the database engine to use less
memory.
A.2 CONCURRENCY CONTROL.
Concurrency control refers to the ability of the RDBMS to manage multiple users
accessing the same data while maintaining database integrity. The RDBMS should
provide or support the following:
a. An efficient concurrency control scheme such that reports can coexist with
updates and correct results can be returned. For example, if efficient concurrency control
is not maintained, users updating information in the database, while a report is being
generated could cause the output of the report to inaccurately reflect a snapshot of data in
the database.
b. Automatically detect and resolve dead locks. A dead lock is a situation in which
two or more transactions are in a simultaneous wait state, each one waiting for one of the
others to release a lock before it can proceed. Dead lock resolution should follow the
American National Standards Institute (ANSI) standard by performing a rollback of the
statement that caused the deadlock to occur.
A-1
ARC-DO-160001.200
23-Mar-99
c. The "select for update" syntax, as defined by the ANSI SQL92 (FIPS PUB 127-1)
standard. This statement allows for an SQL select statement to lock a record for update
in a single statement instead of multiple statements.
d. No contention for concurrent inserts into the same table, even inserts that are
stored in the same physical database block. If the records happen to be stored in the same
physical storage block on the disk, one user who is inserting a new record into the
database will be precluded from preventing another user from doing the same.
e. Contention free sequence numbers. Contention free sequence numbers insure that
no duplicate sequence numbers are generated and no sequence numbers are skipped when
the RDBMS automatically generates sequence numbers. A potential application of this
would be for Electronic Data Interchange (EDI).
A.3 DATA LOADING
The RDBMS should provide a data loading facility for loading external files from disk,
tape, or other media into the RDBMS. The RDBMS should provide or support the
following
a. Facility should be capable of loading files originating from American Standard
Code of Information Interchange (ASCII) or Extended Binary Coded Decimal
Interchange Code (EBCDIC) environments. This will allow for easy data import from
outside sources.
b. Should not compromise the recoverability of the database when encountering
error conditions. When loading data, the integrity and security of existing data should
never be compromised. This includes dealing with error conditions during the loading
process as well as enforcing referential integrity.
c. The maintenance and creation of indexes during loads. Indexes are used by the
RDBMS to locate quickly user-requested information. If the data loader maintains the
indexes during the load, manual index creation can be eliminated.
d. A high performance mode. This mode should allow for data to be loaded at a
faster rate, possibly be delaying certain processing (e.g., indexing) until the data is fully
loaded. In no way should this facility allow integrity constraints to be violated at the
conclusion of the load process.
e. The ability to load multiple rows from one input record or to load a single row
from multiple input records. This feature will allow the applications programmer to
manipulate the data during the data load in order to adjust the data to the new database
structure.
A-2
ARC-DO-160001.200
23-Mar-99
A.4 DATA TYPES.
Data types refer to the type of data (i.e., number, date, time, currency, and alphabetic
characters) that are stored in database columns (or fields). The RDBMS should provide
or support the following:
a. Number, character, and date/time data types, in conformance with the ANSI
standards and the constraints defined in FIPS PUB 127-1.
b. A currency data type.
c. A data type for the storage of long and unstructured data.
d. Variable length data in variable length rows. This allows for the storage of
arbitrarily sized data, such as text files, within the database.
e. The ability for a column to contain a system-generated value that uniquely
identifies each row within a table.
f. The ability for a user defined data type. This will allow for the database
developer to define a data type to meet a specific application requirement.
A.5 INDEXING.
Indexing is the RDBMS facility that allows for quick access to data without examining
each record in the database to see if the record matches the selection criteria. The
RDBMS should provide or support the following:
a. Indexing of data based on industry standard methods and maintains these indexes
automatically, without the manual intervention of the database administrator.
b. Concatenated indexes, (i.e., indexes over multiple columns). This will allow for
the creation of a single unique key based on the values in multiple columns of the table.
c. The index structure to be stored separately from the database files yet be
maintained by the RDBMS engine. This allows for the maximum flexibility in dataset
placement in order to achieve performance tuning.
A.6 INTEGRITY.
The term "integrity" is used in the database context to refer to the accuracy, validity, or
correctness of the data in the database. The RDBMS should provide or support the
following:
a. Facilities (i.e., declarative integrity constraints or triggers) for implementing
integrity constraints as part of the database definition. Integrity constraints allow the
database administrator to impose rules on the data stored in the database (e.g., only
A-3
ARC-DO-160001.200
23-Mar-99
allowing valid values in a field or not allowing a time and attendance record to be created
if there is no corresponding personnel record in the database).
b. Facilities for implementing referential integrity. Referential integrity requires that
references between multiple tables be valid (e.g., in a database containing flight and
aircraft, each record in the flight table should have a corresponding aircraft record in the
flights table, linked together by the aircraft number).
c. A minimum of six columns in a referential integrity constraint. Six columns are
the minimum as specified in FIPS PUB 127-1.
A.7 LIMITS AND CONSTRAINTS.
The following limits and constraints should be met by the RDBMS system:
a. At least 100 columns per table, the FIPS PUB 127-1 minimum. Each column
represents a field of data in the RDBMS.
b. Character columns to contain at least 240 characters. The minimum specified in
FIPS PUB 127-1 is 240 bytes.
c. A minimum of 10 tables to be joined in a single SQL operation; a minimum of 10
tables is specified in FIPS PUB 127- 1. For example, a "join" is when the RDBMS
retrieves data from multiple tables, using a flight number in each table to relate the two
tables to each other.
d. No practical limit on the number of rows per table due to the size of any single
disk drive or internal constraints imposed by the RDBMS server. Each row represents a
record in the database.
e. No practical limit on the number of users accessing the database, concurrently or
totally.
f. Identifiers, such as column and table name, that are at least 18 bytes in length.
Eighteen (18) bytes are the minimum specified in FIPS PUB 127- 1.
g. At least ten simultaneously open cursors. Ten is the minimum specified in FIPS
PUB 127-1. Each cursor within an application program points to a specific record
retrieved as the result of a database query.
A.8 LOCKING.
Locking is the RDBMS’s facility that prevents multiple users from accessing and
modifying the same data at the same time. The RDBMS should provide or support the
following:
a. Locking at the page level, as well as record and table level. Record, or row, level
locking allows for only a single record, as opposed to the potential multiple records on a
A-4
ARC-DO-160001.200
23-Mar-99
page, to be locked, but it imposes a significant amount of overhead, as the RDBMS
engine moves data around in pages. Table level locking is very low overhead but will
prevent anyone else from accessing the table; even though only one record is being
modified. Page level locking provides the most efficient compromise between
concurrency requirements and locking requirements.
b. Capable of acquiring locks using the ANSI standard "select for update" command.
c. Non-blocking I/0, such that readers do not block writers and writers do not block
readers. This prevents a user from being unnecessarily locked out of the data.
d. Requires no read locks. A read lock occurs when one user’s "read only" access
unnecessarily locks out other users.
e. Capable of detecting and resolving deadlock situations. A deadlock is a situation
in which two or more users are competing for the same database resources and are unable
either to proceed forward or to back up.
A.9 QUERY OPTIMIZATION.
A query is a basic RDBMS operation for accessing data stored in the database. A query
optimizer analyzes a SQL query, which could be written in many different ways to
achieve the exact same result, and attempts to determine the most efficient way to
perform the query. The RDBMS should provide or support the following:
a. A resource usage query optimizer. A resource usage query optimizer analyzes the
SQL query and analyzes the database statistics of prior queries to determine the most
efficient way of executing the query.
b. Resource usage optimization for distributed queries. A distributed query is one
that gathers data from multiple computers, each running an RDBMS, over a Local Area
Network (LAN) or network. Very often this action is transparent to the end user. There
should not be a requirement that all RDBMS servers be a product of the same vendor.
c. Establish optimizer statistics automatically upon index creation. This causes the
RDBMS to maintain statistics automatically, for use in query optimization, instead of
requiring the database administrator to create the initial statistics.
d. "Fast path" (i.e., short-circuiting or pre-compilation) queries. This allows for
some of the query optimization to be done in advance, during the precompilation, instead
of being done each time the query is submitted by the user.
e. An estimate of the resources needed by a query to the user prior to actually
executing the query. This will allow the user to adjust a query, if the resource usage of
running the query is deemed too high.
A-5
ARC-DO-160001.200
23-Mar-99
A.10 SECURITY.
Security criteria that should be met by the RDBMS includes the following:
a. C2 level Security or state plans to support C2 level Security, as defined by the
National Computer Security Center (NCSC) in Trusted Data Management Systems
Interpretation, often called the Lavender Book, and Trusted Computer System Evaluation
Criteria, often called the Orange Book.
b. Co-exist with existing Security facilities at the U.S. Coast Guard and adhere to
Security requirements.
c. Allow for group-level access controls. This, for example, allows for data access
to be granted to all members of a department rather than to each individual user. This
will reduce the workload on the database administrator when group level access controls
are appropriate.
d. Database users to grant privileges to other users associated with user "owned"
tables or views. Privileges should include select, insert, update, and delete at the table
level and preferably at the column level.
e. Store passwords in a form that makes them inaccessible to unauthorized users.
f. Only allows a stored procedure to be used by authorized users, by providing an
execute privilege for stored procedures. A stored procedure is a mini program that is
stored in the RDBMS and database.
A.11 STORAGE AND SPACE MANAGEMENT.
Storage and space management requirements that should be met by the RDBMS includes
the following:
a. Allow tables to span multiple operating system (O/S) files. If tables are not
allowed to span multiple O/S files, a database table could be limited in size by the largest
file that the O/S allows. This is only applicable if the RDBMS server is using the O/S
file system, as opposed to manipulating the hard disk drive directly.
b. Allow the database administrator to manage the storage resource utilization and to
control the growth of database objects.
c. Take advantage of hard disk performance options that may be available in the O/S
or hardware. For example, controlling where on the physical disk that data is stored,
taking advantage of hard drives with both fixed and movable heads to place high usage
data, and indices under the fixed heads.
A-6
ARC-DO-160001.200
23-Mar-99
A.12 TRANSACTION CONTROL.
Transaction control uses a "unit of work," which is an arbitrary collection of database
changes being generated by a user. At the completion of a unit of work, the user can
either commit the changes, which makes them permanent within the database, or roll
back the changes, which restores the data to its original state before the unit of work
began. Should there be an error condition during the unit of work, this allows the user to
roll back the changes and to recover from the error. For example, if a bank transaction
were transferring money between two accounts, the unit of work would contain a debit to
one account and a credit to the other. The user wants both transactions to succeed or both
to fail, but not one to succeed and one to fail. The RDBMS should provide or support the
following:
a. Ability to commit or roll back any transaction (ANSI X3135, 1989).
b. Transactions should begin implicitly, without a "begin transaction" statement
(ANSI X-3)135, 1989).
c. Transactions should be allowed to perform partial rollback, i.e., rollback to a point
within the unit of work that was defined as a check point or save point by the application,
instead of having to do a full rollback.
A.13 BACKUP AND RECOVERY.
The RDBMS Backup Facility should provide or support the following:
a. An on-line backup, allowing the database to be available even during backup.
b. For full backup, (i.e., all data), and incremental backup (i.e., only data modified
since last backup).
c. On-line recoveries of the database in the event of media failure, such as a hard
drive failure.
d. The ability to backup a remote RDBMS server on a local RDBMS server over the
network.
e. Enable a recovery to a point in time. Point-in-time recovery enables recovery
from human errors and allows a database to be restored to a point in time in which the
database was known to be correct.
f. Be able to recover by database and by table, in addition to recovery by RDBMS
server that may contain multiple databases.
g. Be able to partition the database such that individual partitions can be backed up
and recovered independent of the remainder of the database
A-7
ARC-DO-160001.200
23-Mar-99
h. Internal supports for disk mirroring of data. This should be supported on disk
drives that are physically connected to the computer running the RDBMS server or on
disk drives that are remotely accessible over the network. Disk mirroring causes the
same piece of data to be written onto more than one physical hard disk so that if a hard
disk fails, no data is lost.
i. The mirroring (i.e., writing on multiple physical hard disks) of log files.
j. The capability for remote backups and backup “striping" to multiple backup
devices.
A.14 SYSTEMS ADMINISTRATION, MONITORING, AND TUNING.
The RDBMS should provide a system monitoring facility that reports at least:
a. Session Information
b. Memory Information
c. Semaphore Information
d. Locking Information
e. Table Activity
f. The database administrator to tune database system performance can use this
information. For example, table activity might show that the two busiest tables in the
database are on the same physical drive; thus, the database administrator could improve
performance by moving one of the tables to a different physical drive.
g. Administration tools, for use by the database administrator. These tools should, at
a minimum, provide for Table Maintenance, Disk and File Maintenance, User and
Security Maintenance, Backup Maintenance, and Network and Distributed RDBMS
Maintenance
h. Tools be graphically based and be able to executable via the network from the
database administrators desktop workstation. These tools will be evaluated for ease of
use.
A.15 THIRD GENERATION LANGUAGES (3GL) AND APPLICATION
PROGRAMMER INTERFACES (API).
3GL API considerations that should be met by the RDBMS include:
a. The embedded SQL API as defined in ANSI standards.
b. The module language SQL API as defined in ANSI standards.
A-8
ARC-DO-160001.200
23-Mar-99
c. Additional API interfaces, whether proprietary or accepted industry standard, is
desirable.
A.16 FOURTH GENERATION LANGUAGES (4GL)AND API.
4GL API considerations that should be met by the RDBMS include:
a. An application development environment in the UNIX and Microsoft Windows
environments.
b. The use of a wide selection and variety of third party commercial development
tools. The use of third party tools will allow the USCG to use the best-of-breed
application tools and not be locked into the tools provided by the RDBMS vendor.
A.17 STRUCTURED QUERY LANGUAGE (SQL).
The RDBMS should provide or support the following:
a. SQL in conformance to the ANSI SQL92 specification. This is the standard
definition of SQL.
b. Outer joins, normal joins, data in two tables are combined into a single result table
based on a key field that links the two table together. (e.g., aircraft number) However, if
there is an entry in one table, (e.g. the aircraft table) but no entry in the second table, (e.g.
the flight table) the aircraft will not be in the results table. In an outer join; there would
be an entry in the results table even though there were not two corresponding entries in
the two source tables. Note that joins are not limited to two tables.
c. The union, union all, intersect, and minus operators. These operations, based on
mathematical operations of the same names, provide several specific ways to combine
multiple tables into a single result table for manipulation by end user tools.
d. Sub-queries allow a single SQL statement to contain multiple discrete queries,
permitting the user to select data from the database in manageable and logical groups.
e. Aggregates (i.e., SUM, AVG, MAX, MIN, COUNT) to be nested. A nested
aggregate would allow, for example, a SUM to be calculated on a group of AVG values.
f. The RDBMS should allow for the addition of new columns to existing tables.
Data should not have to be reloaded to add additional columns.
g. Integrated math functions including EXPONENTS, LOGS, SIN, COS, TAN, and
ABSOLUTE VALUES. These are commonly used mathematical functions often used in
the manipulation of data within an RDBMS.
h. String manipulation functions including LOWER, UPPER, REPLACE,
INSTRING, and LENGTH.
A-9
ARC-DO-160001.200
23-Mar-99
i. The following group functions: AVG, COUNT, MAX, MIN, STDDEV, SUM,
and VARIANCE.
j. The capability to convert data between differing types, when such a type
conversion makes logical sense. This would allow for the comparison of dates stored in
different formats (e.g., 10/5/94 vs. 5OCT94).
A.18 STORED PROCEDURES AND TRIGGERS.
A stored procedure is a pre-compiled mini-program stored within the database. Stored
procedures tend to be faster because much of the query processing work is done when the
procedure is compiled.
A trigger is a special type of stored procedure that is often used for enforcing integrity
constraints to supply cascading deletes and to supply cascading updates. A trigger can
execute most standard SQL statements. Triggers execute as part of the transaction, being
activated by an event (e. g. a record insert, update, or delete) and not by a user request.
The RDBMS should provide or support the following:
a. Have the ability to store procedures for use by end users.
b. Have the ability to support triggers or show a plan to support triggers.
c. Security and access controls should apply to the execution of stored procedures.
This would be required for C2 level Security compliance.
d. Stored procedures and triggers should be capable of on-line debugging. This will
allow for efficient development by the database administrator.
e. Allow for procedures to call other procedures. This will allow for modular
programming techniques to be used in development of stored procedures and triggers.
f. Allow for procedures to reference data stored in a distributed RDBMS and not be
limited to accessing only data in the local RDBMS.
g. Allow for parameters to be passed by name to stored procedures (e.g., a flight
number passed in as a parameter). This will allow for generic stored procedures to be
developed, instead of stored procedures hard coded to a specific query.
A.19 MULTIMEDIA.
Multimedia refers to a non-traditional form of data stored in a database, consisting of
video, still images, audio, and other binary file types. The vendors disclose its plans
relating to support for multimedia. The RDBMS should support the following data types:
a. Binary Large Objects (BLOBS)
A-10
ARC-DO-160001.200
23-Mar-99
b. Binary
c. Bulk Data
d. User-defined arbitrary data types, which are then capable of being handled
identically to all "built-in" types.
A.20 NETWORKING.
The RDBMS should support the following:
a. Use of O/S support for Novell IPX, LAN Manager, and TCP/IP networking
protocols.
b. Integration with other RDBMS or Transaction Processing (TP) packages using a
standard facility such as the IBM Distributed Relational Database Architecture (DRDA),
the Microsoft Open Database Connectivity (ODBC), or X/Open X/A.
c. Data access to data in an RDBMS (e.g., OpenIngres 2.0) and to flat files on an
IBM mainframe. This will allow access to data stored on the mainframe super-server.
A.21 BASIC FEATURES.
A distributed database refers to the storage of data on multiple networked computers in
multiple RDBMS systems. From the perspective of the end-user, a distributed database
has the ability to treat multiple RDBMS systems as a single RDBMS. Basic distribution
features include:
a. The ability for a single SQL statement to query data distributed over two or more
databases, where the databases may be of different types.
b. The ability to query data from any available data source. This includes RDBMS,
native operating system files on the server or the mainframe host, and a data
warehouse/repository.
c. Joins, including outer joins, over distributed databases through a global
distributed catalog or repository.
d. Views over distributed databases.
e. Location transparency such that applications and users need not know the actual
physical location of the data.
f. A remote update capability, allowing a user to update data in a distributed
database.
g. Local autonomy architecture such that distributed access to data is not dependent
on the availability of a central site. Such dependencies would provide for a single point
of failure.
A-11
ARC-DO-160001.200
23-Mar-99
h. A global database dictionary will contain all information about all tables and
columns available to be queried against, even if those tables and columns are on a remote
RDBMS.
i. The IBM DRDA.
j. A facility for remote database administration. It is desired that this facility be
based on a Graphical User Interface (GUI) and support drag and drop capabilities.
A.22 TWO PHASE COMMIT AND DATA REPLICATION.
Two Phase Commit is a method that insures that a distributed transaction is either fully
committed on all RDBMS servers or on none. A failure to commit a transaction at a
single RDBMS server will cause the transaction to be rolled back on all RDBMS servers
where the transaction was successful.
Data Replication is a method that provides for distributed copies of data and insures the
consistency and integrity of the distributed data, even if one of the RDBMS servers is
unavailable at the time of the transaction.
The RDBMS should provide or support the following:
a. The ability to do two phase commits, but should not require the use of a two
phase commit. The use of two-phase commits causes significant overhead on the
RDBMS. In addition, it is not desirable for the transaction to fail (i.e., if the network
connection fails you would like to have the uncompleted portion of the transaction
queued up for later execution when the network is available). In the case of high value
transactions, the use of two-phase commit may be appropriate.
b. The ability to do data replication, or duplication, across multiple RDBMS
systems. The replication facility should support the ability to queue transactions for later
execution, when the remote RDBMS server is unavailable.
c. The ability to allow users to determine the timeframe that the replication, or
synchronization, will be performed in. This will allow the replication to take place on
minutes, hours, days or weeks depending on the needs of the application.
d. Implemented in an efficient manner that will insure the integrity of the data and
transactions.
e. Automatically synchronize all replicated copies of data after a failure.
f. Protect the logical data integrity and transaction integrity of replicated copies of
data. Failure to maintain integrity will cause the data to be unreliable and inaccurate.
g. Maintain the referential integrity of the data on all RDBMS servers. Failure to
maintain referential integrity would cause the data to be unreliable and inaccurate.
A-12
ARC-DO-160001.200
23-Mar-99
h. Access to multiple data source types (i.e., multivendor RDBMS products).
i. Unrestricted use of dynamic SQL in the definition of replication requests,
allowing easy tailoring of data as it is copied (e.g., subsets, derivation, and aggregation).
A-13
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
A-14
ARC-DO-160001.200
23-Mar-99
APPENDIX B. BENEFITS AND CAPABILITIES OF SDTS’S
B.1 BENEFITS OF AN I-CASE SOFTWARE ENGINEERING ENVIRONMENT.
CASE tools enable quality and productivity improvements by automating and facilitating
many of the tasks that analysts, designers or programmers perform. Improved quality
and reduced development and maintenance time are achieved by using a set of fully
Integrated CASE tools to enforce discipline during analysis and design, check for
accuracy and completeness, and enable design modifications to be quickly made and
checked for validity. Quality improvements will be realized first and productivity gains
will follow as systems designed using I-CASE techniques generally require less
maintenance and the software development organization becomes more adept at
capitalizing on efficiency gains.
I-CASE tools use automated techniques to reduce the cost and time to develop and
maintain programs. Applying automated structured analysis techniques can result in
improved program quality and productivity gains. Principle advantages include:
a. Reduced development time
b. Higher quality programs
c. Lower maintenance costs
d. Simplified development techniques
e. Facilitate end-user involvement
f. Improved software portability.
Systems developed with the I-CASE tools are more likely to be aligned with
organizational strategic planning. Owing to the rigors of the information engineering
methodology enforced by I-CASE tools, using I-CASE tools to build an enterprise model
ensures greater consideration of the importance of operational functions and how the
activities controlled by these functions affect the organization. I-CASE enforced
information engineering methodology supports a better understanding of:
a. Enterprise and department mechanisms and responsibilities.
b. Organizational goals
c. Influence of operations on achieving these goals
d. Timeliness and sequence of operations
e. Factors influencing operations and goal achievement
B-1
ARC-DO-160001.200
23-Mar-99
f. Allocation of resources in support of operations
g. Effect of external influences on the organization
h. Problems facing the organization
i. Importance of information relative to the success of the organization.
B.2 CAPABILITIES OF AN I-CASE TOOL SET.
I-CASE software development automation embodies a comprehensive software
engineering philosophy designed around models that describe the business, the business
environment and strategic planning. I-CASE tools document computer systems
development from planning through implementation. At the start of the software
development life cycle, I-CASE tools assist and aid project management and control.
Models provide the basis for project management. Many planning specifications can be
mapped into project schedules, descriptions of activities and their time duration, and
resource allocations, utilization, and costs. Joint Application Development (JAD), RAD
and Prototyping are facilitated through the use of I-CASE tools. I-CASE tools are capable
of generating application program code, resulting in a substantial reduction in the time
required to develop the system. The majority of time spent in system development
involves developing customized code required for specialized processing. I-CASE tools
enforce the structuring of data and code, as well as catching most design and coding
errors. Another major benefit realized by I-CASE generated applications is that
maintenance activities are less complicated and require less time. Requests for system
modifications can be rapidly completed. I-CASE tools and technology can also to
respond to the large inventory of existing applications within organizations. Applications
may be restructured to eliminate unused code and improve maintainability. Some ICASE tools reverse engineer existing systems to extract and store in the repository the
embedded business rules, data, and structure of the application. This information is then
available for other development efforts. These applications may then be forward
engineered to improve maintainability and provide additional functionality. To complete
the software development life cycle, some I-CASE tools provide extensive automated
facilities for creating end-user/system documentation. These documents are based on the
information stored in the repository and may be kept current with a minimum of effort.
All I-CASE tools are based on the disciplined use and application of information
engineering methodologies. Regardless of the methodology employed, there are several
general characteristics of effective I-CASE tools, including:
a. Graphical orientation
b. Easy maintenance
c. Accurate, concise, verifiable, and traceable entries
d. Understandability on the level of both users and software engineers
B-2
ARC-DO-160001.200
23-Mar-99
e. Less expensive than manual structured techniques and methods
f. Ability to simplify and decompose requirements and designs.
The complete I-CASE philosophy prescribes that common metadata be used for strategic
plans, systems design, and systems development to enable full integration. A repository
is a major contributor to such integration. Using I-CASE tools that enable this
philosophy, organizational problems can be analyzed using planning and strategic
information and viable, consistent software solutions can be designed. The combination
of I-CASE diagram and encyclopedia entries automates the structured methodologies
used by software engineers. I-CASE tools provide special purpose graphical icons and
separate preformatted dictionary screens for describing how these icons symbolize realworld objects. Information and relationships between data formerly confined to the
collective knowledge of project software engineers can be stored in the repository. This
information may include descriptions of the:
a. Organizational operations and their importance
b. Performance of operations
c. Information supporting operations and its use
d. Conditions influencing operations
e. Responsibilities for various operations
f. Job functions of personnel
g. Information requirements of these job functions.
B.2.1 COMMON I-CASE FEATURES.
Decomposing aspects of an organization provides graphical and textual information to
help the information and software engineers gain a clearer understanding of the enterprise
and the conditions it faces. All I-CASE tools share common features such as Central
Repository, Diagramming Support, Software Development Support, Multi-user Support,
Requirements Traceability Support, and Documentation Support. These distinguishing
features are described in the following paragraphs.
B.2.1.1 Central Repository.
A central repository is the foundation of all I-CASE tools. The central repository, or
encyclopedia, contains all information about the organization and its automated and
manual systems. This information is organized as an enterprise model, which includes
business rules, functions, procedures, data models, data entities, entity relationships, and
process models. The encyclopedia stores the meaning represented in diagrams and
B-3
ARC-DO-160001.200
23-Mar-99
provides methods to validate and enforce consistency. Enough design information is
maintained in the encyclopedia to automatically generate program code.
B.2.1.2 Diagrammatic Support.
A number of methodologies have been devised for model building. These methodologies
usually consist of a combination of diagramming techniques and text descriptions.
Diagrams express pictorial images of the organization's activities and of how it uses
information to support these activities. Diagrams also graphically describe the attributes
used in systems design and development. I-CASE diagramming techniques use icons to
represent various components of the business, including personnel, resources, processes
and data. Each icon on representative diagrams typically has a text description
explaining its purpose, its responsibilities relative to organizational activities and
information support, and its relationship to other icons in the diagram. The text
descriptions contain enough information to sufficiently describe the real-world object that
the icon represents.
B.2.1.3 Software Development Support.
Organizational models require modification as the enterprise changes. Models
constructed using I-CASE tools are easily updated to reflect enterprise changes and
provide a symbolic representation of various facets of the business for review and
subsequent improvement prior to actual commitment. I-CASE tools generate data
models, process models, screen prototypes, and data definitions. These are stored
automatically in the I-CASE repository. New applications are generated based on the
planning, analysis, and design information stored in the I-CASE repository promoting
software reusability and improving software portability.
I-CASE tools automatically generate source code. This class of tools can be used to draw
hierarchical physical models that not only transform logical models into physical data
specifications, but also remember where the specifications came from, thereby
maintaining the links between logical and physical models.
Two methods are available through I-CASE tools to handle the large inventory of
existing applications within an organization. Existing applications can be reverseengineered to capture the design and business rules in the repository. When existing
systems and new requirements intersect the analysis and design tools can be used to
realign existing systems to support new business goals. The existing application is then
forward-engineered using the I-CASE tool to produce a new application that incorporates
the new requirements.
I-CASE tools also support additional analysis that makes it easier to patch old systems
and identify superfluous parts of mature applications that can be safely removed.
Complexity metrics can provide an objective measure of a program's structure based on
the number and kind of logic paths, making it easier to identify which modules will take
more time to create or require more experienced staff to maintain. Restructuring engines
can automatically convert unstructured source code into structured code without changing
B-4
ARC-DO-160001.200
23-Mar-99
the functionality. Effective use of these tools can reduce maintenance costs, improve
software quality, extend the life of old systems, eliminate unused code, and reduce the
time required to make program enhancements.
Similar to the revolutionary concept of separating the data from the application and
placing it in a database, it is now becoming commonplace to remove the business rules
from the application and place them in a separate database called a rules engine. A rules
engine is used to execute (or fire) the rules when needed in an application. This approach
permits the display of the business rules and their justification to users whenever errors
are encountered. This provides meaningful guidance for correcting errors. It also fosters
and enables the use of “thin” clients that can be treated as disposable if and when they are
no longer effective because no rules are embedded.
When business rules are segregated in this fashion, consistency of application is achieved
and training of new participants is accelerated and simplified. This is especially valuable
in an environment of rapid change. Any rule can be quickly changed and immediately be
available to all applications and users.
B.2.1.4 Multi-User Support.
I-CASE technology is based on a set of integrated tools that are used by software
development teams. Access to the environment is controlled with passwords and access
privileges to safeguard data against accidental changes. These tools generally provide
audit and reporting attributes to trace information changes. I-CASE tools logically
partition projects for assignment to different team members and provide controlled access
to data model information. The tools reconcile differences between team members
without a "last-one-in-wins" determination.
B.2.1.5 Requirements Traceability.
I-CASE tools generally provide facilities that allow software engineers to trace
requirements across all software development life-cycle phases, providing traceability of
end-user requirements.
B.2.1.6 Documentation Support.
I-CASE tools may include facilities that provide software engineers with word processing
and desktop publishing capabilities to extract both text and diagrams from the repository
and integrate them into technical documentation. Several tools provide document
templates that conform to Government standards and are flexible enough to allow
changes to the document while providing version control.
B-5
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
B-6
ARC-DO-160001.200
23-Mar-99
APPENDIX C. RDBMS’S SELECTED FOR EVALUATION
C.1 ORACLE CORPORATION.
Oracle Corporation is the world's second largest software company and the leading supplier of software
for enterprise information management. The company has two major businesses—providing the lowest
cost information technology infrastructure and providing businesses with a competitive advantage
through high value applications. With annual revenues exceeding $7.5 billion, the company offers its
database, tools and applications products, along with related consulting, education, and support services,
in more than 140 countries around the world. Headquartered in Redwood Shores, California, Oracle is
one of the first software companies to implement its model of enterprise software management through
network computing and was the first major Software Company to make full-featured products available
electronically on the Internet.
C.1.1 ORACLE 8i RDBMS PROFILE.
Oracle 8i is the latest generation of the world's leading database and the first designed specifically to be
an Internet development and deployment platform. Oracle 8i enhances Oracle 8's industry-leading
technology with special features that make it extremely easy to create robust and scalable Internet and
corporate Intranet applications. Oracle 8i also extends Oracle's proven technology leadership in the areas
of transaction processing, data warehousing, and high availability to handle the demanding performance,
business intelligence, and continuous access needs of Internet users.
C.2 COMPUTER ASSOCIATES INCORPORATED.
Computer Associates International, Inc. provides software, support and integration services in more than
100 countries around the world. CA has 13,000 employees and had revenue of $4.7 billion in its 1998
fiscal year. CA offers products for client/server information technology solutions. Products range from
enterprise management sets to advanced RDBMS' to accounting and banking business management.
C.2.1 OPENINGRES 2.0 RDBMS PROFILE.
OpenIngres 2.0 enables users to build n-tier relational applications with modern Web interfaces that
support and extend the legacy systems. With solutions that provide enterprise data access, advanced
replication, Internet commerce capabilities, and full integration with the graphical application
development environment - OpenROAD, OpenIngres 2.0 offers scalable solutions across a variety of
platforms.
C-1
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
C-2
ARC-DO-160001.200
23-Mar-99
APPENDIX D. SDTS’S SELECTED FOR EVALUATION
The SDTS’s selected for evaluation are described in the vendor’s words in the following
paragraphs.
D.1 INPRISE CORPORATION.
Inprise Corporation’s mission is to give a competitive edge to corporations through development,
deployment, and management of enterprise applications. Inprise offers ten existing products
covering the range of the business application life cycle, and moving beyond the mainframe/twotier architecture to a more flexible, distributed computing architecture. Inprise has nine hundred
employees worldwide, and operates in twenty countries outside the United States. It has more
than three million customers and thousands of corporate customers. It has extensive penetration
into the Global 1000 and has generated over fourteen million dollars in revenues by the end of
the third quarter, 1998.
D.1.1 INPRISE SDTS PROFILE.
Delphi4 is a developing tool for building high productivity solutions for distributed computing.
Delphi provides Java interoperability, advanced database drivers, ActiveX development, and
Common Object Request Broker Architecture (CORBA) development. Code creation and
navigation are simplified with the AppBrowser environment. A project manager and
customizable Integrated Development Environment (IDE) round out the Tool Set.
JBuilder offers a comprehensive set of visual tools for creating portable, 100% pure Java
distributed applications. Applications can be created once, and deployed, managed and updated
in any computing environment. Java applications can be created server-side as World Wide Web
or network multi-tier deployments. Enterprise Java Beans are reusable and created visually.
JBuilder provides over two hundred reusable Java Bean components and a visual SQL tool.
CodeInsight technology reduces coding errors.
Multi-tier Distributed Application Services Set (MIDAS) provides data distribution and
synchronization solutions for distributed applications. By handling all communications between
clients, servers and middle tiers, business rules information is quickly and reliably delivered to
web-browsers, laptops, servers and workstations. MIDAS provides Master-Detail support,
platform independent Java clients, and CORBA and Component Object Modeling (COM)
communications, as well as twenty four by seven fail-over safety and load balancing.
D.2 ORACLE CORPORATION.
Oracle Corporation is the world's second largest software company and the leading supplier of
software for enterprise information management. The company has two major businesses—
providing the lowest cost information technology infrastructure and providing businesses with a
competitive advantage through high value applications. With annual revenues exceeding $7.5
billion, the company offers its database, tools and applications products, along with related
consulting, education, and support services, in more than 140 countries around the world.
Headquartered in Redwood Shores, California, Oracle is one of the first software companies to
D-1
ARC-DO-160001.200
23-Mar-99
implement its model of enterprise software management through network computing and was the
first major Software Company to make full-featured products available electronically on the
Internet.
D.2.1 ORACLE SDTS PROFILE.
Developer/2000 empowers organizations with the ability to rapidly and productively build
sophisticated systems that scale from workgroup to the enterprise. With flexible modeling and
methodology support, a unified client/server development environment, and a portable, open
architecture.
Designer/2000 supports the modeling of complex systems with Business Process Reengineering
(BPR), analysis and design diagramming. Builds multi-media process flow models complete
with icons, sound, images and full-motion video to capture business processes definitions and
their business unit alignment.
D.3 PLATINUM TECHNOLOGY, INC.
Platinum Technology Inc., headquartered in Oakbrook Terrace, Illinois, is the world's seventh
largest independent software vendor with 1997 revenues of $739 million. Platinum was
incorporated in April 1987 and became publicly held in April 1991. The company has grown
from a provider of DB2 services and tools to a full-service provider of Information Technology
infrastructure solutions with over 6,000 employees and offices in over 40 countries. Platinum’s
key partners include Hewlett-Packard (HP), Microsoft, Intel, IBM, Oracle and SAP. Platinum’s
customers include AT&T, Kraft, Sony, and Nike.
D.3.1 PLATINUM SDTS PROFILE.
Platinum Erwin, the industry leader, is a powerful, award-winning, easy-to-use entity
relationship diagramming and database design tool.
Platinum Paradigm Plus is an object-oriented analysis and design tool that offers Enterprise
Component Modeling for modeling, building and deploying multi-tiered applications.
Platinum Bpwin is a powerful business process-modeling tool used to analyze, document, and
improve complex business processes.
Platinum ModelMart is a sophisticated model management system designed specifically to
enable Erwin data modelers and Bpwin process modelers to efficiently work together to get more
work done in less time and with better results.
Platinum SQL Compass is a visual modeling tool that helps developers and database
administrators manage the interaction between applications and databases.
Platinum Aion is an enterprise component development environment for building intelligent,
rule-based applications, components, and frameworks for business reengineering and process
automation. It fully integrates process and project management tools in a single repository.
D-2
ARC-DO-160001.200
23-Mar-99
Platinum CCC/Harvest is a repository-based change and configuration management solution that
synchronizes development activities across heterogeneous platforms, during the entire
application development lifecycle.
Platinum ADvisor is a web-enabled information and work management "dashboard" for
Platinum products that enables disbursed developers to access the same metadata.
D.4 COMPUWARE INC.
Compuware Incorporation is a global software solutions provider that provides eighteen products
that span the lifecycle of business applications, including development, testing, deployment, and
configuration management. Compuware is one of the ten largest independent software vendors
with revenues approaching one billion dollars. Compuware has a customer portfolio of more
than eleven thousand companies. Software is developed from three laboratories—Amsterdam,
The Netherlands, Farmington Hills, Michigan, and Campbell, California.
D.4.1 COMPUWARE SDTS PROFILE.
Uniface WebServer allows organizations to develop client/server applications that can be
executed in both client/server and web environments without code modification. Code is
automatically generated and HyperText Markup Language (HTML) can be edited to tailor the
screen appearance of web-delivered applications.
Uniface PolyServer provides remote data/file access in heterogeneous environments. Data
input/output is simplified and transparent, allowing full read/write access to data sources,
reducing network traffic and DBMS overhead. Developers concentrate less on input/output and
more on developing applications.
Uniface Application Server provides system administrators the flexibility of application
partitioning. This provides higher scalability by moving logic and data to and from servers.
Services and Report components are executed in distributed environments.
Uniface Component Server allows Uniface components to communicate with non-Uniface
components. Runtime location is flexible, allowing system administrators more options for
performance tuning. The Component Server also provides the option to integrate legacy code
into Uniface applications, preserving investments in current systems.
D.5 RATIONAL CORPORATION.
Rational Corp. was founded in 1981 and has a 15-year track record of ensuring the success of
software-development teams worldwide. Rational had revenues of $311 million in 1998 and
employs more than 1,900 people in 21 countries worldwide. Rational provides a product set that
encompasses the entire application development lifecycle, including requirement management,
visual modeling, testing and configuration and change management. Rational products and
services complement the major programming languages, Web, database, enterprise resource
planning, and middleware technologies.
D-3
ARC-DO-160001.200
23-Mar-99
D.5.1 RATIONAL SDTS PROFILE.
Rational Unified Process is an online mentor that assists development teams in carrying out daily
activities in the lifecycle process, including project management, business modeling,
requirements management, architecture development, visual modeling, documentation, quality
assurance, and change control. HTML formatted for universal platform-independent access
across a corporate Intranet, the graphical navigation capabilities enable users to easily locate
productivity-enhancing software development guidelines and time saving document templates
throughout the development project. You can choose to see information relevant to your role or
to a specific activity. Rational Unified Process integrates with Rational development tools.
RequisitePro is a Windows-based tool that organizes requirements by linking Microsoft Word to
a requirements repository, providing traceability and change management throughout the project
lifecycle. RequisitePro combines document-centric and database-centric approaches. It easily
and effectively integrates with Rational development processes and tools, organizing all
requirement-related documents and data in one centralized tool. User requirements, subsystem
designs, use cases, functional and non-functional software specifications, and test plans can be
shared and linked so that projects are easier to control and manage. RequisitePro also integrates
requirement management with leading Rational application development tools used for project
scheduling, change management, modeling and testing.
Rational Rose 98 Enterprise Edition is an integration platform for enterprise development. It
includes support for modeling business processes, objects, and component-based applications,
and includes language support for C++, Java, Visual Basic, and Oracle 8. It enables and
provides multiple team development, code generation, reverse engineering of COM components,
and Microsoft Repository integration. It also enables visual difference testing and merging
between models in different stages of design to facilitate parallel development. The Rose
Extensibility Interface extends Rose’s capability by facilitating third party and locally developed
add-ins.
ClearCase is a comprehensive configuration management solution, including version control,
workspace management, build management, and process control. ClearCase offers a uniquely
transparent, non-intrusive approach and supports multiple platforms and IDEs, making it easy to
deploy and maintain applications. ClearCase is part of an integrated change management
solution from Rational that provides a comprehensive solution for configuration management
and defect tracking (ClearQuest).
ClearQuest is a highly customizable Windows based Change Request Management (CRM)
product designed for the dynamic and evolving nature of software development. ClearQuest
offers a flexible approach to track and manage all the change activities that are associated with
an organization. With it, a team can customize and define queries, fields, activities, and states
specific to their environment. This expanded level of customization makes the process of
managing change easy for a team to implement, deploy, and maintain.
SoDA is a software documentation automation tool designed to support documentation
requirements throughout the software lifecycle, by producing high-quality, useful documents
with less time and effort. It automates the routine, tedious, and error-prone tasks of extracting
D-4
ARC-DO-160001.200
23-Mar-99
information from software development tools. SoDA comes with several predefined templates
and a What You See Is What You Get (WYSIWYG) template-building component to build
templates for specific needs.
SQA Set is a complete set of functional testing tools that delivers seamlessly integrated
functional testing of enterprise-level client/server applications. Built on a scalable, integrated
server-based test repository, SQA Set combines leading-edge testing power and comprehensive
management tools to set the standard for automated testing of client/server applications. SQA
Set is comprised of the following component products: SQA Robot (test recording tool), SQA
SiteCheck (web site management), SQA Manager WebEntry (web-based defect entry tool), and
SQA Manager (test planning, management, and analysis tool).
Rational Apex Products (Rational Apex Ada, Rational Apex C/C++, and the combined product
Rational Apex Duo) are integrated environments for designing, developing, and maintaining
complex Ada and C and C++ applications. Rational Apex is a fundamental component of
Rational's software-engineering solution, comprising software processes, integrated softwaredevelopment tools, and professional services.
Purify Apex, PureCoverage Apex, and Quantify Apex provide runtime error detection, coverage
analysis, and performance analysis tools for Apex Ada, C and C++ programmers. These tools
complement and enrich controlled iterative development in the Apex environment. Developers
can easily build quality into applications by finding and fixing errors and performance problems
early and avoiding costly problems later in the development process.
D.6 SYBASE INCORPORATED.
Headquartered in Emeryville, CA, Sybase was founded in 1984 and now employs 51,100 people.
Sybase is one of the ten largest global independent software companies with revenues of 900
million in 1997. Sybase helps businesses manage and deliver applications, content and data
wherever needed. Sybase's products, combined with its world-class professional services and
partner technologies, provide a comprehensive platform for delivering integrated businesses
solutions. Sybase is focused on delivering end-to-end solutions for mobile and embedded
computing, data warehousing, and Web computing environments
D.6.1 SYBASE SDTS PROFILE.
PowerBuilder 6.0 is a complete 4GL RAD environment for building traditional client/server and
multitier distributed applications. PowerBuilder offers a 4GL RAD environment for building
data-driven, Web-based, enterprise business applications.
PowerJ Enterprise is a comprehensive, highly productive Java development system that
revolutionizes client/server and On-Line Transaction Processing (OLTP) application
development for the Web by enabling the creation, testing, and deployment of enterprise-class
applications. It is designed to deliver rich, universally accessible Java applets, applications, and
servlets for low-cost deployment and maintenance in a multi-tier architecture.
D-5
ARC-DO-160001.200
23-Mar-99
Power++ is an innovative component-based development environment that allows quick creation
of open, scalable solutions built in C++.
Adaptive Component Architecture is the first multitiered framework designed to manage and
deploy components across the distributed computing environment. It is based on open
component logic, comprehensive development tools, and optimized data stores.
D.7 PROPHECY AMERICAS.
Prophecy Americas is the U.S. subsidiary of Prophecy International, an international software
company based in Australia. Prophecy International has been operating since 1981 with
approximately 1000 employees and a worldwide corporate customer base of over 800 sites.
Prophecy Americas has been operating in the US since 1990 with multiple offices on the East
and West Coast. Combined revenues in 1998 were in excess of $40 million, and annual revenue
from direct sales and support were $10.3 million.
D.7.1 PROPHECY SDTS PROFILE.
The Prophecy Object Framework provides a complete Application Assembly environment that
tightly integrates the design with the creation of an application. The key to this integration is the
Repository. The Repository contains the library of Presentation Objects (what you see), Business
Objects and Business Rules that are combined to create application programs. Prophecy Object
Framework collapses the traditional design cycle into a more real-world approach. Prophecy
Object Framework compresses the Analysis, Design, Code, Test and Configuration phases into
an integrated process.
D-6
ARC-DO-160001.200
23-Mar-99
APPENDIX E. RDBMS EVALUATION CRITERIA
RDBMS CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES
NO
Does the Relational Database provide or support the following:
DBMS Engine
Technical
Architecture
1. *Fully compatible with Digital ULTRIX 4.4, Digital Unix 4.0B, Solaris 2.0, HP-UX
2. *Fully compatible with DEC Alpha XXXX, HP, Sun Workstation
3. *Relational database model
4. *Client/server architecture (separation of client, user program, and server)
5. *Multi-threaded database engine (supports large number of users)
Concurrency Control
6. Concurrency control schemes generate reports that coexist with updates and return correct results
7. Automatically detect and resolve dead locks
8. *“Select for update” syntax (ANSI SQL92)
9. Provides no contention for concurrent inserts into the same table
10. Contention free sequence numbers
Data Loading
11. Loads external files from tape, disk, or other media
12. Loads files originating from ASCII
13. *Loader should not compromise recoverability of database during error conditions
14. *Loader provides maintenance & creation of indexes during load process enforcing integrity
15. High performance mode, allowing faster loading of data without violating integrity constraints
16. Loads multiple rows from one output record
17. Loads single row from multiple input records
18. *Enforces referential integrity
Data Types
19. *Number, date, time, currency, and alphabetic data types
E-1
ARC-DO-160001.200
23-Mar-99
RDBMS CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES
NO
Does the Relational Database provide or support the following:
20. *Data type for storage of long and unstructured data
21. *Variable length data in variable length rows
22. *System generates values uniquely identifying rows in a table
23. *User defined data types for specific application requirements
Indexing
24. *Indexing of data based on industry standard methods (B-TREE, AVL, RED/BLACK TREES)
25. *Maintains indexes automatically without manual intervention of DBA
26. Concatenated indexes
27. Index structures stored separately from database files
Integrity
28. *Implements integrity constraints as part of database definition
29. *Implements referential integrity
30. Minimum of six columns in a referential integrity constraint
Locking
31. Multiple users from accessing or modifying same data at same time
32. *Locking capability at page, record and table levels
33. Locks using ANSI standard “select for update” command
34. *Non-blocking I/O, such that readers do not block writers and vice versa
35. Does not require read locks
36. *Detects and resolves deadlock situations ( two or more users competing for same resource)
37. *Resource usage query optimizer ( analyzes SQL queries)
Query Optimization
38. Resource usage optimization for distributed queries
39. Establishes optimizer statistics automatically upon index creation
40. “Fast-Path” (pre-compilation) queries (query optimization can be done in advance)
41. *Estimate of resources needed by a query (user prior to executing query)
42. *C2 level security or state plans to support C2
E-2
ARC-DO-160001.200
23-Mar-99
RDBMS CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES NO
Does the Relational Database provide or support the following:
Administration
Limits and Constraints
43. At least 100 columns per table
44. Character columns that contain at least 240 characters/bytes
45. A minimum of 10 tables joined in single SQL operation
46. *No practical limit of rows in a table, as per disk or external constraint
47. *No practical limit of users accessing database concurrently or totally
48. At least 10 simultaneously open cursors
49. Column or table names at least 18 bytes in length
Security
50. *Co-exist with existing security functions at USCG
51. *Group level access controls
52. Users grant privileges at user level to other users (user owned tables or views)
53. Stores passwords in an inaccessible form (to unauthorized users)
54. Executes privilege for stored procedures (to be used only by authorized users)
Storage & Space Management
55. Allow tables to span multiple operating system (O/S) files
56. Allows DBA to manage storage resource utilization
57. Allows DBA to control growth of database objects
Transaction Control
58. Takes advantage of hard disk performance options; controlling where, on the physical disk, data is stored
59. *Commit or rollback any transaction
60. Transactions begin implicitly, without “begin transaction” statement
61. Performs partial rollback, rollback to point within the unit of work defined as a check point or save point
DBMS Administration
Recovery
62. *DBMS on-line backup capability (database available during backup)
63. *Mirroring of log files on multiple physical hard drives
E-3
ARC-DO-160001.200
23-Mar-99
RDBMS CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES
NO
Does the Relational Database provide or support the following:
64. Internal support for disk mirroring of data
Back up
65. On-line recovery of the database in event of media failure (hard drive)
66. Backup of remote DBMS server on a local DBMS server over network
67. *Backup capability that enables point in time recovery
68. Backup support to recover by database and by table, in addition to server with multiple databases
69. Backup storage should be able to be partitioned, to enable individual partitions to be backed up
70. *Full (all data) and incremental backup (only data modified since last backup)
71. Remote backups and backup “striping” to multiple backup devices
Systems Administration Monitoring, and Tuning
System monitoring Capabilities
72. Reports session information
73. Reports memory information
74. Reports semaphore information
75. Reports locking information
76. Reports table activity
77. *Graphically based and executable via network from DBA desktop workstation
Admin tools for DBA
78. Table maintenance including addition of columns
79. Disk and file maintenance
80. User and security maintenance
81. Backup maintenance
82. Network and distributed DBMS maintenance
DBMS Programming Interface
3GL languages and application programmer interfaces
83. Embedded SQL API as defined in ANSI standards
84. Module language SQL API as defined in ANSI standards
85. Pre-compilers for C development on Unix and other work platforms
E-4
ARC-DO-160001.200
23-Mar-99
RDBMS CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES
NO
Does the Relational Database provide or support the following:
86. Additional API interfaces
4GL languages
87. *Application development environment for UNIX, MS Windows NT 4.0
88. A minimum of three “third party” development tools
Structured query language (SQL)
89. SQL in conformance with ANSI SQL92 specifications and show plans for such
90. *Outer joins
91. Union, union all, intersect, and minus operators
92. Sub-queries
93. Aggregates
94. Integrated mathematical functions – exp, log, sin, cos, tan, and absolute values
95. Minimum string manipulation functions – lower, upper, replace, instring, and length
96. Group functions – avg, count, max, min, stddev, sum, variance
97. Supports capabilities to convert data between differing types
Stored Procedures & Triggers
98. *Triggers
99. *Security and access controls applied at execution of stored procedures
100. Procedures and triggers that are capable of on-line debugging
101. Procedures call other procedures
102. Procedures reference stored data
103. Parameters can be passed by name to stored procedures
Networking
104. *O/S support for TCP/IP networking protocols
105. Integration with other DBMS or transaction processing packages
106. Access to data in a DBMS and to flat files
Distributed Databases
Basic features
E-5
ARC-DO-160001.200
23-Mar-99
RDBMS CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES NO
Structure
Does the Relational Database provide or support the following:
107.
108.
109.
110.
111.
112.
Single SQL statement to query data over two or more databases
Views over distributed databases
Location transparency such that users and applications need not know actual physical location
*Local autonomy architecture, distributed access to data is not dependent on availability
Global database dictionary
IBM Distributed Relational Database Architecture (DRDA)
Usage
113. Remote update capability
114. Query data from any available data source
115. Remote database administration, based on graphical interface and drag/drop capabilities
116. Joins, including outer joins, over distributed DBs through a global catalog or repository
Two-phased commit and data replication
117. *Two phase commits, but should not require the use of two phase commit
118. Data replication, or duplication, across multiple DBMS systems
119. Data replication provides users ability to determine timeframe of replication, or synchronization
120. *Replication implements in an effective manner that ensures integrity of data and transactions
121. Replication automatically synchronizes all replicated copies of data after a failure
122. Protect the logical data integrity
123. Access to multiple data source types
124. Unrestricted use of dynamic SQL in the definition of replication requests
E-6
ARC-DO-160001.200
23-Mar-99
APPENDIX F. SDTS EVALUATION CRITERIA
INTEGRATED CASE TOOL CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES
NO
Does the tool provide or support the following:
Technical
Integration
Level of Integration
1.
2.
3.
4.
5.
6.
7.
8.
9.
*Provides Shared Central “Common” Repository/Data Dictionary
*Model Management
Common User Interface
Standard Data Interface
Common Data Model
Common Process Model
Automatic Data Passing
Which RDBMS does it support:
Ingres
10. *Native Ingres
11. *Ingres ODBC
12. *Oracle Native
13. *Oracle ODBC
14. *Seamless integration with at least one RDBMS
Business Rules
15. Rules engine for execution or firing of the rules when needed
16. Business Rules Diagrams
17. Business Rule Textual Definition
Life-cycle Coverage
18. Strategic Planning
F-1
ARC-DO-160001.200
23-Mar-99
INTEGRATED CASE TOOL CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES
NO
Does the tool provide or support the following:
19. *Analysis
20. *Design
21. *Build/Code
22. Technical Documentation
23. User Documentation
24. Configuration Management
Methodology
25. Yourdon / Demarco
26. Gane-Sarson
27. Information Engineering
28. Jackson
29. Ward-Mellor
30. *Object-Oriented
31. IDEF
32. Independent
33. Universal Model Language (UML)
Diagrammatic Support
General Support
34. Automatic Symbol Placement / Redrawing
35. Customizable Symbol Sets
36. Pseudo-code
37. Complexity Metrics
Specific Support
38. Hierarchical Tree
39. Process Flow Chart
F-2
ARC-DO-160001.200
23-Mar-99
INTEGRATED CASE TOOL CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES
NO
Does the tool provide or support the following:
40. Logic Flow Chart
41. Decision Table
42. State Transition
43. Dialog Flow
44. Entity Relationship to fully attributed level
45. Data Flow Diagrams
46. Control Flow
Process Modeling
47. Data Flow
48. IDEF0
49. IE
50. Process Specs or Minispecs
51. Process Dependency
Code Generation
Language
52. COBOL
53. C
54. Pascal
55. OpenIngres
56. Ingres
57. Active X
58. JAVA
59. Oracle
60. C++
General
F-3
ARC-DO-160001.200
23-Mar-99
INTEGRATED CASE TOOL CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES
NO
Does the tool provide or support the following:
61. *Maintains links between physical and logical models
62. Portability
63. DFD Level-to-Level Balancing
64. Pseudo-Code
65. Complete Source Code
Prototyping
66. Screen Painter
67. Report Printer
68. Screen to Screen Navigation
69. Simulation
WEB Support
HTML Development
70. *Provide WYSIWYG HTML Development
71. *Preview HTML Design
72. *Edit HTML Text
73. *Intuitive HTML Tag Editor
74. *Support HTML 4.0 and XML for search Indexing
WEB Communications
75. Multi-user support
76. Active Server Pages Support
77. Supports Databases (SQL, PL/SQL, ASP, ODBC, JDBC, COM, CORBA)
78. Access via HTTP, SHTTP, FTP, Secure Telnet
Repository
Management
79. *Multi-User Access
F-4
ARC-DO-160001.200
23-Mar-99
INTEGRATED CASE TOOL CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES
NO
Does the tool provide or support the following:
80. *Tailorable Access Privileges
81. Group Access
82. Host Based
83. PC Based
84. Audit Trail
85. Version Control
Usage
86. Download by Segment
87. Adhoc Reports
88. Standard Reports
89. Logical Partitioning? On what basis?
90. Reconciliation
Administration
Interface
91. CDIF
92. Open
93. Proprietary
94. Dictionary
95. *GUI Windows look and feel
96. SQL
Generic Application Types
97. Data Warehouse
98. On-Line Remote
99. Batch
100. Transaction Processing
F-5
ARC-DO-160001.200
23-Mar-99
INTEGRATED CASE TOOL CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES
NO
Does the tool provide or support the following:
101. Real-Time
Error Prevention and Detection
102. *Point of entry error checking
103. Consistency and Completion Checks
104. *Automated Rule Execution
105. Access Security / Lock-Out
106. Tracking and Validating Requirements
Documentation Support / QA
Formatted Documentation
107. Specify Style Guide
108. Cross-Referencing Indices
109. Create System Specifications
110. Automatically creates Technical Documentation hard copy
111. Automatically creates User Documentation hard copy
112. Creation of Document Templates
113. Configuration Management Reports
General Documentation
114. Extraction and Integration of Graphics and Text using DLE
115. *FIPS PUB 38 Compliant
116. Scalable Printing
117. Browse and create ADHOC reports from repository
118. Creates On-Line Documentation
119. Help Desk Support and FAQ Database
Hardware Platform
120. DEC Alpha 3000
F-6
ARC-DO-160001.200
23-Mar-99
INTEGRATED CASE TOOL CRITERIA
* Denotes the criteria was selected as mandatory the other is considered desirable
YES
NO
Does the tool provide or support the following:
121. DEC Alpha 4000
122. DEC Alpha 4100
123. DEC Alpha 2100
124. DEC Alpha 5000/20
125. DEC Alpha 5000/240
126. PC’s
127. Other (what?)
Software Platform
128. *Digital Unix 4.0B
129. Digital ULTRIX 4.4
130. MS Windows NT 4.0
131. Y2K Compliant
Reverse Engineering / Forward Engineering
132. Legacy Code Capture
133. Re-documentation
134. Reconcile Reverse Engineering Structures with Logical Data Model
135. Reverse Engineering
136. Version Controls
137. Capture Old Business Rules
138. Convert Existing Data
F-7
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
F-8
ARC-DO-160001.200
23-Mar-99
APPENDIX G. RDBMS AND SDTS OVERALL SCORES
Synthesis of Leaf Nodes with respect to GOAL
Ideal Mode
OVERALL INCONSISTENCY INDEX = 0.1
Oracle8
.527
Ingres2
.473
Synthesis of Leaf Nodes with respect to GOAL
Ideal Mode
OVERALL INCONSISTENCY INDEX = 0.05
Oracle8
.183
Prophecy
.176
Rational
.170
Platinum
.157
Uniface
.133
Delphi
.096
PowerBui
.085
Synthesis of Leaf Nodes with respect to GOAL
Ideal Mode
OVERALL INCONSISTENCY INDEX = 0.06
Oracle8
.346
Prophecy
.333
Rational
.320
G-1
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
G-2
ARC-DO-160001.200
23-Mar-99
APPENDIX H. RDBMS QUALITATIVE SCORES
Synthesis of Leaf Nodes with respect to QUAL
Ideal Mode
Oracle8
.513
Ingres2
.487
Fully compatible with DEC 4100
Relational database models
Client/server architecture (separation of client, user program, and server)
Multi-threaded database engine (supports large number of users)
Concurrency control schemes generate reports that coexist with updates and return correct results
Automatically detect and resolve dead locks
“Select for update” syntax (ANSI SQL92)
Provides no contention for concurrent inserts into the same table
Contention free sequence numbers
Loads external files from tape, disk, or other media
Loads files originating from ASCII
Loader should not compromise recoverability of database during error conditions
Loader provides maintenance & creation of indexes during load process enforcing integrity
High performance mode, allowing faster loading of data without violating integrity constraints
Enforces referential integrity
Number, date, time, currency, and alphabetic data types
Data type for storage of long and unstructured data
Variable length data in variable length rows
System generates values uniquely identifying rows in a table
User defined data types for specific application requirements
Indexing of data based on industry standard methods (B-TREE, AVL, RED/BLACK TREES)
Maintains indexes automatically without manual intervention of DBA
Concatenated indexes
Index structures stored separately from database files
H-1
OpenIngres
2.0
Fully compatible with UNIX
Oracle 8i
** A blank or null space, is the same as the answer no, and reflects this in the DAT.
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
Implements referential integrity
Minimum of six columns in a referential integrity constraint
Prevents multiple users from accessing or modifying same data at same time
Locking capability at page, record and table levels
Locks using ANSI standard “select for update” command
Non-blocking I/O, such that readers do not block writers and vice versa
Does not require read locks
Detects and resolves deadlock situations ( two or more users competing for same resource)
Resource usage query optimizer ( analyzes SQL queries)
Resource usage optimization for distributed queries
Establishes optimizer statistics automatically upon index creation
“Fast-Path” (pre-compilation) queries (query optimization can be done in advance)
Estimate of resources needed by a query (user prior to executing query)
C2 level security or state plans to support C2
At least 100 columns per table
Character columns that contain at least 240 characters/bytes
A minimum of 10 tables joined in single SQL operation
No practical limit of rows in a table, as per disk or external constraint
No practical limit of users accessing database concurrently or totally
At least 10 simultaneously open cursors
Column or table names at least 18 bytes in length
Co-exist with existing security functions at USCG
Group level access controls
Users grant privileges at user level to other users (user owned tables or views)
Stores passwords in an inaccessible form (to unauthorized users)
Executes privilege for stored procedures (to be used only by authorized users)
Allow tables to span multiple operating system (O/S) files
Allows DBA to manage storage resource utilization
Allows DBA to control growth of database objects
Takes advantage of hard disk performance options; controlling where, on the physical disk, data is stored
Commit or rollback any transaction
Transactions begin implicitly, without “begin transaction” statement
Performs partial rollback, rollback to point within the unit of work defined as a check point or save point
DBMS on-line backup capability (database available during backup)
H-2
OpenIngres
2.0
Implements integrity constraints as part of database definition
Oracle 8i
ARC-DO-160001.200
23-Mar-99
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
Internal support for disk mirroring of data
On-line recovery of the database in event of media failure (hard drive)
Backup of remote DBMS server on a local DBMS server over network
Backup capability that enables point in time recovery
Backup support to recover by database and by table, in addition to server with multiple databases
Backup storage should be able to be partitioned, to enable individual partitions to be backed up
Full (all data) and incremental backup (only data modified since last backup)
Remote backups and backup “striping” to multiple backup devices
Reports session information
Reports memory information
Reports semaphore information
Reports locking information
Reports table activity
Graphically based and executable via network from DBA desktop workstation
Table maintenance including addition of columns
Disk and file maintenance
User and security maintenance
Backup maintenance
Network and distributed DBMS maintenance
Embedded SQL API as defined in ANSI standards
Module language SQL API as defined in ANSI standards
Pre-compilers for C development on Unix and other work platforms
Y2K Compliant
Application development environment for UNIX, MS Windows
Variety of third party commercial development tools
SQL in conformance with ANSI SQL92 specifications and show plans for such
Outer joins
Union, union all, intersect, and minus operators
Sub-queries
Aggregates
Integrated mathematical functions – exp, logs, sin, cos, tan, and absolute values
String manipulation functions – lower, upper, replace, instring, and length
Group functions – avg, count, max, min, stddev, sum, variance
Supports capabilities to convert data between differing types
H-3
OpenIngres
2.0
Mirroring of log files on multiple physical hard drives
Oracle 8i
ARC-DO-160001.200
23-Mar-99
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
Security and access controls applied at execution of stored procedures
Procedures and triggers that are capable of on-line debugging
Procedures call other procedures
Procedures reference stored data
Parameters that can be passed by name to stored procedures
O/S support for Novell IPX, LAN Manager, and TCP/IP networking protocols
Integration with other DBMS or transaction processing packages
Single SQL statement to query data over two or more databases
Views over distributed databases
Location transparency such that users and applications need not know actual physical location
Local autonomy architecture, distributed access to data is not dependent on availability
Global database dictionary
Remote update capability
Query data from any available data source
Joins, including outer joins, over distributed DBs through a global catalog or repository
Two phase commits, but should not require the use of two phase commit
Data replication, or duplication, across multiple DBMS systems
Data replication provides users ability to determine timeframe of replication, or synchronization
Replication implements in an effective manner that ensures integrity of data and transactions
Replication automatically synchronizes all replicated copies of data after a failure
Protect the logical data integrity
Access to multiple data source types
Unrestricted use of dynamic SQL in the definition of replication requests
H-4
OpenIngres
2.0
Triggers
Oracle 8i
ARC-DO-160001.200
23-Mar-99
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
ARC-DO-160001.200
23-Mar-99
APPENDIX I. SDTS QUALITATIVE SCORES
Synthesis of Leaf Nodes with respect to QUAL
Ideal Mode
Oracle8
.214
Prophecy
.205
Rational
.188
Platinum
.166
Uniface
.126
Delphi
.065
PowerBui
.035
Synthesis of Leaf Nodes with respect to QUAL
Ideal Mode
Oracle8
.352
Prophecy
.338
Rational
.310
I-1
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Prophecy
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Compuware
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Rational
Platinum
Yes
Sybase
Oracle
Provides Shared Central “Common” Repository/Data Dictionary
Model Management
Common User Interface
Standard Data Interface
Common Data Model
Common Process Model
Automatic Data Passing
Which RDBMS does it support:
Ingres
Native Ingres
Ingres ODBC
Oracle Native
Inprise
** A blank or null space, is the same as the answer no, and reflects this in the DAT
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
I-2
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Prophecy
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Compuware
Rational
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Sybase
Yes
Yes
Yes
Platinum
Oracle
Oracle ODBC
Seamless integration selected RDBMS
Rules engine for execution or firing of the rules when needed
Business Rules Diagrams
Business Rule Textual Definition
Strategic Planning
Analysis
Design
Build/Code
Technical Documentation
User Documentation
Configuration Management
Reverse Engineering
Yourdon / Demarco
Gane-Sarson
Information Engineering
Jackson
Ward-Mellor
Object-Oriented
IDEF
Independent
Universal Model Language (UML)
Automatic Symbol Placement / Redrawing
Customizable Symbol Sets
Pseudo-code
Complexity Metrics
Specific Support
Hierarchical Tree
Process Flow Chart
Logic Flow Chart
Decision Table
State Transition
Dialog Flow
Entity Relationship to fully attributed level
Data Flow Diagrams
Control Flow
Data Flow
IDEF0
Inprise
ARC-DO-160001.200
23-Mar-99
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
I-3
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Prophecy
Compuware
Sybase
Platinum
Rational
IE
Process Specs or Minispecs
Process Dependency
COBOL
C
Pascal
OpenIngres
Ingres
Active X
JAVA
Oracle
C++
Maintains links between physical and logical models
Portability
DFD Level-to-Level Balancing
Pseudo-Code
Complete Source Code
Screen Painter
Report Printer
Screen to Screen Navigation
Simulation
Provide WYSIWYG HTML Development
Preview HTML Design
Edit HTML Text
Intuitive HTML Tag Editor
Support HTML 4.0 and XML for search Indexing
Multi-user support
Active Server Pages Support
Access via HTTP, SHTTP, FTP, Secure Telnet
Multi-User Access
Tailorable Access Privileges
Group Access
Host Based
PC Based
Audit Trail
Version Control
Download by Segment
Adhoc Reports
Oracle
Inprise
ARC-DO-160001.200
23-Mar-99
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
I-4
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Rational
Sybase
Platinum
Yes
Prophecy
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Compuware
Standard Reports
Logical Partitioning
Reconciliation
CDIF
Open
Proprietary
Dictionary
GUI Windows look and feel
SQL
Data Warehouse
On-Line Remote
Batch
Transaction Processing
Real-Time
Point of entry error checking
Consistency and Completion Checks
Automated Rule Execution
Access Security / Lock-Out
Tracking and Validating Requirements
Specify Style Guide
Cross-Referencing Indices
Create System Specifications
Automatically creates Technical Documentation hard copy
Automatically creates User Documentation hard copy
Creation of Document Templates
Configuration Management Reports
Extraction and Integration of Graphics and Text using DLE
FIPS PUB 38 Compliant
Scalable Printing
Browse and create ADHOC reports from repository
Creates On-Line Documentation
Help Desk Support and FAQ Database
Digital Unix 4.0B
Digital ULTRIX 4.4
Solaris 2.0
Other software platforms?
Legacy Code Capture
Re-documentation
Oracle
Inprise
ARC-DO-160001.200
23-Mar-99
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
I-5
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Prophecy
Sybase
Platinum
Yes
Yes
Yes
Compuware
Yes
Yes
Yes
Yes
Rational
Reconcile Reverse Engineering Structures with Logical Data Model
Reverse Engineering
Capture Old Business Rules
Convert Existing Data
Oracle
Inprise
ARC-DO-160001.200
23-Mar-99
Yes
Yes
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
I-6
ARC-DO-160001.200
23-Mar-99
APPENDIX J. RDBMS ECONOMIC SCORES
Synthesis of Leaf Nodes with respect to ECON
Ideal Mode
Oracle8
.548
Ingres2
.452
J-1
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
J-2
ARC-DO-160001.200
23-Mar-99
APPENDIX K. SDTS ECONOMIC SCORES
Synthesis of Leaf Nodes with respect to ECON
Ideal Mode
Oracle8
.148
Rational
.148
Platinum
.148
Prophecy
.142
PowerBui
.142
Uniface
.140
Delphi
.132
Synthesis of Leaf Nodes with respect to ECON
Ideal Mode
Oracle8
.337
Rational
.337
Prophecy
.326
K-1
ARC-DO-160001.200
23-Mar-99
This Page Intentionally Left Blank
K-2