# 1 Introduction
[NULL]

## 1.1 Purpose
The System Administration Module is the administrative backbone of the Integrated Library System (ILS) for the King County Library System and comparable large, multi-branch, centralized library systems. Its purpose is to replace and enhance the administrative capabilities of existing ILS solutions by providing comprehensive, centralized control over ILS configuration, operations, and maintenance.

Specifically, the module enables administrators to:
- Configure the ILS to support required features and processes for managing branches, patrons, collections, and circulation.
- Monitor, troubleshoot, and control server, database, application, service, port, and API performance.
- Manage user and group accounts and privileges.
- Manage installation, upgrades, and updates of server and client software.
- Access and manage configuration and log files, and perform backups and related recovery tasks.

The module presupposes the data structures and functionality of a full-fledged ILS and is intended to ensure reliable, maintainable, and scalable administration of the enterprise ILS environment.

## 1.2 Scope
This specification defines the System Administration Module of an Integrated Library System (ILS) for the King County Library System, designed to be applicable to large, urban, multiple-branch, centralized library systems. The module is part of an enterprise-level Library Automation System and operates in concert with other ILS modules (e.g., Acquisitions and Serials Management, Cataloging, Circulation) and the patron-facing Online Public Access Catalog (OPAC), as well as with vendor websites via published APIs and standard-format data exchanges.

Products to be produced
- System Administration Module providing centralized administrative services for the ILS.
- Administrative dashboards and consoles, including system performance and application dashboards, a server console, a client management console, a job scheduling console, a configuration file console, a log-file dashboard, and a circulation dashboard.
- Query and reporting capabilities, including a user-friendly query tool, report templates, and configurable report outputs.
- Business rule administration facilities for visibility/suppression rules, requesting (hold) rules, loan rules, and data validation.
- Data maintenance tools, including MARC bibliographic and authority import/export, record set management, and staff/patron account setup utilities.

What the software will do
- Configure the ILS to support features and processes for branches, patrons, collections, and circulation.
- Monitor, troubleshoot, and control server, database, application, service, port, and API performance, with configurable alerts.
- Manage user and group accounts and privileges, including individual and shared staff logins and auditability.
- Manage installation, upgrades, and updates of server and client software; centrally manage client configurations and updates.
- Provide access to configuration and log files; support root shell access where permitted.
- Schedule and manage maintenance tasks, reports, imports/exports, and other jobs.
- Support secure operations and data protection, including patron data security and secure protocol support, backups (live incremental and full) and rollback; enable failover via server clustering.
- Enable efficient data administration via record sets, batch operations, keyboard macros/shortcuts, and real-time processing support.

Application, benefits, objectives, and goals
- Application domain: administration of an enterprise ILS serving a centralized, multi-branch library system at scale (e.g., on the order of 50 locations and high annual circulation and item processing volumes).
- Benefits and objectives:
  - Centralized control of configurations, policies, and privileges across all locations.
  - Improved operational visibility through dashboards, monitoring, and alerts without disrupting other system functions during open hours.
  - Increased reliability and continuity through backup, rollback, and clustering capabilities.
  - Enhanced security for patron data and administrative access.
  - Greater staff efficiency via configurable templates, batch operations, and reusable report/query tools.
  - Extensibility and interoperability through standards-compliant data exchange and published APIs.

Scope boundaries and consistency
- In scope: functional requirements that directly or indirectly relate to system administration of the ILS.
- Out of scope: definition of general ILS data structures and end-user interfaces for non-administrative modules (e.g., cataloging workflows, circulation UI, OPAC), which are or will be specified separately.
- The module presupposes the general functionality and data structures of a full-fledged ILS and aligns with existing and developing specifications for related modules and services.

## 1.3 Product overview
[NULL]

### 1.3.1 Product perspective
The System Administration Module is a core component of an enterprise-level Integrated Library System (ILS) for a large, multi-branch library. It operates within, and configures, the broader ILS by managing business rules, security, performance, backups, software updates, and system-wide services. It presupposes the data structures and general functionality of a full ILS and interacts with other ILS modules (e.g., Acquisitions, Cataloging, Circulation) and the patron interface (OPAC). It also interfaces with external vendor systems via published APIs and standard data-transfer formats.

Major elements in the larger environment include:
- System Administration Module (this product)
- Other ILS modules (Acquisitions, Cataloging, Circulation)
- Patron interface (OPAC)
- Relational database backend
- Server OS and client workstations
- Monitoring, email, backup, and scheduling services
- External vendor systems (e.g., OCLC; vendor websites/APIs)

#### System interfaces
- ILS subsystems (Acquisitions, Cataloging, Circulation)
  - Purpose: Configure and enforce business rules (loan, requesting, suppression), defaults, validation, and operational parameters; support real-time processing and record sharing; provide record lock management and rollback.
  - Interface description: Administrative consoles and dashboards apply rules and configurations that other ILS modules consume at runtime. [N/A] for message formats.
- OPAC (patron interface)
  - Purpose: Enforce visibility/suppression and requesting/holdability rules in public views and transactions.
  - Interface description: Integration via system-level rules and protocols (e.g., SIP2/NCIP2 for transactions as applicable). [N/A] for message formats.
- Database subsystem (relational, SQL-based)
  - Purpose: Persist all ILS data; support SQL queries, ODBC access, and full table access for administration and reporting.
  - Interface description: SQL and ODBC connectivity. [N/A] for message formats beyond SQL.
- External vendor systems/websites
  - Purpose: Exchange bibliographic/authority/order data and business documents.
  - Interface description: Published APIs and automated transfer of standard-format data files (e.g., USMARC21, EDIFACT). [N/A] for message formats.
- Monitoring systems
  - Purpose: Monitor system resources and services; deliver alerts.
  - Interface description: SNMP support; configurable alerting via dashboards, email, and text messages. [N/A] for message formats.
- Backup and recovery systems
  - Purpose: Perform live incremental/full backups and data restoration/rollback.
  - Interface description: Supports third-party backup software (e.g., EMC NetWorker). [N/A] for message formats.
- Client management and remote control
  - Purpose: Centrally manage client software installation/updates and sessions.
  - Interface description: Integration with network management tools; support for VNC and Remote Desktop. [N/A] for message formats.

#### User interfaces
- Access modes: Web-browser interface and/or Windows-compatible client; accounts independent of workstation.
- Administrative consoles and dashboards:
  - System performance dashboard (processes, CPU/memory utilization, status indicators)
  - Server console (software/server shutdown/startup/restart)
  - Application dashboard (backups, reboots, upgrades, versions, queues, database utilization, record counts)
  - Client management console (active clients, workstation name/IP, session control)
  - Circulation dashboard (KPIs by branch or system-wide)
  - Configuration file console (centralized read/write with permissions)
  - Log-file dashboard (locate/view logs; enable/disable/retention)
  - Record lock administration (view/unlock; thresholds)
  - Job scheduling console (view/control scheduled tasks)
- Help and guidance: Online, hierarchical, cross-linked HTML help covering all system functions; library-specific, version-specific documentation.
- Accessibility: Supports screen-reading software, screen magnification, and other assistive technologies.

#### Hardware interfaces
- Server platforms: Linux or Solaris servers for hosting the module.
- System resources: Monitoring of disk space, CPU load, memory load, processes, interfaces, and ports via SNMP.
- Printers: Support for receipt, standard, label, and forms printers; all Windows printers supported.
- Workstations/clients: Visibility of workstation name and IP; remote session management. [N/A] for port counts and instruction sets.

#### Software interfaces
- Relational database management system
  - Name: [N/A]; Mnemonic: [N/A]; Specification number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: Fully relational backend; SQL queries; ODBC access.
  - Interface definition: SQL/ODBC. [N/A] for detailed message formats.
- Operating systems (server)
  - Name: Linux or Solaris; Mnemonic: [N/A]; Specification number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: Host the application services.
  - Interface definition: OS-level services and shells (including root shell access). [N/A]
- Web browsers (client)
  - Name: Microsoft Internet Explorer (v6.0 and later); Mnemonic: [N/A]; Specification number: [N/A]; Version: ≥6.0; Source: Microsoft
  - Name: Mozilla Firefox (v2.0 and later); Mnemonic: [N/A]; Specification number: [N/A]; Version: ≥2.0; Source: Mozilla
  - Purpose: Access to web-based administration UI.
  - Interface definition: Standards-compliant HTML. [N/A]
- Accessibility software
  - Name: Screen-reading/screen-magnification software; Mnemonic: [N/A]; Specification number: [N/A]; Version: [N/A]; Source: [N/A]
  - Purpose: Accessible UI usage.
  - Interface definition: [N/A]
- Protocols and services
  - SNMP; Mnemonic: [N/A]; Specification number: [N/A]; Version: [N/A]; Source: [N/A]
    - Purpose: System monitoring and alerts.
    - Interface: SNMP traps/queries. [N/A]
  - SMTP; Mnemonic: [N/A]; Specification number: [N/A]; Version: [N/A]; Source: [N/A]
    - Purpose: Email transport for alerts and notifications.
    - Interface: SMTP configuration (including bounce management). [N/A]
  - SFTP (active/passive), SSL, SSH; Mnemonic/Spec/Version/Source: [N/A]
    - Purpose: Secure file transfer and secure connections.
    - Interface: Secure protocol endpoints. [N/A]
  - SIP2/NCIP2; Mnemonic/Spec/Version/Source: [N/A]
    - Purpose: Interoperate with self-check and related transaction systems.
    - Interface: Protocol-based messaging. [N/A]
  - ODBC driver; Mnemonic/Spec/Version/Source: [N/A]
    - Purpose: External access to the database.
    - Interface: ODBC data source. [N/A]
- Data standards and external systems
  - USMARC21; Mnemonic/Spec/Version/Source: [N/A]
    - Purpose: Bibliographic/authority data exchange.
    - Interface: MARC import/export (single and batch).
  - EDIFACT; Mnemonic/Spec/Version/Source: [N/A]
    - Purpose: Business document exchange with vendors.
    - Interface: File transfer per standard. [N/A]
  - OCLC; Mnemonic/Spec/Version/Source: [N/A]
    - Purpose: Vendor for MARC records.
    - Interface: Import/export; overlay of existing records. [N/A]
  - EMC NetWorker; Mnemonic/Spec/Version/Source: [N/A]
    - Purpose: Third-party backup software integration.
    - Interface: Backup job control. [N/A]
  - VNC and Remote Desktop; Mnemonic/Spec/Version/Source: [N/A]
    - Purpose: Client software management and remote control.
    - Interface: Remote session protocols. [N/A]
  - Vendor websites/APIs; Mnemonic/Spec/Version/Source: [N/A]
    - Purpose: Interchange of records and transactions.
    - Interface: Published APIs and file exchanges. [N/A]

#### Communications interfaces
- Supported communications: SNMP for monitoring; SMTP for email; SFTP (active/passive), SSL, SSH for secure transfer/connectivity; SIP2/NCIP2 for transaction interoperability; FTP and email for report/print output when applicable.
- Web access: Browser-based access as configured. [N/A] for protocol/version specifics.

#### Memory constraints
- [N/A]

#### Operations
- Modes of operation:
  - User-initiated, interactive administration via web/Windows client consoles and dashboards.
  - Unattended, scheduled operations for maintenance tasks, automated reports, imports/exports, and software updates (with sequencing of dependent jobs).
- Operating periods:
  - Real-time processing for core functions; ability to run searches/reports during open hours without disrupting other functions.
- Data processing support functions:
  - Query tool with field selection, picklists, regular expressions, and Boolean operators; report templates and permissions; record sets for batch updates/deletions.
- Backup and recovery:
  - Live incremental/full backups of data and transaction logs; data change logging with undo/revision control (ideally); server clustering for failover; administrative visibility of last backups/reboots/upgrades.

#### Site adaptation requirements
- Environment and migration:
  - Separate development and training environments with migration of configurations to production.
- Security and access:
  - Roles/privileges for granular access control at individual, workgroup, and staff-group levels; staff and group accounts independent of workstations.
- Configuration:
  - Centralized configuration file access with per-file permissions; client configurations are server-based and import/export capable.
  - Email configuration with common setting presets; alert thresholds configurable; dashboard creation with controlled sharing.
- Local rules and templates:
  - Business rules (loan, requesting, suppression) configurable to reflect site policies, locations, schedules, and item/patron types.
  - Templates for staff and patron account creation with defaults, validation, and required fields.
  - Report templates and printer definitions (receipt/standard/label/forms) tailored to site needs.
  - Macros/shortcuts centrally managed and permissioned.

#### Interfaces with services
- External vendor services/websites via published APIs and standard file exchanges (e.g., USMARC21, EDIFACT).
- OCLC services for MARC bibliographic and authority records.
- Email transport via SMTP (may use organization’s email infrastructure). [N/A] for provider details.
- Monitoring/alerting via SNMP to administrative dashboards and email/text messaging. [N/A] for SMS gateway details.
- Third-party backup service integration (e.g., EMC NetWorker). [N/A] for service endpoints.

### 1.3.2 Product functions
The System Administration Module provides centralized administration for a multi-branch Integrated Library System (ILS). Its major functions are:

- System configuration and policy management
  - Configure ILS features needed to manage branches, patrons, collections, and circulation.
  - Define and maintain business rules: loan rules, requesting/holdability rules, record visibility/suppression rules, and field-level defaults/validation/required status.
  - Manage configuration files from a single console with user/group-based read/write permissions.

- Infrastructure monitoring, control, and consoles
  - Monitor servers, applications, services, ports, and APIs (SNMP support), with configurable thresholds and alerts delivered via dashboards, email, and text.
  - Use administrative dashboards: system performance, application status, circulation KPIs, log-file dashboard, client sessions, and custom dashboards that can be shared with selected users/groups.
  - Control servers and services: start/stop/restart software and servers, view and act on processes (identify owners, utilization, runaway processes), and manage record locks (set thresholds, list, and unlock).

- Security and access management
  - Manage user and group accounts, roles, and granular privileges (including reports and configuration-file access); support individual and shared staff logins with auditability via individual accounts.
  - Protect patron data in transit; support secure protocols (SFTP active/passive, SSL, SSH).

- Data and records administration
  - Support real-time processing and concurrent access to patron and item records with conflict prompts.
  - Create and manage record sets for batch field updates, scoped queries, controlled deletions with review, error logging, and undo.
  - Import/export MARC bibliographic and authority records in batch or singly, overlay existing records, and maintain imported batches as selection lists.

- Backup, recovery, and continuity
  - Perform live incremental and full backups of data and transaction logs; interoperate with third-party backup tools.
  - Provide data change logging with undo capability (revision control desired).
  - Support server clustering for failover.

- Job scheduling and automation
  - Schedule maintenance tasks, reports, imports/exports, and software updates; sequence jobs with dependencies; modify or cancel prior to start.
  - Provide a single console to review and control all scheduled tasks, with permissions for staff to schedule and for administrators to manage others’ jobs.

- Client and deployment management
  - Centrally manage client installation and streaming updates; target specific clients; manage sessions and remote administration (e.g., VNC, Remote Desktop).
  - Keep staff and group accounts independent from workstations; maintain server-based client configurations with import/export.
  - Provide dedicated interfaces for creating staff and patron accounts using templates, defaults, and validation; enforce granular creation/modification/deletion privileges.
  - Support centrally managed keyboard macros/shortcuts with import/export and permission controls.

- Communication and notifications
  - Configure email transport and settings (e.g., masquerading, log retention, bounce management); support SMTP.

- Logging, documentation, and upgrade support
  - Access and review log files without downtime; enable/disable logging and set retention thresholds; locate and view logs via a dashboard.
  - Access configuration files and root shell as required for administration.
  - Provide web-based, searchable, version-specific system documentation and written guidelines for upgrades (including lists of new/changed/removed features).

- Queries, reporting, and printing
  - Design and run queries against all record types via a user-friendly interface (field picklists, regular expressions, Boolean operators) with admin-controlled access to tables/fields.
  - Create report templates; apply fine-grained permissions to report execution; output to display, print, email, or save in standard formats (e.g., CSV, Excel) with customizable layouts.
  - Produce administrative reports (e.g., record number and counts by type); define and select printer types and output to file/FTP/email/printer, with control over printed fields and order.

Example user scenarios illustrating these functions:
- A system administrator defines requesting and loan rules to enforce circulation policies, then tests them using sample patron/item profiles.
- Operations staff monitors CPU/memory and open ports on the application server; upon receiving an alert for high utilization, they identify and terminate a runaway process from the performance dashboard.
- Cataloging imports a batch of MARC records from OCLC, overlays short records, reviews the selection list, and adds the new titles; mistakes are rolled back using the change log and undo.
- An administrator assembles a record set of “lost” items, batches a status update, generates a report for management, and emails it as a CSV.
- Nightly incremental backups and a weekly full backup are scheduled; success/failure notifications are emailed; failover readiness is maintained via server clustering.
- IT deploys a client update to selected workstations, creates a new staff account from a template with role-based privileges, and releases stale record locks exceeding the configured threshold.

### 1.3.3 User characteristics
- System Administrators (primary users)
  - Role and tasks: Manage servers, databases, applications, services, ports, and APIs; configure and monitor system performance; access logs, configuration files, root shell; set and manage alerts; administer record locks; manage job scheduling and backups; manage user/group privileges.
  - Technical expertise: High (Linux/Solaris, SQL/ODBC, SNMP, SMTP/SSL/SSH, networking, clustering, backup tooling).
  - Experience: Experienced with enterprise ILS administration and IT operations. Familiar with dashboards, consoles, and performance tools.
  - Disabilities/assistive tech: Interfaces must be operable with screen readers and magnification software.
  - Educational level: [N/A]

- Library Staff (librarians, technicians, assistants, pages)
  - Role and tasks: Use administrative dashboards (e.g., circulation KPIs), run queries and reports, use report templates, print/export outputs, schedule permitted jobs, create patron accounts, use macros/shortcuts; may view or edit records based on assigned roles/privileges.
  - Technical expertise: Moderate, varies by position; rely on role-based access and guided, user-friendly tools.
  - Experience: Familiar with day-to-day library operations (circulation, cataloging, acquisitions); varying experience with advanced admin features; benefit from indexed, searchable online help.
  - Disabilities/assistive tech: Must be able to use browser- or Windows-based clients with assistive technologies (screen readers, magnifiers).
  - Educational level: [N/A]

- Managers and Library Managers (cluster/site) and Library Directors
  - Role and tasks: Monitor high-level indicators (e.g., performance and circulation dashboards), review system status and activity summaries, access read-only reports; may define or approve business rules and oversee permissions.
  - Technical expertise: Low to moderate; prefer clear visual indicators and simple access to summaries.
  - Experience: Experienced with library management and oversight; limited need for low-level administrative functions.
  - Disabilities/assistive tech: Same accessibility requirements apply for dashboards and reports.
  - Educational level: [N/A]

- Patrons
  - Role and tasks: Not direct users of the System Administration Module; their records and privacy are administered by staff via this module. Visibility and requesting behavior are governed by suppression, requesting, and loan rules.
  - Technical expertise: [N/A]
  - Experience: [N/A]
  - Disabilities/assistive tech: [N/A]
  - Educational level: [N/A]

- Cross-cutting usage context
  - Access patterns: Mix of individual and shared staff accounts; role/privilege-based access to modules, fields, and reports; accounts independent of workstation; client configurations are server-based and portable.
  - Client environment: Web browser access (Microsoft Internet Explorer v6.0+ and Mozilla Firefox v2.0+) and/or Windows-compatible client.
  - Support needs: Online, hierarchical, cross-linked HTML help; upgrade guidelines and system documentation tailored to the library’s deployment.
  - Accessibility: System must be usable with screen-reading and screen-magnification software and other assistive programs.

### 1.3.4 Limitations
- a) Regulatory requirements and policies
  - Produce standards-compliant HTML.
  - Use standard library data formats and exchanges where applicable (e.g., USMARC21, EDIFACT; OCLC interactions).
  - System must be accessible with screen-reading and screen-magnification software.
- b) Hardware limitations (e.g., signal timing requirements)
  - [N/A]
- c) Interfaces to other applications
  - Patron/staff interfaces and devices via SIP2/NCIP2 and similar protocols and APIs (e.g., self-check, OPAC).
  - Vendor websites and services via published APIs and/or automated transfer of standard-format data files.
  - MARC bibliographic and authority import/export with vendors including OCLC.
  - Database access via ODBC; ability to run SQL queries against any table.
  - Email via SMTP.
  - Secure file transfer and remote access via SFTP (active and passive), SSL, SSH.
  - System monitoring via SNMP.
  - Third-party backup software (e.g., EMC NetWorker).
  - Client management tools (e.g., VNC, Remote Desktop).
  - Windows printing (receipt, standard, label, forms printers).
  - Web browsers (Microsoft Internet Explorer v6.0+, Mozilla Firefox v2.0+) and/or a Windows-compatible client.
  - Assistive technologies (screen readers, screen magnifiers).
- d) Parallel operation
  - Concurrent access to patron and item records by multiple staff and patrons; requires record locking and conflict resolution prompts.
  - Administrative ability to view and unlock sustained-use/locked records and set lock-duration thresholds.
  - Real-time processing requirements for up-to-date pull lists and live shelf operations.
  - Server clustering for failover.
- e) Audit functions
  - Comprehensive log files with view, enable/disable, and retention controls; logs viewable without stopping the system.
  - Data change logging with undo/revision control (where available).
  - Individual logins enabling user-level preferences and audit trails.
  - Dashboards for locating and viewing log files; reports on record numbers and counts.
  - Job scheduling consoles with visibility and management of staff-scheduled jobs.
- f) Control functions
  - Role/privilege-based access control for users, groups, and staff workgroups.
  - Administrative control over access to tables and fields, report permissions, and configuration files (read/write per user/group).
  - Centralized consoles for server start/stop/restart; process monitoring and termination (including client session kill).
  - Business rules, suppression rules, requesting rules, and loan rules enforceable with specified override privileges.
  - Centralized configuration for email and job scheduling (including sequencing and cancellation).
- g) Higher-order language requirements
  - [N/A]
- h) Signal handshake protocols (e.g., XON-XOFF, ACK-NACK)
  - [N/A]
- i) Quality requirements (e.g., reliability)
  - Must support a large, multi-branch environment (approximately 50 locations; ~20 million circulations/year).
  - Highly desirable to run searches and reports during open hours without disrupting other system functions.
  - Support live incremental/full backups and data rollback; identification of runaway processes.
  - Real-time processing for operational accuracy.
  - Failover capability via server clustering.
- j) Criticality of the application
  - Enterprise-level, centrally administered ILS component supporting multiple locations; disruptions affect systemwide circulation, cataloging, and patron services.
- k) Safety and security considerations
  - Patron data must be secure in all transfers.
  - Support secure protocols (SFTP with active/passive modes, SSL, SSH).
  - Fine-grained administrative visibility and control of user privileges.
  - Accessibility support for assistive technologies.
- l) Physical/mental considerations
  - Accessibility via screen-reading and screen-magnification software; other software to increase accessibility.
- m) Limitations sourced from other systems (including real-time requirements through interfaces)
  - Real-time consistency requirements across OPAC, self-check devices (SIP2/NCIP2), and staff clients.
  - Dependence on external vendor APIs and standard data exchanges may constrain data formats, scheduling, and error handling.

## 1.4 Definitions
- System Administration Module: The module that manages all aspects of the Integrated Library System, including configuration of features and processes, monitoring and control of servers, databases, applications, services and ports, management of user/group accounts and privileges, software installation/upgrades/updates, and backups.

- Integrated Library System (ILS): An enterprise-level Library Automation System with multiple modules (e.g., Acquisitions and Serials Management, Circulation, Cataloging) and a patron interface. The System Administration Module presupposes the general data structures and functionality of a full ILS.

- OPAC (Online Public Access Catalog): The patron interface that the System Administration Module interacts with.

- Patron: A customer of the library system, whether or not they possess a library card, whether on site or remote, using print, media, or electronic resources.

- Staff: Managers, librarians, library technicians, library assistants, and library pages involved in designing and providing services for the Library.

- System Administrators: Staff responsible for managing servers, databases, applications, services, ports, and APIs related to the ILS.

- Managers: Management staff who oversee Library processes.

- Library Managers: Cluster and Site Managers who provide input to the design and implementation of Library services.

- Library Directors: Members of the Library Executive Team who plan and direct Library services and priorities.

- Roles/Privileges (Security Groups): Centrally managed access controls that grant or restrict access to modules, features, and data for individuals, workgroups, or arbitrary staff groups; individual logins support user-level preferences and audit trails.

- Business rules: System-enforced restrictions on actions (e.g., prohibiting deletion of records in certain statuses).

- Loan rules: Configurable rules that allow or disallow check-out, calculate loan periods, and determine renewal limits based on criteria such as patron type, current check-outs, account balance, item type/status, owning and check-out location codes; specify which criteria staff with specific privileges may override.

- Requesting rules: Configurable rules that determine whether a patron can place a hold on an item based on criteria such as patron type, current holds, account balance, item type/status, and owning location; specify staff override conditions.

- Rules of Suppression: Configurable visibility rules that determine whether authority, bibliographic, order, and item records are visible to patrons and staff in staff and public interfaces; visibility can be limited to specific workgroups, locations, or made systemwide.

- Record lock / locked condition: A state indicating a record (e.g., patron or item) is in use; staff can identify where and by whom it is in use, and administrators can view and release sustained locks.

- Record sets: Collections of records maintained by the system that can be imported/exported in batch, used for batch field updates, used to limit queries, and used to batch-delete original records with review, error logging, and undo.

- Dashboard: An administrative display showing current and historical operational data (e.g., performance metrics, circulation indicators, backups, software version/status, log sizes, counts by record type).

- Console: A centralized administrative interface for specific management tasks (e.g., server management, client sessions, configuration files, job scheduling).

- Real-time processing: System behavior in which operational views (e.g., pull lists) reflect up-to-date data at the time of viewing or printing and support live activities such as shelf reading and weeding.

- Development and training environment: A non-production environment provided by the system with the ability to migrate configurations to production.

# 2 References
## Compliance

- MARC (USMARC21) record formats
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- EDIFACT
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- SIP2
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- NCIP2
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- SNMP
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- SFTP
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- SSL
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- SSH
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- SMTP
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- ODBC
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- SQL (relational database language)
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- HTML (standards-compliant)
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- CSV (Comma-Separated Values) file format
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

- Excel file format
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: [N/A]
  - Source: [N/A]

## Guidance

- King County Library System specifications for Acquisitions and Serials Management module
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: King County Library System
  - Source: [N/A]

- King County Library System specifications for Circulation module
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: King County Library System
  - Source: [N/A]

- King County Library System specifications for Cataloging module
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: King County Library System
  - Source: [N/A]

- Requirements for OPAC and web services (under development)
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: King County Library System
  - Source: [N/A]

- System Administration process flowcharts referenced by requirements
  - Report number: [N/A]
  - Date: [N/A]
  - Publishing organization: King County Library System
  - Source: [N/A]

# 3 Requirements
[NULL]

## 3.1 Functions
This section enumerates the fundamental functions of the System Administration Module and, where specified in the original SRS, states inputs, processing and outputs, validity checks, sequences, parameter effects, abnormal responses, and input/output relationships. Items not specified in the original SRS are marked [N/A].

### Access control and authentication
- Inputs: Staff and group login credentials; role/privilege assignments; templates for account creation.
- Processing and outputs: Support individual and shared staff login accounts; grant access to modules via roles/privileges; individual logins enable user-level preferences and audit trails; accounts are independent from workstation.
- Validity checks: Account creation uses configurable templates; supports granular privileges; field validation and required fields for patron accounts; configurable defaults.
- Sequence: [N/A]
- Parameters affecting behavior: Role and privilege configuration; account templates; required/optional fields; defaults.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: Administrative visibility and control of user privileges.
- Relationship of outputs to inputs:
  - Input/output sequence: Credentials and roles determine session establishment and permitted functions.
  - Formulas for conversion: [N/A]

### Record concurrency and locking
- Inputs: Requests to view/update patron and item records by multiple staff/patrons, including via SIP2/NCIP2 and similar protocols and APIs.
- Processing and outputs: Simultaneous access and updates supported; prompts warn when a record has changed since display; identify where any patron or item record is in use (location, user, timestamp); list records in sustained use/locked condition; unlock one or more records; thresholds on lock duration.
- Validity checks: Visibility based on assigned privileges; patrons can access only selected fields.
- Sequence: On save, if the record was modified since display, the system prompts before applying changes; administrators can review and unlock from a console.
- Parameters affecting behavior: Lock duration thresholds; user/group privileges; record type.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: Administrative unlock; prompts on concurrent modification.
- Relationship of outputs to inputs:
  - Input/output sequence: Access request → record state evaluation → potential prompt → update or administrative action.
  - Formulas for conversion: [N/A]

### Business rules enforcement (visibility, requesting, loan)
- Inputs: Patron type, number of holds, account balance, item type/status, owning and checkout location codes, open/closed schedule.
- Processing and outputs: Apply customizable Rules of Suppression to determine staff/patron visibility in staff and OPAC interfaces; evaluate requesting rules to allow/deny holds; calculate loan periods and renewal limits and allow/disallow checkout; allow staff with specific privileges to override specified criteria.
- Validity checks: Ability to specify default value, field validation, automatic formatting, and required status for any field.
- Sequence: [N/A]
- Parameters affecting behavior: Rule definitions for suppression, requesting, loan, and override permissions.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: [N/A]
- Relationship of outputs to inputs:
  - Input/output sequence: Patron/item attributes → rule evaluation → allow/deny/compute due date.
  - Formulas for conversion: Calculation of due dates may use open/closed schedule; exact formulas [N/A].

### Monitoring, dashboards, and alerts
- Inputs: System resource metrics (disk, CPU, memory, processes, interfaces, ports), application metrics (backups, reboots, versions, log sizes, record counts), circulation KPIs, client session data, log files, configuration files.
- Processing and outputs: Full SNMP support; configurable alert thresholds; alerts via dashboards, email, and text to an unlimited number of recipients; identify runaway processes; dashboards for performance, application state, circulation indicators (branch or systemwide scope), clients, logs, configuration files; custom dashboards with access controls.
- Validity checks: [N/A]
- Sequence: Metric collection → threshold evaluation → alerting/display.
- Parameters affecting behavior: Alert thresholds; dashboard configuration; recipient lists; scope (branch/systemwide); per-file read/write permissions for configuration files.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: Alerts via email and text; behavior on failures [N/A]
  - Hardware faults/failures: Surfaced via monitoring; see failover below.
  - Error handling/recovery: Administrative consoles to act on alerts; ability to view logs without stopping system; enable/disable logs; set retention thresholds.
- Relationship of outputs to inputs:
  - Input/output sequence: Metrics and events → threshold checks → visual indicators and alerts.
  - Formulas for conversion: [N/A]

### Server and service management
- Inputs: Administrative actions to start/stop/restart software and server; email configuration settings; secure protocol settings.
- Processing and outputs: Server management console (software/server shutdown/startup/restart); access and edit email configuration including common settings; SMTP supported for email transport; support for SFTP (active/passive per vendor), SSL, and SSH.
- Validity checks: [N/A]
- Sequence: [N/A]
- Parameters affecting behavior: Email configuration settings; secure protocol modes.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: Administrative control via consoles.
- Relationship of outputs to inputs:
  - Input/output sequence: Administrative command → service state change or configuration update.
  - Formulas for conversion: [N/A]

### Configuration, logs, and shell access
- Inputs: Requests to access configuration files, log files, and root shell.
- Processing and outputs: Single console provides access to all configuration files with per-user/group read/write permissions; full access to all log files; review logs without stopping the system; enable/disable logging and set retention thresholds; root shell access.
- Validity checks: Permission checks for file access.
- Sequence: [N/A]
- Parameters affecting behavior: Log retention thresholds; user/group permissions.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: Logs available for diagnosis without service interruption.
- Relationship of outputs to inputs:
  - Input/output sequence: Access request → permission evaluation → file view/edit or shell access.
  - Formulas for conversion: [N/A]

### Backup, rollback, and failover
- Inputs: Requests/schedules for full or incremental backups; third-party backup tool settings; data change events; clustering configuration.
- Processing and outputs: Live incremental and full backups of data and transaction logs; support third-party backup software (e.g., EMC NetWorker); log data changes and provide undo functionality (ideally revision control); ability to cluster servers for failover capability.
- Validity checks: [N/A]
- Sequence: Scheduled/on-demand backup execution; on data change, log entry → enable undo; on failure, failover via clustering.
- Parameters affecting behavior: Backup type (incremental/full); schedule; clustering setup.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: Failover via server clustering.
  - Error handling/recovery: Undo for data changes; backups for restoration; logs for recovery.
- Relationship of outputs to inputs:
  - Input/output sequence: Backup request → backup artifacts; data change → change log and undo capability.
  - Formulas for conversion: [N/A]

### Data import/export and record set operations
- Inputs: MARC bibliographic and authority records; selection of fields (all or selected); source/destination vendors (including OCLC); record set definitions; batch members.
- Processing and outputs: Import/export singly or in batch; overlay existing short or full bibliographic records on import; maintain imported batches as selection lists; support unlimited record sets; import/export set members in batch; use record sets to scope queries; batch field updates; delete original records with pre-deletion review, error logging, and ability to undo one or more deletions.
- Validity checks: [N/A]
- Sequence: For deletions via record sets: review set → delete → write errors to log → undo as needed.
- Parameters affecting behavior: Field selection for import/export; set membership; pre-deletion review choice.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: Errors written to log; undo deletions.
- Relationship of outputs to inputs:
  - Input/output sequence: MARC input and options → updated/exported records; record set → batch updates/deletions/logs.
  - Formulas for conversion: [N/A]

### Account setup (staff and patron)
- Inputs: Staff and patron data; templates; privilege assignments; defaults; required fields.
- Processing and outputs: Dedicated interfaces create new staff and patron accounts; apply templates; enforce field validation and required status; apply configurable defaults; granular privileges for account creation/modification/deletion.
- Validity checks: Field validation; required fields; templates.
- Sequence: [N/A]
- Parameters affecting behavior: Templates; defaults; privilege granularity.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: [N/A]
- Relationship of outputs to inputs:
  - Input/output sequence: Input data + template → created account with assigned privileges.
  - Formulas for conversion: [N/A]

### Job scheduling and management
- Inputs: Maintenance tasks, reports, data exports, software updates; scheduling parameters; permissions.
- Processing and outputs: Schedule tasks/reports/exports; jobs can be sequenced (start job B when job A finishes); modify or cancel jobs any time prior to start; assign permissions to staff to schedule jobs; administrators view and manage jobs scheduled by others; single interface to review and control scheduled tasks.
- Validity checks: Permission checks.
- Sequence: Define job → (optional) define dependency → schedule → run or manage (modify/cancel/view).
- Parameters affecting behavior: Job dependencies; schedule timing; staff permissions.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: Administrative intervention via console.
- Relationship of outputs to inputs:
  - Input/output sequence: Scheduling inputs → executed jobs and status.
  - Formulas for conversion: [N/A]

### Querying, reporting, and printing
- Inputs: Selected record types and fields; picklist values; regular expressions; Boolean operators; report templates; report permissions; output format and destination; printer type selection.
- Processing and outputs: User-friendly query design across all record types; administrators control access to tables/fields; run report templates (as-is or modified); fine-grained permissions for running reports/ad hoc queries; fully customize report layout/appearance; display, print, email, or save to CSV, Excel, and customizable formats; report current record number, counts, deletions, purges by record type; define and select printer types (receipt, standard, label, forms); support all Windows printers; print to file on server, FTP, email, or printer; when applicable, select record fields and control field order when printing.
- Validity checks: Permission checks; field access controls.
- Sequence: Define query/report → execute → format → output/deliver.
- Parameters affecting behavior: Template selection; permissions; output format; printer selection; field selection/order.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: Email and FTP outputs; behavior on failures [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: [N/A]
- Relationship of outputs to inputs:
  - Input/output sequence: Query parameters and templates → result sets and formatted outputs to selected destinations.
  - Formulas for conversion: [N/A]

### Client software and configuration management
- Inputs: Workstation list, names, IP addresses; target client set for updates; client configuration files.
- Processing and outputs: Client management console displays running clients and provides utilities to manage/kill sessions; centrally manage client installation and updates using standard/proprietary network tools; stream updates from server; specify specific clients to update; manage clients via VNC and Remote Desktop; server-based client configuration files; export/import configurations between clients.
- Validity checks: [N/A]
- Sequence: [N/A]
- Parameters affecting behavior: Target client selection; configuration export/import choices.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: Remote management tools used; behavior on failures [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: Ability to kill client sessions.
- Relationship of outputs to inputs:
  - Input/output sequence: Selected clients and configurations → updated clients and applied configurations.
  - Formulas for conversion: [N/A]

### Real-time processing
- Inputs: Operational transactions (e.g., pull lists, shelf reading, weeding).
- Processing and outputs: Provide real-time processing so lists are up to date at time of viewing or printing; support live shelf reading and weeding.
- Validity checks: [N/A]
- Sequence: [N/A]
- Parameters affecting behavior: [N/A]
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: [N/A]
- Relationship of outputs to inputs:
  - Input/output sequence: Operational updates → immediate reflection in displayed/printed lists.
  - Formulas for conversion: [N/A]

### System documentation and upgrade support
- Inputs: Software version; upgrade/update packages.
- Processing and outputs: Provide library-specific, version-specific, web-based, indexed, searchable technical documentation organized by function; provide written upgrade/update guidelines including lists of new, changed, and removed features.
- Validity checks: [N/A]
- Sequence: [N/A]
- Parameters affecting behavior: Software version.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: [N/A]
- Relationship of outputs to inputs:
  - Input/output sequence: Version/update input → corresponding documentation and guidelines.
  - Formulas for conversion: [N/A]

### Database access
- Inputs: SQL queries; ODBC connections.
- Processing and outputs: Run SQL queries against any table; expose database as an ODBC source; all data tables and data storage are fully accessible.
- Validity checks: [N/A]
- Sequence: [N/A]
- Parameters affecting behavior: Administrative access controls.
- Abnormal situations:
  - Overflow: [N/A]
  - Communication facilities: [N/A]
  - Hardware faults/failures: [N/A]
  - Error handling/recovery: [N/A]
- Relationship of outputs to inputs:
  - Input/output sequence: Query input → result set output.
  - Formulas for conversion: [N/A]

### System-wide abnormal situation handling summary
- Overflow: [N/A]
- Communication facilities: [N/A]
- Hardware faults and failures: Server clustering provides failover capability; monitoring and alerts identify issues.
- Error handling and recovery: Data change logging with undo; logs viewable without stopping system; errors during batch deletions are written to log; administrative unlock of records; backups (incremental/full) support restoration.

## 3.2 Performance requirements
### Static (capacity)
- Locations supported: The system shall support a large, multiple-branch library system with 50 locations.
- Annual circulation volume: The system shall handle approximately 20,000,000 circulation transactions per year.
- Annual acquisitions/processing volume: The system shall handle purchasing and processing of over 500,000 items per year.
- Number of terminals/workstations supported: [N/A]
- Maximum number of simultaneous users/sessions: [N/A]
- Data volume by record type (patron, bibliographic, item, order, invoice, hold/request, authority): [N/A]

### Dynamic (throughput and responsiveness)
- Real-time data currency: The system shall provide real-time processing such that pull lists are up to date at the time of viewing or printing and the system supports live shelf reading and weeding. Specific response-time targets: [N/A]
- Concurrent record access: The system shall support simultaneous access and update of patron and item records by multiple staff and patrons across staff check-in/check-out terminals, self check-out stations, SIP2/NCIP2 and similar protocols/APIs, and the OPAC. Maximum concurrent updates/sessions: [N/A]
- Business-hours workload isolation: It is highly desirable that searches and reports can be processed during open hours without disrupting other system functions. Quantitative service-level targets during peak hours: [N/A]
- Non-disruptive operations: The system shall allow live incremental and full backups of data and transaction logs and shall allow log-file review without stopping the system. Backup throughput/duration targets: [N/A]
- Record lock administration: The system shall allow configuration of thresholds for record lock durations and provide lists of records in sustained use for administrative action. Quantitative lock-duration limits: [N/A]

## 3.3 Usability requirements
This section consolidates usability and quality-in-use requirements and objectives for the System Administration Module as stated in the original SRS. They address effectiveness, efficiency, satisfaction/support, accessibility, and avoidance of harm within the operational context of a large, multi-branch library system.

### Effectiveness
- Real-time processing ensures users act on current data (e.g., pull lists, live shelf reading and weeding) (REQ 5615).
- User-friendly query design supports accurate data retrieval via field picklists, regular-expression selection, and Boolean operators (REQ 5624).
- Report creation is effective through administrator-provided templates and fully customizable layouts and appearances, with output to standard formats (REQ 5607, REQ 2197).
- Operational awareness is supported by dashboards presenting current/historic data and at-a-glance status with visual indicators (REQ 6520, REQ 2467, REQ 2464, REQ 6503).
- Dedicated interfaces and templates for staff and patron account setup, with field validation and configurable defaults, support accurate, consistent data entry (REQ 2420, REQ 2419).
- Printing and output needs are met by support for multiple printer types and flexible output options (to file, FTP, email, or printer; selectable fields and order) (REQ 2441, REQ 2439).

### Efficiency
- Keyboard macros and shortcuts (administrator- and user-programmable), centrally managed with permissions, reduce task time (REQ 2220).
- Job scheduling supports sequencing, modification/cancellation prior to start, and centralized oversight to streamline routine tasks (REQ 6507, REQ 6508, REQ 6521).
- Searches and reports can run during open hours without disrupting other functions (OE-1).
- Client efficiency is supported by centrally managed installation/updates, server-based configurations, and accounts independent of workstations (REQ 6504, REQ 6519, REQ 6514).
- Monitoring and control consoles (SNMP monitoring with configurable alerts, performance dashboards, server and client management consoles) reduce time to detect and resolve issues (REQ 6501, REQ 2467, REQ 2466, REQ 2430).

### Satisfaction and user support
- Web-based, indexed, function-organized, searchable documentation that is library- and version-specific (REQ 2428).
- Online, hierarchical, cross-linked HTML help describing and illustrating all system functions (UD-3).
- Written upgrade guidelines that clearly list new, changed, and removed features (REQ 2431).
- Customizable dashboards and shareable views for different users and groups enhance personalization and relevance (REQ 6520).

### Accessibility and contexts of use
- Accessible with screen-reading software, screen-magnification software, and other assistive technologies (OE-5).

### Avoidance of harm and error prevention/recovery
- Concurrency safeguards: simultaneous access with prompts when a record has changed since display; ability to identify where records are in use; list/unlock locked records and configure lock thresholds (REQ 5323, REQ 6513, REQ 7302).
- Business rules restrict destructive or inconsistent actions (e.g., prevent deletion of checked-out items or records with holds) (REQ 2445).
- Visibility controls through suppression rules limit record exposure appropriately across staff/patron interfaces (REQ 5278).
- Requesting and loan rules enforce eligibility and conditions with controlled staff overrides (REQ 5190, REQ 5057).
- Data validation with defaults, formatting, and required fields reduces entry errors (REQ 5328).
- “Undo” capability and logged data changes; revision control desired for safer recovery (REQ 6505).
- Live incremental/full backups of data and transaction logs mitigate impact of failures (REQ 6502).
- Secure handling of patron data in transfer and use of secure protocols (SFTP, SSL, SSH) to prevent harm from data exposure (REQ 6510, REQ 6511).

## 3.5 Logical database requirements
Types of information used by various functions
- Patron records, including patron type, account balance, counts of items checked out and holds.
- Item records, including item type, status, owning location code, and related circulation attributes.
- Bibliographic and authority records (MARC), including support for overlay of short/full records via import.
- Hold/request records linking patrons to requested items/titles and their statuses.
- Circulation/loan transactions to support check-out, check-in, renewals, due dates, and overrides per rules.
- Order and invoice records to support acquisitions and financial tracking.
- User/staff accounts, groups, and role/privilege assignments (including support for individual and shared staff accounts).
- Record sets grouping records of any supported type for batch operations, queries, and deletion/undo.
- Report definitions/templates and ad hoc queries.
- Scheduled jobs/tasks (imports/exports, reports, maintenance).
- Configuration data (e.g., email settings, printer definitions, client configurations, macros/shortcuts).
- System and application log entries and metrics used by dashboards (current and historical performance indicators).

Frequency of use
- High-volume, real-time reads/writes for circulation, holds, and related updates; simultaneous access by multiple staff and patrons across 50 locations and ~20 million circulations per year.
- Pull lists and shelf activities require up-to-date data at time of viewing/printing.
- Queries and reports must run during open hours without disrupting other functions; scheduled jobs occur periodically and on demand.
- Batch import/export of MARC and record-set operations occur as needed (periodic/high when processing collections).

Accessing capabilities
- Fully relational, SQL-based database with the ability to run SQL queries against any table; database accessible as an ODBC source.
- All data tables and storage are accessible subject to administrative control of user/table/field permissions.
- User-friendly query tool supporting field selection, picklists, regex, and Boolean operators; administrators govern access to tables/fields.
- Batch import/export for MARC bibliographic and authority records; import/export of record-set members.
- Reporting with customizable layouts and output to display/print/email/files (CSV, Excel, other customizable formats).
- Simultaneous access/update via staff clients, self-checks, OPAC, and external interfaces (e.g., SIP2/NCIP2 and similar protocols/APIs).

Data entities and their relationships
- Patron, Item, Bibliographic, Authority, Hold/Request, Loan/Circulation, Order, Invoice, User/Staff Account, Group/Role/Privilege, Record Set, Report/Template, Scheduled Job, Log Entry/Metric.
- Holds/requests associate patrons with items/titles and enforce eligibility via requesting rules.
- Loans/circulation transactions associate patrons with items and enforce due dates/renewals via loan rules and calendars.
- Items are catalog assets described by bibliographic records and carry status and location codes used by rules and workflows.
- Record sets contain members from any record type for batch operations and scoping of queries.
- User/staff accounts are associated with groups/roles/privileges that govern data visibility and operations.

Integrity constraints
- Concurrency control: simultaneous access to patron and item records with record lock management, visibility into lock holders, configurable lock thresholds, and authorized unlock capability.
- Business-rule enforcement:
  - Restrictions on deleting items in checked-out status and bibliographic records with existing holds.
  - Suppression rules controlling visibility of authority, bibliographic, order, and item records in staff and OPAC interfaces by user/workgroup/location.
  - Requesting and loan rules evaluating patron and item attributes, statuses, location codes, counts, and balances; rules specify overrideability by privileged staff.
- Field-level constraints: configurable default values, validation, automatic formatting, and required fields for any field.
- Transaction logging with “undo” for data changes (deletes, updates); revision control is desirable.
- Unique record numbers maintained per record type; system reports current number, deleted, and purged counts.

Security
- Role- and group-based access control for modules, data tables, and fields; full administrative visibility/control of user privileges.
- Fine-grained permissions for running reports and ad hoc queries; access to record numbers controlled at user/group level.
- Visibility controls via suppression rules; patrons can view only selected fields, while staff visibility depends on privileges.
- Patron data security in all transfers; secure protocol support (SFTP active/passive as configured, SSL, SSH).
- Individual logins enable user-level preferences and audit trails for accountability.
- External database access (e.g., ODBC/SQL) governed by administrative permissions and security policies.

Data retention requirements
- System and application log files: enable/disable per log, with configurable retention thresholds; logs reviewable without stopping the system.
- Backups: live incremental and full backups of data and transaction logs; support for third-party backup software; clustering for failover to protect data availability.
- Data change history: logging sufficient to support undo/rollback; revision control desirable for multi-version retention.
- Retention periods for patron, bibliographic, item, order, invoice, hold, and loan records: [N/A]

## 3.6 Design constraints
- Platform and environment
  - The system shall operate on Linux or Solaris servers.
  - The system shall be accessible via a web browser or a Windows-compatible client.
  - If browser-based, the system shall support Microsoft Internet Explorer v6.0 or later and Mozilla Firefox v2.0 or later.
  - All Windows printers shall be supported, including receipt, standard, label, and forms printers.
  - The system shall support the operational scale of a large multi-branch library (approximately 50 locations, 20 million circulations/year, and 500,000 new items/year).

- Database and data access
  - The system shall use a fully relational, SQL-based database back-end.
  - The database shall be accessible as an ODBC data source, with the ability to run SQL queries against any table; all data tables and storage shall be fully accessible.

- Standards and interoperability
  - The system shall produce standards-compliant HTML.
  - The system shall support SNMP for system monitoring.
  - The system shall support SMTP for email transport.
  - The system shall support secure transfer and access protocols SFTP (active and passive, configurable per vendor), SSL, and SSH.
  - The system shall support SIP2/NCIP2 and similar protocols/APIs for interoperability with self-check, staff stations, and OPAC.
  - The system shall import and export MARC bibliographic and authority records, including integration with vendors such as OCLC.
  - The system shall interface with vendor websites via published APIs and/or automated transfer of standard-format data files (e.g., USMARC21, EDIFACT).
  - The system shall support report export to standard formats including CSV and Excel.

- Security, privacy, and access control
  - Patron data shall be secure in all transfers to and from the system.
  - User rights and privileges shall be controlled through security groups and/or roles, enabling granular access to modules and functions.

- Accessibility
  - The system shall be accessible with screen-reading software, screen-magnification software, and other assistive technologies.

- Deployment, administration, and operations
  - A development and training environment shall be provided, with the ability to migrate configurations to production.
  - The system shall support live incremental and full backups of data and transaction logs and be compatible with third-party backup software such as EMC NetWorker.
  - Administrators shall have access to all configuration and log files; logs shall be reviewable without stopping the system and have configurable retention; root shell access shall be available.
  - Client software installation and updates shall be centrally managed, with support for remote management tools such as VNC and Remote Desktop.
  - Staff and group accounts shall be independent of specific workstations; client installs shall not be tied to a location.

## 3.7 Software system attributes
- Reliability:
  - Live incremental and full backups of data and transaction logs; supports third-party backup tools (REQ-6502).
  - Logged data changes with “undo” functionality; revision control is desirable (REQ-6505).
  - Concurrent access to patron and item records with prompts on conflicting changes; visibility into record locks and administrative unlock capability (REQ-5323, REQ-6513, REQ-7302).
  - System monitoring via SNMP with configurable thresholds and alerts; performance dashboard identifies runaway processes (REQ-6501, REQ-2467).
  - Real-time processing for operational activities (e.g., pull lists, live shelf reading/weeding) (REQ-5615).
  - Log files viewable without stopping the system; configurable retention (REQ-2474).

- Availability:
  - Server clustering for failover capability (REQ-2462).
  - Server and software shutdown/restart utilities (REQ-2466).
  - Central job scheduling with sequencing, modification, and cancellation; single console to control scheduled tasks (REQ-6507, REQ-6508, REQ-6521).
  - Alerts delivered via dashboards, email, and text to an unlimited number of recipients (REQ-6501).
  - Application dashboard with key operational indicators (backups, reboots, version, queues, database utilization) (REQ-2464).
  - Searches and reports should be processable during open hours without disrupting other functions (OE-1).

- Security:
  - Patron data secured in all transfers; support for SFTP (active and passive), SSL, and SSH (REQ-6510, REQ-6511).
  - Fine-grained roles/privileges with full administrative visibility and control; support for individual and shared accounts (CO-4, REQ-2492, REQ-6509).
  - Visibility/suppression rules controlling whether staff and patrons can view authority, bibliographic, order, and item records (REQ-5278).
  - Data change logging to support rollback; log enable/disable and retention thresholds; log viewing dashboard (REQ-6505, REQ-2474, REQ-2433).
  - Field-level defaults, validation, formatting, and required status to ensure data integrity (REQ-5328).
  - Use of specific cryptographic techniques beyond protocol support [N/A].
  - Assignment of certain functions to different modules for security [N/A].
  - Restrictions on communications between program areas [N/A].

- Maintainability:
  - Web-based, version-specific, indexed, and searchable documentation; upgrade guidelines with lists of new/changed/removed features (REQ-2428, REQ-2431).
  - Dedicated development and training environment with migration of configurations to production (CO-3).
  - Full access to configuration files and a centralized configuration console with per-file read/write permissions (REQ-2479, REQ-6517).
  - Centralized discovery and viewing of log files via a dashboard (REQ-2433).
  - SNMP-based monitoring and performance dashboards to aid diagnosis and tuning (REQ-6501, REQ-2467).
  - Centrally managed client installation and updates; remote administration (VNC/Remote Desktop); server-based client configurations; accounts not tied to workstations (REQ-6504, REQ-6519, REQ-6514).
  - Central job scheduling and delegated permissions to schedule/manage maintenance tasks (REQ-6507, REQ-6508, REQ-6521).
  - Fully relational, SQL-based database with ODBC access and ability to run SQL against all tables (CO-1, REQ-6512).
  - Centrally managed macros/shortcuts with permission control; import/export for users (REQ-2220).

- Portability:
  - Operates on Linux or Solaris servers; accessible via web browser or Windows-compatible client; browser support includes Microsoft Internet Explorer v6.0+ and Mozilla Firefox v2.0+ (OE-2, OE-3, OE-4).
  - Standards-compliant HTML output (CO-2).
  - Database accessible as an ODBC source; SQL-based (REQ-6512).
  - Percentage of elements with host-dependent code [N/A].
  - Percentage of code that is host dependent [N/A].
  - Use of a proven portable language [N/A].
  - Use of a particular compiler or language subset [N/A].
  - Use of a particular operating system: Linux or Solaris server; Windows-compatible client; specified browsers (OE-2, OE-3, OE-4).

## 3.8 Supporting information
Per the SRS document conventions, contextual materials (e.g., flowcharts) provide background and do not prescribe or constrain development. Accordingly, the items below are provided as supporting/background information and are not, by themselves, requirements unless they are explicitly restated as requirements elsewhere in the SRS.

- Sample input/output formats and interfacing standards referenced
  - MARC (USMARC21) bibliographic and authority records: import/export (single and batch), including overlay of existing records.
  - EDIFACT data files for vendor interfaces.
  - Report output formats: CSV and Excel; web output as standards-compliant HTML.
  - Database access: ODBC data source; fully relational, SQL-based database; ability to run SQL queries.
  - Messaging and transport: SMTP for email; secure protocols SFTP (active/passive), SSL, SSH.
  - Systems/protocols: SNMP for monitoring; SIP2/NCIP2 and similar protocols/APIs for circulation/self-checkout/OPAC integrations.

- Cost analysis studies or user survey results
  - [N/A]

- Supporting/background information for readers
  - Organizational context: Large, urban, multi-branch centralized library system (≈50 locations; ≈20 million circulations annually; ≈500,000 items purchased/processed per year).
  - Product intent: Replace/enhance capabilities of commercially available ILSes and add new functionality; presupposes a full-fledged ILS.
  - Operating environment: Linux or Solaris server; access via web browser (IE 6.0+, Firefox 2.0+) or Windows-compatible client; accessible with screen readers and magnifiers.
  - Architecture/dependencies: Part of an enterprise ILS with Acquisitions, Serials, Circulation, Cataloging, and OPAC/web services; interfaces with vendor sites via published APIs and/or standard-format data files.
  - Security/administration model: User rights and privileges controlled via groups/roles; centralized processes serving multiple locations; development/training environments with migratable configurations.
  - Documentation expectations: Library-specific, web-based, indexed, and searchable documentation; online hierarchical cross-linked help.
  - Development approach: Further specification of data structures and UIs to occur via iterative, prototype-oriented methods; assumes readers understand common library terminology.

- Problems to be solved by the software (as articulated in this SRS)
  - Centralized configuration of ILS features and processes for branches, patrons, collections, and circulation.
  - Real-time, concurrent access and update of patron/item records with sensible record-lock handling and administration.
  - Monitoring, troubleshooting, and control of servers, databases, applications, services, ports, and APIs, including alerts and dashboards.
  - Management of user/group accounts and fine-grained privileges; creation of patron and staff accounts using templates and validation.
  - Server/client software installation, upgrades, updates, and centralized client management/configuration.
  - Data protection and recovery: live backups, revision/undo capabilities, and server clustering/failover.
  - Definition and administration of business rules (loan, requesting, suppression, data validation).
  - Scheduling and administration of maintenance tasks, reports, imports/exports, and other jobs with appropriate permissions.
  - Querying and reporting across all record types with templates, permissions, and multiple output/print options.
  - Security of patron data and use of secure transport protocols.

- Special packaging instructions for code/media (security, export, initial loading, etc.)
  - [N/A]

These supporting items are non-normative and are not to be considered part of the requirements unless they are explicitly captured as requirements within the Requirements section of this SRS.

# 4 Verification
[NULL]

## 4.1 Functions
This section outlines how each functional requirement will be verified. Methods include inspection (document/config review), demonstration (guided execution), test (scripted functional/concurrency/security/failover tests), and analysis (log/trace review). Where applicable, tests will cover input validity checks, operation sequencing, abnormal conditions (communications loss, hardware/process failure, error handling and recovery), parameter effects, and input/output relationships. Items not specified in the original SRS are marked [N/A].

- Systems: General
  - REQ-6512 SQL-based database: Test ODBC connectivity and direct SQL query execution against all tables; inspect schema/catalog exposure to verify “fully accessible” tables/storage; demonstrate ad hoc queries. Abnormal conditions: network drop during query (test recovery). Parameters/I-O/formulas: [N/A].
  - REQ-5615 real-time processing: Test pull-list currency and live shelf-reading/weeding updates against recent transactions; measure that views/prints reflect latest state. Abnormal: intentional processing backlog injection to observe behavior; recovery verified via catch-up processing. Sequence: verify on-view generation. Parameters/I-O/formulas: [N/A].
  - REQ-5323 field and record sharing: Concurrency test with multiple staff, self-check, and SIP2/NCIP2 clients; verify simultaneous access/update; verify privilege-based field visibility; demonstrate stale-display change warning prompts and reasonable merge behavior. Abnormal: mid-update disconnect; verify rollback or partial-write handling and user messaging.
  - REQ-6513 record lock management: From staff UI, open records concurrently; verify lock presence, location, user, timestamp visibility. Abnormal: crash of locking client; verify lock timeout rules via admin console (see REQ-7302).
  - REQ-2492 individual/shared staff accounts: Test creation/use of both account types; verify role/privilege scoping per account; verify individual preferences and audit trail entries for individual logins. Parameters: role changes immediately affect access.
  - REQ-2428 system documentation: Inspect web-based, indexed, searchable documentation; verify library/version specificity.
  - REQ-2431 system upgrade guidelines: Inspect upgrade/update guides and feature change lists delivered with the release; trace coverage of server and client steps.
  - REQ-2479 configuration file access: Demonstrate read/write access to all configuration files; verify access paths are complete. Parameters: permission changes affect file accessibility.
  - REQ-2474 log file access: Demonstrate viewing logs without stopping system; enable/disable logs; set retention threshold and observe pruning behavior. Abnormal: high-volume log generation; verify stability and retention enforcement.
  - REQ-2470 root shell access: Test authorized administrative root shell access on target OS; verify audit of elevation. Abnormal: failed elevation attempts are logged and denied.

- Consoles and Dashboards
  - REQ-6520 dashboard configuration: Create custom dashboards with current/historical widgets; assign access to specific users/groups; verify visibility per assignment and data freshness.
  - REQ-6501 system monitoring: Configure SNMP; verify monitoring of disk/CPU/memory/processes/interfaces/ports; set alert thresholds and confirm alerting via dashboard/email/SMS to a high recipient count; simulate resource threshold breach and recovery. Abnormal: unreachable mail/SMS gateways—verify queued/retry behavior and logging.
  - REQ-7302 record lock administration: Set lock-duration thresholds; list sustained/locked records; unlock single and multiple records; verify effect in clients.
  - REQ-2467 system performance dashboard: Verify process listing with PID, owner, IP, CPU, memory, runtime; confirm runaway process identification and visual status indicators.
  - REQ-2466 server console: Demonstrate application/software shutdown/startup and server restart utilities in controlled environment; verify safe sequencing and rollback paths.
  - REQ-2464 application dashboard: Verify display of last full/incremental backup, last planned/unplanned reboot, last upgrade, current version, pending transaction counts, log sizes, record counts by type, and DB utilization.
  - REQ-2430 client management console: Display connected clients with workstation name and IP; execute session termination and verify disconnect at client.
  - REQ-6503 circulation dashboard: Validate KPIs (check-outs/hour, check-ins/hour, holds placed/paged) for single branch and systemwide scopes against known transaction sets.
  - REQ-6517 configuration file console: Access all config files from single console; set per-file read/write permissions for users/groups; verify effective access enforcement.
  - REQ-2433 log-file dashboard: Locate and view logs from dashboard; verify search/filtering and access controls.
  - REQ-6521 job scheduling console: View and control scheduled tasks (staff-scheduled, automated reports, imports/exports, software updates); start/stop/pause/reschedule; audit changes.
  - REQ-6515 email configuration: Edit email settings; use quick menus for masquerading, log retention, bounce management; send test messages; verify parameter effects.
  - REQ-6516 SMTP support: Configure SMTP transport and send test emails; verify authentication/TLS if provided by platform. Abnormal: mail server outage—verify retries and error messages.

- Business Rules
  - REQ-2445 business rules: Attempt restricted operations (e.g., delete checked-out items; delete bibs with holds) and verify enforcement with appropriate messages and no data loss.
  - REQ-5278 suppression rules: Configure visibility rules; verify staff/patron/OPAC visibility per workgroup/location scopes across authority/bibliographic/order/item records.
  - REQ-5190 requesting rules: Configure rules using patron/item/status/location/balance criteria; attempt holds under allowed and disallowed conditions; verify staff override behavior per privileges and that overrides are logged. Sequence: rule evaluation precedes request acceptance.
  - REQ-5057 loan rules: Configure rules for checkout allow/deny, loan period, renewal limits; test due date computation using open/closed schedules; test staff overrides and logging.
  - REQ-5328 data validation: Configure default values, required fields, formatting, and validation on fields; test entry acceptance/rejection and auto-formatting; verify error messages.

- Data Recovery
  - REQ-6502 system backup: Execute live incremental and full backups of data and transaction logs; if using EMC NetWorker, perform integration test; validate recovery by restoring to a staging environment and comparing checksums/record counts; confirm no service interruption during backup.
  - REQ-6505 data rollback: Perform changes (including deletions), verify logging, and execute undo; confirm state restoration. Revision control: if present, verify version history, diff, and rollback; otherwise [N/A].
  - REQ-2462 server clustering: Conduct failover test by simulating node failure; verify service continuity and client session behavior; test failback and data consistency.

- Security
  - REQ-6510 patron data security: Inspect transfer channels for encryption; use packet capture to confirm no plaintext patron data over the wire; verify secure transport for all ingress/egress paths.
  - REQ-6509 user account privileges: From admin UI, view and modify user privileges; verify changes propagate immediately and are enforced across modules; audit privilege changes.
  - REQ-6511 secure protocol support: Verify SFTP (active and passive modes), SSL/TLS, and SSH connectivity to vendors/endpoints with configurable modes; test key/cert management where applicable. Abnormal: forced cipher mismatch—verify secure failure.

- Maintenance
  - REQ-1716 MARC import/export: Import/export single and batch MARC bib/authority records (all/selected fields) including to/from OCLC; verify overlay of existing short/full bibs; validate record counts and field integrity. Selection-list maintenance per REQ-3004: [N/A].
  - REQ-6518 record sets: Create large number of record sets; import/export members; perform batch field updates; use sets to scope queries; execute batch delete with pre-review, error logging, and undo; verify logs and recovery.
  - REQ-2420 staff account setup: Create staff accounts via templates; verify granular privileges for create/modify/delete; validate that permissions restrict who can manage accounts.
  - REQ-2419 patron account setup: Create patron accounts via templates with defaults; verify required fields and validation enforcement.
  - REQ-6507 job scheduling: Schedule maintenance tasks/reports/exports; configure dependency “start B after A finishes”; modify/cancel prior to start; verify execution order and audit.
  - REQ-6508 job scheduling management: Assign scheduling permission to staff; as admin, view/manage others’ jobs; verify scope and audit.
  - REQ-2220 keyboard macros and shortcuts: Create admin- and user-programmable macros/shortcuts; assign keys; verify server-central management, import/export to users, and permission-based use/edit restrictions.

- Client Management
  - REQ-6514 accounts independent from workstation: Verify staff and group accounts function across different workstations and locations; confirm client install is not location-bound.
  - REQ-6504 client software updates: Demonstrate centrally managed client install/update via network tools with streaming from server; target specific clients; manage sessions via VNC/Remote Desktop; verify update success without manual client intervention.
  - REQ-6519 client configurations: Confirm client configurations are server-based; export/import configuration between clients and verify effect.

- Queries and Reports
  - REQ-2197 report format and output: Customize report layout/appearance; display, print, email, and save to CSV/Excel and custom formats; verify content integrity across outputs.
  - REQ-5624 query tool: Build queries across all record types; select fields; choose values from picklists; apply regex from drop-down; use Boolean operators; verify admin-controlled access to tables/fields is enforced.
  - REQ-5607 report templates: Create admin templates; verify availability to front-line staff; run as-is and with staff modifications; verify results align with template logic.
  - REQ-5617 reports permissions: Configure fine-grained permissions; verify allowed/disallowed execution of specific and ad hoc reports per user/group.
  - REQ-2465 record number report: Generate report of current record number, counts, deleted, purged for each record type; verify values against database; confirm user/group access control.
  - REQ-2441 printer support: Define/select receipt, standard, label, and forms printers; verify printing to Windows printers across types.
  - REQ-2439 multiple print output options: From various application areas, print to server file, FTP, email, and printer; where applicable, select fields and order; verify outputs and delivery.

- Cross-cutting abnormal conditions and sequencing
  - Overflow: [N/A].
  - Communication facilities: Test network interruptions during imports, SMTP/SNMP outages, and protocol failures; verify retries, user-facing errors, and logging.
  - Hardware faults and failures: Validate clustering failover (REQ-2462), runaway process handling indicators (REQ-2467), and record lock timeouts/unlocks (REQ-7302).
  - Error handling and recovery: Verify undo/rollback (REQ-6505), stale-record edit prompts (REQ-5323), deletion protections (REQ-2445), and log/alert trails for failures.
  - Effect of parameters: Change alert thresholds, suppression/requesting/loan rules, log retention, email settings, and permissions; verify immediate, correct effects and audit trails.
  - Input/output relationships: Validate that dashboard metrics and reports match underlying transactions and records; verify job dependency execution order; formulas for conversions: [N/A].

## 4.2 Performance requirements
- Static capacity
  - OE-1: Support for a large, multiple-branch library system (50 locations; 20 million circulations/year; 500,000 items purchased/processed/year)
    - Verification method: System test and load test
    - Approach:
      - Configure 50 branch/location codes and execute representative end-to-end workflows across all locations.
      - Preload or simulate at least the stated annual circulation and item-processing volumes; monitor stability, resource utilization, and error rates during and after workload execution.
      - Use system dashboards and SNMP monitoring (REQ-6501, REQ-2466, REQ-2467, REQ-2464) to observe system health.
      - Use record number reports (REQ-2465) to verify data volumes are ingested/managed as intended.
    - Acceptance measurement: [N/A]
  - Number of terminals to be supported
    - Verification method: [N/A]
    - Acceptance measurement: [N/A]
  - Number of simultaneous users to be supported
    - Verification method: [N/A]
    - Acceptance measurement: [N/A]
  - Amount and type of information to be handled
    - Verification method: Inspection and system test
    - Approach:
      - Validate presence and handling of required record types (e.g., patron, bibliographic, item, order, invoice) through representative operations and reporting (REQ-2465).
      - Confirm full accessibility of data tables/storage for administration and reporting needs (REQ-6512).
    - Acceptance measurement: [N/A]

- Dynamic performance
  - REQ-5615: Real-time processing (e.g., pull lists up to date at viewing/printing; support for live shelf reading/weeding)
    - Verification method: Functional performance test and demonstration
    - Approach:
      - Execute circulation actions (check-in/check-out/holds) and immediately generate pull lists; measure observed propagation lag from transaction to list output.
      - Perform live shelf-reading/weeding updates and verify immediate reflection in client views.
    - Acceptance measurement: [N/A]
  - REQ-5323: Field and record sharing with simultaneous access and update; reasonable application of changes with prompts on concurrent edits
    - Verification method: Concurrency and contention test
    - Approach:
      - Simulate multiple staff/patron clients performing concurrent reads/updates on the same patron and item records, including via SIP2/NCIP2 and OPAC.
      - Verify visibility rules, update success rates under contention, and presence of conflict prompts when records change after display.
    - Acceptance measurement: [N/A]
  - REQ-6513 and REQ-7302: Record lock visibility and administration; thresholds on lock duration and ability to list/unlock
    - Verification method: Concurrency test and administrative console test
    - Approach:
      - Induce sustained record use/locks under load; confirm lock source, placement time, and location are visible.
      - Validate administrators can set lock-duration thresholds and unlock one or more records from the console under load.
    - Acceptance measurement: [N/A]
  - OE-1 (desirable): Searches and reports can be processed during open hours without disrupting other system functions
    - Verification method: Soak test and operational scenario test
    - Approach:
      - Run representative search and reporting workloads concurrently with circulation and cataloging transactions during business-hour load simulations.
      - Monitor system health, queue growth, and error rates via dashboards and SNMP; observe for functional disruptions.
    - Acceptance measurement: [N/A]
  - REQ-6502: Live incremental and full backups of data and transaction logs without stopping the system
    - Verification method: Backup performance test
    - Approach:
      - Execute incremental and full backups during active transaction processing; verify continued operation and validate backup integrity using supported third-party tools (e.g., EMC NetWorker) where used.
    - Acceptance measurement: [N/A]
  - REQ-2462: Server clustering for failover capability
    - Verification method: Failover test
    - Approach:
      - Induce node/service failure under active workload; verify continuity of service and successful takeover by cluster peers.
    - Acceptance measurement: [N/A]
  - REQ-6501: System monitoring and alerting for resource conditions (disk, CPU, memory, processes, interfaces/ports) with configurable thresholds and multi-channel alerts
    - Verification method: Monitoring verification test
    - Approach:
      - Generate controlled resource conditions to cross configured thresholds; verify alert emission via dashboards, email, and text to multiple recipients.
      - Use results to support performance test observability and triage.
    - Acceptance measurement: [N/A]

## 4.3 Usability requirements
The following verification approaches qualify usability-related requirements. Items are organized in parallel to the original requirement identifiers and names.

- OE-5 Accessibility with assistive technologies
  - Verification approach: Assistive technology compatibility testing and keyboard-only interaction checks.
  - Methods: Execute representative tasks (login, search, run report, configure settings) using screen readers and screen magnifiers; verify focus order, label announcements, and operability without a mouse in supported clients.
  - Evidence: Test reports with observed results and defects; screenshots or recordings; issue resolution logs.
  - Success criteria: [N/A]

- UD-3 Online, hierarchical, cross-linked HTML help
  - Verification approach: Documentation review and functional tests for discoverability.
  - Methods: Confirm presence of hierarchical structure, cross-links, coverage of all system functions, and effective search/indexing; spot-check contextual relevance from multiple UI entry points.
  - Evidence: Coverage matrix mapping features to help topics; search logs; review checklist outcomes.
  - Success criteria: [N/A]

- 2428 System documentation (web-based, indexed, version-specific, searchable)
  - Verification approach: Documentation audit and version traceability review.
  - Methods: Confirm documentation is tied to deployed version; verify indexing, organization by function, and search efficacy.
  - Evidence: Audit checklist; version mapping; search test results.
  - Success criteria: [N/A]

- 5624 Query tool user-friendly interface
  - Verification approach: Task-based usability testing and UI conformance checks.
  - Methods: Validate presence of field picklists, value picklists, regex dropdowns, and Boolean operators; run scenario tasks to build and run queries; verify admin control of table/field access.
  - Evidence: Usability session notes, task completion outcomes, UI screenshots; admin configuration audit.
  - Success criteria: [N/A]

- 5607 Report templates (admin-created, staff-run/modified)
  - Verification approach: Scenario-based usability testing and role-based checks.
  - Methods: Create templates as administrator; locate, run, and modify templates as front-line staff; assess discoverability and clarity of options.
  - Evidence: Task outcomes; role-permission test records.
  - Success criteria: [N/A]

- 2197 Report format and output customization
  - Verification approach: Functional usability tests for output workflows.
  - Methods: Customize report layout; display, print, email, and export to CSV and Excel; confirm ease of selecting fields and formats.
  - Evidence: Generated artifacts (prints, emails, files); workflow observations.
  - Success criteria: [N/A]

- 2441 Printer support (receipt, standard, label, forms; Windows printers)
  - Verification approach: End-to-end print usability tests per printer type.
  - Methods: Configure and select printer types; execute typical print jobs; verify clear feedback and error handling.
  - Evidence: Printed samples; configuration screenshots; defect logs.
  - Success criteria: [N/A]

- 2439 Multiple print output options (file, FTP, email, printer; select fields/order)
  - Verification approach: Workflow validation across output channels.
  - Methods: From multiple application areas, print to each output type; when applicable, select fields and control order; verify user feedback and confirmations.
  - Evidence: Output artifacts; test logs.
  - Success criteria: [N/A]

- 2220 Keyboard macros and shortcuts
  - Verification approach: Keyboard accessibility and efficiency testing.
  - Methods: Create admin- and user-level macros; assign shortcut keys; import/export macros; verify central management and permission restrictions; attempt common tasks using only keyboard.
  - Evidence: Macro definitions; import/export files; permission test records.
  - Success criteria: [N/A]

- 2467 System performance dashboard (visual indicators and process information)
  - Verification approach: UI clarity and status visibility checks.
  - Methods: Verify display of process metadata and identification of runaway processes; confirm status indicators are visible and intelligible.
  - Evidence: Screenshots; observer notes.
  - Success criteria: [N/A]

- 2464 Application dashboard (backups, reboots, version, queues, counts)
  - Verification approach: Information presentation and discoverability testing.
  - Methods: Validate presence and readability of each listed metric; confirm grouping and labels support quick comprehension.
  - Evidence: Dashboard review checklist; screenshots.
  - Success criteria: [N/A]

- 6503 Circulation dashboard (KPIs; branch/system scope)
  - Verification approach: KPI visibility and filtering tests.
  - Methods: Confirm KPIs display; switch between branch and systemwide scopes; assess ease of scope selection.
  - Evidence: Test logs; screenshots.
  - Success criteria: [N/A]

- 6515 Email configuration quick menu
  - Verification approach: Configuration task usability testing.
  - Methods: Access and edit email settings; use quick menu for common options (masquerading, log retention, bounce management); assess clarity of labels and help.
  - Evidence: Configuration change logs; UI captures.
  - Success criteria: [N/A]

- 5328 Data validation (defaults, validation, formatting, required fields)
  - Verification approach: Data entry error-prevention testing.
  - Methods: Create forms with defaults, required flags, and formatting; attempt invalid entries; verify helpful feedback and prevention of incorrect submission.
  - Evidence: Form configurations; validation test cases and results.
  - Success criteria: [N/A]

- 5323 Field and record sharing (simultaneous access; change prompts)
  - Verification approach: Concurrency usability testing.
  - Methods: Simulate concurrent edits by multiple users; verify prompts when records change since display; assess clarity of options to proceed/cancel/reload.
  - Evidence: Session recordings; prompt screenshots.
  - Success criteria: [N/A]

- 6513 Record lock management (identify where record is in use)
  - Verification approach: Information clarity testing.
  - Methods: Lock a record from various contexts; verify display of location, user, and timestamp; assess ease of locating locked records.
  - Evidence: Test logs; UI captures.
  - Success criteria: [N/A]

- 7302 Record lock administration (thresholds, list, unlock)
  - Verification approach: Administrative console usability testing.
  - Methods: Set lock duration thresholds; locate and unlock records; evaluate error messages and confirmations.
  - Evidence: Configuration screenshots; action logs.
  - Success criteria: [N/A]

- 2420 Staff account setup (dedicated interface; templates; granular privileges)
  - Verification approach: Task-based form usability testing.
  - Methods: Create new staff accounts using templates; vary privilege sets; evaluate clarity of required fields and defaults.
  - Evidence: Created accounts; template definitions; observation notes.
  - Success criteria: [N/A]

- 2419 Patron account setup (templates; validation; defaults)
  - Verification approach: Task-based form usability testing.
  - Methods: Create patron accounts with templates; verify required fields and defaults; assess validation feedback for common errors.
  - Evidence: Test accounts; validation logs.
  - Success criteria: [N/A]

- OE-3 Access via web browser or Windows-compatible client
  - Verification approach: Client access usability checks.
  - Methods: Confirm UI is operable in the supported access modes; perform representative tasks in each and compare discoverability and responsiveness.
  - Evidence: Cross-client test reports.
  - Success criteria: [N/A]

- OE-4 Browser support (Internet Explorer v6.0+, Firefox v2.0+)
  - Verification approach: Cross-browser usability testing.
  - Methods: Run representative tasks in each supported browser version; confirm layout integrity, control operability, and help/documentation rendering.
  - Evidence: Browser compatibility matrix; screenshots.
  - Success criteria: [N/A]

- 2433 Log-file dashboard (locating and viewing logs)
  - Verification approach: Findability and readability tests.
  - Methods: Use the dashboard to locate and open specific logs; verify filtering/search within logs where available; assess clarity of timestamps and severity indicators.
  - Evidence: Task outcomes; UI captures.
  - Success criteria: [N/A]

- 6517 Configuration file console (single console; per-file permissions)
  - Verification approach: Navigation and permission feedback testing.
  - Methods: Access configuration files from the unified console; verify read/write behaviors by user/group; assess clarity of permission error messages.
  - Evidence: Access logs; screenshots; permission test records.
  - Success criteria: [N/A]

- 6521 Job scheduling console (single interface; review/control)
  - Verification approach: Scheduling workflow usability testing.
  - Methods: Locate and review scheduled jobs; modify, cancel, and sequence jobs; assess clarity of scheduling options and status messages.
  - Evidence: Job histories; UI captures; observer notes.
  - Success criteria: [N/A]

- 6507 Job scheduling (sequence; modify/cancel pre-start)
  - Verification approach: Task-based verification of scheduling interactions.
  - Methods: Create dependent jobs (A then B); modify and cancel before start; verify confirmations and error prevention cues.
  - Evidence: Scheduling logs; confirmations.
  - Success criteria: [N/A]

- 6508 Job scheduling management (permissions to schedule; admin oversight)
  - Verification approach: Role-based usability checks.
  - Methods: Delegate scheduling permissions; verify staff ability to schedule; confirm admin can view/manage others’ jobs with clear attribution.
  - Evidence: Role configurations; management action logs.
  - Success criteria: [N/A]

- 6505 Data rollback and undo; revision control (ideal)
  - Verification approach: Error recovery usability testing.
  - Methods: Perform data changes and deletions; execute undo/rollback; assess clarity of prompts and recovery flow; if revision control exists, navigate versions.
  - Evidence: Audit trails; recovery test logs; UI captures.
  - Success criteria: [N/A]

- 6518 Record sets (batch updates; scoped queries; review-before-delete; undo)
  - Verification approach: Batch operation usability testing.
  - Methods: Build record sets; perform batch field updates and deletions with pre-action review; test undo; evaluate error reporting logs.
  - Evidence: Operation logs; review screens; error logs.
  - Success criteria: [N/A]

- 2431 System upgrade guidelines (new/changed/removed features list)
  - Verification approach: Upgrade aid usability review.
  - Methods: Confirm guidelines accompany upgrades; verify clarity and completeness of feature-change lists; assess staff ability to locate and apply guidance.
  - Evidence: Guideline documents; staff feedback notes.
  - Success criteria: [N/A]

## 4.5 Logical database requirements
- a) Types of information used by various functions
  - Verification approach:
    - Inspect delivered data specifications and schema to confirm presence of required record types: patron, bibliographic, authority, item, order, invoice, hold/request, selection lists, record sets, and operational logs (per UD-1; REQ 1716, 6518, 2474).
    - Execute sample end-to-end data flows:
      - Import/export MARC bibliographic and authority records, including overlay behavior (REQ 1716).
      - Create and use record sets for batch updates and scoped queries (REQ 6518).
    - Use the query tool to enumerate accessible fields across all record types (REQ 5624).
  - Evidence and pass criteria:
    - Schema-to-record-type traceability matrix and successful MARC import/export logs.
    - Demonstrations showing query access to fields for each record type and successful record set operations.

- b) Frequency of use
  - [N/A]

- c) Accessing capabilities
  - Verification approach:
    - Confirm fully relational, SQL-based backend and ability to run SQL queries against any table (REQ 6512) by:
      - Establishing ODBC connectivity and running representative SELECT/UPDATE statements.
      - Enumerating tables and executing read operations as an administrative account.
    - Validate end-user accessing capabilities via the query tool with Boolean, regex filters, and admin-controlled field/table access (REQ 5624).
  - Evidence and pass criteria:
    - Successful ODBC connections and executed SQL against all intended tables.
    - Query tool demonstrations showing field selection, filtering, and enforced admin-controlled access.

- d) Data entities and their relationships
  - Verification approach:
    - Review the logical data model/ERD to verify key relationships (e.g., bibliographic-to-item, patron-to-hold-to-item/bibliographic, order-to-invoice-to-item) are explicitly defined with keys and constraints.
    - Execute CRUD tests to validate relationship behavior:
      - Create item linked to a bibliographic record; create hold linking patron and item/bibliographic; link orders to invoices and items.
      - Attempt operations that would violate relationships and confirm they are rejected or handled per rules.
  - Evidence and pass criteria:
    - Approved ERD with entity and relationship coverage for all core record types.
    - Test results showing correct linkage creation and prevention of invalid relationship operations.

- e) Integrity constraints
  - Verification approach:
    - Validate business rule enforcement for restricted operations (REQ 2445, 5057, 5190, 5278):
      - Attempt to delete a checked-out item and a bibliographic record with existing holds; confirm system prevents or requires authorized override as specified.
    - Verify data validation/defaults/required fields at the field level (REQ 5328) via form and API-level tests.
    - Confirm record lock visibility and administration behavior under concurrent updates (REQ 6513, 7302).
    - Verify change logging and rollback/undo where provided, including revision control if available (REQ 6505).
  - Evidence and pass criteria:
    - Executed test scripts demonstrating constraint enforcement and proper override behavior.
    - Field-level validation test results and concurrency/lock management logs.
    - Successful rollback/undo of sample data changes with corresponding audit entries.

- f) Security
  - Verification approach:
    - Validate patron data security in transit by inspecting network traffic during typical operations to confirm use of secure protocols (SFTP/SSL/SSH) where applicable (REQ 6511, 6510).
    - Confirm role/privilege controls provide intended visibility and control over user access to data (REQ 6509, 5624).
    - Verify suppression/visibility rules across staff and OPAC interfaces for authority, bibliographic, order, and item records (REQ 5278).
  - Evidence and pass criteria:
    - Packet capture analyses showing encrypted sessions for data transfers and administration.
    - Access control test results demonstrating least-privilege behavior and denied access where appropriate.
    - Visibility tests showing correct suppression behavior per configured rules.

- g) Data retention requirements
  - Verification approach:
    - Validate configurable log retention by setting thresholds and observing rotation/deletion without service interruption (REQ 2474).
    - Confirm backup and restore procedures for data and transaction logs, including live incremental and full backups and compatibility with third-party tools (REQ 6502).
    - Verify deletion/purge reporting for record types and availability of undo where specified (REQ 2465, 6518, 6505).
  - Evidence and pass criteria:
    - Log retention configuration snapshots and logs showing adherence to thresholds.
    - Successful restore drills from incremental and full backups with integrity checks.
    - Reports showing record counts, deletions, purges, and successful undo operations where supported.

## 4.6 Design constraints
This section defines the planned verification approaches for each design and implementation constraint specified in the requirements.

- CO-1: Fully relational database back-end
  - Verification methods:
    - Documentation review of the deployed DBMS to confirm it is a relational, SQL-based system.
    - Schema inspection to confirm use of primary/foreign keys and relational constraints.
    - Execution of representative SQL operations (joins, transactions, referential integrity checks).
  - Acceptance criteria:
    - The production DBMS is a relational SQL database.
    - Referential integrity is enforced by the database (e.g., FK violations are rejected).
    - Representative SQL queries execute successfully against the live schema.
  - Evidence:
    - DBMS product/version documentation.
    - Schema DDL extracts showing PK/FK constraints.
    - Test logs/results of SQL operations.

- CO-2: Standards-compliant HTML output
  - Verification methods:
    - Static validation of representative pages using W3C HTML validation tools.
    - Manual UI review to confirm no use of proprietary/non-standard markup that would break standards compliance.
  - Acceptance criteria:
    - No validation errors on the sampled pages; any warnings are documented with rationale.
    - Pages render without functional defects across supported clients as defined elsewhere in the SRS.
  - Evidence:
    - Validator reports for sampled pages.
    - Reviewer checklist and defect log (if any) with resolution status.

- CO-3: Development/training environments with migration to production
  - Verification methods:
    - Environment inspection to confirm existence and isolation of development and training environments.
    - Controlled end-to-end migration test of configurations from development/training to production (or production-like) environment.
    - Rollback procedure dry-run for the same migration scope.
  - Acceptance criteria:
    - Migration completes without errors; target system state matches source configurations.
    - No unintended side effects in production-like tests; rollback restores prior state successfully.
  - Evidence:
    - Environment topology and access documentation.
    - Migration and rollback run logs, pre/post configuration comparison reports.

- CO-4: Role/group-based access control for user rights and privileges
  - Verification methods:
    - Configuration inspection to confirm roles/groups can be defined and assigned to users and arbitrary staff groups.
    - Functional access tests using a permission matrix across representative roles (allow/deny checks for modules and functions).
    - Audit verification that privilege changes are traceable by user and timestamp.
  - Acceptance criteria:
    - Access is granted/denied strictly according to assigned roles/groups across tested functions.
    - Administrators can centrally manage roles and assignments for individuals and workgroups.
    - Administrative changes are captured in audit logs with user, time, and action details.
  - Evidence:
    - Role/permission configuration exports or screenshots.
    - Test matrix with pass/fail outcomes and defect resolutions.
    - Audit log extracts demonstrating traceability.

## 4.7 Software system attributes
The following verification approaches qualify the software against the software system attributes defined in the Requirements. Each verification item references the related requirement(s) from the original SRS.

### Reliability

- Real-time processing under load (Req ID 5615; OE-1)
  - Method: Performance and stress testing during simulated peak branch activity; verify that pull lists and shelf-reading/weeding views reflect current state at time of access.
  - Evidence: Test scripts, response-time and freshness metrics, load profiles.

- Concurrent record access and conflict handling (Req ID 5323; Req ID 6513; Req ID 7302)
  - Method: Concurrency tests with multiple staff/patron sessions on patron/item records; inject simultaneous updates; confirm conflict prompts and correctness; verify record lock visibility (location, user, timestamp) and administrative unlock/timeout thresholds.
  - Evidence: Test logs showing lock events, prompts, unlock actions, and outcomes.

- Backup/restore and rollback/undo (Req ID 6502; Req ID 6505)
  - Method: Execute live incremental and full backups while the system is active; perform representative restores to a staging environment; validate data integrity and system operability post-restore; exercise “undo” for record deletions and other logged changes; if revision control is present, verify version retrieval.
  - Evidence: Backup/restore reports, integrity check results, rollback execution records.

- System monitoring and alerting (Req ID 6501; Req ID 2467; Req ID 2464)
  - Method: Configure SNMP and alert thresholds for disk, CPU, memory, processes, interfaces, and ports; induce threshold breaches and runaway processes; verify dashboard indicators and alert delivery via dashboard, email, and text to many recipients.
  - Evidence: SNMP traps, alert delivery logs, dashboard screenshots.

- Log files availability and retention (Req ID 2474; Req ID 2433)
  - Method: Verify log viewing without system stoppage; enable/disable specific logs; configure and confirm retention thresholds; locate logs via the log-file dashboard.
  - Evidence: Configuration snapshots, log rotation/retention artifacts.

- Graceful control of services (Req ID 2466)
  - Method: Demonstrate software start/stop, server shutdown/restart utilities; verify orderly quiescing and recovery without data loss.
  - Evidence: Operational run books, execution logs.

- Quantitative reliability targets (e.g., MTBF/defect density)
  - [N/A]

### Availability

- Failover capability (Req ID 2462)
  - Method: Configure clustered servers; perform planned and unplanned node failovers; measure service continuity, failover time, and client session behavior.
  - Evidence: Cluster event logs, measured RTO/RPO.

- Live operations during maintenance (Req ID 6502; OE-1)
  - Method: Run heavy searches and reports during open-hours simulation while circulation transactions are active; perform live backups; verify no disruption to other functions.
  - Evidence: Transaction throughput and error rates, operator reports.

- Recovery and restart visibility (Req ID 2464)
  - Method: Trigger planned and unplanned reboots; validate application dashboard entries for last full/incremental backup, reboots, software upgrades, and transaction queues post-restart.
  - Evidence: Dashboard snapshots, system logs.

- Job scheduling continuity (Req ID 6507; Req ID 6508; Req ID 6521)
  - Method: Schedule dependent jobs (A then B); modify/cancel jobs before start; verify execution order, controls, and administrative oversight of others’ jobs.
  - Evidence: Scheduler audit trails, execution timelines.

- Availability service-level targets (e.g., percentage uptime)
  - [N/A]

### Security

- Patron data protection in transit (Req ID 6510; Req ID 6511)
  - Method: Configure SSL and SSH; perform data transfers and interactive sessions; validate encryption via packet inspection; execute SFTP transfers in both active and passive modes per vendor configuration; attempt downgrade to insecure modes and confirm rejection.
  - Evidence: Packet captures, protocol negotiation logs, transfer logs.

- Access control and privileges (Req ID 6509; Req ID 2492; CO-4)
  - Method: Create individual and shared staff accounts; assign roles/privileges; verify least-privilege access to modules and functions; confirm audit trail presence for individual logins.
  - Evidence: Access matrices, authorization test results, audit records.

- Configuration and sensitive resource protection (Req ID 2479; Req ID 6517; Req ID 2433)
  - Method: Verify centralized consoles enforce read/write permissions on configuration files and controlled access to log files; attempt unauthorized access and confirm denial.
  - Evidence: Permission configurations, failed-access logs.

- Secure email transport configuration (Req ID 6515; Req ID 6516)
  - Method: Configure SMTP with appropriate options (e.g., masquerading, log retention, bounce management); send test messages; verify logs and bounce handling.
  - Evidence: SMTP logs, administrative screenshots.

- Data integrity/privacy at rest and cryptographic algorithm requirements
  - [N/A]

### Maintainability

- Documentation completeness and currency (Req ID 2428; Req ID 2431; UD-1; UD-2; UD-3)
  - Method: Review web-based, indexed, searchable documentation; confirm it is version-specific and includes upgrade/update guidelines with lists of new/changed/removed features; verify online help covers all functions.
  - Evidence: Documentation audit checklist, version mapping.

- Environment separation and migration (CO-3)
  - Method: Demonstrate configuration promotion from development/training to production; verify migration steps and rollback plan.
  - Evidence: Migration plans, change records.

- Configuration and logging maintainability (Req ID 6517; Req ID 2479; Req ID 2433)
  - Method: Use the single consoles to locate, view, and edit configurations and logs; validate permission granularity and discoverability.
  - Evidence: Console operation records, permission tests.

- Client lifecycle management (Req ID 6504; Req ID 6519; Req ID 6514; Req ID 2430)
  - Method: Execute centrally managed client installs/updates (including targeting specific clients); manage sessions via VNC/Remote Desktop and client management console; export/import server-based client configurations; confirm accounts are not tied to workstations.
  - Evidence: Deployment logs, remote-session records, configuration export/import artifacts.

- Operational tooling (Req ID 2467; Req ID 2464; Req ID 6520)
  - Method: Validate dashboards for performance, application status, and custom views can be created and shared with selected users/groups.
  - Evidence: Dashboard configurations, user access lists.

- Administrative productivity features (Req ID 2220; Req ID 5607; Req ID 5624; Req ID 5617)
  - Method: Create and permission macros/keyboard shortcuts; create report templates; design queries; verify fine-grained report execution permissions.
  - Evidence: Macro/template repositories, permission tests, query definitions.

- Complexity/modularity limits
  - [N/A]

### Portability

- Supported operating environments (OE-2; OE-3; OE-4)
  - Method: Install and operate the system on Linux or Solaris servers as specified; access via supported web browsers and/or a Windows-compatible client; execute smoke tests in each environment.
  - Evidence: Installation reports, compatibility matrices.

- Database and data access portability (Req ID 6512)
  - Method: Verify fully relational, SQL-based backend; establish ODBC data source and run queries; confirm access to all tables/storage per authorization.
  - Evidence: ODBC configurations, query results.

- Protocol and service interoperability (Req ID 6511; Req ID 6516; Req ID 6501)
  - Method: Validate SFTP/SSL/SSH support across vendor endpoints (including SFTP active/passive); confirm SMTP interoperability; verify SNMP exposure for monitoring tools.
  - Evidence: Interoperability test logs, protocol traces.

- Printing and output formats (Req ID 2441; Req ID 2197; Req ID 2439)
  - Method: Define and select printer types (receipt, standard, label, forms) across Windows printers; generate report outputs to CSV, Excel, and other configured formats; verify print-to-file, FTP, email, and printer outputs.
  - Evidence: Printed artifacts, output files, device configurations.

- Host-dependence percentages, language/compiler constraints, OS portability targets
  - [N/A]

# 5 Appendices
[NULL]

## 5.1 Assumptions and dependencies
- AS-1: The System Administration Module is part of an enterprise-level Library Automation System (ILS).
- AS-2: System Administration processes are consolidated at a central location and accept input from and provide services to multiple locations.
- The deployment context is a large, urban, multiple-branch library system; requirements assume scale on the order of approximately 50 locations, 20 million circulations per year, and processing over 500,000 items per year.
- The requirements presuppose the general data structures and functionality of a full-fledged ILS and focus only on management activities.
- DE-1: The System Administration Module relies on the data structures and functionality of the enterprise-level ILS, including Acquisitions and Cataloging modules.
- DE-2: The System Administration Module interfaces with vendor websites via published APIs and/or automated transfer of standard-format data files (e.g., USMARC21, EDIFACT).
- DE-3: The System Administration Module interacts with a patron interface, also known as an Online Public Access Catalog (OPAC).
- The scope and alignment of this module assume the existence of previously published specifications for Acquisitions and Serials Management, Circulation, and Cataloging modules, with OPAC and web services specifications under development.

## 5.2 Acronyms and abbreviations
- ACQ — Acquisitions (source tag for requirements)
- API — Application Programming Interface
- AS — Assumptions (requirement label prefix)
- CAP — Cataloging and Processing (source tag for requirements)
- CAT — Cataloging (process code prefix used in related process IDs, e.g., CAT180)
- CIR — Circulation (source tag for requirements)
- CO — Constraints (design and implementation constraints; requirement label prefix)
- CSV — Comma-Separated Values
- DE — Dependencies (requirement label prefix)
- EDIFACT — Electronic Data Interchange For Administration, Commerce and Transport
- EMC — EMC Corporation (vendor of NetWorker backup software)
- FTP — File Transfer Protocol
- HTML — HyperText Markup Language
- ILS — Integrated Library System
- IP — Internet Protocol
- ITS — Information Technology Services (source tag for requirements)
- MARC — Machine-Readable Cataloging
- MARC 21 — MARC standard family for bibliographic and authority data
- MGT — Management (source tag for requirements)
- NCIP — NISO Circulation Interchange Protocol
- NCIP2 — NISO Circulation Interchange Protocol, Version 2
- ODBC — Open Database Connectivity
- OCLC — Online Computer Library Center
- OE — Operating Environment (requirement label prefix)
- OPAC — Online Public Access Catalog
- SIP2 — 3M Standard Interchange Protocol, Version 2
- SMTP — Simple Mail Transfer Protocol
- SNMP — Simple Network Management Protocol
- SFTP — SSH File Transfer Protocol
- SQL — Structured Query Language
- SSH — Secure Shell
- SSL — Secure Sockets Layer
- UD — User Documentation (requirement label prefix)
- VNC — Virtual Network Computing
- CPU — Central Processing Unit
- HOL — Holds (process code prefix used in related process IDs, e.g., HOL-011, HOL-131)
- USMARC 21 — U.S. implementation profile of MARC 21 formats
