Article 5 – IT Standards
42020.1 Policy
-
It is the policy of the Department to promote standardization in its information management planning and operations through adherence to applicable American National Standards Institute (ANSI), Federal Information Processing Standards (FIPS), and State standards and guidelines. All proposed application or information technology activities shall be evaluated to ensure that all hardware, software, and communications platforms comply with ANSI, FIPS, and State standards and guidelines.
42020.2 Purpose
-
The purpose of this Policy is to facilitate the inter-organizational sharing and exchange of equipment, data, software, and personnel. The use of these EDPElectronic Data Processing (see IT) standards shall also facilitate communication:
-
Between the Department and other State agencies.
-
Between the Department and its EDPElectronic Data Processing (see IT) vendors.
-
Between the Department and its EDPElectronic Data Processing (see IT) information providers/recipients.
-
Among the various organizational units within the Department.
-
-
Adherence to established EDPElectronic Data Processing (see IT) standards should result in improved communication, improved product quality, decreased development time and costs, improved project control, and reduced maintenance costs.
42020.3 Computer Programming Language Standards
-
Where custom programming is needed, the Department requires the use of vendor-supplied programming languages which are departmental standard languages. The language chosen for development shall be consistent with the requirements of the application and platform for which it is intended.
-
For new system development on minicomputer or mainframe platforms, a high level language shall be used wherever feasible. In this case, high level languages include either a fourth generation language such as Oracle or a Computer Assisted Software Engineering (CASE) tool integrated with a COBOL code generator.
-
Where a high level language is not feasible or where maintenance shall be performed on applications already written in COBOL, the COBOL programming language shall be used.
-
In the personal computer (PCPenal Code) area, application programming shall use either a language or compiler compatible with the dBASE standard, a fourth generation language for the PCPenal Code, or a CASE tool integrated with a COBOL code generator.
-
-
Use of vendor-supplied data base management, report generation, and file manipulation packages shall be considered in the design of ITS. For data management on all platforms, the use of a vendor-supplied relational data base management system compatible with structured query language (SQL) is recommended. The in-house development of data base management or file manipulation software is strongly discouraged and only permitted where there is no other alternative.
-
Normally, high level languages possess their own query language and report generation software. Wherever possible, the query language and report generator provided with the high level language shall be used. In situations where such software is not provided with the high level language or will not meet the application’s needs, third party query languages and report generation software can be chosen from the wide variety of software supplied by vendors.
42020.3.1 Application Generators
-
The Department encourages the investigation and use of application generator software.
-
Application generators are integrated fourth-generation language tools which permit an entire application to be generated. The most useful full-function application generators support a wide range of integrated components including a data base management system (DBMS), data dictionary, security facilities, analysis tools, query language, report generator, documentation generator, screen painter, prototyping facilitator, graphics generator, decision support or financial modeling tools, multiple end-user interfaces, high-level procedural language, data definition language, distributed processing facilities, testing tools, a micro-to-mainframe communications link, and a separate version of the tool for a personal computer.
-
Application generators for EDPElectronic Data Processing (see IT) professionals generally include a very high-level procedural language that is used to specify logical operations. These tools are usually integrated with a full-function DBMS that supports both relational and other data structures.
42020.3.2 Operating Software
-
It is the Department’s policy that standard, unmodified, vendorsupplied and maintained software aids be used in lieu of developing unique programs. The objective is to minimize and control the development of specialized programs that allocate, schedule, and control the central processing unit, memory, peripherals, communication, and data storage and retrieval.
42020.3.3 Application Packages
-
It is the Department’s policy that all feasibility studies shall have one alternative addressing the availability, usability, maintainability, and costeffectiveness of prewritten and tested application programs in lieu of developing major programs in-house. The PCPenal Code Policy in DOMDepartment Operations Manual 48010 addresses PCPenal Code application packages. The objective is to minimize the development time and costs of major application programs when such programs are available from other sources. For some custom applications, however, in-house development may be the most viable alternative.
42020.4 Systems Development Life Cycle
-
The Systems Development Life Cycle (SDLCSystems Development Life Cycle) is a systematic approach to software development that defines development phases. It begins when a software product is conceived and ends when the product is in production and being maintained. It also specifies the activities, products, verification procedures, and completion criteria for each phase. It is an effective engineering management tool that can be used to help ensure that a delivered product is correct and meets the user’s needs.
-
The Department advocates use of the SDLCSystems Development Life Cycle approach to software development, whether the platform is mini or mainframe. However, if the system being developed is a standalone PCPenal Code system, development phases may be combined or omitted so long as the delivered product meets the user’s needs.
-
The Department has included the following phases in its SDLCSystems Development Life Cycle: Concept Phase, Requirements Phase, Design Phase, Development Phase, Testing Phase, and Operation and Maintenance Phase.
42020.4.1 Concept Phase
-
The Concept Phase is the initial phase of system development during which user needs are described through documentation. The user group is formed during this phase. Examples of the documentation include a statement of needs, advance planning report, project initiation memo, feasibility studies, system definition documentation, regulations, and policies and procedures relevant to the project. Deliverables for this phase include:
-
The project charter.
-
The project management plan.
-
The initial project file.
-
42020.4.2 Requirements Phase
-
The Requirements Phase is the period of time in the life cycle during which the requirements for a software product, such as functional and performance capabilities, are defined and documented. Major deliverables include the Software Requirements Specification documentation and the Baseline Report.
42020.4.3 Design Phase
-
The Design Phase is the period of time in which the designs for architecture, software components, interfaces and data are created, documented, and verified to satisfy requirements. Major deliverables include the Detailed Design Specification, the Test Plan, the Implementation Plan, the Users’ Manual and Procedures Manual, and the Training Plan.
42020.4.4 Development Phase
-
The Development Phase is the period of time in the development life cycle during which a software product is created from design, documentation is tested, and errors are corrected. Major deliverables of this phase include system documentation, program documentation, program code, and test results documentation.
42020.4.5 Testing Phase
-
The Testing Phase is the period of time in the life cycle in which the software product is evaluated by users and technical staff to determine whether requirements have been satisfied. Tests performed include the Requirements Test, the Operational Environment Tests, the Acceptance Test, and the Pilot Test.
42020.4.6 Operation and Maintenance Phase
-
The Operation and Maintenance Phase is the period of time in the life cycle during which a software product is used in its operational environment, monitored for satisfactory performance, and modified as necessary to correct problems or respond to changing requirements. The Post Implementation Evaluation Report (PIERPost Implementation Evaluation Report) is completed during this phase.
42020.5 User Computing Within CDCR
-
The standards addressed in DOMDepartment Operations Manual 42020.3 above, Computer Programming Language Standards, apply to end-users as well as EDPElectronic Data Processing (see IT) professionals, although the end-user shall not use procedural or third generation languages and shall restrict any programming activity to the personal computer.
42020.5.1 Personal Computer
-
The personal computer is meant to be a productivity tool to assist the user in fulfilling regular professional responsibilities.
42020.5.2 Database/Spreadsheet
-
A user-developed system is defined as a database or spreadsheet that is created, accessed, or updated with an offtheshelf software application.
42020.5.3 Management Approval
-
Approval shall be obtained from appropriate division management prior to expending any resources on a userdeveloped system that is used in an official capacity by any departmental personnel.
42020.5.4 Standard EDP Documentation
-
In order to ensure continued operation of userdeveloped systems, documentation shall be provided. Documentation shall include:
-
A list of application software used (e.g., dBase, Foxbase, Lotus, Quattro, etc.).
-
System requirements.
-
A user manual to explain:
-
-
Where the system is installed (PCPenal Code location, drive, directory).
-
How the system is started.
-
Any macros or batch files used.
-
Data entry procedures.
-
Report generation.
-
Backup procedures.
-
File descriptions for each file used in the system:
-
File name.
-
File type (report, label, index, memo, database, spreadsheet).
-
-
Structure of any data files:
-
Description of each data field.
-
-
-
Refer also to DOMDepartment Operations Manual 48010, Departmental Workgroup Computer Policy.
42020.6 Revisions
Revised July 10, 2014-
The Assistant Secretary, EISEnterprise Information Services (formerly Information Services Division), or designee shall be responsible for ensuring that the contents of this Article are kept current and accurate.
42020.7 References
Revised July 10, 2014-
OITOffice of Information Technology, Information Management Guideline: A Manager’s Guide to End User Computing.
-
DOMDepartment Operations Manual § 48010.