Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Microsoft SQL Server wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Oracle Database wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Relational model wikipedia , lookup
Functional Database Model wikipedia , lookup
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